// dropdown stuff
function getWidthAndHeight(id) {
	var elem = document.getElementById(id);
	var widthHeight = new Array(elem.offsetWidth,elem.offsetHeight)
	return widthHeight;
}

function getOffsetParentChain(id) {
	var elem = document.getElementById(id);
	var parent = elem.offsetParent;
	var parentChain = new Array();
	while (parent != null) {
		parentChain.push(parent);
		parent = parent.offsetParent;
	}
	return parentChain;
}

function getLeftAndTop(id) {
	var elem = document.getElementById(id);
	var parentChain = getOffsetParentChain(id);
	var x = elem.offsetLeft;
	var y = elem.offsetTop;
	for (var i=0;i<parentChain.length;i++) {
		x += parentChain[i].offsetLeft;
		y += parentChain[i].offsetTop;
	}
	return new Array(x,y);
}

function showMenu(id,xOffset,yOffset) {
	var numArgs = showMenu.arguments.length;
	var hasOffsets = (numArgs > 1) ? true : false;
	var whatMenu = id.substr(2);
	hideMenus(whatMenu);
	var dims = getWidthAndHeight(id);
	var coords = getLeftAndTop(id);
	var menu = document.getElementById(whatMenu);
	if (hasOffsets) {
		if (numArgs == 2) {
			x = xOffset;
			y = 0;
		} else if (numArgs == 3) {
			x = xOffset;
			y = yOffset;
		}
	} else {
		x = 0;
		y = 0;
	}
	menu.style.top = (coords[1] + dims[1] + y) + "px";
	menu.style.left = (coords[0] + x)+ "px";
	menu.style.visibility = "visible";
	menu.style.zIndex = "100";
	
}

function hideMenus(exception) {
	var exception = (hideMenus.arguments.length > 0) ? exception : "";
	var menus = new Array("design", "prod", "post", "supp");
	for (var i=0;i<menus.length;i++) {
		if (menus[i] != exception) {
			menu = document.getElementById(menus[i]);
			menu.style.visibility = "hidden";
		}
	}
	clearTimeout(window.menuTimeout);
}
