/*********************************
   tabs.js for EA.com
   js code for EA.com redesign prototype
   code by Byron Tredwell (byron(AT)blastradius.com)
*********************************/

function tabSet(tabSetId,selectedIndex,func,toggleOnSingleTab)
{
   var tabSet = getElm(tabSetId);
   if(!tabSet)
      return;
   this.tabs = tabSet.getElementsByTagName("DIV");
   this.baseClass = this.tabs[0].className;
   this.currentTab = null;
   this.func = func;
   this.toggleOnSingleTab = toggleOnSingleTab;
   
   var tempArray = new Array();
   for(var i=0; i<this.tabs.length; i++)
   {
      //tab in this.tabs --> boo no work in safari      
      if(this.tabs[i].id && this.tabs[i].className.indexOf("tab") >=0 )
      {
         tempArray[tempArray.length] = this.tabs[i];
      }
   }
   this.tabs = tempArray;
   
   for(tab in this.tabs)
   {
      this.tabs[tab].onclick = this.toggle;
      this.tabs[tab].tabSet  = this;
      this.tabs[tab].pane = document.getElementById(this.tabs[tab].id.substring(0,this.tabs[tab].id.indexOf("Tab")));
   }
   if(!selectedIndex)
      selectedIndex = 0;
   this.setActiveTab(this.tabs[selectedIndex]);
   
   return this;
}

tabSet.prototype.toggle = function()
{
   this.tabSet.setActiveTab(this);
}

tabSet.prototype.setActiveTab = function(tabRef)
{
   if(this.toggleOnSingleTab && tabRef == this.currentTab)
   {
      if(this.currentTab.pane.style.display == "block")
      {
         this.currentTab.pane.style.display = "none";
      }else{
         this.currentTab.pane.style.display = "block";
      }
   }else{
      this.currentTab = null;
      for(tab in this.tabs)
      {
         if(this.tabs[tab] == tabRef)
         {
            this.currentTab = this.tabs[tab];
            this.currentTab.className = this.baseClass  +" On";
            if(this.tabs[tab].pane)
               this.tabs[tab].pane.style.display = "block";
         }else{
            this.tabs[tab].className = this.baseClass;
            if(this.tabs[tab].pane)
               this.tabs[tab].pane.style.display = "none";
         }
      }  
   }
   if(typeof this.func == "function")
      this.func(this.currentTab);
}