(function(){var B=YAHOO.util.Dom;var A=YAHOO.util.Event;SODON.widget.Ticker=function(E,C,D){this.init.apply(this,arguments)};SODON.widget.Ticker.cfg=function(C){SODON.widget.Ticker.cfg.superclass.constructor.apply(this,arguments)};YAHOO.extend(SODON.widget.Ticker.cfg,SODON.util.Config,{_DEFAULT_CONFIG:{UNIQUE_ID:null,WAIT_TIME:5000,ANIMATION_TIME:2,PREV_BUTTON:null,NEXT_BUTTON:null,CLASSNAME_ITEM:null,CLASSNAME_CONTAINER:null}});SODON.widget.Ticker.prototype={objName:null,oContainer:null,Config:null,cfg:null,index:0,_items:null,tween:null,isPlaying:false,init:function(E,C,D){this.objName=E;this.oContainer=B.get(C);this.Config={};this.cfg=new SODON.widget.Ticker.cfg(this);this.cfg.setupConfig();if(D!=null){this.cfg.setConfig(D)}this.initAttributes();this.initEvents();this.startPlay()},getItems:function(){return B.getChildren(this.oContainer)},getUniqueId:function(){if(this.cfg.getConfigProperty("UNIQUE_ID")!=null){return this.cfg.getConfigProperty("UNIQUE_ID")+"-"}else{return this.oContainer.id+"-"}},getClassNameId:function(){if(this.cfg.getConfigProperty("CLASSNAME_ID")!=null){return this.cfg.getConfigProperty("CLASSNAME_ID")+"-"}return""},initAttributes:function(){this._items=this.getItems();B.addClass(this.oContainer,this.getClassNameId()+"ticker-container");var C=0;while(C<this._items.length){this._items[C].id=this.getUniqueId()+"ticker-item-"+C;B.setStyle(this._items[C],"display","none");this._items[C].className=this.getClassNameId()+"ticker-item";C++}B.setStyle(this._items[0],"display","")},initEvents:function(){var C=this;if(this.cfg.getConfigProperty("PREV_BUTTON")!=null){A.on(B.get(this.cfg.getConfigProperty("PREV_BUTTON")),"click",function(D){C.prev()})}if(this.cfg.getConfigProperty("NEXT_BUTTON")!=null){A.on(B.get(this.cfg.getConfigProperty("NEXT_BUTTON")),"click",function(D){C.next()})}},selectItem:function(C){if(C==null){C=this.index}var D=0;while(D<this._items.length){B.setStyle(this._items[D],"display","none");D++}B.setStyle(this._items[C],"display","")},prev:function(){if(this.isPlaying){this.stop()}if(this.index<=0){this.index=this._items.length-1}else{this.index--}this.selectItem()},next:function(){if(this.isPlaying){this.stop()}if(this.index>=this._items.length-1){this.index=0}else{this.index++}this.selectItem()},startPlay:function(){if(!this.isPlaying){this.isPlaying=true;this.wait()}},continuePlay:function(){var C=this;var D=this.index;if(this.index>=this._items.length-1){this.index=0}else{this.index++}this.anim=new YAHOO.util.Anim(this._items[D],{opacity:{from:1,to:0}},this.cfg.getConfigProperty("ANIMATION_TIME"),YAHOO.util.Easing.easeOut);this.anim.onComplete.subscribe(function(E){C.selectItem();B.setStyle(C._items[D],"opacity",1);C.animateCurrentItem()});this.anim.animate()},animateCurrentItem:function(){var C=this;B.setStyle(this._items[this.index],"opacity",0);this.anim=new YAHOO.util.Anim(this._items[this.index],{opacity:{from:0,to:1}},this.cfg.getConfigProperty("ANIMATION_TIME"),YAHOO.util.Easing.easeIn);this.anim.onComplete.subscribe(function(D){C.wait()});this.anim.animate()},wait:function(){this.tween=setTimeout(this.objName+".continuePlay()",this.cfg.getConfigProperty("WAIT_TIME"))},stop:function(){this.isPlaying=false;clearTimeout(this.tween)}}})();