/***************************************************************************************************
	Program name: macro_menu.js
	Description: responsible for binding the onmouseover, onmouseout and onlick events to 
				DIVisions containing menus and submenus.  The onmouseover is fired each time
				the mouse hits either the main horizontal navigational bar causing relevant
				menus to drop-down.  The functions also 'listen' for the mouseover/mouseout events
				when the user passes the pointer over/out of the regions causing relevant submenus to
				appear/disappear.
	Written by: Andrew R Martinez, Web Developer
	Owned  by: Macrologic, Inc.
	Date Written: 11/12/2004
	Date Modified: 11/15/2004
****************************************************************************************************/
	var objNavMenu = null;		
	var prevObjNavMenu = null;
	var prevObjDropMenu = null;
	var numDropMenu = 6;
	////// link styles /////
	var bgLinkColor = '#CCCCCC';
	var bgLinkHover = '#FFFFFF';
	var bgLinkActive = '#000000';
	var linkColor = '#000000';
	var linkHover = '#000000';
	var linkActive = '#FFFFFF';
	var isIE = null;
	
	if (navigator.appName.indexOf('Microsoft Internet Explorer') != -1) {
		isIE = 1;
	}
	
	function initDropMenu() {
		document.onClick = hideDropMenu; 
//		document.onmouseout = hideDropMenu;
		for (i=1; i<=numDropMenu; i++) {
			menuName = 'dropMenu' + i;
			navName = 'navMenu' + i;
			objDropMenu = document.getElementById(menuName);
			objNavMenu = document.getElementById(navName);
			objDropMenu.style.visibility = 'hidden';
			objNavMenu.onmouseover = menuHover;
			objNavMenu.onmouseout = menuOut;
			objNavMenu.onclick = showDropMenu; 
			objNavMenu.onmouseover = showDropMenu;
		}
		objNavMenu = null;
		return;
	}
		
	function menuHover( e ) {
		document.onClick = null;
//		document.onmouseout = null;
		hoverObjNavMenu = document.getElementById( this.id );
		if ( hoverObjNavMenu != objNavMenu ) {
			hoverObjNavMenu.style.color = linkHover;
			hoverObjNavMenu.style.backgroundColor = bgLinkHover;
		}
	}
		
	function menuOut( e ) {
		document.onClick = hideDropMenu;
		outObjNavMenu = document.getElementById( this.id )
		if ( outObjNavMenu != objNavMenu ) {
			outObjNavMenu.style.color = linkColor;
			outObjNavMenu.style.backgroundColor = bgLinkColor;
		}
	}
		
	function showDropMenu( e ) {
		menuName = 'drop' + this.id.substring(3, this.id.length);
		objDropMenu = document.getElementById( menuName );
		if ( prevObjDropMenu == objDropMenu ) {
			hideDropMenu();
			return;
		}
		if ( prevObjDropMenu != null ) {
			hideDropMenu();
		}

		objNavMenu = document.getElementById( this.id );

		if (( prevObjNavMenu != objNavMenu ) || ( prevObjDropMenu == null )) {
			objNavMenu.style.color = linkActive;
			objNavMenu.style.backgroundColor = bgLinkActive;

			if ( objDropMenu ) {
				xPos = objNavMenu.offsetParent.offsetLeft + objNavMenu.offsetLeft;
				yPos = objNavMenu.offsetParent.offsetTop + objNavMenu.offsetParent.offsetHeight;
			}
			
			if ( isIE ) {
				yPos -= 1;
				xPos -= 6;				
			}
			objDropMenu.style.left = xPos + 'px';
			objDropMenu.style.top = yPos + 'px';
			objDropMenu.style.visibility = 'visible';
			prevObjDropMenu = objDropMenu;
			prevObjNavMenu = objNavMenu;
			
		}
	}
		
	function hideDropMenu() {
		document.onClick = null;
	//	document.onmouseout = null;
		if ( prevObjDropMenu ) {
			prevObjDropMenu.style.visibility = 'hidden';
			prevObjDropMenu = null;
			prevObjNavMenu.style.color = linkColor;
			prevObjNavMenu.style.backgroundColor = bgLinkColor;
		}
		objNavMenu = null;
	}

	function findLeft( objectID ) {
		var o = document.getElementById( objectID );
		
		if ( o.offsetLeft ) {
			return o.offsetLeft;
		}
		return ( null );
	}
		
	function findTop( objectID ) {
		var o = document.getElementById( objectID );

		if (o.offsetTop) {
			return o.offsetTop;
		}
		return ( null );
	}
	
	function findBottom( objectID ) {
		var o = document.getElementById( objectID );

		if ( o.offsetTop ) {
			return ( o.offsetTop + o.offsetHeight );
		}
		return ( null );
	}
		
	function findRight( objectID ) {
		var o = document.getElementById( objectID );

		if ( o.offsetLeft ) {		
			return ( o.offsetLeft + o.offsetWidth );
		}
		return ( null );
	}
	
	function findParentLeft( objectID ) {
		var o = document.getElementById( objectID );
		if ( o.offsetParent ) {
		  return o.offsetParent.offsetLeft;
		}
		return ( null );
	}
	
	function findParentTop( objectID ) {
	}
