var JSTabbedPane=Class.create();JSTabbedPane.prototype={initialize:function(a){this.element=a;this.element.tabbedPane=this;this.tabs=[];this.selectedIndex=0;this.tabbedTitleRow=document.createElement("div");Element.addClassName(this.tabbedTitleRow,"jstabbedpanerow");this.element.insertBefore(this.tabbedTitleRow,this.element.firstChild);this.element.select(".jstabbedpage").each(function(c){if(c.nodeType==1){this.addTabbedPage(c)}}.bind(this));var b=document.createElement("div");Element.addClassName(b,"jstabbedClearFloat");this.tabbedTitleRow.appendChild(b)},getSelectedIndex:function(){return this.selectedIndex},setSelectedIndex:function(a){if(this.selectedIndex!=a){if(this.selectedIndex!=null&&this.tabs[this.selectedIndex]!=null){this.tabs[this.selectedIndex].setVisible(false)}this.selectedIndex=a;this.tabs[this.selectedIndex].setVisible(true)}},addTabbedPage:function(b){var c=this.tabs.length;var a=new JSTabbedPage(this,b,c);this.tabs[c]=a;this.tabbedTitleRow.appendChild(a.tab);a.setVisible(c==this.selectedIndex)},finalize:function(){this.element.tabbedPane=null;this.element=null;this.tabbedTitleRow=null;this.tabs.each(function(a){a.finalize()}.bind(this));this.tabs.clear();this.tabs=null}};var JSTabbedPage=Class.create();JSTabbedPage.prototype={initialize:function(c,a,b){this.tabbedPane=c;this.element=a;this.index=b;this.element.select(".jstabbedpagetitle").each(function(d){if(d.nodeType==1){this.tab=d}}.bind(this));Event.observe(this.tab,"click",this.onClick.bindAsEventListener(this),false)},setVisible:function(a){if(a){Element.show(this.element);Element.addClassName(this.tab,"selected")}else{Element.hide(this.element);Element.removeClassName(this.tab,"selected")}},onClick:function(){this.tabbedPane.setSelectedIndex(this.index)},finalize:function(){this.element=null;this.tabbedPane=null;Event.stopObserving(this.tab,"click",this.onClick,false);this.tab=null}};function initializeTabs(){$$(".jstabbedpane").each(function(a){if(a.tabbedPane==undefined){new JSTabbedPane(a)}})}function finalizeTabs(){$$(".jstabbedpane").each(function(a){a.tabbedPane.finalize()})}Event.observe(window,"load",initializeTabs,false);Event.observe(window,"unload",finalizeTabs,false);
