var isNS = (navigator.appName == "Netscape"); var menusVisible = new Array(); var gTimer = null; function showMenu(menu, fromlink) { //show desired menu and hide all the previously opened sub menus //if menu was already opened, it will be closed if ( menu == null ) return; //only netscape 4.x needs href link to open layers if ( fromlink && !(isNS && document.getElementById == null) ) return; var keephidden = false; if (inList(menusVisible, menu)) keephidden = true; hideFromLevel(getLevel(menu)); if ( keephidden ) return; if( isNS ) { if ( document.getElementById ) { eval("document.getElementById('" + menu + "').style.visibility = 'visible';"); } else { eval("document.layers[\"" + menu + "\"].visibility = 'show';"); } } else { document.all[menu].style.visibility = "visible"; } menusVisible[menusVisible.length] = menu; if ( gTimer ) clearTimeout(gTimer); gTimer = setTimeout("timeExpired()", gTimeout); } function hideMenu(menu) { //hide a particular menu if ( menu == null ) return; if(isNS) { if ( document.getElementById ) eval("document.getElementById('" + menu + "').style.visibility = 'hidden';"); else eval("document.layers[\"" + menu + "\"].visibility = 'hidden';"); } else { document.all[menu].style.visibility = 'hidden'; } if ( menusVisible.length > 0 ) menusVisible.length--; } function timeExpired() { hideFromLevel(0); gTimer = null; } function hideFromLevel(level) { //hide submenus from certain level to all way down for ( var i = menusVisible.length - 1; i >= 0; i-- ) { if ( getLevel(menusVisible[i]) < level ) break; hideMenu(menusVisible[i]); } } function getLevel(menu) { // get level from menu name (names are formatted as "namexlevel") if ( menu == null ) return 0; for ( var i = menu.length - 1; i >= 0; i-- ) { if ( menu.charAt(i) == "x" ) { return parseInt(menu.substring(i + 1, menu.length)); } } return 0; } function highlight(menu, color) { //mark any table cell with desired color (highlight effect) if ( menu == null ) return; if ( document.all ) { if ( document.all[menu] == null ) return; var col = ".style.background='" + color + "'"; eval(menu + col); } else { if(document.getElementById) { if ( document.getElementById(menu) == null ) return; document.getElementById(menu).style.backgroundColor="'" + color + "'"; } } } function inList(strlist, item) { // returns true if item is in strlist for ( var i = 0; i < strlist.length; i++ ) { if ( strlist[i] == item ) return true; } return false; } function openDoc(doc, template) { if ( template != null && template != "" ) document.location.href = template + "?OpenDocument&cid=" + doc; else document.location.href = doc + "?OpenDocument&cid=" + doc; }