var t;

function Menu (id, level, parent) {
    this.menuID = id;
    this.level = level;
    this.parent = parent;
}

function ShowMenu(id, level, parent) {
    var obj = document.getElementById (id);
    if (parent && obj) {
        var curleft = curtop = 0;
        curleft = parent.offsetLeft + parent.offsetWidth;
        curtop = parent.offsetTop;
        obj.style.top = curtop + 'px';
        obj.style.left =  curleft + 'px';
    }
    HideMenus(level);
    MenuOver();
    if (obj) obj.style.visibility = 'visible';
}

function MenuOver() {
    clearTimeout(t);
}

function MenuOut(level) {
    var cmd = 'HideMenus(' + level + ');';
    if (t) clearTimeout(t);
    t = setTimeout (cmd, 500);
}

function HideMenus(level) {
    var i;
    for (i=0;i<menus.length;i++) {
        if (menus[i].level < level) continue;
        obj = document.getElementById (menus[i].menuID);
        if (obj) obj.style.visibility = 'hidden';
    }
}
