FD.widget.ScrollButton=function(A,B){this.init(A,B)};FD.widget.ScrollButton.defConfig={isAutoPlay:true,timeDelay:5,scrollSpeed:0.5,preButton:"button-pre",nextButton:"button-next",liWidth:null,direction:"right",preItem:1};FD.widget.ScrollButton.prototype={init:function(B,C){this.container=$(B);this.config=FD.common.applyIf(C||{},FD.widget.ScrollButton.defConfig);this.scrollUl=$D.getFirstChild(this.container);if(this.scrollUl.tagName.toLowerCase()!="ul"){return}this.config.preItem=this.config.preItem>this.scrollUl.getElementsByTagName("li").length?this.config.preItem%this.scrollUl.getElementsByTagName("li").length:this.config.preItem;var D=this.config.liWidth||this.scrollUl.getElementsByTagName("li")[0].offsetWidth;this.ulWidth=D*this.scrollUl.getElementsByTagName("li").length;this.preDistance=D*this.config.preItem;this.scrollUl.innerHTML+=this.scrollUl.innerHTML;this.isScrolling=false;$D.setStyle(this.scrollUl,"width",this.ulWidth*2);this.buttonAble=true;$E.on(this.config.preButton,"click",function(E){this.getPre(E,true)},this,true);$E.on(this.config.nextButton,"click",function(E){this.getNext(E,true)},this,true);if(this.config.isAutoPlay){var A=this;if(this.config.direction==="left"){this.autoRun=this.getPre}else{this.autoRun=this.getNext}this.autoTimeId=setInterval(function(){A.autoRun()},this.config.timeDelay*1000);$E.on(this.container,"mouseover",function(E){clearTimeout(this.autoTimeId)},this,true);$E.on(this.container,"mouseout",function(){var E=this;this.autoTimeId=setInterval(function(){E.autoRun()},this.config.timeDelay*1000)},this,true)}},setButtonAble:function(A){this.buttonAble=A},getPre:function(D,B){if(D){$E.preventDefault(D)}if(!this.buttonAble){return}if(this.isScrolling){return}var A=this;if(B&&this.config.isAutoPlay){clearTimeout(this.autoTimeId)}if(A.container.scrollLeft<=A.preDistance){A.container.scrollLeft+=A.ulWidth}var C=new YAHOO.util.Scroll(this.container,{scroll:{by:[-A.preDistance,0]}},this.config.scrollSpeed,YAHOO.util.Easing.easeInStrong);C.onStart.subscribe(function(){A.isScrolling=true});C.onComplete.subscribe(function(){A.isScrolling=false});C.animate();if(B&&this.config.isAutoPlay){this.autoTimeId=setInterval(function(){A.autoRun()},this.config.timeDelay*1000)}},getNext:function(D,B){if(D){$E.preventDefault(D)}if(!this.buttonAble){return}if(this.isScrolling){return}var A=this;if(B&&this.config.isAutoPlay){clearTimeout(this.autoTimeId)}var C=new YAHOO.util.Scroll(this.container,{scroll:{by:[A.preDistance,0]}},this.config.scrollSpeed,YAHOO.util.Easing.easeInStrong);C.onStart.subscribe(function(){A.isScrolling=true});C.onComplete.subscribe(function(){A.isScrolling=false;if(A.container.scrollLeft>=A.ulWidth){A.container.scrollLeft-=A.ulWidth}});C.animate();if(B&&this.config.isAutoPlay){this.autoTimeId=setInterval(function(){A.autoRun()},this.config.timeDelay*1000)}}};FD.widget.ScrollButton.decorate=function(A,B){return new FD.widget.ScrollButton(A,B)};
