/*
 * menuDropdown.js - implements an dropdown menu based on a HTML list
 * Author: Dave Lindquist (dave@gazingus.org)
 */
/****************************
CODE REVISION 1-27-2003
Ronald Edgecomb
ron@etcnj.com
***************************/

var currentMenu = null;
var currentSubMenu = null;

if (!document.getElementById)
    document.getElementById = function() { return null; }

function initializeMenu(menuId, actuatorId, subMenus, subMenuId) {
    var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);
	
	if (menu == null || actuator == null) return;

    if (window.opera) return; // I'm too tired
	
	if(subMenus != 0){
		for(var i=1; i<=subMenus; i++){
			var subActuator = document.getElementById(subMenuId + "SubActuator" + i);
			var subMenu = document.getElementById(subMenuId + "SubMenu" + i);

			setMouseCommands(subActuator, subMenu);
			}//END for
		}//END if
		
    actuator.onmouseover = function() {
        if (currentMenu == null) {
            this.showMenu();
        }
        else {
			currentMenu.style.visibility = "hidden";
			currentMenu = null;
        }
        return false;
    }
	
	actuator.onmouseout = function() {
        	if (currentMenu == null) {
            this.showMenu();
        }
        else {
			currentMenu.style.visibility = "hidden";
			currentMenu = null;
				
			}
        return false;
    }

	
	menu.onmouseover = function() {
    	menu.style.visibility = "visible";
		return false;
    	}	
	menu.onmouseout = function() {
        menu.style.visibility = "hidden";
		currentMenu = null;
		return false;
    	}
    
	actuator.showMenu = function() {
        menu.style.left = this.offsetLeft + "px";
		if(bw.ie5)
			menu.style.top = 27 + "px"
		else
        menu.style.top = 36 + "px";
        menu.style.visibility = "visible";
        currentMenu = menu;
    }

function setMouseCommands(subActuator, subMenu){
	subActuator.onmouseover = function(){
		if(currentSubMenu == null){
			subMenu.style.width = 170 + "px";
       		subMenu.style.left = (menu.offsetWidth - 2) + "px";
       		subMenu.style.top = (subActuator.offsetTop - 1) + "px";
      		subMenu.style.visibility = "visible";
       		currentSubMenu = subMenu;
			}//END if
		else{
			subMenu.style.visibility = "hidden";
			currentSubMenu = null;
			}//END else
		return false;
   		}//END onmouseover
		
	subActuator.onmouseout = function(){
		if(currentSubMenu == null){
    		subMenu.style.left = menu.offsetWidth + "px";
    		subMenu.style.top = actuator.offsetTop + "px";
    		subMenu.style.visibility = "visible";
    		currentSubMenu = subMenu;
			}//END if
		else{
			subMenu.style.visibility = "hidden";
			currentSubMenu = null;
			}//END else
		return false;
   		}//END onmouseoout

	subMenu.onmouseover = function(){
		menu.style.visibility = "visible";
		subMenu.style.visibility = "visible";
		}//END onmouseover

	subMenu.onmouseout = function(){
		menu.style.visibility = "hidden";
		subMenu.style.visibility = "hidden";
		}//END onmouseoout
		
	}//END setMouseCommands
	return false;	
}

