if(typeof Effect=="undefined"){throw ("tabs.js requires including script.aculo.us' effects.js library!")}var tabset=Class.create();tabset.prototype={tabs:[],panels:[],showPanel:null,currentPanel:null,initialize:function(a,b){this.options=Object.extend({classNames:{tab:"tab",panel:"panel",tabActive:"selected"},ids:{tab:"tab_",panel:"panel_"},onEvent:"click",effects:true},b||{});a=$(a);this.tabs=a.select("."+this.options.classNames.tab);this.tabs.each(function(c){Event.observe(c,this.options.onEvent,this.activate.bind(this,c),false)}.bind(this));this.panels=a.select("."+this.options.classNames.panel);this.panels.invoke("hide")},activate:function(a){var b=a.id.replace(this.options.ids.tab,"");this.currentPanel=this.options.ids.panel+b;if(this.showPanel==this.currentPanel){return false}if(this.showPanel){if(this.options.effects){new Effect.Fade(this.showPanel,{queue:"front"})}else{$(this.showPanel).hide()}}if(this.options.effects){new Effect.Appear(this.currentPanel,{queue:"end"})}else{$(this.currentPanel).show()}this.tabs.invoke("removeClassName",this.options.classNames.tabActive);a.addClassName(this.options.classNames.tabActive);this.showPanel=this.currentPanel},getHash:function(){var a=window.location.hash;return a.substring(1)},autoActivate:function(a){var d=false;var c=this.getHash();if(c){var b=$(this.options.ids.tab+c);if(b){this.activate(b);d=true}}if(!d&&a){this.activate(a)}}};
