Shortcoding with Divs

This should do the trick: http://codex.wordpress.org/Shortcode_API#Output

Copying verbatim from the documentation:

function myShortCode() {
    ob_start();
    ?> <HTML> <here> ... <?PHP
    return ob_get_clean();
}

Basically what happens is that all your HTML will not be output, but rather stored in an “output buffer”, and returned by the function.