//****************************************************************
// $File   : menu.js
// $Created: 27.06.2007
// $Author : Michael Kurz
//****************************************************************

var g_Timeout = -1;

function menuOverNav(This, level, sObjectId){
    if (g_Timeout!=-1) {
        window.clearTimeout(g_Timeout);
    }
    var parent_node = This.parentNode;
    menuOutNavInternal(level);

    if (sObjectId=="") {
        return;
    }

    var elem = document.getElementById(sObjectId);

    if (elem) {
        var pos = parent_node.offsetLeft + parent_node.offsetWidth;
        elem.style.left      = parent_node.offsetLeft + parent_node.offsetWidth + "px";
        elem.style.top       = parent_node.offsetTop + This.offsetTop + "px";
        elem.style.display   = 'block';
    }
}
function menuOutNav(level){
    if (g_Timeout!=-1) {
        window.clearTimeout(g_Timeout);
    }
    g_Timeout = window.setTimeout("menuOutNavInternal(" + level + ")", 500);
}

function menuHide(menu, level){
    for(var i=0; i<menu.childNodes.length; ++i){
        var item = menu.childNodes[i];
        if (item.attributes && item.attributes["submenu"] && item.attributes["submenu"].nodeValue){
            menuHide(document.getElementById(item.attributes["submenu"].nodeValue), level);
        }
    }
    var cur_level = menu.attributes["level"].nodeValue;
    if (cur_level>level && cur_level>1) {
        menu.style.display = "none";
    }
}

function menuOutNavInternal(level){
    menuHide(document.getElementById("mkmenu"), level);
}

function menuPrepareItem(item, level){
    if (!item) {
        return;
    }
    var sub_class = "";
    if (item.attributes && item.attributes["submenu"] && item.attributes["submenu"].nodeValue){
        item.onmouseout=function(){menuOutNav(0);};
        item.onmouseover=function(){menuOverNav(this, level,item.attributes["submenu"].nodeValue);};

        menuPrepareMenuInt(document.getElementById(item.attributes["submenu"].nodeValue), level+1);

        sub_class = " mkitem_sub mkitem_sub" + level;
    }
    else{
        item.onmouseout=function(){menuOutNav(0);};
        item.onmouseover=function(){menuOverNav(this, level,"");};
    }
    item.className = "mkitem_div";
    if (item.childNodes.length > 0) {
        var node = item.childNodes[0];
        node.className = "mkitem mkitem" + level + sub_class;
    }
}

function menuPrepareMenu(menu){
    menuPrepareMenuInt(menu, 1);
}

function menuPrepareMenuInt(menu, level){
    if (!menu) {
        return;
    }
    if (menu.className=="") {
        menu.className="mksub";
    }
    menu.setAttribute("level", level);
    for(var i=0; i<menu.childNodes.length; ++i){
        menuPrepareItem(menu.childNodes[i], level);
    }
}

function mkloadPage(){
    menuPrepareMenu(document.getElementById("mkmenu"));
}

