var activeHeader = null;
var activeMenu = null;
function setMenu(menuHeaderID,menuID) {
	var top = 0;
	var left = 0;
	var currentEle;
	if(document.all) {
		if(activeHeader != null && activeMenu != null) {
			if(activeMenu.style.visibility != 'hidden') {
				menuHide();
				showSelect();
			}
		}
		activeHeader = eval("document.all('" + menuHeaderID + "');");
		activeMenu = eval("document.all('" + menuID + "');");
		currentEle = activeHeader;
		//Find the top and left of header and its parent elements
		while(currentEle.tagName.toLowerCase() != 'body') {
			top += currentEle.offsetTop;
			left += currentEle.offsetLeft;
			currentEle = currentEle.offsetParent;
		}
		//Add the width of the header, and width of extra image.
		top += (activeHeader.offsetHeight);
		activeMenu.style.left = left;
		activeMenu.style.top = top;
		hideSelect();
		menuShow();
		event.cancelBubble = true;
	}
}
function menuShow() {
	if(document.all) {
		activeMenu.style.visibility = 'visible';
	}
}
function menuHide() {
	if(document.all) {
		activeMenu.style.visibility = 'hidden';
	}
}
function hideMenu() {
	if(document.all) {
		if(activeHeader != null && activeMenu != null) {
			if(!activeMenu.contains(event.toElement)) {
				activeMenu.style.visibility = 'hidden';
				activeHeader = null;
				activeMenu = null;
				showSelect();
			}
		}
	}
}
function showSelect() {
	var obj;
	for(var i = 0; i < document.all.tags("select").length; i++) {
		obj = document.all.tags("select")[i];
		if(!obj || !obj.offsetParent) continue;
		obj.style.visibility = 'visible';
	}
}
function hideSelect() {
	var obj;
	var currentEle;
	var top = 0;
	var left = 0;
	var menuHeight;
	var timeout;
	for(var i = 0; i < document.all.tags("select").length; i++) {
		obj = document.all.tags("select")[i];
		currentEle = obj;
		while(currentEle.tagName.toLowerCase() != 'body') {
			top += currentEle.offsetTop;
			left += currentEle.offsetLeft;
			currentEle = currentEle.offsetParent;
		}
		if(activeMenu != null) {
			menuHeight = (activeMenu.offsetTop + activeMenu.offsetHeight);
			if(top < menuHeight) {			
				if((left < (activeMenu.offsetLeft + activeMenu.offsetWidth)) && (left + obj.offsetWidth > activeMenu.offsetLeft)) obj.style.visibility = 'hidden';
			}
		}
		top = 0;
		left = 0;
	}
}

function expand(s)
{
  var td = s;
  var d = td.getElementsByTagName("div").item(0);

  td.className = "menuHover";
  d.className = "menuHover";
}

function collapse(s)
{
  var td = s;
  var d = td.getElementsByTagName("div").item(0);

  td.className = "menuNormal";
  d.className = "menuNormal";
}
