$(document).ready(function(){
    var b_smgIsAnimating = false;
    var dv_sbGal = $('#subMenuGallery');
    var dv_holder = $('.holder',dv_sbGal);
    var dv_desc = $('.desc',dv_sbGal);


    var img_first = $('a',dv_holder).eq(0);
    var img_last  = $('a',dv_holder).eq($('a',dv_holder).length-1);
    var dsc_first = $('div',dv_desc).eq(0);
    var dsc_last  = $('div',dv_desc).eq($('a',dv_desc).length-1);

    img_last.clone().prependTo(dv_holder);
    img_first.clone().appendTo(dv_holder);
    dsc_first.clone().prependTo(dv_desc);
    dsc_last.clone().appendTo(dv_desc);


    var i_items = $('a',dv_holder).length;
    var i_itemWidth = dv_holder.width();
    dv_holder.width((i_items*i_itemWidth)+5);


    dv_holder.css({'left':0-(i_itemWidth)+'px'});
    $('div',dv_desc).eq(1).show();

    $('div',dv_desc).hide();
    $('div',dv_desc).eq(0).show();

    function subMenuGalleryNext(){
        b_smgIsAnimating = true;
        var i_left = dv_holder.position().left;
        var i_goto = i_left-i_itemWidth;
        if(i_left <= 0-((i_items-1)*i_itemWidth)){
            i_goto = 0;
        }
        var i_dvNum = i_goto < 0 ? i_items-((i_goto/i_itemWidth)+i_items) : 0;
        $('div:visible',dv_desc).fadeOut(function(){
            $('div',dv_desc).eq(i_dvNum == i_items-1 ? 1 : i_dvNum).fadeIn('fast');
        });
        dv_holder.animate({'left':i_goto+'px'},500,function(){
            if(i_dvNum == i_items-1){
                dv_holder.css({'left':(0-i_itemWidth)+'px'});
            }
            b_smgIsAnimating = false;
        });
    }

    $('#subMenuGallery .prev').click(function(){
        if(!b_smgIsAnimating){
            $('#subMenuGallery').stopTime();
            b_smgIsAnimating = true;
            var i_left = dv_holder.position().left;
            var i_goto = i_left+i_itemWidth;
            if(i_left >= 0){
                i_goto = 0-((i_items-1)*i_itemWidth);
            }
            var i_dvNum = i_goto < 0 ? i_items-((i_goto/i_itemWidth)+i_items) : 0;
            $('div:visible',dv_desc).fadeOut(function(){
                $('div',dv_desc).eq(i_dvNum == 0 ? i_items-2 : i_dvNum).fadeIn('fast');
            });
            dv_holder.animate({'left':i_goto+'px'},500,function(){
                if(i_dvNum == 0){
                    dv_holder.css({'left':(0-((i_items-2)*i_itemWidth))+'px'});
                }
                b_smgIsAnimating = false;
            });
        }
    });
    $('#subMenuGallery .next').click(function(){
        if(!b_smgIsAnimating){
            $('#subMenuGallery').stopTime();
            subMenuGalleryNext();
        }
    });
    $('#subMenuGallery').everyTime(3000, function(i) {
        subMenuGalleryNext();
    }, 0);
});
