﻿function AddHoverBehavior() {	
	var lElement = document.getElementById("TopNavMenuTabs");
	var lPageContent = document.getElementById("PageContent");
	var lMainTabElements = lElement.childNodes;
	var i = 0;
	for(i; i< lMainTabElements.length; i++)
	{
	    if (lMainTabElements[i].nodeName == "LI")
	    {
	        var lListElements = lMainTabElements[i].childNodes;
	        var j = 0;
	        for (j; j < lListElements.length; j++)
	        {
	          if (lListElements[j].nodeName == "A")
	          {
		        lListElements[j].onmouseover = SetStatus;
		        if (lListElements[j].captureEvents) lListElements[j].captureEvents(Event.ONMOUSEOVER);
		      }
		    }
		}
	}
	
	// when entering page content the current tabs are reseted so that the active one has the appropriate style
	lPageContent.onmouseover = ResetTab;
	if (lPageContent.captureEvents) lPageContent.captureEvents(Event.ONMOUSEOVER);
}

//
// Event handler for the onmouse over event
//
function SetStatus(e)
{
	var lElement;
	if (!e) var e = window.event;
	if (e.target) lElement= e.target;
	else if (e.srcElement) lElement= e.srcElement;
	if (lElement.nodeType == 3) // defeat Safari bug
	{
		lElement = lElement.parentNode;
	}
	
	GetListItemAndSetStatus(lElement);
}

////
// Gets a listitem and the correct parent and sets the current status on this element
//
function GetListItemAndSetStatus(element) {	
var lListItem;
		var lParentElement;
	 lParentElement = lListItem= element;
	// Go up the tree until we come accors the expected element
	
	while(!(lParentElement.id == "TopNavMenuTabs"))
	{ 
		if(lParentElement.nodeName == "LI")
		{
			lListItem = lParentElement
		}
		lParentElement = lParentElement.parentNode;
		
	}
	
	if(lListItem != null)
	{
		var lSiblings = lParentElement.childNodes;
		var i =0;
				
		for(i; i< lSiblings.length; i++)
		{
			if(lSiblings[i].nodeType == 1)
            {
				lSiblings[i].className = lSiblings[i].className.replace(/\s*current/, "");
				lSiblings[i].className = lSiblings[i].className.replace(/\s*bgrSmall/, "");
				lSiblings[i].className = lSiblings[i].className.replace(/\s*bgrMedium/, "");
				lSiblings[i].className = lSiblings[i].className.replace(/\s*bgrLarge/, "");
			}
		}
		lListItem.className += " current";
		if (lListItem.id.indexOf('tab2') > -1)
		{
		   lListItem.className += " bgrMedium";
		}
		else if (lListItem.id.indexOf('tab3') > -1)
		{
		   lListItem.className += " bgrLarge";
		}
		else
		{
		   lListItem.className += " bgrSmall";
		}
	}
}

function SetStartupTab(tabName)
{
	var lElement = document.getElementById(tabName);
	if(lElement != null)
	{
		GetListItemAndSetStatus(lElement);
	}
}


function SetTimeout()
{
	if(ResetTimer != null)
	{
		clearTimeout(ResetTimer);
	}
	ResetTimer = setTimeout("ResetTab()",TimeoutValue);
}

function ResetTab()
{
	var lElement = document.getElementById("TopNavMenuTabs");
	if(lElement != null)
	{
		var lElementCollection = lElement.getElementsByTagName("LI");
		
		var i = 0;
		while(i <lElementCollection.length)
		{
			if(lElementCollection[i].className && lElementCollection[i].className.indexOf("active") > -1)
			{
			   GetListItemAndSetStatus(lElementCollection[i]);
			}
			i++;
		}
	}
}
