function getElement(name) {
  if(document.all) {
    return document.all[name];
  } else {
    return document.getElementById(name);
  }
}

var currentMenu=null;
var currentTimer=null;
function selectMenu(a, name) {

	var elem = a;   

    if(currentTimer) clearTimeout(currentTimer);
	currentTimer=null;
	if(currentMenu) {
		getElement(currentMenu).style.display='none';
	}
	currentMenu=name;

    var menuObj = getElement(currentMenu);
    var menuItem = elem;
    OnBeforeShowMenu(menuObj, menuItem);
	getElement(currentMenu).style.display='block';   
	OnAfterShowMenu(menuObj, menuItem);
}

function overMenu() {
  if(currentTimer) clearTimeout(currentTimer);
}
function unselectMenu() {
  currentTimer=setTimeout('closeMenu()',10);
}
function closeMenu() {
  if(currentMenu) {
    getElement(currentMenu).style.display='none';
  }
  if(currentTimer) clearTimeout(currentTimer);
  currentTimer=null;
  currentMenu=null;
}


function relPosX(which) {
    dom = (document.getElementById)? true : false;
    var elem = document.getElementById(which);
    if (! elem) elem = which;
    var pos = elem.offsetLeft;
    while (elem.offsetParent != null) {
      elem = elem.offsetParent;
      pos += elem.offsetLeft;
      if (elem.tagName == 'BODY') break;
    } return pos;

}

function relPosY(which) {
    dom = (document.getElementById)? true : false;
    var elem = document.getElementById(which);
    if (! elem) elem = which;
    var pos = elem.offsetTop;
    while (elem.offsetParent != null) {
      elem = elem.offsetParent;
      pos += elem.offsetTop;
      if (elem.tagName == 'BODY') break;
    } return pos;
}

function OnBeforeShowMenu(menuObj, menuItem) {
    if(!menuObj)return;
    menuObj.style.top = relPosY(menuItem) + 'px';
    menuObj.style.left = relPosX(menuItem) - 1 + 'px';
}

function OnAfterShowMenu(menuObj, menuItem) {
    if(!menuObj)return;
    //menuObj.style.width = menuItem.clientWidth + 1 + 'px';
}
