
/* JS: pulldown*/
var visibleId=new Array();
var menuDelay = 100;

if (document.getElementById) {
	document.onmousemove = openMenu;
}

function findX(obj) {
    var x = 0;
    while (obj.offsetParent) {
        x += obj.offsetLeft
        obj = obj.offsetParent;
    }
    return x;
} 

function openMenu(event) {
	evnt = eval((document.all)?"window.event.srcElement":"event.target");
    if (visibleId.length>0 && // nejake submenu je viditelne
        !ancestorId(evnt, "nav")){ // mys je zcela mimo #nav
        for (i=visibleId.length;i>0;i--){
            hideEl(document.getElementById(visibleId[i-1]));
        }
        visibleId=new Array();
    }
    if (visibleId.length>0 && // je co schovavat
        ancestorId(evnt, "nav") && // mys je pres nejakeho potomka #nav
        evnt.parentNode.tagName.toLowerCase() == "li" &&
        visibleId[visibleId.length-1].substring(6) != evnt.parentNode.id.substring(7) &&
        !ancestorId(evnt.parentNode, visibleId[visibleId.length-1])  // neni to ale potomek viditelneho menu
        ) {
        hideEl(document.getElementById(visibleId[visibleId.length-1]));
        visibleId = visibleId.slice(0,visibleId.length-1);
    }
    if (evnt.parentNode &&
        evnt.parentNode.id &&
        evnt.parentNode.tagName.toLowerCase()=="li" &&
        ancestorId(evnt, "nav") &&
        evnt.parentNode.className.toLowerCase().indexOf("p_menu_item_")>=0
        ){
            x = findX(evnt.parentNode);
            li = evnt.parentNode;
            ul = document.getElementById("p_sub_"+li.id.substring(7));
            if (ul && ul.style && ul.style.visibility!="visible"){
               visibleId[visibleId.length]=ul.id;
               ul.style.visibility="visible";
               ul.style.display="block";
               if (ul.className.indexOf("p_menu_inner_0")>=0) /* vypocitat pozici prvni roletky (vnorene maji pozici relativni) */
                    ul.style.left=x-findX(document.getElementById("nav"));
            }
    }
}

function ancestorId(element, id){
   var ancestor = element;
   while (ancestor.parentNode){
      if (ancestor.id==id){
         return true;
      }
      ancestor = ancestor.parentNode;
   }
   return false;
}

function hide(elementId){
    element = document.getElementById(elementId);
    cTimer=setTimeout("hideEl(element)",menuDelay);

}

function hideEl(element){
    if (element && element.style){
        element.style.visibility="hidden";
        element.style.display="block";
    }
}

function show(elementId){
    element = document.getElementById(elementId);
    if (element && element.style){
        element.style.visibility="visible";
        element.style.display="block";
    }
}

function toggle(elementId){
    element = document.getElementById(elementId);
    if (element && element.style){
        if (element.style.visibility!="visible"){
            show(element);
        } else {
            hide(element);
        }
    }
}
