function addEvent(oTarget, sEventName, fAttachFunc) { if (window.attachEvent) oTarget.attachEvent("on" + sEventName, fAttachFunc); else oTarget.addEventListener(sEventName, fAttachFunc, false); }

function testIE() { return ((window.navigator) && (0 <= window.navigator.userAgent.toLowerCase().indexOf('msie'))); }


var g_aMNU_Id = new Array();
var g_aMNU_Display = new Array();
var g_aMNU_Delay = new Array();
var g_aMNU_Children = new Array();
var g_rxTopMenu = /mnuHAnch/;
var g_rxTarget1 = /mnuHSub1TopDiv1/;
var g_rxSub1Menu = /mnuHSub1Anch/;
var g_rxTarget2 = /mnuHSub2TopDiv1/;
var g_rxSub2Menu = /mnuHSub2Anch/;
var g_rxTarget3 = /mnuHSub3TopDiv1/;
var g_rxSub3Menu = /mnuHSub3Anch/;
var g_rxTarget4 = /mnuHSub4TopDiv1/;


function initHMenu()
{
	idPrefix = 'mnuGenId_';
	idCounter = 0;
	idLastTop1 = 0;
	idLastTop2 = 0;
	idLastTop3 = 0;

	aAnchs = window.document.getElementsByTagName("a");
	for (iLoop1 = 0; iLoop1 < aAnchs.length; iLoop1++)
	{
		iCurrAnch = idCounter;
		idCounter++;
		if (!(aAnchs[iLoop1].id))
		{
			aAnchs[iLoop1].setAttribute('id', idPrefix + iCurrAnch);
		}
		if (aAnchs[iLoop1].className.match(g_rxTopMenu))
		{
			// inside anch:
			//aDivs = aAnchs[iLoop1].getElementsByTagName("div");

			aDivs = new Array(aAnchs[iLoop1].nextSibling, aAnchs[iLoop1].prevSibling);
			for (iLoop2 = 0; iLoop2 < aDivs.length; iLoop2++)
			{
				if ((!(aDivs[iLoop2] == null)) && (aDivs[iLoop2].className.match(g_rxTarget1)))
				{
					iCurrDiv = idCounter;
					idCounter++;
					if (!(aDivs[iLoop2].id))
					{
						aDivs[iLoop2].setAttribute('id', idPrefix + iCurrDiv);
					}

					idLastTop1 = iCurrDiv;
					g_aMNU_Id[iCurrDiv] = aDivs[iLoop2].id;
					g_aMNU_Display[iCurrDiv] = 'none';
					g_aMNU_Delay[iCurrDiv] = 700;
					g_aMNU_Children[iCurrDiv] = new Array();

					addEvent(aAnchs[iLoop1], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aAnchs[iLoop1], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
				}
			}
		}
		else if (aAnchs[iLoop1].className.match(g_rxSub1Menu))
		{
			// inside anch:
			//aDivs = aAnchs[iLoop1].getElementsByTagName("div");

			aDivs = new Array(aAnchs[iLoop1].nextSibling, aAnchs[iLoop1].prevSibling);
			for (iLoop2 = 0; iLoop2 < aDivs.length; iLoop2++)
			{
				if ((!(aDivs[iLoop2] == null)) && (aDivs[iLoop2].className.match(g_rxTarget2)))
				{
					iCurrDiv = idCounter;
					idCounter++;
					if (!(aDivs[iLoop2].id))
					{
						aDivs[iLoop2].setAttribute('id', idPrefix + iCurrDiv);
					}
					idLastTop2 = iCurrDiv;
					g_aMNU_Id[iCurrDiv] = aDivs[iLoop2].id;
					g_aMNU_Display[iCurrDiv] = 'none';
					g_aMNU_Delay[iCurrDiv] = 250;
					g_aMNU_Children[iCurrDiv] = new Array();
					g_aMNU_Children[idLastTop1][iCurrDiv] = iCurrDiv;

					addEvent(aAnchs[iLoop1], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aAnchs[iLoop1], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
				}
			}
		}
		else if (aAnchs[iLoop1].className.match(g_rxSub2Menu))
		{
			// inside anch:
			//aDivs = aAnchs[iLoop1].getElementsByTagName("div");

			aDivs = new Array(aAnchs[iLoop1].nextSibling, aAnchs[iLoop1].prevSibling);
			for (iLoop2 = 0; iLoop2 < aDivs.length; iLoop2++)
			{
				if ((!(aDivs[iLoop2] == null)) && (aDivs[iLoop2].className.match(g_rxTarget3)))
				{
					iCurrDiv = idCounter;
					idCounter++;
					if (!(aDivs[iLoop2].id))
					{
						aDivs[iLoop2].setAttribute('id', idPrefix + iCurrDiv);
					}
					idLastTop3 = iCurrDiv;
					g_aMNU_Id[iCurrDiv] = aDivs[iLoop2].id;
					g_aMNU_Display[iCurrDiv] = 'none';
					g_aMNU_Delay[iCurrDiv] = 250;
					g_aMNU_Children[iCurrDiv] = new Array();
					g_aMNU_Children[idLastTop2][iCurrDiv] = iCurrDiv;

					addEvent(aAnchs[iLoop1], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aAnchs[iLoop1], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
				}
			}
		}
		else if (aAnchs[iLoop1].className.match(g_rxSub3Menu))
		{
			// inside anch:
			//aDivs = aAnchs[iLoop1].getElementsByTagName("div");

			aDivs = new Array(aAnchs[iLoop1].nextSibling, aAnchs[iLoop1].prevSibling);
			for (iLoop2 = 0; iLoop2 < aDivs.length; iLoop2++)
			{
				if ((!(aDivs[iLoop2] == null)) && (aDivs[iLoop2].className.match(g_rxTarget4)))
				{
					iCurrDiv = idCounter;
					idCounter++;
					if (!(aDivs[iLoop2].id))
					{
						aDivs[iLoop2].setAttribute('id', idPrefix + iCurrDiv);
					}
					//idLastTop4 = iCurrDiv;
					g_aMNU_Id[iCurrDiv] = aDivs[iLoop2].id;
					g_aMNU_Display[iCurrDiv] = 'none';
					g_aMNU_Delay[iCurrDiv] = 250;
					g_aMNU_Children[iCurrDiv] = new Array();
					g_aMNU_Children[idLastTop3][iCurrDiv] = iCurrDiv;

					addEvent(aAnchs[iLoop1], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aAnchs[iLoop1], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseover", new Function("startShow(" + iCurrDiv + ");"));
					addEvent(aDivs[iLoop2], "mouseout", new Function("startHide(" + iCurrDiv + ");"));
				}
			}
		}
	}
}

function startShow(iCurrDiv)
{
	g_aMNU_Display[iCurrDiv] = 'block';
	//window.setTimeout(new Function("doShow(" + iCurrDiv + ");"), 75);
	doShow(iCurrDiv);
}

function doShow(iCurrDiv)
{
	document.getElementById(g_aMNU_Id[iCurrDiv]).style.display = g_aMNU_Display[iCurrDiv];
}

function startHide(iCurrDiv)
{
	g_aMNU_Display[iCurrDiv] = 'none';
	window.setTimeout(new Function("doHide(" + iCurrDiv + ");"), g_aMNU_Delay[iCurrDiv]);
}

function doHide(iCurrDiv)
{
	for (iHideDiv in g_aMNU_Children[iCurrDiv])
		doHide(iHideDiv);
	document.getElementById(g_aMNU_Id[iCurrDiv]).style.display = g_aMNU_Display[iCurrDiv];
}

addEvent(window, "load", new Function("initHMenu()"));
