var Tab=Class.create({initialize:function(a,b){this.reiter=a+" ul.tabs li";this.tab_container=a+" div.tabs";this.tabs=a+" div.tabs .tab";this.width=b.width||"100%";a=$$(this.tabs).collect(function(c,d){if(c.hasClassName("active"))return d}).compact()[0];this.active=b.active||a||0;if(this.active>$$(this.reiter).length-1)this.active=$$(this.reiter).length-1;$$(this.tab_container)[0].setStyle({width:this.width});$$(this.tabs).invoke("hide");$$(this.tabs)[this.active].show();$$(this.reiter).invoke("removeClassName",
"active");$$(this.reiter)[this.active].addClassName("active");setTimeout(this._fitHeight.bind(this),100);$$(this.reiter).invoke("observe","click",this.click.bind(this))},fitHeight:function(){if($$(this.tabs).length==0)clearInterval(this.timer);else{var a=$$(this.tabs)[this.active].getHeight(),b=$$(this.tab_container)[0].getHeight();if(a!=b&&!this.fitheightactive){this.fitheightactive=true;$$(this.tab_container)[0].morph({height:a+"px"},{duration:0.4,afterFinish:this.fitHeightActive.bind(this,false)})}}},
fitHeightActive:function(a){this.fitheightactive=a},_fitHeight:function(){this.timer=setInterval(this.fitHeight.bind(this),500)},click:function(a){this.switchTab(this.active,this.getActive(a.element().nodeName!="LI"?Event.findElement(a,"li"):a.element()))},getActive:function(a){if(a==""||a==undefined)return this.active;return $$(this.reiter).collect(function(b,c){return b==a?c:""}).join("")},switchTab:function(a,b){if(a!=b){if(b>$$(this.reiter).length-1)b=$$(this.reiter).length-1;$$(this.reiter)[a].removeClassName("active");
$$(this.reiter)[b].addClassName("active");this.active=b;this.fitHeight();new Effect.Parallel([new Effect.Fade($$(this.tabs)[a],{sync:true}),new Effect.Appear($$(this.tabs)[b],{sync:true})],{duration:0.25,queue:"tab"})}},jump:function(a){this.switchTab(this.active,a)},getActiveTab:function(){return $$(this.tabs)[this.active]}});