
var tdColour="#FFFFFF";			// menu item text colour
var tdSubMenuColour="#000000";	// sub menu item text colour
var tdBgColour="Transparent";	// menu item background colour
var tdSubMenuBgColour="#e3fbc9"; // sub menu item background colour
var hlColour="#FFFFFF";			// highlight text colour
var hlBgColour="#62c930";		// highlight background colour

var menuCloseTimeout=250;
var timeoutId=-1;
var oldTdID=null;

var sT="";
var pT=new Array();
var tA=new Array();


function doMenu(sTdID)
{
	clearTimeout(timeoutId);

	var i;
	var oElement;
	var sID = sTdID.substring(0, sTdID.length-1);

	for(i=1; (oElement = document.getElementById(sID + i)) != null; i++)
	{
		oElement.style.backgroundImage = 'url(Menu/Background/green.gif)';
		oElement.style.color=hlColour;
	}

	var nIndex;
	var sT="";
	var tda=new Array();
	tda=sID.split("_");
	if(oldTdID!=null)
	{
		var aTd=new Array();
		var sOldID=oldTdID.substring(0, oldTdID.length-1);
		aTd=sOldID.split("_");
		for(nIndex=1; nIndex<aTd.length; nIndex++)
		{
			sT+="_"+aTd[nIndex];
			if(aTd[nIndex]!=tda[nIndex])
			{
				for(i=1; (oElement = document.getElementById("td" + sT + i)) != null; i++)
				{
					if( sT.length < 4 )
					{
						oElement.style.backgroundColor=tdBgColour;
						oElement.style.backgroundImage='';
						oElement.style.color = tdColour;
					}
					else
					{
						oElement.style.backgroundColor=tdSubMenuBgColour;
						oElement.style.backgroundImage='';
						oElement.style.color = tdSubMenuColour;
					}
				}

				if(document.getElementById("tbl"+sT)!=null)
					document.getElementById("tbl"+sT).style.visibility="hidden";
			}
		}			
	}
	oldTdID=sTdID;
	sT="tbl";
	for(nIndex=1; nIndex<tda.length; nIndex++)
		sT+="_"+tda[nIndex];
	if(document.getElementById(sT)!=null)
	{
		if( document.getElementById("tbl"+pT[0]).style.left != (getOffsetLeft(document.getElementById("mainmenu"))+document.getElementById("td"+pT[0]+"1").offsetLeft+128)+"px" )
			setMenuPos();
		document.getElementById(sT).style.visibility="visible";
	}

}

function clearMenu()
{
	if(oldTdID!=null)
	{
		var sID = oldTdID.substring(0, oldTdID.length-1);
		var oElement;
		var aTd=new Array();
		aTd=sID.split("_");
		var sT="";
		var i;
		for(var nIndex=1; nIndex<aTd.length; nIndex++)
		{
			sT+="_"+aTd[nIndex];
			for(i=1; (oElement = document.getElementById("td" + sT + i)) != null; i++)
			{
				if( sT.length < 4 )
				{
					oElement.style.backgroundColor=tdBgColour;
					oElement.style.backgroundImage='';
					oElement.style.color = tdColour;
				}
				else
				{
					oElement.style.backgroundColor=tdSubMenuBgColour;
					oElement.style.backgroundImage='';
					oElement.style.color = tdSubMenuColour;
				}
			}
			if(document.getElementById("tbl"+sT)!=null)
				document.getElementById("tbl"+sT).style.visibility="hidden";
		}
		oldTdID=null;			
	}
}

function goTargetURL(strURL)
{
	location.href = strURL;
}


function setCoord(st)
{
	var tt="";
	tA=st.split("_");
	if(tA.length>2)
	{
		tA=tA.slice(0,-1);
		tt=tA.join("_");
		coordTop="24px";//(getOffsetTop(document.getElementById("tbl"+tt))+document.getElementById("td"+st+"1").offsetTop+20)+"px";
		coordLeft=(getOffsetLeft(document.getElementById("tbl"+tt))+document.getElementById("td"+st+"1").offsetWidth-1)+"px";

	}
	else
	{
		coordTop="24px";//(getOffsetTop(document.getElementById("mainmenu"))+document.getElementById("td"+st+"1").offsetTop+20)+"px";
		coordLeft=(getOffsetLeft(document.getElementById("mainmenu"))+document.getElementById("td"+st+"1").offsetLeft-1)+"px";
	}

	document.getElementById("tbl"+st).style.position="absolute";
	document.getElementById("tbl"+st).style.left=coordLeft;
	document.getElementById("tbl"+st).style.top=coordTop;
}


function getOffsetTop(element)
{
//	oldtop = element.offsetTop;
	offset=0;
	do
	{
		offset+=element.offsetTop;
		element = element.offsetParent;
	}while(element != null);
//	alert( oldtop + ", " + offset );
	return offset;
}

function getOffsetLeft(element)
{
	oldleft = element.offsetLeft;
	offset=0;
//	do
//	{
//		alert( element.tagName );
		offset+=element.offsetLeft;		
		element = element.offsetParent;
//	}while(element != null);
//	alert( oldleft + ", " + offset );
	return offset;
}

function setMenuPos()
{	

	for(var nIndex=0; typeof(pT[nIndex])!="undefined"; nIndex++)
	{
		sT=pT[nIndex];
		setCoord(sT);
	}
}

var sMenuHTML="<table class=\"menu\" id=\"mainmenu\" width=\"800\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
	sMenuHTML += "<tr>"

var p=0;
var j=0;
while(eval("typeof(td_"+ ++j +")!=\"undefined\""))
{
	
	sMenuHTML += "<td id=\"td_" + j + "1\" onmouseover=\"doMenu(this.id)\" onmouseout=\"timeoutId=setTimeout('clearMenu()',menuCloseTimeout)\"";
	sMenuHTML += (eval("typeof(url_" + j + ")!=\"undefined\"")) ? " onclick=\"goTargetURL('" + eval("url_" + j) + "')\">" : ">";
	sMenuHTML += eval("td_" + j) + "</td>";

	if (eval("typeof(td_" + j + "_1)!=\"undefined\""))
		pT[p++] = "_" + j;
}
sMenuHTML += "</tr></table>";
document.write(sMenuHTML);

for(var nIndex=0; typeof(pT[nIndex])!="undefined"; nIndex++)
{
	sT=pT[nIndex];
	sMenuHTML="";
	j=0;
	sMenuHTML += "<table class=\"submenu\" id=\"tbl"+sT+"\" cellspacing=\"0\" >";
	while (eval("typeof(td"+sT+"_"+ ++j +")!=\"undefined\""))
	{
		sMenuHTML += "<tr><td width=\"80%\" id=\"td" + sT + "_" + j + "1\" onmouseover=\"doMenu(this.id)\" onmouseout=\"timeoutId=setTimeout('clearMenu()',menuCloseTimeout)\"";
		sMenuHTML += (eval("typeof(url" + sT + "_" + j + ")!=\"undefined\"")) ? " onclick=\"goTargetURL('" + eval("url" + sT + "_" + j) + "')\">" : ">";
		sMenuHTML += eval("td" + sT + "_" + j) + "</td></tr>";
		
		if (eval("typeof(td" + sT + "_" + j + "_1)!=\"undefined\""))
			pT[p++] = sT + "_" + j;
	}
	sMenuHTML += "</table>";
	document.write(sMenuHTML);
}

setMenuPos();
document.getElementById("mainmenu").style.visibility="visible";

