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

/**
 * Načtení obrázků do vyrovnávací paměti
 */
if(document.images)
{
  preload_image_object = new Image();
  image_url = new Array();
  // image_url[0] = "design/...";

  for(i = 0; i <= image_url.length; i++)
    preload_image_object.src = image_url[i];
}

/**
 * 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";
  }
}

/**
 * Nalezení absolutních souřadnic prvku na stránce podle id prvku
 * @param id Id prvku
 * @return Souřadnice prvku [x, y]
 */
function findElementPosById(id) {
  obj = document.getElementById(id);
  return obj ? findElementPos(obj) : [0, 0];
}

/**
 * Nalezení absolutních souřadnic prvku na stránce
 * @param obj Prvek
 * @return Souřadnice prvku [x, y]
 */
function findElementPos(obj) {
  var curleft = 0;
  var curtop = 0;
  while (obj.offsetParent) {
    curleft += obj.offsetLeft;
    curtop += obj.offsetTop;
    obj = obj.offsetParent;
  }
  return [curleft, curtop];
}

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