/* ============================================== Drop down menu JavaScript code ===============================================*/ var lv1MenuOnTimer; // Timer for showing 1st level DDmenus var lv1MenuOffTimer; // Timer for hideing 1st level DDmenus var lv2MenuOffTimer; // Timer for showing 2nd level DDmenus var lv2MenuOnTimer; // Timer for hideing 2nd level DDmenus var lv3MenuOffTimer; // Timer for showing 3rd level DDmenus var lv3MenuOnTimer; // Timer for hideing 3rd level DDmenus var lv1MenuVisible; // The ID of the lv1 menu that is visible (if any) var lv2MenuVisible; // The ID of the lv2 menu that is visible (if any) var lv3MenuVisible; // The ID of the lv3 menu that is visible (if any) // All timeouts are in milliseconds var lv1MenuTimeout = 200; // Timeout that shows and hides the 1st level menu var lv2MenuTimeout = 200; // Timeout that shows and hides the 2nd level menu var lv3MenuTimeout = 200; // Timeout that shows and hides the 3rd level menu /* Shows a specified level DDmenu with a specified timeout */ function MenuOn(menuid, menuLevel) { if (menuLevel == 1) { /* Clear level 1 timers */ clearTimeout(lv1MenuOffTimer); clearTimeout(lv1MenuOnTimer); lv1MenuOnTimer = setTimeout("showMenu('"+menuid+"', 1)", lv1MenuTimeout); } else if (menuLevel == 2) { /* Clear level 1 and 2 timers */ clearTimeout(lv1MenuOffTimer); clearTimeout(lv1MenuOnTimer); clearTimeout(lv2MenuOffTimer); clearTimeout(lv2MenuOnTimer); lv2MenuOnTimer = setTimeout("showMenu('"+menuid+"', 2)", lv2MenuTimeout); } else if (menuLevel == 3) { /* Clear level 1, 2 and 3 timers */ clearTimeout(lv1MenuOffTimer); clearTimeout(lv1MenuOnTimer); clearTimeout(lv2MenuOffTimer); clearTimeout(lv2MenuOnTimer); clearTimeout(lv3MenuOffTimer); clearTimeout(lv3MenuOnTimer); lv3MenuOnTimer = setTimeout("showMenu('"+menuid+"', 3)", lv3MenuTimeout); } } /* Shows the DDmenu (level 1, 2 or 3) */ function showMenu(menuid, menuLevel) { if (menuLevel == 1) { /* Hide currently visible 1st level menu */ hideMenu(1); // Set visible 1st level menu lv1MenuVisible = menuid; } else if (menuLevel == 2) { /* Hide currently visible 2nd level menu */ hideMenu(2); lv2MenuVisible = menuid; } else if (menuLevel == 3) { /* Hide currently visible 3rd level menu */ hideMenu(3); lv3MenuVisible = menuid; } /* Set menu visible */ document.getElementById(menuid).style.display='block'; } /* Hides a specified level DDmenu after certain timeout. */ function MenuOff(menuLevel) { if (menuLevel == 1) { // Clear timeout so that the menu is not going to be shown clearTimeout(lv1MenuOnTimer); lv1MenuOffTimer = setTimeout("hideMenu(1)", lv1MenuTimeout); } else if (menuLevel == 2) { // Clear timeout so that the menu is not going to be shown clearTimeout(lv2MenuOnTimer); /* If the 2nd level menu is visible, hide it with timeout */ if (lv2MenuVisible!=null) { lv2MenuOffTimer = setTimeout("hideMenu(2)", lv2MenuTimeout); } } else if (menuLevel == 3) { // Clear timeout so that the menu is not going to be shown clearTimeout(lv3MenuOnTimer); /* If the 3rd level menu is visible, hide it with timeout */ if (lv3MenuVisible!=null) { lv3MenuOffTimer = setTimeout("hideMenu(3)", lv3MenuTimeout); } } } /* Hides currently visible DDmenu (level 1, 2 or 3) */ function hideMenu(menuLevel) { // Hide menu if (menuLevel==1 && lv1MenuVisible) { document.getElementById(lv1MenuVisible).style.display='none'; lv1MenuVisible = null; } else if (menuLevel==2 && lv2MenuVisible) { document.getElementById(lv2MenuVisible).style.display='none'; lv2MenuVisible = null; } else if (menuLevel==3 && lv3MenuVisible) { document.getElementById(lv3MenuVisible).style.display='none'; lv3MenuVisible = null; } }