Event.observe(window, 'load', SetupNav);

var JSMenus = false;

function SetupNav()
{
	var HTMLElem = document.getElementsByTagName('html')[0];
	if (HTMLElem.className.indexOf('ie6') < 0)
	{
		return false;
	}

	JSMenus = true;

	var List = document.getElementsByClassName('Nav')[0];
	if (!List)
	{
		return false;
	}

	//Event.observe(HTMLElem, 'mouseover', HideMenus);

	for (var i = 0; i < List.childNodes.length; i++)
	{
		if (!List.childNodes[i] || (List.childNodes[i].tagName != 'LI'))
			continue;

		var uls = List.childNodes[i].getElementsByTagName('ul');
		if (uls)
		{
			Event.observe(List.childNodes[i].getElementsByTagName('a')[0], 'mouseover', ShowMenu);
		}
	}

}

var ShowingMenu = false;
var HideMenuTimeout = false;

function ShowMenu(evt)
{
	if (HideMenuTimeout)
	{
		clearTimeout(HideMenuTimeout);
		HideMenuTimeout = false;
	}

	//HideMenus();
	if (!evt)
	{
		evt = window.event;
	}
	if (!evt)
	{
		return false;
	}
	var src = Event.element(evt).parentNode;

	var x = findPosX(src);
	src.className += ' hover';
	var ul = src.getElementsByTagName('ul');
	if (ul[0])
	{
		ul[0].style.display = 'block';
		ul[0].style.position = 'absolute';
		ul[0].style.top = 'auto';
		ul[0].style.left = 'auto';
		Event.observe(ul[0], 'mouseout', HideMenus10);
	}
	HideMenus(false, ul[0]);
	ShowingMenu = true;
	evt.returnValue = false;

	//HideMenuTimeout = setTimeout('HideMenus()', 1000);

	return false;
}

function HideMenus10()
{
	HideMenuTimeout = setTimeout('HideMenus()', 1000);
}

// Hides the menu from the deficient browser.
function HideMenus(evt, elem)
{
	if (!ShowingMenu) return;

	if (!JSMenus)
	{
		return false;
	}

	if (!elem)
	{
	if (!evt)
	{
		evt = window.event;
	}
	if (evt)
	{
		var src = Event.element(evt);
	}

	if (evt &&
		(
			(
				src.tagName == 'A' ||
				src.tagName == 'LI' ||
				src.tagName == 'UL'
			) && (
				(
					src.className == 'Nav' ||
					src.parentNode.className == 'Nav' ||
					src.parentNode.parentNode.className == 'Nav' ||
					src.parentNode.parentNode.parentNode.parentNode.className == 'Nav'
				) 
			)
		)
	)
	{
		evt.returnValue = false;
		return false;
	}
	}

	var List = document.getElementsByClassName('Nav')[0];
	if (!List)
	{
		return false;
	}

	for (var i = 0; i < List.childNodes.length; i++)
	{
		if (List.childNodes[i].tagName != 'LI')
			continue;

		var ul = List.childNodes[i].getElementsByTagName('ul')[0];
		if (ul && (ul != elem))
		{
			ul.style.display = 'none';
		}
	}

	ShowingMenu = false;
}

/* The following functions are a courtesy of quirksmode.org */
// Finds object's absolute position on X axis.
function findPosX(obj)
{
	var curleft = 0;

	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	{
		curleft += obj.x;
	}

	return curleft;
}
