
var SlidingTabs=new Class({options:{startingSlide:false,activeButtonClass:'active',activationEvent:'click',wrap:true,slideEffect:{duration:400},animateHeight:true},current:null,buttons:false,outerSlidesBox:null,innerSlidesBox:null,panes:null,fx:null,heightFx:null,initialize:function(buttonContainer,slideContainer,options){if(buttonContainer){this.buttons=$(buttonContainer).getChildren();}this.outerSlidesBox=$(slideContainer);this.innerSlidesBox=this.outerSlidesBox.getFirst();this.panes=this.innerSlidesBox.getChildren();this.setOptions(options);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(pane,index){pane.setStyles({'float':'left','width':this.outerSlidesBox.getStyle('width'),'overflow':'hidden'});}.bind(this));this.innerSlidesBox.setStyle('float','left');this.innerSlidesBox.setStyle('width',(this.outerSlidesBox.offsetWidth.toInt()*this.panes.length)+'px');if(this.options.startingSlide)this.fx.toElement(this.options.startingSlide);if(this.buttons)this.buttons.each(function(button){button.addEvent(this.options.activationEvent,this.buttonEventHandler.bindWithEvent(this,button));}.bind(this));if(this.options.animateHeight)this.heightFx.set(this.panes[this.current].getStyle('height').toInt());},changeTo:function(element){var event={cancel:false,target:$(element)};this.fireEvent('change',event);if(event.cancel==true){return;};if(this.buttons){this.buttons[this.current].removeClass(this.options.activeButtonClass);};this.current=this.panes.indexOf($(event.target));if(this.buttons){this.buttons[this.current].addClass(this.options.activeButtonClass);};this.fx.stop();this.fx.toElement(event.target);if(this.options.animateHeight)this.heightFx.start(this.panes[this.current].getStyle('height').toInt());},buttonEventHandler:function(event,button){if(event.target==this.buttons[this.current])return;this.changeTo(this.panes[this.buttons.indexOf($(button))]);},next:function(){var next=this.current+1;if(next==this.panes.length){if(this.options.wrap==true){next=0}else{return}}this.changeTo(this.panes[next]);},previous:function(){var prev=this.current-1
if(prev<0){if(this.options.wrap==true){prev=this.panes.length-1}else{return}}this.changeTo(this.panes[prev]);}});SlidingTabs.implement(new Options,new Events);