function edeptiveShowHideMenu(iItemID, iLevel, yoffset, xoffset) {
	adeptiveShowHideMenu(iItemID, iLevel, yoffset, xoffset);
}
function adeptiveShowHideMenu(iItemID, iLevel, yoffset, xoffset) {
	var objMenu, objAnchor;
	var strHide = 'hidden', strShow = 'visible';
	var fFirefox = ((navigator.appName.indexOf("MSIE") == -1) && (navigator.appName.indexOf("Microsoft") == -1));
	
	if (giHideMenuTimeoutID) {
		clearTimeout(giHideMenuTimeoutID);
	}
	adeptiveHideMenu(iLevel, true);
	if (document.all) {
		if (document.all['menu' + iItemID]) {
			objMenu = document.all['menu' + iItemID].style;
		}
	} else {
		if (parseInt(navigator.appVersion) >= 5) {
			objBody = document.childNodes[1].childNodes[2];
			for(i=0; !objMenu && (i < objBody.childNodes.length); i++){
				if (objBody.childNodes[i].id == ('menu' + iItemID)) {
					objMenu = objBody.childNodes[i].style;
				}
			}
		} else {
			if (document.layers['menu' + iItemID]) {
				objMenu = document.layers['menu' + iItemID];
			}
			strHide = 'hide';
			strShow = 'show';
		}
	}
	if (objMenu) {
		if (true || document.all) {
			if (document.all) {
				var ofs=document.all['anc' + iItemID];
				if (typeof(ofs.tagName) == "undefined") {
					ofs = ofs[0];
				}
			} else {
				var ofs=document.anchors['anc' + iItemID];
			}
			var exi=0;
			var eyi=0;
			if(fFirefox) {
				yoffset += ofs.height;
			}
			do {
				exi+=ofs.offsetLeft;
				eyi+=ofs.offsetTop;
				ofs=ofs.offsetParent;
			} while (ofs.tagName && (ofs.tagName!='BODY'));
			if (document.all) {
				ofs=document.all['anc' + iItemID];
			} else {
				ofs=document.anchors['anc' + iItemID];
			}
			if (iLevel == 0) {
				objMenu.left = exi + (xoffset ? xoffset : 0);
				if (document.all) {
					if (typeof(ofs.clientHeight) != "undefined") {
						objMenu.top = eyi + ofs.clientHeight + (yoffset ? yoffset : 0);
					} else {
						objMenu.top = eyi + 5 + (yoffset ? yoffset : 0);
					}
				} else {
					objMenu.top = eyi + (yoffset ? yoffset : 0);
				}
			} else {
				objMenu.left = exi + ofs.offsetParent.clientWidth - ofs.offsetLeft + 1;
				objMenu.top = eyi;
			}
		} else {
			if (iLevel == 0) {
				objAnchor = document.anchors['anc' + iItemID];
				objMenu.left = objAnchor.x;
				objMenu.top = objAnchor.y + 30;
			} else {
				for(i = 0; !objAnchor && (i < document.layers.length); i++) {
					objAnchor = document.layers[i].document.anchors['anc' + iItemID];
					if (objAnchor) {
						objMenu.left = objAnchor.x + document.layers[i].x + document.layers[i].clip.width;
						objMenu.top = objAnchor.y + document.layers[i].y;
					}
				}
			}
		}
		objMenu.visibility = strShow;
		if ((strShow == "visible") && (objMenu.display == "none")) {
			objMenu.display = "block";
		}
		garrActiveMenuIDs[iLevel] = iItemID;
	}
}
function edeptiveHideMenu(iStopLevel, fForce) {
	adeptiveHideMenu(iStopLevel, fForce);
}
function adeptiveHideMenu(iStopLevel, fForce) {
	var objOldMenu;
	var strHide = 'hidden', strShow = 'visible';
	if (!iStopLevel) iStopLevel = 0;
	if (document.all) {
		if (!fForce && window.event && (window.event.button != 1)) {
			return;
		}
	} else if (parseInt(navigator.appVersion) < 5) {
		strHide = 'hide';
		strShow = 'show';
	}
	for(iLevel = garrActiveMenuIDs.length - 1; iLevel >= iStopLevel; iLevel--) {
		if (document.all) {
			objOldMenu = document.all['menu' + garrActiveMenuIDs[iLevel]].style;
		} else if (parseInt(navigator.appVersion) >= 5) {
			objBody = document.childNodes[1].childNodes[2];
			for(i=0; !objOldMenu && (i < objBody.childNodes.length); i++){
				if (objBody.childNodes[i].id == ('menu' + garrActiveMenuIDs[iLevel])) {
					objOldMenu = objBody.childNodes[i].style;
				}
			}
		} else {
			objOldMenu = document.layers['menu' + garrActiveMenuIDs[iLevel]];
		}
		if (objOldMenu) {
			objOldMenu.visibility = strHide;
			if ((strHide == "hidden") && (objOldMenu.display == "block")) {
				objOldMenu.display = "none";
			}
		}
	}
	garrActiveMenuIDs.length = iStopLevel;
}
function edeptiveDelayedHideMenu() {
	adeptiveDelayedHideMenu();
}
function adeptiveDelayedHideMenu() {
	fInDiv = false;
	ofs = window.event.srcElement;
		if (!ofs || !ofs.offsetParent || !ofs.tagName) {return;}
	do {
		fInDiv = (ofs.tagName && (ofs.tagName == 'DIV')) || (ofs.className.indexOf('menuLevel') != -1);
		ofs = ofs.offsetParent;
	} while (!fInDiv && ofs && ofs.tagName && (ofs.tagName != 'BODY'));
	if (!fInDiv) {
		if (giHideMenuTimeoutID) {
			clearTimeout(giHideMenuTimeoutID);
		}
		giHideMenuTimeoutID = setTimeout('adeptiveHideMenu()', giTimeOutValue);
	}
}
document.onmouseup = adeptiveHideMenu;
document.onmouseover = adeptiveDelayedHideMenu;
gfAdeptiveMenuFnsLoaded = true;

