﻿window.onload = collapseTabs;

function getObject(elementId)
{
	if (document.getElementById)
	{
		return document.getElementById(elementId);
	}
	else if (document.all)
	{
		return document.all[elementId];
	}
	else if (document.layers)
	{
		return document.layers[elementId];
	}
}
function getObjectsByTagAndClass(tag, cls)
{
	var array = document.getElementsByTagName(tag);
	var output = new Array();
	var matches = 0;
	for(var i=0;i<array.length;i++)
	{
		var parts = array[i].className.split(' ');	
		for(var j=0;j<parts.length;j++)
		{
			if(parts[j]==cls)
			{
				output[matches++]=array[i];
			}
		}
	}
	return output;
}
function getObjectHeight(i)
{
	return i.offsetHeight;
}

var currentTabGroup = 0;
var currentTabIndex = 0;
var activeTabIndeces = new Array();
var activeTabTimers = new Array();

function activateTab(tabGroup,index){

	clearTimeout(activeTabTimers[tabGroup]); 
	currentTabGroup = tabGroup;
	currentTabIndex = index;
	
	if(activeTabIndeces.length <= tabGroup){
		activeTabIndeces[tabGroup] = 0;
}	
	var activeTabIndex = activeTabIndeces[tabGroup];
	if(index != activeTabIndex)
	{
		activeTabTimers[tabGroup] = setTimeout("activateTabTimer()",250); 
	}
}

function mouseOutTab(tabGroup,index){
	clearTimeout(activeTabTimers[tabGroup]);
}

var isMouseOver = false;
function activateTabTimer()
{  
 
    var activeTabIndex = activeTabIndeces[currentTabGroup];
    if(currentTabIndex != activeTabIndex)
    {
	    var h = 'tbh' + currentTabGroup + '_';
	    var c = 'tbc' + currentTabGroup + '_';
		
		var activeTab = getObject(h + activeTabIndex);
	    var activeTabPanel = getObject(c + activeTabIndex);
        
	    var newTab = getObject(h + currentTabIndex);
	    var newTabPanel = getObject(c + currentTabIndex);
		
		if (newTabPanel != null)
		{		
	        var activeTabDiv = getObjectsByTagAndClass('div','activetabdiv');
	        if(activeTabDiv.length >0){
	            activeTabDiv[0].className = 'activetabdiv '+(newTabPanel.getAttribute('layout')!='null'?newTabPanel.getAttribute('layout'):"")+' cf';
		        activeTabDiv[0].innerHTML = newTabPanel.innerHTML;
		        isMouseOver = true;
	        }
    	    
	        activeTab.className = 'tab';    	 		
	        newTab.className = 'tab tabActive';    	   				
	        activeTabIndeces[currentTabGroup] = currentTabIndex;
	    }	  
    }
}
var TVIEWHEIGHT = 0;
function collapseTabs()
{
	// Switch tab area
	var ih=0;
	var i=0;
	var objects = getObjectsByTagAndClass("h3","dlh");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","tbc");
	for(i=0;i<objects.length;i++)
	{
		ih= getObjectHeight(objects[i]);
		if(ih>TVIEWHEIGHT)TVIEWHEIGHT=ih;
	}
	
	var objects = getObjectsByTagAndClass("div","dlTabs");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","ulTabs");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'block';
	}
	
	objects = getObjectsByTagAndClass("h3","dlh");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
		
	objects = getObjectsByTagAndClass("div","dlTabSpacer");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","tabContentPanel");
	for(i=0;i<objects.length;i++)
	{
		objects[i].className = 'tabContentPanel';			
	}	

	objects = getObjectsByTagAndClass("div","tabPanel");
	for(i=0;i<objects.length;i++)
	{
		if(i==0)
		{
		    if(!isMouseOver){
			    var activeTabDiv = getObjectsByTagAndClass("div","activetabdiv");
    	    if(activeTabDiv.length > 0)
			    {
	               activeTabDiv[0].className = 'activetabdiv ' + (objects[i].getAttribute('layout')!='null'?objects[i].getAttribute('layout'):"")+' cf';
                   activeTabDiv[0].innerHTML = objects[i].innerHTML;
	            }
	        }		
		}
    	objects[i].className = 'tabPanel '+(objects[i].getAttribute('layout')!="null"?objects[i].getAttribute('layout'):"")+' tabHiddenPanel cf';				
	}
}