
var clearTimer;
var visibleMenu;
var visibleSubs = new Array;

function showMenu(topItemId, subMenuId){
  endClearMenus();
  clearMenus();

  var subMenu = document.all['menu_' + subMenuId];
  var topItem = document.all['menuitem_' + topItemId];

  subMenu.style.posLeft = topItem.offsetLeft;
  subMenu.style.posTop = topItem.offsetTop + topItem.offsetHeight;

  subMenu.style.visibility = 'visible';
  visibleMenu = subMenuId;
}

function showSubmenu(menuId, menuItemId, subMenuId){
  clearSubMenus(menuId);
  visibleSubs[menuId] = subMenuId;

  var menu = document.all['menu_' + menuId];
  var subMenu = document.all['menu_' + subMenuId];
  var menuItem = document.all['menuitem_' + menuItemId];

  subMenu.style.posLeft = menu.offsetLeft + menuItem.offsetWidth;
  subMenu.style.posTop = menu.offsetTop + menuItem.offsetTop;

  subMenu.style.visibility = 'visible';
}

function clearSubMenus(menuId){
  if (typeof visibleSubs[menuId] != 'undefined'){
    var subMenuId = visibleSubs[menuId];
    document.all['menu_' + subMenuId].style.visibility = 'hidden';
    visibleSubs[menuId] = undefined;

    clearSubMenus(subMenuId);
  }
}

function clearMenus(){
  if (typeof visibleMenu != 'undefined'){
    document.all['menu_' + visibleMenu].style.visibility = 'hidden';
    clearSubMenus(visibleMenu);
  }
}

function startClearMenus(){
  clearTimer = setTimeout(clearMenus, 200);
}

function endClearMenus(){
  clearTimeout(clearTimer);
}


