if(typeof (Control)=="undefined"){var Control={};}Control.Tabs=Class.create();Object.extend(Control.Tabs,{tabs:$A([]),responders:$A([]),addResponder:function(_1){Control.Tabs.responders.push(_1);},removeResponder:function(_2){Control.Tabs.responders=Control.Tabs.responders.without(_2);},notifyResponders:function(_3,_4,_5){Control.Tabs.responders.each(function(_6){if(_6[_3]){_6[_3](_4,_5);}});},findByTabId:function(id){return this.tabs.find(function(_8){return _8.links.find(function(_9){return _9.key==id;});});}});Object.extend(Control.Tabs.prototype,{activeContainer:false,activeLink:false,initialize:function(_a,_b){Control.Tabs.tabs.push(this);_a=$(_a);this.options=$H({beforeChange:Prototype.emptyFunction,afterChange:Prototype.emptyFunction,linkSelector:"li a",activeClassName:"active",defaultTab:"first",autoLinkExternal:true});if(_b){for(o in _b){this.options[o]=_b[o];}}this.containers=$H({});this.links=(typeof (this.options.linkSelector=="string")?_a.getElementsBySelector(this.options.linkSelector):this.options.linkSelector(_a)).findAll(function(_c){return (/^#/).exec(_c.href.replace(window.location.href.split("#")[0],""));});this.links.each(function(_d){_d.key=$A(_d.getAttribute("href").replace(window.location.href.split("#")[0],"").split("/")).last().replace(/#/,"");this.containers[_d.key]=$(_d.key);_d.onclick=function(_e){this.setActiveTab(_e);return false;}.bind(this,_d);}.bind(this));if(this.options.defaultTab=="first"){this.setActiveTab(this.links.first());}else{if(this.options.defaultTab=="last"){this.setActiveTab(this.links.last());}else{this.setActiveTab(this.options.defaultTab);}}target_regexp=/#(.+)$/;targets=target_regexp.exec(window.location);if(targets&&targets[1]){$A(targets[1].split(",")).each(function(_f){this.links.each(function(_10,_11){if(_11.key==_10){this.setActiveTab(_11);throw $break;}}.bind(this,_f));}.bind(this));}if(this.options.autoLinkExternal){$A(document.getElementsByTagName("a")).each(function(a){if(!this.links.include(a)){clean_href=a.href.replace(window.location.href.split("#")[0],"");if(clean_href.substring(0,1)=="#"){if(this.containers.keys().include(clean_href.substring(1))){$(a).observe("click",function(_13,_14){this.setActiveTab(_14.substring(1));}.bindAsEventListener(this,clean_href));}}}}.bind(this));}},setActiveTab:function(_15){if(typeof (_15)=="undefined"||_15==false){return;}if(typeof (_15)=="string"){this.links.each(function(_16){if(_16.key==_15){this.setActiveTab(_16);throw $break;}}.bind(this));}else{this.containers.each(function(_17){_17[1].hide();});this.links.each(function(_18){_18.removeClassName(this.options.activeClassName);}.bind(this));_15.addClassName(this.options.activeClassName);this.options.beforeChange(this,this.activeContainer);Control.Tabs.notifyResponders("beforeChange",this,this.activeContainer);this.activeContainer=this.containers[_15.key];this.activeLink=_15;this.containers[_15.key].show();this.options.afterChange(this,this.containers[_15.key]);Control.Tabs.notifyResponders("afterChange",this,this.containers[_15.key]);}},next:function(){this.links.each(function(_19,i){if(this.activeLink==_19&&this.links[i+1]){this.setActiveTab(this.links[i+1]);throw $break;}}.bind(this));},previous:function(){this.links.each(function(_1b,i){if(this.activeLink==_1b&&this.links[i-1]){this.setActiveTab(this.links[i-1]);throw $break;}}.bind(this));},first:function(){this.setActiveTab(this.links.first());},last:function(){this.setActiveTab(this.links.last());}});