function ColapseAll(src) { //sbali vsechny podseznamy
//alert("jmeno"+src.nodeName)
  if(src==null) return;
  var pos = 0;
       for (var pos=0; pos<src.childNodes.length; pos++) { // najdi prvni obsazeny UL
       ColapseAll(src.childNodes[pos]);
        if ("UL"==src.childNodes[pos].tagName) src.childNodes[pos].style.display = "none";
      }

}

function CheckParentLi(src) { // dolez na prvniho Li otce
while (src!=null) {
//alert("jmeno"+src.nodeName)

if (src.nodeName == "LI") return src;
src = src.parentNode;
}
return null;
}

function Menu(event){
var target=event.target; // DOM - na co jsem ukazal
if(!target) target=event.srcElement; // IE
target = CheckParentLi(target);
//colapse na vsechny siblingy
      var pom =target.previousSibling;
      while (pom!=null){
      ColapseAll(pom);
      pom=pom.previousSibling;
      }
      pom =target.nextSibling;
      while (pom!=null){
      ColapseAll(pom);
      pom=pom.nextSibling;
      }          
if(!target) return; // eh ukazali jsme nekam divne... nic nedelam....
// pokud syni UL skryti odkryju pokud odkryti skryju.. (jsem v prvnim nadrazenem li nebo v samem prvku, pokud je li....)
if (null!=target) {
       for (var pos=0; pos<target.childNodes.length; pos++) { // najdi prvni obsazeny UL
        if ("UL"==target.childNodes[pos].tagName) break;
      }
	  if (pos==target.childNodes.length) return; // pokuds nenasel konci
    } else return;
		  
    target = target.childNodes[pos];
    if ("UL"==target.nodeName) { // pokud jsme v ulu
     if (""==target.style.display) {// pokud zobrazen
        target.style.display = "none"; // zmiz
      }
    else
      {
        target.style.display = ""; // jinak se zobraz
      }
    }
    //event.cancelBubble = true;
}
ColapseAll(document.getElementById('Menu'));
  


