var mh_ns4 = false;
var mh_ns5plus = false;
var mh_ie = false;
if (document.layers)
	mh_ns4 = true;
else if ((parseInt(navigator.appVersion) >=5) && (navigator.appName=="Netscape"))
	mh_ns5plus = true;
else if (document.all)
	mh_ie = true;
var mh_timeoutId = 0;

function mh_display_item (itemId) {
	mh_items[itemId][1] = true;
	if (mh_ie) {
		document.all["mh_item" + itemId].className = mh_items[itemId][3];
		document.all["mh_item" + itemId].style.backgroundImage = 'url(' + mh_items[itemId][5] + ')';
	}
	else if (mh_ns5plus) {
		document.getElementById("mh_item" + itemId).className = mh_items[itemId][3];
		document.getElementById("mh_item" + itemId).style.backgroundImage = 'url(' + mh_items[itemId][5] + ')';
	}
	else if (mh_ns4) {
		document.layers["mh_item" + itemId].className = mh_items[itemId][3];
		document.layers["mh_item" + itemId].backgroundImage = 'url(' + mh_items[itemId][5] + ')';
	}
}

function mh_hide_item (itemId) {
	if (mh_ie) {
		document.all["mh_item" + itemId].className = mh_items[itemId][2];
		document.all["mh_item" + itemId].style.backgroundImage = 'url(' + mh_items[itemId][4] + ')';
	}
	else if (mh_ns5plus) {
		document.getElementById("mh_item" + itemId).className = mh_items[itemId][2];
		document.getElementById("mh_item" + itemId).style.backgroundImage = 'url(' + mh_items[itemId][4] + ')';
	}
	else if (mh_ns4) {
		document.layers["mh_item" + itemId].className = mh_items[itemId][2];
		document.layers["mh_item" + itemId].backgroundImage = 'url(' + mh_items[itemId][4] + ')';
	}
}

function mh_display_menu (itemId) {
	menuId = mh_items[itemId][0];
	if ((mh_menus[menuId][1] != false) || (mh_menus[menuId][2] != false)) {
		for (count = 0; count < mh_menus.length; count++)
			mh_menus[count][1] = false;
		mh_menus[menuId][1] = true;
		temp = mh_menus[menuId][0];
		while (temp != -1) {
			mh_display_item (temp);
			temp = mh_items[temp][0];
			mh_menus[temp][1] = true;
			temp = mh_menus[temp][0];
		}
		mh_display_item (itemId);
		for (count = 0; count < mh_menus.length; count++){
			if (mh_menus[count][0] == itemId)
				mh_draw_menu (count);
		}
		mh_clear_menus ();
	}
}

function mh_draw_menu (menuId) {
	if (mh_menus[menuId][5] == true) {
		if (mh_ie) {
			document.all["mh_menu" + menuId].style.left = mh_get_x_position (menuId, document.all["mh_item" + mh_menus[menuId][0]]);
			document.all["mh_menu" + menuId].style.top = mh_get_y_position (menuId, document.all["mh_item" + mh_menus[menuId][0]]);
			document.all["mh_menu" + menuId].style.zIndex = 10;
			if ((mh_useTransitions) && (mh_menus[menuId][1] == false) && (mh_menus[menuId][2] == false))
				document.all["mh_menu" + menuId].filters[0].apply ();
			document.all["mh_menu" + menuId].style.visibility = "visible";
			document.all["mh_menu" + menuId].style.display = "block";
			if ((mh_useTransitions) && (mh_menus[menuId][1] == false) && (mh_menus[menuId][2] == false))
				document.all["mh_menu" + menuId].filters[0].play ();
		}
		else if (mh_ns5plus) {
			document.getElementById("mh_menu" + menuId).style.left = mh_get_x_position (menuId, document.getElementById("mh_item" + mh_menus[menuId][0]));
			document.getElementById("mh_menu" + menuId).style.top = mh_get_y_position (menuId, document.getElementById("mh_item" + mh_menus[menuId][0]));
			document.getElementById("mh_menu" + menuId).style.zIndex = 10;
			document.getElementById("mh_menu" + menuId).style.visibility = "visible";
		}
		else if (mh_ns4) {
			document.layers["mh_menu" + menuId].left = mh_get_x_position (menuId, document.layers["mh_item" + mh_menus[menuId][0]]);
			document.layers["mh_menu" + menuId].top = mh_get_y_position (menuId, document.layers["mh_item" + mh_menus[menuId][0]]);
			document.layers["mh_menu" + menuId].zIndex = 10;
			document.layers["mh_menu" + menuId].visibility = "show";
		}
		mh_menus[menuId][2] = true;
		mh_menus[menuId][1] = true;
	}
}

function mh_highlight_menu (menuId) {
	if (mh_menus[menuId][1] == true) {
		if (mh_ie) {
			document.all["mh_menu" + menuId].className = mh_menus[menuId][11];
		}
		else if (mh_ns5plus) {
			document.getElementById("mh_menu" + menuId).className = mh_menus[menuId][11];
		}
		else if (mh_ns4) {
			document.layers["mh_menu" + menuId].className = mh_menus[menuId][11];
		}
	}
}

function mh_unhighlight_menu (menuId) {
	if (mh_ie) {
		document.all["mh_menu" + menuId].className = mh_menus[menuId][10];
	}
	else if (mh_ns5plus) {
		document.getElementById("mh_menu" + menuId).className = mh_menus[menuId][10];
	}
	else if (mh_ns4) {
		document.layers["mh_menu" + menuId].className = mh_menus[menuId][10];
	}
}

function mh_hide_menu (menuId) {
	if (mh_menus[menuId][4] == false) {
		if (mh_ie) {
			if (mh_useTransitions)
				document.all["mh_menu" + count].filters[1].apply ();
			document.all["mh_menu" + menuId].style.zIndex = 8;
			document.all["mh_menu" + menuId].style.visibility = "hidden";
			if (mh_useTransitions)
				document.all["mh_menu" + count].filters[1].play ();
		}
		else if (mh_ns5plus) {
			document.getElementById("mh_menu" + menuId).style.zIndex = 8;
			document.getElementById("mh_menu" + menuId).style.visibility = "hidden";
		}
		else if (mh_ns4) {
			document.layers["mh_menu" + menuId].zIndex = 8;
			document.layers["mh_menu" + menuId].visibility = "hide";
		}
		mh_menus[menuId][2] = false;
		mh_menus[menuId][3] = setTimeout ("mh_remove_menu (" + menuId + ")", mh_menuFaddeOutMS);
	}
}

function mh_remove_menu (menuId) {
	if ((mh_menus[menuId][4] == false) && (mh_menus[menuId][1] == false)) {
		if (mh_ie)
			document.all["mh_menu" + menuId].style.display = "none";
	}
}

function mh_get_x_position (menuId, item) {
	xPos = item.offsetLeft;
	parentItem = item.offsetParent;
	while (parentItem != null) {
		xPos += parentItem.offsetLeft;
		parentItem = parentItem.offsetParent;
	}
	if (mh_menus[menuId][6] == "right")
		xPos += item.offsetWidth + mh_menus[menuId][7] - 1;
	else if (mh_menus[menuId][6] == "left") {
		if (mh_ie)
			xPos -= document.all["mh_menu" + menuId].offsetWidth - mh_menus[menuId][7] - 1;
		else if (mh_ns5plus)
			xPos -= document.getElementById("mh_menu" + menuId).offsetWidth - mh_menus[menuId][7] - 1;
		else if (mh_ns4)
			xPos -= document.layers["mh_menu" + menuId].offsetWidth - mh_menus[menuId][7] - 1;
	}
	return xPos;
}

function mh_get_y_position (menuId, item) {
	yPos = item.offsetTop;
	parentItem = item.offsetParent;
	while (parentItem != null) {
		yPos += parentItem.offsetTop;
		parentItem = parentItem.offsetParent;
	}
	if (mh_menus[menuId][8] == "below")
		yPos += item.offsetHeight + mh_menus[menuId][9] - 1;
	else if (mh_menus[menuId][8] == "above") {
		if (mh_ie)
			yPos -= document.all["mh_menu" + menuId].offsetHeight + mh_menus[menuId][9] - 1;
		else if (mh_ns5plus)
			yPos -= document.getElementById("mh_menu" + menuId).offsetHeight + mh_menus[menuId][9] - 1;
		else if (mh_ns4)
			yPos -= document.layers["mh_menu" + menuId].offsetHeight + mh_menus[menuId][9] - 1;
	}
	return yPos;
}

function mh_set_menus_as_clear (menuId) {
	for (count = 0; count < mh_items.length; count++)
		mh_items[count][1] = false;
	for (count = 0; count < mh_menus.length; count++)
		mh_menus[count][1] = false;
	clearTimeout (mh_timeoutId);
	mh_timeoutId = setTimeout ("mh_clear_menus ()", 750);
}

function mh_clear_menus () {
	clearTimeout (mh_timeoutId);
	for (count = 0; count < mh_items.length; count++) {
		if (mh_items[count][1] == false)
			mh_hide_item (count);
	}
	for (count = 0; count < mh_menus.length; count++) {
		if ((mh_menus[count][4] == false) && (mh_menus[count][1] == false) && (mh_menus[count][2] == true))
			mh_hide_menu (count);
	}
}

