/*
 * menuDropdown.js - implements an dropdown menu based on a HTML list
 * Author: Dave Lindquist (http://www.gazingus.org)
 */


var initMenu = null;
var initArrow = null;
var currentMenu = initMenu;
currentArrow = initArrow;

if (!document.getElementById)
    document.getElementById = function() { return null; }

function initializeMenu(menuId, actuatorId, addBorder, arrow) {
    var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);
    var arrow = document.getElementById(arrow);
    if (menu == null || actuator == null) return;

    //if (window.opera) return; // I'm too tired

    actuator.onmouseover = function() {
	//clearTimeout(theTimeOut); 
        if (currentMenu == null) {
            this.showMenu();	
        }
        else {
            currentMenu.style.display = "none";
	    if(currentArrow){
	    currentArrow.src = root + 'images/clear.gif';
	    document.getElementById('seperator').style.borderTop = "#DADDD2 1px solid";	
	    currentArrow = null;
		}
	    
            currentMenu = null;
        }
	this.showMenu();
	
    }

    actuator.onclick = function() {}

	menu.onmouseover = function() {
	currentMenu = menu; 
	}

	actuator.onmouseout = function(){

		if (document.all) {
			
			}

		else {document.captureEvents(Event.MOUSEMOVE)
			}
		document.onmousemove = moveHandler
	}
	
		
		function moveHandler(evt) {
			if (document.all) {
				animateMenu(window.event.clientX,window.event.clientY) 
			}
			else {
				animateMenu(evt.pageX,evt.pageY)
			}
		}

		function animateMenu(xPos,yPos) {
		try{	
		//window.status = (currentMenu.offsetHeight + currentMenu.offsetTop) + " " + yPos;
			if(yPos > (currentMenu.offsetHeight + currentMenu.offsetTop + 120)){
			currentMenu.style.display = "none";
			if(currentArrow){
	    		currentArrow.src = root + 'images/clear.gif';
			document.getElementById('seperator').style.borderTop = "#DADDD2 1px solid";
			}

			if(initMenu!=null){
			
			        initMenu.style.display = "block";
				document.getElementById('seperator').style.borderTop = "#455C24 1px solid";
				if(arrow){
					initArrow.src = root + 'images/arrow.gif';
					currentArrow = initArrow;
					currentMenu = initMenu;
				}
			}
			}
		} 
		catch(e){
			animateMenu(xPos,yPos)}
		}
			

			

    actuator.showMenu = function() {
        menu.style.display = "block";
	document.getElementById('seperator').style.borderTop = addBorder;
	if(arrow){
	arrow.src = root + 'images/arrow.gif';
	currentArrow = arrow;
	}
	
        currentMenu = menu;
    }
}    
    
        window.onload = function() {
            initializeMenu("homeMenu", "homeActuator", "#DADDD2 1px solid", "");
            initializeMenu("execMenu", "execActuator", "#455C24 1px solid", "execArrow");
            initializeMenu("transMenu", "transActuator","#455C24 1px solid", "transArrow");
            initializeMenu("govMenu", "govActuator", "#DADDD2 1px solid", "");
            initializeMenu("ecoMenu", "ecoActuator","#455C24 1px solid", "ecoArrow");
            initializeMenu("socialMenu", "socialActuator","#455C24 1px solid", "socialArrow"); 
            initializeMenu("enviroMenu", "enviroActuator", "#DADDD2 1px solid", "");
	    currentMenu = initMenu;
            currentArrow = initArrow;

        }
              

