(function($) {
$.widget("ui.home_slider", {
    _init:function(){
        var opts = this.options, self = this;
        self.widgetOB = self.element;
        self.slides = self.widgetOB.find(".slide");
        self.slides_controls = self.widgetOB.find(">.controls li");
        self.cIDX = 0;
        self.timeout = 5000;
        self.tID = null;
        /*********/
        self.widgetOB.removeClass("content-loading");
        $(self.slides[0]).fadeIn("fast").addClass("active");
        //$(self.slides[0]).addClass("active");
        self.widgetOB.find("ul.controls, ul.nav").fadeIn("fast");
        /*********/
        self.widgetOB.find("ul.controls li").bind("click",
            function(){
                var link = $(this);
                var slide_idx = parseInt(link.text())-1;
                self._link_action(slide_idx);
            }
        );
        self.widgetOB.find("ul.nav li.prev").bind("click",
            function(){
                var anim = self.widgetOB.find(":animated");
                if(anim.length>0){return;}
                self.cIDX--;
                if(self.cIDX<0){
                    self.cIDX = self.slides.length-1;
                }
                self._link_action(self.cIDX);
            }
        );
        self.widgetOB.find("ul.nav li.next").bind("click",
            function(){
                var anim = self.widgetOB.find(":animated");
                if(anim.length>0){return;}
                self.cIDX++;
                if(self.cIDX>self.slides.length-1){
                    self.cIDX = 0;
                }
                self._link_action(self.cIDX);
            }
        );
        self._autoplay();
        self.widgetOB.bind("mouseenter",
            function(){
                clearInterval(self.tID);
            }
        );
        self.widgetOB.bind("mouseleave",
            function(){
                clearInterval(self.tID);
                self._autoplay();
            }
        );
    },
    _autoplay:function(){
        var self=this;
        self.tID = setInterval(function(){
            self.cIDX++;
            if(self.cIDX>self.slides.length-1){
                self.cIDX = 0;
            }
            self._link_action(self.cIDX);
        }, 
        self.timeout
    );
    },
    _link_action:function(idx){
        //alert(idx); return;
        var self=this;
        var anim = self.widgetOB.find(":animated");
        if(anim.length>0){return;}
        self.cIDX = idx;
        self.widgetOB.find("ul.controls li.active").removeClass("active");
        $(self.slides_controls[idx]).addClass("active");
        self.widgetOB.find(">.active").fadeOut("fast",function(){$(self.slides[idx]).fadeIn("fast").addClass("active")}).removeClass("active");
    }
}
);
})(jQuery);