var DashboardTabs=Class.create({initialize:function(D,C){if(!$(D)){throw ("Attempted to initalize DashboardTabs with id: "+D+" which was not found.")}typeof D=="string"?this.tabEl=$(D):this.tabEl=D;Event.observe(this.tabEl,"click",this._clickController.bindAsEventListener(this));this.tabNavClass="tabnav";this.tabContentClass="tabcontent";this.tabContentItemClass="tabcontent-item";var B="#"+this.tabEl.id+" ."+this.tabContentItemClass;this.allTabContentItems=$$(B);var A="#"+this.tabEl.id+" ."+this.tabContentClass;this.tabContent=$$(A)[0];$(C)?this.defaulttab=$(C):this.defaulttab=this.allTabContentItems[0];this.hideTabContent();log("----- DashboardTabs constructor finished for: #"+D+" -----")},_clickController:function(A){eventEl=Event.element(A);if(eventEl.up("ul").hasClassName(this.tabNavClass)){if(eventEl.tagName.toLowerCase()=="a"){A.stop();var C=eventEl.readAttribute("href");var B=C.substr(1,C.length);C.indexOf("#")!=-1?this.loadStaticSnippet(B):this.loadAJAXSnippet(B)}}},hideTabContent:function(){$$(".tabnav-heading").invoke("hide")},loadStaticSnippet:function(B){$(B)?this.tabContent.update($(B).innerHTML):log("No valid element found with ID: "+B);var A=B.replace(/tabnav-/g,"station-");this.tabEl.down("ul").id=A;this.changeOnlineStations()},loadAJAXSnippet:function(A){new Ajax.Updater(this.tabContent,A,{method:"get",onComplete:this.changeOnlineStations.bind(this)})},changeOnlineStations:function(){if($("online-stations")){$$("#online-stations ul").each(function(B){B.hide()});var A=this.tabEl.down("ul").id+"-online";$(A).setStyle({display:"block"});if(allInstances["online-stations"]){if(allInstances["online-stations"].state=="closed"){allInstances["online-stations"].open()}}}}});