menu = {};
menu.lastLevelOne = null;
menu.lastOver = null;

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);
}

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.isIE6() ) {
            elms[i].style.visibility = show ? 'visible' : 'hidden';
        } else {
            elms[i].style.display = show ? 'block' : 'none';
        }
        if (cascade == null || !cascade) {
            break;
        }
    }
}
