function hideMenu(id) {
  var element = document.getElementById(id)
  // pro sbaleni menu
  showMenuItem(element, false);
}

function showMenu(element) {
  // pro rozbaleni vetve
  showMenuItem(element, true);
}

function showMenuItem(element, isItem) {
  // nase vetev v menu
  var levelData = element.getAttribute("level").split("_");
  
  var data;
  if (isItem) {
    // vsechno pod rodicem naseho elementu
    if (element.parentNode.className == "navigation")
      data = element.parentNode.childNodes;
    else
      data = element.parentNode.parentNode.childNodes;
  } else {
    // vsechno pod nasim elementem
    data = element.childNodes;
  }
  
  // projdu vsechny prvky v nasem poli
  for (var i = 0; i < data.length; i++) { // data.length
    // vyberu pouze ty, jenz jsou odkaz
    var current = null;
    if (data[i].childNodes.length > 1) {
      if (data[i].childNodes[1].nodeName == "A")
        current = data[i].childNodes[1];
    } else {
      if (data[i].nodeName == "A")
        current = data[i];
    }
    if (current != null) {
      // zjistim si uroven v menu
      var actLevelData = current.getAttribute("level").split("_");
      
      // 1. uroven je vzdy rozbalena
      if (actLevelData.length > 1) {
        // skryvani
        var isHidden = true;
        var count = actLevelData.length - levelData.length;
        // kdyz je prochazena polozka menu o vic jak jednu uroven min, tak se nezobrazi, jinak zacnu porovnani
        if (count < 2) {
          // nastavim si pocitadlo pro porovnavani
          if (count < 0)
            count = actLevelData.length - 1;
          else if (count > 0)
            count = levelData.length;
          else
            count = levelData.length - 1;
          isHidden = false;
          // porovnavam
          for (var l = 0; l < count; l++) {
            if (levelData[l] != actLevelData[l]) {
              isHidden = true;
              break;
            }
          }
        }        
        // (ne)zobrazeni se
        if (isHidden)
          data[i].style.display = "none";
         else
           data[i].style.display = "block";
      }
    }
  }
}