function GetElementByID (elementName)
{

	if (document.getElementById && (document.getElementById(elementName) != null))
		return document.getElementById(elementName);
	
	if (document.getElementByName && (document.getElementByName(elementName) != null))
		return document.getElementByName(elementName);

	if (document.layers && (document.layers(elementName) != null))
		return document.layers(elementName);

	if (document.all && (document.all (elementName) != null))
		return document.all(elementName);
	
	return null;
}

function TabHeaderOnMouseOver (objectOver, selectedTab, selectedTabIndex, tabDefaultHoverStyle )
{
	if (objectOver != null)
	{
		if (!((selectedTab != null) && (selectedTab[selectedTabIndex] != null) && (selectedTab[selectedTabIndex] == objectOver)))
		{
			objectOver.className = tabDefaultHoverStyle;
		}
	}
}

function TabHeaderOnMouseOut (objectOver, selectedTab, selectedTabIndex, tabDefaultStyle)
{
	if (objectOver != null)
	{
		if (!((selectedTab != null) && (selectedTab[selectedTabIndex] != null) && (selectedTab[selectedTabIndex] == objectOver)))
		{
			objectOver.className = tabDefaultStyle;
		}
	}
}

function TabHeaderOnClick (newSelectedTabIndex, oldSelectedTabIndex, selectedTab, selectedPageView, tabDefaultStyle, tabSelectedStyle, selectionHolder, forceChangeTabs)
{
	if ((selectedTab != null) && (selectedTab[newSelectedTabIndex] == null))
		return oldSelectedTabIndex;
	
	if ((!forceChangeTabs) && (newSelectedTabIndex == oldSelectedTabIndex))
		return oldSelectedTabIndex;
		
	if (selectedTab[oldSelectedTabIndex] != null)
		selectedTab[oldSelectedTabIndex].className = tabDefaultStyle;

	if (selectedTab[newSelectedTabIndex] != null)
	{
		objSelectionHolder = GetElementByID (selectionHolder);
		if (objSelectionHolder != null)
		{
			objSelectionHolder.value = newSelectedTabIndex;
		}
		selectedTab[newSelectedTabIndex].className = tabSelectedStyle;
	}

	if (selectedPageView[oldSelectedTabIndex] != null)
		selectedPageView[oldSelectedTabIndex].style.display = "none";

	if (selectedPageView[newSelectedTabIndex] != null)
		selectedPageView[newSelectedTabIndex].style.display = '';
	
	return newSelectedTabIndex;
}


