/* * * * * * * * * * * * * * * * * * * * */
/* *  DropDown Menus for CIS86 Web Site * */
/* * * * * * * * * * * * * * * * * * * * */

var objNavMenu          = null;
var lastObjNavMenu   = null;
var lastObjDropMenu  = null;
var deferredID           = null;
var deferredDelay       = 200;
var numDropMenu        = 6;
/*  Link Styles */
var bgLinkColor   = '#009245';
var bgLinkHover  = '#FFFFFF'
var bgLinkActive =  '#009245';
var linkColor       = '#ccccff';
var linkHover      = '#ccccff';
var linkActive     = '#ccccff';
			
var isIE = null;
if (navigator.appName.indexOf('Microsoft Internet Explorer') != -1) isIE=1;

function initDropMenu () 
{
	/* global handler to put menus away when they click off the menu on the page */
	document.onclick = DeferredMenuOff;
	/* Hide the drop menus, and set event handlers for nav menus. */
	for (i=1; i<=numDropMenu; i++) 
	{
		menuName      = 'dropMenu' + i;
		objDropMenu = document.getElementById(menuName);
		objDropMenu.style.visibility = 'hidden';
		objDropMenu.onmouseover    = clearDeferralTimer;
		objDropMenu.onmouseout     = startDeferralTimer;
		
		navName         = 'navMenu' + i;
		objNavMenu   = document.getElementById(navName);
		objNavMenu.onmouseover = MenuOn;
		objNavMenu.onmouseout   = MenuOff;
		objNavMenu.onclick         = null;
	}
	objNavMenu = null;
	return;
}

function clearDeferralTimer(ignore)
{
	clearTimeout(document.xtimer);
}

function startDeferralTimer(ignore)
{
	document.xtimer = setTimeout('DeferredMenuOff()', deferredDelay);
}

function MenuOff (e) 
{
	deferredID = this.id;
	startDeferralTimer();
}
			
function DeferredMenuOff () 
{
	if (deferredID)
	{
		clearDeferralTimer();
		hideDropMenu();
		document.onclick = DeferredMenuOff;
		outObjNavMenu = document.getElementById(deferredID);
		if (outObjNavMenu != objNavMenu) 
		{
			outObjNavMenu.style.color                  = linkColor;
			//DFF outObjNavMenu.style.backgroundColor = bgLinkColor;
		}
		deferredID = null;
	}
}
			
function  MenuOn(e) 
{
	DeferredMenuOff();
	document.onclick = DeferredMenuOff; /*null;*/
	hoverObjNavMenu = document.getElementById(this.id);
	if (hoverObjNavMenu != objNavMenu) 
	{
		hoverObjNavMenu.style.color                  = linkHover;
		//DFF hoverObjNavMenu.style.backgroundColor = bgLinkHover;
	}
	/* Pass these values along to showDropMenu, which is no longer an event handler. */
	tid     = this.id;
	idnum = tid.substring(3,tid.length);
	showDropMenu(tid,idnum);
}

function showDropMenu(tid,num) 
{
	/*clearTimeout(document.xtimer);*/
	clearDeferralTimer();
	menuName = 'drop' + num;
	objDropMenu = document.getElementById(menuName);
	objNavMenu  = document.getElementById(tid);
	if ((lastObjNavMenu != objNavMenu ) || (lastObjDropMenu == null)) 
	{
		objNavMenu.style.color                  = linkActive;
		//DFF objNavMenu.style.backgroundColor = bgLinkActive;
	}
				
	if (objDropMenu) 
	{
		xPos = objNavMenu.offsetParent.offsetLeft + objNavMenu.offsetLeft;
		yPos = objNavMenu.offsetParent.offsetTop  + objNavMenu.offsetParent.offsetHeight;
		if (isIE) 
		{
			yPos -= 4;   /* 1 */
			xPos -= 1;
		}
		else
		{
			yPos -= 4;
		}
		objDropMenu.style.left = xPos + 'px';
		objDropMenu.style.top  = yPos + 'px';
		objDropMenu.style.visibility = 'visible';
		
		lastObjDropMenu         = objDropMenu;
		lastObjNavMenu           = objNavMenu;
	}
}
			
function hideDropMenu(ignore) 
{
	document.onclick = null;
	if (lastObjDropMenu) 
	{
		lastObjDropMenu.style.visibility          = 'hidden';
		lastObjDropMenu                                = null;

		lastObjNavMenu.style.color                  = linkColor;
		//DFF lastObjNavMenu.style.backgroundColor = bgLinkColor;
	}
	objNavMenu = null;
}

