var currentMenu = null;
var currentMenuItem = null;
var currentTimeout = null;
var canHide = false;

function mEnter(e) {
 currentMenuItem.style.background = "#dcdcdc";
 e.style.background = "#FFFFFF";
 e.style.color = "#000000";
 currentMenuItem = e;
}

function mExit(e) {
 e.style.background = "#dcdcdc";
 e.style.color = "#000000";
}

function showMenu(menuid, m) {
 // nasconde menu precedentemente visualizzato (se esiste)
 if (currentTimeout != null) {
  clearTimeout(currentTimeout);
  canHide = true;
  hideMenu();
 }
 // trova barra e menu specificato
 var menubar = document.getElementById("menubar");
 var menu = document.getElementById(menuid);
 // imposta su false il flag per nascondere automaticamente
 canHide = false;
 // seleziona menu corrente
 currentMenu = menu;
 currentMenuItem= m;
 // Evidenzia la voce selezionata nella barra
 mEnter(m);
 // calcola posizione e rende visibile il menu
 var x = menubar.offsetLeft + m.offsetLeft + 8;
 var y = menubar.offsetTop + m.offsetTop + 23;
 menu.style.left = x + "px";
 menu.style.top = y + "px";
 menu.style.visibility = "visible"
 // Avvia il nuovo timeout
 currentTimeout = setTimeout("hideMenu()", 200);
}



function hideMenu() {    
 if (currentMenu != null  && canHide) {
  currentMenu.style.visibility = "hidden";
  mExit(currentMenuItem);
  currentMenu = null;
  currentMenuItem = null;
  canHide = false;
 } else 
  currentTimeout = setTimeout("hideMenu()", 200);
}

