/*
 * menuDropdown.js - implements an dropdown menu based on a HTML list
 * Author: Dave Lindquist (http://www.gazingus.org)
 */

var currentMenu = null;

if (!document.getElementById)
    document.getElementById = function() { return null; }

function initializeMenu(menuId, actuatorId) {
    var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);
		var body = document.getElementById("mainContent");
		var header = document.getElementById("header");
		var headerLogo = document.getElementById("logo");

    if (actuator == null) return;

    //if (window.opera) return; // I'm too tired

    actuator.onmouseover = function() {
        if (currentMenu) {
            currentMenu.style.visibility = "hidden";
				}
        this.showMenu();
    }
		
		body.onclick = function() {
			  if (currentMenu) {
  			  currentMenu.style.visibility = "hidden";
		  	  currentMenu = null;
				}
		}

		body.onmouseover = function() {
			  if (currentMenu) {
  			  currentMenu.style.visibility = "hidden";
		  	  currentMenu = null;
				}
		}
		
		header.onclick = function() {
			  if (currentMenu) {
  			  currentMenu.style.visibility = "hidden";
		  	  currentMenu = null;
				}
		}

		headerLogo.onmouseover = function() {
			  if (currentMenu) {
  			  currentMenu.style.visibility = "hidden";
		  	  currentMenu = null;
				}
		}


  
    actuator.onclick = function() {
        if (currentMenu == null) {
            this.showMenu();
        }
        else {
            currentMenu.style.visibility = "hidden";
            currentMenu = null;
        }

        //return false;
    }

    actuator.showMenu = function() {
		  if (menu) {
        menu.style.left = this.offsetLeft + "px";
        menu.style.top = this.offsetTop + this.offsetHeight + "px";
        menu.style.visibility = "visible";
        currentMenu = menu;
			}
    }
}
