menu = {};



menu.open = function(id)  {
    if (menu.timer != null) {
        clearTimeout(menu.timer);
        menu.timer = null;
        menu.closeAll();
    }
    elm = document.getElementById(id);
    if (!Utils.isIE7() && Utils.isIE()) {
        elm.style.visibility = 'visible';
    } else {
        elm.style.display = 'block';
    }
}

/*menu.closeAll = function() {
    for ( var i = 0 ; menu.menuArray.length ; i++ ) {
        elm = document.getElementById(menu.menuArray[i]);
        if (!Utils.isIE7() && Utils.isIE()) {
            elm.style.visibility = 'hidden';
        } else {
            elm.style.display = 'none';
        }
    }
    clearTimeout (menu.timer);
}

menu.closeAllTimeout = function() {
    menu.timer = setTimeout(menu.closeAll, 1000);
} */



menu.mouseover = function(id) {
    if (menu.timer != null) {
        clearTimeout(menu.timer);
        menu.timer = null;
    }
    var elm = document.getElementById(id);
    if (menu.isLevel(elm, 1)) {
        if (menu.lastLevelOne != null && menu.lastLevelOne.id != elm.id) {
            menu.showHide(menu.lastLevelOne, false, true);
        }
        menu.lastLevelOne = elm;
    } else {
        if (menu.lastOver != null && menu.lastOver.id != elm.id) {
            menu.showHide(menu.lastOver, false, true);
        }
        menu.lastOver = elm;
    }
    menu.showHide(elm, true, true);
}

menu.isLevel = function(elm, level) {
    var levelelms = elm.id.split("_");
    if (levelelms.length > 1) {
        return levelelms[1] == '' + level;
    }
    return false;
}

menu.closeAll = function() {
    menu.timer = setTimeout(menu.closeAllTimed, 1000);
}

menu.closeAllTimed = function() {
    menu.showHide(document.getElementById('navigation'), false, true, true);
    menu.lastLevelOne = null;
    menu.lastOver = null;
}

menu.showHide = function(elm, show, cascade, excludeLevelOne) {
    var elms = elm.getElementsByTagName("ul");
    for (var i = 0; i < elms.length; i++) {
        if (excludeLevelOne && menu.isLevel(elms[i], 1)) {
            continue;
        }
        if (!Utils.isIE7() && Utils.isIE()) {
            elms[i].style.visibility = show ? 'visible' : 'hidden';
            elms[i].style.display = show ? 'block' : 'none';
        } else {
            elms[i].style.display = show ? 'block' : 'none';
        }
        if (cascade == null || !cascade) {
            break;
        }
    }
}

