jQuery.fn.BB_Slider = function() {

    Settings = jQuery.extend( {
        Current:  0,    // Активный в данный момент
        Interval: 2500, // Интервал задержки
        nItems:   0
    });

    return this.each(function() {
        var Slider_Obj = jQuery(this);
        Settings.nItems  = Slider_Obj.find("ul.BB_Controls li").size();
        Settings.Current = Slider_Obj.find("ul.BB_Controls li").index(Slider_Obj.find("ul.BB_Controls li.Current"));

        ShowCurrent(Settings.Current);
        Slider_Obj.oneTime(Settings.Interval, function(){ ClickNext(); });

        Slider_Obj.find("ul.BB_Controls a").click(function(){
            Slider_Obj.stopTime(); 
            newCurrent = Slider_Obj.find("ul.BB_Controls li").index(jQuery(this).parents("li"));

            ShowCurrent(newCurrent);
        });

        function ShowCurrent(newCurrent)
        {
            Slider_Obj.find("ul.BB_Controls li.Current").removeClass("Current");
            Slider_Obj.find("ul.BB_Controls li:eq(" + newCurrent + ")").addClass("Current");

            Slider_Obj.find("ul.BB_Images li").css("z-index", "1");

            Slider_Obj.find("ul.BB_Images li:eq(" + Settings.Current + ")").css("z-index", "10");
            Slider_Obj.find("ul.BB_Images li:eq(" + newCurrent + ")").css("z-index", "9");

            if (newCurrent!=Settings.Current) {
                Slider_Obj.find("ul.BB_Images li:eq(" + newCurrent + ")").fadeTo("slow", 1);

                Slider_Obj.find("ul.BB_Images li:eq(" + Settings.Current + ")").fadeTo("slow", 0, function(){
                    Settings.Current = newCurrent;
                    Slider_Obj.oneTime(Settings.Interval, function(){ ClickNext(); });
                });
            }
        }

        function ClickNext() {
            newCurrent = (0<Settings.Current) ? Settings.Current-1 : Settings.nItems-1;
            ShowCurrent(newCurrent);
        }
    });

};

