//******************************************************
//  This file defines the methods for drop down menus
//  Written by: Alan Diamond
//  UMDNJ - NJDS - Digital Media Services (http://www.umdnj.edu/dmsweb/)
//******************************************************

//Browser detection and active variable init
var isNS = (navigator.appName == "Netscape");
var isIE = (navigator.appName == "Microsoft Internet Explorer");
var active = 0;

//******************************************************
//  Activates the entire dropdown
//******************************************************
function activate(menuNum) {
	if ( (menuNum == 1) & (active != menuNum) ) {
		if (active) deactivateActive();
		dynel11.show();
		dynel12.show();
		dynel13.show();
		dynel14.show();
		dynel15.show();
		dynel16.show();
		dynel17.show();
	
	}
	if ( (menuNum == 2) & (active != menuNum) ) {
		if (active) deactivateActive();
		dynel21.show();
		dynel22.show();
		dynel23.show();
		dynel24.show();
		dynel25.show();
		dynel26.show();
		dynel27.show();
		dynel28.show();
		dynel29.show();
		dynel210.show();
	}
	if ( (menuNum == 3) & (active != menuNum) ) {
		if (active) deactivateActive();
		dynel31.show();
		dynel32.show();
		dynel33.show();
		dynel34.show();
		dynel35.show();
		
	}
	if ( (menuNum == 4) & (active != menuNum) ) {
		if (active) deactivateActive();
		dynel41.show();
		dynel42.show();
		dynel43.show();
		dynel44.show();
		dynel45.show();
	}
	
	//For IE, follows the event chain so the menu stays up
	if (isIE) window.event.cancelBubble = true;	

	active = menuNum;
}

//******************************************************
//  Function (only for NS) that checks for position of mouse against position of menu, 
//  determines if mouse is not on menu
//******************************************************
function killMenuMovement(e) {
	//This function kills a menu if the mouse moves out of the menu, use on onMousemove
	if (active) {
		if (active == 1) menuPtr = dynel11;
		if (active == 2) menuPtr = dynel21;
		if (active == 3) menuPtr = dynel31;
		if (active == 4) menuPtr = dynel41;
    	menuX1 = menuPtr.getX();
    	menuX2 = menuPtr.getX() + 120;
    	menuY1 = menuPtr.getY() - 20;
    	menuY2 = menuPtr.getY() + 200;
		if (e.pageX < menuX1 || e.pageX > menuX2 || e.pageY < menuY1 || e.pageY > menuY2) {
    	   	deactivateActive();
    	}
    }
}

//******************************************************
//  Deactivates an entire dropdown
//******************************************************
function deactivate(menuNum){
	
	if ( menuNum == 1 ) {
		dynel11.hide();
		dynel12.hide();
		dynel13.hide();
		dynel14.hide();
		dynel15.hide();
		dynel16.hide();
		dynel17.hide();
		
	}
	if ( menuNum == 2 ) {
		dynel21.hide();
		dynel22.hide();
		dynel23.hide();
		dynel24.hide();
		dynel25.hide();
		dynel26.hide();
		dynel27.hide();
		dynel28.hide();
		dynel29.hide();
		dynel210.hide();
	}
	if ( menuNum == 3 ) {
		dynel31.hide();
		dynel32.hide();
		dynel33.hide();
		dynel34.hide();
		dynel35.hide();
		
	}
	if ( menuNum == 4 ) {
		dynel41.hide();
		dynel42.hide();
		dynel43.hide();
		dynel44.hide();
		dynel45.hide();
	}
	
	active = 0;

}

//******************************************************
//  Deactivates current active dropdown menu
//******************************************************
function deactivateActive(){
	
	deactivate(active);

}

//******************************************************
//  Forces a page reload in Netscape if window is resized
//******************************************************
if (isNS && isDynamic) {
var oW=innerWidth;
var oH=innerHeight;
onresize = function() {if(innerWidth!=oW||innerHeight!=oH)document.location.href = document.location.href}
};

//******************************************************
//  Configures events for NS and IE (Call in body tag)
//******************************************************
function init() {

		if (isNS){
			document.captureEvents(Event.MOUSEMOVE);
			document.onmousemove = killMenuMovement;
		}
		else {
			document.onmouseover = deactivateActive;
		}

}
