var tabbedselector=new Class({options:{containercClass:"tabbed-container",tabClass:"tab",opentabClass:"tab-active",contentsDivPart:"-contents",transisitonTime:400,contentswrapperclass:"tab-contents-wrap"},initialize:function(A){this.setOptions(A);this.transistions={};this.wrapper=false;if($E("."+this.options.containercClass+" ."+this.options.contentswrapperclass)){this.wrapper=$E("."+this.options.containercClass+" ."+this.options.contentswrapperclass)}$$("."+this.options.containercClass+" ."+this.options.tabClass).each(function(B){if(B.hasClass(this.options.opentabClass)){this.currentlyopen=B;this.currentcontentsHeight=$((B.id+this.options.contentsDivPart)).getSize().size.y;$((B.id+this.options.contentsDivPart)).getParent().setStyles({height:this.currentcontentsHeight+"px",position:"relative"});$((B.id+this.options.contentsDivPart)).setStyle("position","absolute")}B.addEvent("click",function(C){C=new Event(C).stop();this.changetabs(B)}.bind(this))},this)},changetabs:function(C){if(C!=this.currentlyopen){var D=$(C.id+this.options.contentsDivPart);if(!$defined(this.transistions[this.currentlyopen.id])){this.transistions[(this.currentlyopen.id+this.options.contentsDivPart)]=new Fx.Styles((this.currentlyopen.id+this.options.contentsDivPart),{duration:this.options.transisitonTime,transition:Fx.Transitions.linear})}if(!$defined(this.transistions[D.id])){this.transistions[D.id]=new Fx.Styles(D.id,{duration:this.options.transisitonTime,transition:Fx.Transitions.linear});this.transistions[D.id].set({opacity:0});D.setStyle("display","")}var B=D.getSize().size.y;var A=false;if(B!=this.currentcontentsHeight){if(this.wrapper){if(!this.wrapperfx){this.wrapperfx=new Fx.Styles(this.wrapper,{duration:(this.options.transisitonTime-90),transition:Fx.Transitions.linear})}this.wrapperfx.start({height:B});A=true;this.currentcontentsHeight=B}}if(A){this.transistions[(this.currentlyopen.id+this.options.contentsDivPart)].start({opacity:0});(function(){this.transistions[D.id].start({opacity:1})}.bind(this)).delay(400)}else{this.transistions[(this.currentlyopen.id+this.options.contentsDivPart)].start({opacity:0});(function(){this.transistions[D.id].start({opacity:1})}.bind(this)).delay(300)}this.currentlyopen.removeClass(this.options.opentabClass);this.currentlyopen.getParent().removeClass(this.options.opentabClass);C.addClass(this.options.opentabClass);C.getParent().addClass(this.options.opentabClass);this.currentlyopen=C}}});tabbedselector.implement(new Options,new Events);