Help with WP gallery function, wrap gallery in div

I just added a div to your function see comment in code:

<?php 

add_filter( 'post_gallery', 'my_post_gallery', 10, 2 );
function my_post_gallery( $output, $attr ) 
{
    global $post, $wp_locale;
    static $instance = 0;

    $instance ++;

    if ( isset( $attr['orderby'] ) ) 
    {
        $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
        if( !$attr['orderby'] )
        {
            unset( $attr['orderby'] );
        }
    }

    extract( shortcode_atts( array(
        'order'      => 'ASC',
        'orderby'    => 'menu_order ID',
        'id'         => $post->ID,
        'itemtag'    => 'figure',
        'icontag'    => 'dt',
        'captiontag' => 'figcaption',
        'columns'    => 3,
        'size'       => 'thumbnail',
        'attachment' => 'large',
        'include'    => '',
        'exclude'    => ''
    ), $attr ) );

    $id = intval( $id );

    if ( 'RAND' == $order )
    {
        $orderby = 'none';
    }
    if ( !empty( $include ) ) 
    {
        $include      = preg_replace( '/[^0-9,]+/', '', $include );
        $_attachments = get_posts( array( 
            'include'        => $include, 
            'post_status'    => 'inherit', 
            'post_type'      => 'attachment', 
            'post_mime_type' => 'image', 
            'order'          => $order, 
            'orderby'        => $orderby 
        ));

        $attachments = array();
        foreach( $_attachments as $key => $val ) 
        {
            $attachments[ $val->ID ] = $_attachments[ $key ];
        }
    } 
    elseif ( !empty( $exclude ) ) 
    {
        $exclude = preg_replace( '/[^0-9,]+/', '', $exclude );
        $attachments = get_children( array( 
            'post_parent'    => $id, 
            'exclude'        => $exclude, 
            'post_status'    => 'inherit', 
            'post_type'      => 'attachment', 
            'post_mime_type' => 'image', 
            'order'          => $order, 
            'orderby'        => $orderby
        ));
    } 
    else 
    {
        $attachments = get_children( array(
            'post_parent'    => $id, 
            'post_status'    => 'inherit', 
            'post_type'      => 'attachment', 
            'post_mime_type' => 'image', 
            'order'          => $order, 
            'orderby'        => $orderby
        ));
    }

    if( empty( $attachments ) )
    {
        return;
    }

    if( is_feed() ) 
    {
        $output="";
        foreach( $attachments as $att_id => $attachment )
        {
            $output .= wp_get_attachment_link($att_id, $size, true) . "\n";
        }

        return $output;
    }

    $itemtag    = tag_escape( $itemtag );
    $captiontag = tag_escape( $captiontag );
    $columns    = intval( $columns );
    $itemwidth  = $columns > 0 ? floor( 100 / $columns ) : 100;
    $float      = is_rtl() ? 'right' : 'left';
    $selector   = "gallery-{$instance}";
    $output     = apply_filters( 'gallery_style', '' );
    $i          = 0;

    // The div
    $output .= '<div id="sort">';

        foreach( $attachments as $id => $attachment ) 
        {
            $link = isset( $attr['link'] ) && 'file' == $attr['link'] ? wp_get_attachment_link( $id, $size, false, false ) : wp_get_attachment_link( $id, $size, true, false );

            $output .= "<{$itemtag} class="item">";
            $output .= "$link";

            if ( $captiontag && trim( $attachment->post_excerpt ) ) 
            {
                $output .= "<{$captiontag}>" . wptexturize( $attachment->post_excerpt ) . "</{$captiontag}>";
            }
            $output .= "</{$itemtag}>";

            if ( $columns > 0 && ++$i % $columns == 0 )
            {
                $output .= '';
            }
        }

        $output .= "<br>\n";

    // End div
    $output .= '</div>';

    return $output;
}