cm = null;
timerStatus = 0;
timerHndl = null;

isNS4 = (document.layers) ? true : false;
isIE4 = (document.all && !document.getElementById) ? true : false;
isIE5 = (document.all && document.getElementById) ? true : false;
isNS6 = (!document.all && document.getElementById) ? true : false;

// Show or Hide navigation layer
function layerVisibility (layer, mode)
	{
		if (isNS4 || isIE4)
			layer.visibility = mode == "hide" ? "hidden" : "visible";
		else if (isIE5 || isNS6)
			layer.style.display = mode == "hide" ? "none" : "";
		return 1;
	}

function getPos (el, sProp)
	{
		var iPos = 0;
		while (el != null)
			{
				iPos += el["offset" + sProp];
				el    = el.offsetParent;
			}
		return iPos;
	}

// Alternative method `getElementById`
function getElementById (id)
	{
		if (isNS4)
			obj = document.layers[id];
		else if (isIE4)
			obj = document.all[id];
		else if (isIE5 || isNS6)
			obj = document.getElementById(id);
		return obj;
}

function dropDownNav (el, layerId)
	{
		if (cm != null)
			{
				layerVisibility (cm, 'hide');
			}

		if (layerId != null)
			{
				layerId = getElementById (layerId);
				layerId.style.left = getPos (el, "Left") + "px";
				layerId.style.top  = getPos (el, "Top") + el.offsetHeight + "px";
				layerVisibility (layerId, 'show');
				cm = layerId;
			}
	}

function hideMenu ()
	{
		timerHndl = setTimeout ("dropDownNav (null,null)", 50);
		timerStatus = 1;
		return 1;
	}

function showMenu ()
	{
		if (timerStatus == 1)
			{
				clearTimeout (timerHndl);
				timerStatus = 0;
			}
		return 1;
	}
