
(function($) {

    $.BB_Carousel = function(obj, options) {

        var sl_Obj   = $(obj),
        sl_Prev  = $(".sl-Prev", obj),
        sl_Next  = $(".sl-Next", obj),

        sl_List  = $(".sl-List ul", obj),

        isPlay   = false,
        isLoad   = false;

        var left_value = options.wItem * (-1);

        // Предыдущий
        sl_Prev.click(function(){
            var left_indent = parseInt(sl_List.css('left')) + options.wItem;

            sl_List.find("li").fadeTo(0, 0.5);

            sl_List.animate({'left' : left_indent}, options.Interval, function(){     
                $('li:first', sl_List).before($('li:last', sl_List));            

                $('li', sl_List).removeClass("sl-Current");

                $('li:eq(2)', sl_List).addClass("sl-Current");

                sl_List.css({'left' : left_value}); 

                $('li:eq(2)', sl_List).fadeTo(0, 1, function(){ options.slComplete(); sl_List.fadeTo(0, 1); });

                options.slComplete();
            }); 

            return false;        
        });

        // Следующий
        sl_Next.click(function(){
            var left_indent = parseInt(sl_List.css('left')) - options.wItem; 

            sl_List.find("li").fadeTo(0, 0.5);

            sl_List.animate({'left' : left_indent}, options.Interval, function(){     
                $('li:last', sl_List).after($('li:first', sl_List));            

                $('li', sl_List).removeClass("sl-Current");

                $('li:eq(2)', sl_List).addClass("sl-Current");

                sl_List.css({'left' : left_value}); 

                $('li:eq(2)', sl_List).fadeTo(0, 1, function(){ options.slComplete(); sl_List.fadeTo(0, 1); });
            });

            return false;        
        });

        sl_List.append( sl_List.html() );

        $('li:eq(2)', sl_List).addClass("sl-Current");

        sl_List.find("li").fadeTo(0, 0.5);
        $('li:eq(2)', sl_List).fadeTo(0, 1, function(){ options.slComplete(); sl_List.fadeTo(0, 1); });
    };

    $.fn.BB_Carousel = function(options) {

        defaults = {
            Interval: 500,
            wSlider:  600,
            wItem:    200,
            nItems:   3
        };

        var options = $.extend( defaults, options );

        this.each(function() {
            $(this).data('Carousel', new $.BB_Carousel(this, options));
        });

        return this;
    };

})(jQuery);
