/*
	Main Navigation Script
	-----------------------------
	Site: Empresa Ltd
	Author: Andrew Neale
*/

/*
	VARIABLES
*/

var empresa_mainNavigation_rootElement;
var empresa_mainNavigation_blackOverlay;

var empresa_mainNavigation_timeout = -1;

var empresa_mainNavigation_active = false;
var empresa_mainNavigation_overlayOpacity = 0;

/*
	FUNCTIONS
*/

/*
	void = empresa_mainNavigation_initialize(void)
*/
function empresa_mainNavigation_initialize()
{
	empresa_mainNavigation_rootElement = document.getElementById("mainNav");
	empresa_mainNavigation_blackOverlay = document.getElementById("blackOverlay");
	
	empresa_mainNavigation_blackOverlay.style.display = "none";
	empresa_mainNavigation_setOpacity(empresa_mainNavigation_blackOverlay, 0);
	
	empresa_mainNavigation_timeOut = setTimeout("empresa_mainNavigation_update()", 30);
}

/*
	void = empresa_mainNavigation_focus(string)
*/
function empresa_mainNavigation_focus(option)
{
	empresa_mainNavigation_rootElement.className = "active";
	
	empresa_mainNavigation_active = true;

	var mainNav = document.getElementById("mainNav_" + option);
	if (mainNav)
	{
		mainNav.className = "hover";
	}
	var subNav = document.getElementById("subNav_" + option);
	if (subNav)
	{
		subNav.style.display = "block"
	}

	if (empresa_mainNavigation_timeOut == -1)
	{
		empresa_mainNavigation_timeOut = setTimeout("empresa_mainNavigation_update()", 30);
	}
}

/*
	void = empresa_mainNavigation_blur(string)
*/
function empresa_mainNavigation_blur(option)
{
	empresa_mainNavigation_rootElement.className = "";
	
	empresa_mainNavigation_active = false;
	
	var mainNav = document.getElementById("mainNav_" + option);
	if (mainNav)
	{
		mainNav.className = "";
	}
	var subNav = document.getElementById("subNav_" + option);
	if (subNav)
	{
		subNav.style.display = "none"
	}
	
	if (empresa_mainNavigation_timeOut == -1)
	{
		empresa_mainNavigation_timeOut = setTimeout("empresa_mainNavigation_update()", 30);
	}
}

/*
	void = empresa_mainNavigation_update(void)
*/
function empresa_mainNavigation_update()
{
	empresa_mainNavigation_timeOut = setTimeout("empresa_mainNavigation_update()", 30);
	
	empresa_mainNavigation_blackOverlay.style.height = empresa_mainNavigation_getDocumentHeight() + "px";
	
	if (empresa_mainNavigation_active)
	{
		
		empresa_mainNavigation_overlayOpacity += 20;
		if (empresa_mainNavigation_overlayOpacity >= 80)
		{
			empresa_mainNavigation_overlayOpacity = 80;
			clearTimeout(empresa_mainNavigation_timeOut);
			empresa_mainNavigation_timeOut = -1;
		}
		empresa_mainNavigation_blackOverlay.style.display = "block";
		empresa_mainNavigation_setOpacity(empresa_mainNavigation_blackOverlay, empresa_mainNavigation_overlayOpacity);
		
	}
	else
	{

		empresa_mainNavigation_overlayOpacity -= 20;
		if (empresa_mainNavigation_overlayOpacity <= 0)
		{
			empresa_mainNavigation_overlayOpacity = 0;
			clearTimeout(empresa_mainNavigation_timeOut);
			empresa_mainNavigation_timeOut = -1;
			empresa_mainNavigation_blackOverlay.style.display = "none";
		}
		empresa_mainNavigation_setOpacity(empresa_mainNavigation_blackOverlay, empresa_mainNavigation_overlayOpacity);
	
	}
}

/*
	void = empresa_mainNavigation_setOpacity(HTML Element, int)
*/
function empresa_mainNavigation_setOpacity(element, opacity)
{
	var elementStyle = element.style;
	
	elementStyle.opacity = (opacity / 100);
    elementStyle.MozOpacity = (opacity / 100);
    elementStyle.KhtmlOpacity = (opacity / 100);
    elementStyle.filter = "alpha(opacity=" + opacity + ")";	
}

/*
	int = empresa_mainNavigation_getDocumentHeight(void)
*/
function empresa_mainNavigation_getDocumentHeight()
{
    return Math.max(
        Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
        Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
        Math.max(document.body.clientHeight, document.documentElement.clientHeight)
    );
}
