var SlidingTabs=new Class({options:{startingSlide:false,activeButtonClass:"active",activationEvent:"click",wrap:true,slideEffect:{duration:400},animateHeight:true,rightOversized:0},current:null,buttons:false,outerSlidesBox:null,innerSlidesBox:null,panes:null,fx:null,heightFx:null,initialize:function(b,c,a){if(b){this.buttons=$(b).getChildren()}this.outerSlidesBox=$(c);this.innerSlidesBox=this.outerSlidesBox.getFirst();this.panes=this.innerSlidesBox.getChildren();this.setOptions(a);this.fx=new Fx.Scroll(this.outerSlidesBox,this.options.slideEffect);this.heightFx=this.outerSlidesBox.effect("height",this.options.slideEffect);this.current=this.options.startingSlide?this.panes.indexOf($(this.options.startingSlide)):0;if(this.buttons){this.buttons[this.current].addClass(this.options.activeButtonClass)}this.outerSlidesBox.setStyle("overflow","hidden");this.panes.each(function(e,d){e.setStyles({"float":"left",overflow:"hidden"})}.bind(this));this.innerSlidesBox.setStyle("float","left");if(this.options.startingSlide){this.fx.toElement(this.options.startingSlide)}if(this.buttons){this.buttons.each(function(d){d.addEvent(this.options.activationEvent,this.buttonEventHandler.bindWithEvent(this,d))}.bind(this))}if(this.options.animateHeight){this.heightFx.set(this.panes[this.current].offsetHeight)}this.recalcWidths()},changeTo:function(b,a){if($type(b)=="number"){b=this.panes[b-1]}if(!$defined(a)){a=true}var c={cancel:false,target:$(b),animateChange:a};this.fireEvent("change",c);if(c.cancel==true){return}if(this.buttons){this.buttons[this.current].removeClass(this.options.activeButtonClass)}this.current=this.panes.indexOf($(c.target));if(this.buttons){this.buttons[this.current].addClass(this.options.activeButtonClass)}this.fx.stop();if(c.animateChange){this.fx.toElement(c.target)}else{this.outerSlidesBox.scrollTo(this.current*this.outerSlidesBox.offsetWidth.toInt(),0)}if(this.options.animateHeight){this.heightFx.start(this.panes[this.current].offsetHeight)}},buttonEventHandler:function(b,a){if(b.target==this.buttons[this.current]){return}this.changeTo(this.panes[this.buttons.indexOf($(a))])},next:function(){var a=this.current+1;if(a==this.panes.length){if(this.options.wrap==true){a=0}else{return}}this.changeTo(this.panes[a])},previous:function(){var a=this.current-1;if(a<0){if(this.options.wrap==true){a=this.panes.length-1}else{return}}this.changeTo(this.panes[a])},recalcWidths:function(){this.panes.each(function(b,a){b.setStyle("width",this.outerSlidesBox.offsetWidth.toInt()-this.options.rightOversized+"px")}.bind(this));this.innerSlidesBox.setStyle("width",(this.outerSlidesBox.offsetWidth.toInt()*this.panes.length)+"px");if(this.current>0){this.fx.stop();this.outerSlidesBox.scrollTo(this.current*this.outerSlidesBox.offsetWidth.toInt(),0)}}});SlidingTabs.implement(new Options,new Events);
