	var MAIN_MENU_PREFIX = "mainMenu_";
	var SUB_MENU_PREFIX  = "subMenu_";
	var MENU_DELAY_MSECS = 800;
	var CSS_CLASS_VISIBLE = 'menuVisible';
	var CSS_CLASS_HIDDEN  = 'menuHidden';
	function ShowSubMenu(subMenuId)
	{
		//Check submenu was found (optional)
		var subMenu    = document.getElementById( subMenuId );
		if (null == subMenu)	
		{	return alert('The submenu with id (' + subMenuId + ') was not found');	}

		//Hide all submenus, show current one
		var divs = document.getElementsByTagName("DIV");
		for (var i=0; i<divs.length; i++)
		{
			if (0 == String(divs[i].id).indexOf(SUB_MENU_PREFIX) )
			{
				if (subMenuId != divs[i].id)
				{	HideMenu( divs[i].id );	}
				else
				{	ShowMenu( divs[i].id );	}
			}
		}
	}
	function FadeOutSubMenu( id, event )
	{
		var target = document.getElementById(id);

		//Ignore mouseout triggered by internal elements
		if (document.all)	//Internet Explorer
		{  
			if ((CSS_CLASS_VISIBLE != event.srcElement.className)&&(CSS_CLASS_HIDDEN != event.srcElement.className))
			{	return; }
			if ('DIV' != event.srcElement.tagName)
			{	return;	}
		}

			var top    = parseInt(target.style.top);
			var left   = parseInt(target.style.left);
			var width  = parseInt(target.style.width);
			var height = parseInt(target.style.height);

			if (document.all)
			{
				var x = event.x;
				var y = event.y;
			}
			else
			{
				var x = event.pageX;
				var y = event.pageY;
			}
		
			var xmin = left;
			var xmax = left + width;
			var ymin = top;
			var ymax = top + height;
			//alert( 'x=' + x + ',y=' + y + ' x,x=' + xmin + ',' + xmax + ' y,y=' + ymin + ',' + ymax);
			if (( x > xmin)&&(x < xmax) && (y > ymin) && (y < ymax))
			{	return;		}
		window.setTimeout("HideMenu('" + id + "')", MENU_DELAY_MSECS);
	}
	function HideMenu( id )	{	document.getElementById(id).className = CSS_CLASS_HIDDEN;		}
	function ShowMenu( id )	{	document.getElementById(id).className = CSS_CLASS_VISIBLE;		}
	function ShowObject(obj)
	{
		var html = '';
		for (i in obj)
		{	html += i + '=' + obj[i] + '<br>';	}
		document.write(html);
	}

	// Top bar menus
	function InitialiseTopMenus() {
    		initializeMenu("nzMenu", "nzActuator");
     		initializeMenu("auMenu", "auActuator");
     		initializeMenu("piMenu", "piActuator");
	}
	// Home page menus
	function InitialiseHomePageMenus() {
    		initializeMenu("hpnzMenu", "hpnzActuator");
     		initializeMenu("hpauMenu", "hpauActuator");
     		initializeMenu("hppiMenu", "hppiActuator");
	}
