function initMOHTabs(){
    if(MOHTabs != null){
      for(var i=0;i<MOHTabs.length;i++){
         initMOHTabObject(MOHTabs[i]);
       }
    }
}

function initMOHTabObject(group){
   group.makeTabs();
    group.activateTab(group.selectedTab)
}

function MOHTabObject(tabNames,root,style){
    this.root = root;
    if(typeof tabNames == "number"){
        this.totalTabs = tabNames;
        emptyArray = new Array();
      this.tabNames = emptyArray;
      for(var i=0;i<this.totalTabs;i++){
              this.tabNames[i] = "&nbsp;";
       }
    }
    else{
        this.tabNames = tabNames;
        this.totalTabs = tabNames.length;
    }

    this.style = style == null?"MOH":style;
    this.containerDivStyle = this.style + "Container";
    this.selectedTab = 0;
    emptyArray = new Array();
    this.inactiveTabStyles = emptyArray;
    emptyArray = new Array();
    this.activeTabStyles = emptyArray;
    emptyArray = new Array();
    this.hoverTabStyles = emptyArray;
    emptyArray = new Array();
    this.contentDivStyles = emptyArray;
    for(var i =0;i<this.totalTabs;i++){
        this.inactiveTabStyles[i] = this.style + "Inactive";
        this.activeTabStyles[i] = this.style + "Active";
        this.hoverTabStyles[i] = this.style + "Hover";
        this.contentDivStyles[i] = this.style + "Content";
    }

    this.id = root + "Tabs";
    this.index = MOHTabs.length;
}
MOHTabObject.prototype.makeTabs = makeTabs;
MOHTabObject.prototype.makeTab = makeTab;
MOHTabObject.prototype.makeBlankTab = makeBlankTab;
MOHTabObject.prototype.setMouseOverStyle = setMouseOverStyle;
MOHTabObject.prototype.setMouseOutStyle = setMouseOutStyle;
MOHTabObject.prototype.activateTab = activateTab;
MOHTabObject.prototype.showTabDiv = showTabDiv;
MOHTabObject.prototype.showAllTabsDiv = showAllTabsDiv;
MOHTabObject.prototype.setTabsInactive = setTabsInactive;
MOHTabObject.prototype.setInactiveTabStyle = setInactiveTabStyle;
MOHTabObject.prototype.setActiveTabStyle = setActiveTabStyle;
MOHTabObject.prototype.setHoverTabStyle = setHoverTabStyle;
MOHTabObject.prototype.setTabStyle = setTabStyle;
MOHTabObject.prototype.setContentDivStyle = setContentDivStyle;
MOHTabObject.prototype.setStyleRoot = setStyleRoot;

function makeTabs(){
    var theDiv = document.getElementById(this.id);
    theDiv.className = this.containerDivStyle;
    var divArray = new Array();
   for(var i=0;i<this.tabNames.length;i++){
      theDiv.appendChild(this.makeTab(i));
        var div = document.getElementById(this.root + "TabDiv_" + i);
        div.className = this.contentDivStyles[i];
        divArray[divArray.length] = div;
      theDiv.appendChild(this.makeBlankTab());
   }
}

function showTabDiv(id){
    for(var i=0;i<this.tabNames.length;i++){
        var tab = document.getElementById(this.root + "TabDiv_" + i);
        tab.style.display = "none";
    }
    tab = document.getElementById(id);
    tab.style.display = "block";
}

function showAllTabsDiv(){
    for(var i=0;i<this.tabNames.length-1;i++){
        var tab = document.getElementById(this.root + "TabDiv_" + i);
        tab.style.display = "block";
    }
}

function activateTab(index){
    var obj = document.getElementById(this.root + "Span" + index);
    if ((index+1)==this.tabNames.length) {
	    this.showAllTabsDiv();
	} else {    
		this.showTabDiv(this.root + "TabDiv_" + index);
	}
    this.setTabsInactive();
    obj.onmouseover = ""
    obj.onmouseout = ""
    obj.onclick = ""
    obj.className = this.activeTabStyles[index];
}



function setTabsInactive(){
    for(var i=0;i<this.totalTabs;i++){
       var tabId = this.root + "Span" + i;
       var tab = document.getElementById(tabId);
       tab.className = this.inactiveTabStyles[i];
       tab.onclick = new Function("MOHTabs[" + this.index + "].activateTab(" + i + ")");
       tab.onmouseover = new Function("MOHTabs[" + this.index + "].setMouseOverStyle(" + i + ")");
       tab.onmouseout = new Function("MOHTabs[" + this.index + "].setMouseOutStyle(" + i + ")");
    }
 }
 

function makeTab(index){
        var theSpan = document.createElement("SPAN");
        theSpan.innerHTML = this.tabNames[index];
        theSpan.className = this.inactiveTabStyles[index];
        theSpan.onclick = new Function("MOHTabs[" + this.index + "].activateTab(" + index + ")");
        theSpan.onmouseover = new Function("MOHTabs[" + this.index + "].setMouseOverStyle(" + index + ")");
        theSpan.onmouseout = new Function("MOHTabs[" + this.index + "].setMouseOutStyle(" + index + ")");
        theSpan.id = this.root + "Span" + index;
        return theSpan;
}

function makeBlankTab()
{
        var theSpan = document.createElement("SPAN");
        theSpan.innerHTML = "&nbsp;";
        theSpan.className = this.style + "blank";
        return theSpan;
}

function setMouseOverStyle(index){
    var obj = document.getElementById(this.root + "Span" + index);
    obj.className=this.hoverTabStyles[index];
}

function setMouseOutStyle(index){
    var obj = document.getElementById(this.root + "Span" + index);
    obj.className=this.inactiveTabStyles[index];
}

function setInactiveTabStyle(col,style){
   if(typeof col == "number"){
       this.inactiveTabStyles[col] = style;
   }
   else{
       for(var i=0;i<this.totalTabs;i++){
          if(this.tabNames[i] == col){
                 this.inactiveTabStyles[i] = style;
          }
       }
   }    
}

function setActiveTabStyle(col,style){
   if(typeof col == "number"){
       this.activeTabStyles[col] = style;
   }
   else{
       for(var i=0;i<this.totalTabs;i++){
          if(this.tabNames[i] == col){
                 this.activeTabStyles[i] = style;
          }
       }
   }    
}

function setHoverTabStyle(col,style){
   if(typeof col == "number"){
       this.hoverTabStyles[col] = style;
   }
   else{
       for(var i=0;i<this.totalTabs;i++){
          if(this.tabNames[i] == col){
                 this.hoverTabStyles[i] = style;
          }
       }
   }    
}

function setTabStyle(col,style){
   if(typeof col == "number"){
       this.activeTabStyles[col] = style;
       this.inactiveTabStyles[col] = style;
       this.hoverTabStyles[col] = style;
   }
   else{
       for(var i=0;i<this.totalTabs;i++){
          if(this.tabNames[i] == col){
                this.activeTabStyles[i] = style;
                this.inactiveTabStyles[i] = style;
                this.hoverTabStyles[i] = style;
          }
       }
   }    
}

function setContentDivStyle(col,style){
   if(typeof col == "number"){
       this.contentDivStyles[col] = style;
   }
   else{
       for(var i=0;i<this.totalTabs;i++){
          if(this.tabNames[i] == col){
                this.contentDivStyles[i] = style;
          }
       }
   }    
}

function setStyleRoot(style){
    for(var i =0;i<this.totalTabs;i++){
        this.inactiveTabStyles[i] = this.style + "Inactive";
        this.activeTabStyles[i] = this.style + "Active";
        this.hoverTabStyles[i] = this.style + "Hover";
        this.contentDivStyles[i] = this.style + "Content";
    }
    this.containerDivStyle = this.style + "Container";
}