var FeaturePane=Class.create({container:null,tabContainer:null,_banner:null,_btnNext:null,_btnPrev:null,_currentIndex:0,_fx:null,_isTabShowing:false,_map:$H(),_tab:null,_tabOffset:null,_timer:null,INTERVAL:16,initialize:function(a){this.options={activeClassName:"activeTab",bannerSelector:".banner",btnLeftClass:"banner-left",btnLeftLabel:"Prev",btnRightClass:"banner-right",btnRightLabel:"Next",container:null,slideDuration:0.6,tabContainerSelector:"ul.features",tabSelector:"ul.features li a"};Object.extend(this.options,a||{});this._build();this._listen();this._setActiveTab()},show:function(a){if(a==this._currentIndex){return}this._banner[a].setStyle({left:"974px"});new Effect.Move(this._banner[this._currentIndex],{duration:this.options.slideDuration,mode:"absolute",transition:Effect.Transitions.sinoidal,x:-974,y:null});new Effect.Move(this._banner[a],{duration:this.options.slideDuration,mode:"absolute",transition:Effect.Transitions.sinoidal,x:0,y:null});this._currentIndex=a;this._setActiveTab()},start:function(){if(this._banner.length>1){this._timer=new PeriodicalExecuter(this._next.bind(this),this.INTERVAL)}},stop:function(){if(this._timer){this._timer.stop()}this._timer=null},_btnNextClick:function(a){a.stop();this.stop();this._next()},_btnPrevClick:function(a){a.stop();this.stop();this._prev()},_build:function(){this.container=$(this.options.container);this.tabContainer=this.container.select(this.options.tabContainerSelector).first();this.tabContainer.setStyle({top:"373px"});this._btnNext=new Element("a").addClassName("btnNext").update("next");this._btnPrev=new Element("a").addClassName("btnPrev").update("prev");this.container.insert(this._btnPrev).insert(this._btnNext);this._banner=this.container.select(this.options.bannerSelector);this._banner.invoke("setStyle",{left:"974px"});this._banner[0].setStyle({left:0});this._tab=this.container.select(this.options.tabSelector);var a=0;this._tab.each(function(b){var c=this._getHash(b);this._map.set(c,a);a++}.bind(this));this._tabOffset=this.tabContainer.offsetTop;this.start()},_containerMouseOver:function(a){if(this._isTabShowing){return}this._isTabShowing=true;if(this._fx){this._fx.cancel()}this._fx=new Effect.Move(this.tabContainer,{duration:0.4,mode:"absolute",transition:Effect.Transitions.sinoidal,x:null,y:298})},_containerMouseOut:function(b){var a=b.element();if(!this._isTabShowing){return}this._isTabShowing=false;if(this._fx){this._fx.cancel()}this._fx=new Effect.Move(this.tabContainer,{duration:0.4,mode:"absolute",transition:Effect.Transitions.sinoidal,x:null,y:373})},_getHash:function(a){return a.hash.substr(1,a.hash.length)},_listen:function(){this.container.observe("mouseout",this._containerMouseOut.bindAsEventListener(this));this.container.observe("mouseover",this._containerMouseOver.bindAsEventListener(this));this._btnNext.observe("click",this._btnNextClick.bindAsEventListener(this));this._btnPrev.observe("click",this._btnPrevClick.bindAsEventListener(this));this._tab.invoke("observe","click",this._tabClick.bindAsEventListener(this))},_next:function(){var a=this._currentIndex+1<this._banner.length?this._currentIndex+1:0;this.show(a)},_prev:function(){var a=this._currentIndex-1>=0?this._currentIndex-1:this._banner.length-1;this.show(a)},_setActiveTab:function(){this._tab.invoke("removeClassName",this.options.activeClassName);this._tab[this._currentIndex].addClassName(this.options.activeClassName)},_tabClick:function(a){a.stop();this.stop();this.show(this._map.get(this._getHash(a.element())))}});

