var IE=(document.all)?true:false;
var agt = navigator.userAgent.toLowerCase();
var is_mac = (agt.indexOf("mac")!=-1);

var currentsubmenu = 0;
var currentmenuparent = 0;
var lorryout = false;

function hideSelect()
{
	for (j=0; j<document.forms.length; j++) 
	{
		var theForm = document.forms[j]
		for(i=0; i<theForm.elements.length; i++)
		{
			if(theForm.elements[i].type == "select-one") 
			{
				theForm.elements[i].style.visibility = "hidden";
			}
		}
	}
} 

function unhideSelect()
{
	for (j=0; j<document.forms.length; j++) 
	{
		var theForm = document.forms[j]
		for(i=0; i<theForm.elements.length; i++)
		{
			if(theForm.elements[i].type == "select-one") 
			{
				theForm.elements[i].style.visibility = "visible";
			}
		}
	}
} 

function getLeft(elem)
{
    xPos = eval(elem).offsetLeft;
    tempEl = eval(elem).offsetParent;
      while (tempEl != null) {
           xPos += tempEl.offsetLeft;
           tempEl = tempEl.offsetParent;
      }
    return xPos;
}

function getTop(elem) {
    yPos = eval(elem).offsetTop;
    tempEl = eval(elem).offsetParent;
    while (tempEl != null) {
           yPos += tempEl.offsetTop;
           tempEl = tempEl.offsetParent;
      }
    return yPos;
}

function opacity(id, opacStart,opacEnd, millisec)
{
	var speed = Math.round(millisec / 100);
	var timer = 0;


	if(opacStart > opacEnd)
	{
	for(i = opacStart; i >= opacEnd; i--)
		{
		setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
		timer++;
		}
	}
	else if (opacStart < opacEnd)
	{
	for(i = opacStart; i <= opacEnd; i++)
		{
		setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
		timer++;
		}
	}
}

function changeOpac(opacity,id)
{
document.getElementById(id).style.filter = "alpha(opacity=" + opacity + ")";
document.getElementById(id).style.MozOpacity = (opacity / 100);
document.getElementById(id).style.opacity = (opacity / 100);
}

function hilite(menuref)
{
	menudiv = document.getElementById("menudiv" + menuref);
	menudiv.style.color = "#662200";
	menudiv.style.backgroundColor = "#ddddee";
}

function nohilite(menuref)
{
	menudiv = document.getElementById("menudiv" + menuref);
	menudiv.style.color = "#004499";
	menudiv.style.backgroundColor = "#ffffff";
}
function nohilitesub(menuref)
{
	menudiv = document.getElementById("menudiv" + menuref);
	menudiv.style.color = "#004499";
	menudiv.style.backgroundColor = "#aabbdd";
}
function hilite2(menuid)
{
	menuOver2();
	menudiv = document.getElementById(menuid);
	menudiv.style.color = "#662200";
	menudiv.style.backgroundColor = "#ddddee";
}
function nohilite2(menuid)
{
	menudiv = document.getElementById(menuid);
	menudiv.style.color = "#004499";
	menudiv.style.backgroundColor = "#ffffff";
}

function menuOver(menuref, submenuref, parentsubmenuref)
{
	//Highlight menu item and parent menu item if is a submenu
	if(menuref > 0)
	{
		hilite(menuref);
		if(currentmenuparent > 0 && parentsubmenuref > 0)
		{
			hilite(currentmenuparent);
		}
	}

	//Display Submenu if there is one
	if(submenuref > 0)
	{
		displaySubMenu(menuref, submenuref);
	}

	//Hide submenus if necessary
	if(submenuref != currentsubmenu && parentsubmenuref != currentsubmenu)
	{
		//setTimeout("hideSubMenu(" + currentsubmenu + ")", 500);
		hideSubMenu(currentsubmenu);
	}
}

function menuOver2()
{
	if(currentsubmenu > 0)
	{
		hideSubMenu(currentsubmenu);
	}
}

function menuOver3(menuref)
{
	if(currentsubmenu > 0)
	{
		hideSubMenu(currentsubmenu);
	}
	hilite(menuref);
}

function displaySubMenu(menuref, submenuref)
{
	hideSelect()
	
	if((currentsubmenu > 0) && (currentsubmenu != menuref))
	{
		hideSubMenu(currentsubmenu);
	}

	submenuid = "submenu" + submenuref;
	submenu = document.getElementById(submenuid);

	if((menuref != currentmenuparent && submenuref != currentsubmenu) || submenu.style.visibility == "hidden")
	{
		currentsubmenu = submenuref;
		currentmenuparent = menuref;
		menudiv = document.getElementById("menudiv" + menuref);

		//Move to correct position
		submenu.style.left = getLeft(document.getElementById("mainmenudiv")) + document.getElementById("mainmenudiv").offsetWidth;
		//submenu.style.left = 134;
		if(IE && is_mac)
		{
			submenu.style.top = getTop(menudiv) - 5;
		}
		else
		{
			submenu.style.top = getTop(menudiv);
		}

		//Fade in
		//changeOpac(0, submenuid);
		submenu.style.visibility = "visible";
		//opacity(submenuid, 0, 100, 500);
	}
}

function menuOut(menuref)
{
	if(menuref > 0)
	{
		nohilite(menuref);
	}
}

function submenuOut(menuref)
{
	if(menuref > 0)
	{
		nohilitesub(menuref);
	}
}

function hideSubMenu(submenuref)
{
	nohilite(currentmenuparent);

	//Fade out
	currentsubmenu = 0;
	currentmenuparent = 0;
	submenuid = "submenu" + submenuref;
	submenu = document.getElementById(submenuid);
	submenu.style.visibility = "hidden";	
}

function leaveMenu(e)
{
	if(document.all)
	{
		srcel = window.event.srcElement;
	}
	else
	{
		srcel = e.target;
	}
	if(srcel.id.indexOf("menudiv") == -1 && srcel.id.indexOf("menutd") == -1 && srcel.className.indexOf("menuline") == -1)
	{
		if(currentsubmenu > 0)
		{
			nohilite(currentmenuparent);
			//setTimeout("hideSubMenu(" + currentsubmenu + ")", 500);
			hideSubMenu(currentsubmenu);
		}
		unhideSelect()
	}	
}
document.onmouseover = leaveMenu;

function initialise()
{
	document.getElementById("mainmenudiv").style.visibility = "visible";
}
