var messageTimeout;
var menuTimeout;
var menuArray = new Array();

/**
 * Rozbalení uzlu menu, funkce případně skryje jiné rozbalené uzly
 * @param id Identifikátor rozbalovaného uzlu
 * @param level Úroveň rozbalovaného uzlu
 */
function showMenu(id, level)
{
  // Případné zrušení časovače
  if(menuTimeout)
    clearTimeout(menuTimeout);

  // Skrytí prvků jiné větve stromu
  element = document.getElementById(id);
  while(menuArray.length >= level) {
    hide = document.getElementById(menuArray.pop());
    if(hide && hide != element) {
      hide.style.display = 'none';
    }
  }

  // Rozbalení požadováného uzlu
  if(element) {
    menuArray.push(id);
    element.style.display = 'block';
  }
}

/**
 * Zpožděné skrytí všech rozbalených uzlů menu
 */
function hideMenu()
{
  // Případné zrušení časovače
  if(menuTimeout)
    clearTimeout(menuTimeout);

  // Nastavení časovače (skryj rozbalené uzly až po vteřině)
  menuTimeout = setTimeout("showMenu(0, 1)", 600);
}

/**
 * Nastavení zpožděného skrytí rozbaleného uzlu
 * @param id Id uzlu
 * @param time Čas zpoždění v milisekundách
 */
function startHidingMessage(id, time) {
  // Případné zrušení časovače
  if(messageTimeout)
    clearTimeout(messageTimeout);
  // Nastavení časovače, který skryje systémovou zprávu
  messageTimeout = setTimeout("hideMessage('" + id + "')", time);
}

/**
 * Skrytí rozbaleného uzlu
 * @param id Id uzlu
 */
function hideMessage(id) {
  // Případné zrušení časovače
  if(messageTimeout)
    clearTimeout(messageTimeout);
  // Nalezení požadovaného prvku
  if(element = document.getElementById(id)) {
    element.style.visibility = "hidden";
  }
}

window.onload = function() { startHidingMessage('Message', 5000); }