/*
	Mozilla Menu Javascript for Zones, Mac Zone, and ZCS sites.
	Created:			5/9/2006
	Created By:			Andrew Glass x3113
	Modified:			xxx
	Modified By:		xxx
	Description:		FireFox, Mozilla, Netscape, Mozilla based version.  Reduces function
						count and changes document.all to document.getElementById.  Also adds
						the HTMLElement .contains to check for mouseout on menu dropdowns.
*/


	// Global Vars
	var activeHeader1 = null;
	var activeMenu1 = null;
	
	// Create .contains
	HTMLElement.prototype.contains = function(element) {
	    if (element == document) return false;
	    if (element == this) return true;
	    else { return this.contains(element.parentNode); }
	}

	// Create inital menu and hide existing if moved off the current element within the menu table
	function setMenu(menuHeaderID1,menuID1)
	{
		var top = 0;
		var left = 0;
		var currentEle1;
		
		if(navigator.appVersion.indexOf("Win")>0)
		{
			if(document.getElementById)
			{
				// If exists: hide already active menu if off element
				if(activeHeader1 != null && activeMenu1 != null)
				{
					if(activeMenu1.style.visibility != 'hidden')
					{
						activeMenu1.style.visibility = 'hidden';
					}
				}
				
				// Get new menu vars from the function
				activeHeader1 = eval("document.getElementById('" + menuHeaderID1 + "')")
				activeMenu1 = eval("document.getElementById('" + menuID1 + "')")
				currentEle1 = activeHeader1;
				
				//Find the top and left of header and its parent elements
				while(currentEle1.tagName.toLowerCase() != 'body')
				{
					top += currentEle1.offsetTop;
					left += currentEle1.offsetLeft;
					currentEle1 = currentEle1.offsetParent;
				}
				
				//Add the width of the header, and width of extra image
				top += (activeHeader1.offsetHeight);
	
				activeMenu1.style.left = left;
				activeMenu1.style.top = top;
				
				activeMenu1.style.visibility = 'visible';
				
				if (activeMenu1.addEventListener) activeMenu1.addEventListener("mouseout", hideMenu, false);
				else if (activeMenu1.attachEvent) activeMenu1.attachEvent("onmouseout", hideMenu);
			}
		}
		else { return; }
	}

	// Hide the menu on mouseout of the element and its parent
	function hideMenu(event)
	{
		if(activeHeader1 != null && activeMenu1 != null && event != null) {
			if(!activeMenu1.contains(event.relatedTarget || event.toElement)) {
				activeMenu1.style.visibility = 'hidden'

				activeHeader1 = null
				activeMenu1 = null
			}
		}
	}

