

var rolloverColor3 = '#FFF5CB';  /* for use when a menu item is selected */



var registered_menus = new Array("Main");



var e1_actions = new Array();

e1_actions[0] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[1] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[2] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[3] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[4] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[5] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';

e1_actions[6] 	= ' onclick="menuItemSelected();changeSearchSection(this);return false;"';



						 

var menu_elements = new Array();

menu_elements["Main"] = e1; /* menu names */

menu_elements["Main_actions"] = e1_actions; /* menu actions */



var currentMenu = '';		/* Name of the current top level menu */

var fadeMenu = 1;				/* Flag, when set to 1 a call to eraseMenu() will hide the current menu */

var subMenuOpen = 0;			/* Flag, when set to 1 the submenu of currentMenu is open */



var Yoffset = 18;				/* Y offset of submenus from their top level menu */

var Xoffset = 0;				/* X offset of submenus from their top level menu */



var currentBuddy = '';



/* getMenu() */

/* Create and display a submenu */

/* var menu - the name of the menu to load */

function getMenu(menu) {

	currentMenu = menu;

	clearMenus(); clearSubMenus();

	subMenuOpen = 1;

	var menuDIV = 'menu'+menu;

	var menuElements = menu_elements[menu];

	var actionsArray = menu+'_actions';

	var menuElementActions = menu_elements[actionsArray];

	var divPos = elementPosition(menuDIV);

	var menuContent = '';

	var menuHeight = 0; /* For mozilla */

	var ddmenu = document.getElementById("dropdownmainmenu");

	ddmenu.style.position = 'absolute';

	bContinue = 1;

	if(menu!="Buddy")

	{

		ddmenu.style.left = (divPos[0]+Xoffset)+'px';

		ddmenu.style.top = (divPos[1]+Yoffset)+'px';

		ddmenu.style.zIndex = 255;

	}

	else

	{

		newElement = curSelected+'Buddy';

		divPos = elementPosition(newElement);

		ddmenu.style.left = (divPos[0]+Xoffset)+'px';

		ddmenu.style.top = (divPos[1]+Yoffset)+'px';

		ddmenu.style.zIndex = 255;

	}

	

	for(i=0;i<menuElements.length;i++)

	{

		var thisElement = menuElements[i];

		var thisElementAction = menuElementActions[i];

		//thisElementAction = thisElementAction.replace("INSERT_BUDDY",curSelected); /* name replace, only effects items in the Buddy Menu */

		menuContent = menuContent + '<div id="menuElement'+i+'" class="dropdownmainmenuitem" onmouseover="menuItemRollover('+i+', '+"'"+menuDIV+"'"+')"; onmouseout="menuItemRollout('+i+', '+"'"+menuDIV+"'"+');"'+thisElementAction+'>'+thisElement+'</div>';

		menuHeight = menuHeight + 20;

	}

	ddmenu.innerHTML = menuContent;

	/*ddmenu.style.height = menuHeight+'px';*/

	ddmenu.style.display = 'block';

	ddmenu.style.visibility = 'visible';

}



/* clearMenus() */

/* Used to clear top level menus, this function is called whenever a menu is rolled over */

/* to ensure that all nonactive menus are gone */

function clearMenus()

{

	for(i=0;i<registered_menus.length;i++)

	{

		if(registered_menus[i]!=currentMenu)

		{

			var menuDIV = 'menu'+registered_menus[i];

			document.getElementById(menuDIV).style.backgroundColor = '';

			document.getElementById(menuDIV).style.color = '#000000';

			document.getElementById(menuDIV).style.borderWidth = '0px';

		}

	}

}



/* clearSubMenus() */

/* Used to clear sub menus, this function is called whenever a top level menu is rolled over */

/* to ensure only one submenu is displayed at a time, and that an old submenu doesn't stick */

/* around when a new top level menu is selected */

function clearSubMenus()

{

	document.getElementById("dropdownmainmenu").style.display = 'none';

	document.getElementById("dropdownmainmenu").style.visibility = 'hidden';

}



/* menuRollover() */

/* Display a top level menu, this menu is now active so all calls to clearMenu and functions */

/* to hide menus will not affect this menu */

function menuRollover(menu)

{

	fadeMenu = 0;

	currentMenu = menu;

	clearMenus();

	if(fadeMenu) clearSubMenus();

	var menuDIV = 'menu'+menu;

	if(menu!="Buddy")

	{

		document.getElementById(menuDIV).style.backgroundColor = rolloverColor3;

		document.getElementById(menuDIV).style.color = '#000000';

		document.getElementById(menuDIV).style.borderColor = '#000000';

		document.getElementById(menuDIV).style.borderStyle = 'solid';

		document.getElementById(menuDIV).style.borderWidth = '0px';

	}

}



/* menuRollout() */

/* Hide a top level menu, if this' submenu is open disregard hiding this menu and set the variable */

/* fadeMenu to 1, which tells the script to hide this window in 1/2 a second if the menus */

/* submenu is not open and selected */

function menuRollout(menu)

{

	var menuDIV = 'menu'+menu;

	if(!subMenuOpen)

	{

		document.getElementById(menuDIV).style.backgroundColor = '';

		document.getElementById(menuDIV).style.color = '#000000';

		document.getElementById(menuDIV).style.borderWidth = '0px';

	}

	fadeMenu = 1;

	setTimeout("eraseMenu()",10);

}



/* menuItemRollover() */

/* Highlight the current submenu item, this also sets the top level menu's style to ensure it */

/* always is selected when a submenu is active */

function menuItemRollover(item,parentMenu)

{

	var menuItem = 'menuElement'+item;

	document.getElementById(menuItem).style.backgroundColor = rolloverColor3;

	document.getElementById(menuItem).style.color = '#000000';

	if(parentMenu!="menuBuddy")

	{

		document.getElementById(parentMenu).style.backgroundColor = rolloverColor3;

		document.getElementById(parentMenu).style.color = '#000000';

		document.getElementById(parentMenu).style.borderColor = '#000000';

		document.getElementById(parentMenu).style.borderStyle = 'solid';

		document.getElementById(parentMenu).style.borderWidth = '0px';

	}

}



/* menuItemRollout() */

/* Set the submenu's style back to the default when it isn't selected anymore */

function menuItemRollout(item,parentMenu)

{

	var menuItem = 'menuElement'+item;

	document.getElementById(menuItem).style.backgroundColor = '';

	document.getElementById(menuItem).style.color = '#000000';

}



/* ddMenuOver() */

/* Turn off menu fading when a submenu is active */

function ddMenuOver()

{

	fadeMenu = 0;

}



/* ddMenuOut() */

/* When a submenu is no longer active set this menu to be erased in 1 second */

function ddMenuOut()

{

	fadeMenu = 1;

	subMenuOpen = 0;

	setTimeout("eraseMenu()",10);

}



/* eraseMenu() */

/* Handles 'erasing' menus.  fadeMenu is used to determine if the function should do */

/* anything since timeout calls are used, the state of a menu may change that may */

/* no longer warrant an erase. */

function eraseMenu()

{

	if(fadeMenu==1)

	{

		subMenOpen = 0;

		currentMenuDIV = 'menu'+currentMenu;

		document.getElementById(currentMenuDIV).style.borderWidth = '0px';

		document.getElementById(currentMenuDIV).style.backgroundColor = '';

		document.getElementById(currentMenuDIV).style.color = '#000000';

		var ddmenu = document.getElementById("dropdownmainmenu");

		ddmenu.style.zIndex = 0;

		ddmenu.style.display = 'none';

		ddmenu.style.visbility = 'hidden';

	}

}



/* menuItemSelected() */

/* When a menu item is selected this erases all menus currently open */

function menuItemSelected()

{

	fadeMenu = 1;

	setTimeout("eraseMenu()",10);

}



/* elementPosition() */

/* Borrowed from glenngv of CodingForums.com */

/* Link to the Post with the Code: http://www.codingforums.com/showthread.php?t=75188 */

/* This function gathers the current X, Y coordinates of a DIV */

function elementPosition(param){

	var x=0, y=0;

	var obj = (typeof param == "string") ? document.getElementById(param) : param;

	if (obj) {

		x = obj.offsetLeft;

		y = obj.offsetTop;

		var body = document.getElementsByTagName('body')[0];

		while (obj.offsetParent && obj!=body){

			x += obj.offsetParent.offsetLeft;

			y += obj.offsetParent.offsetTop;

			obj = obj.offsetParent;

		}

	}

	coord = new Array(x,y);

	return coord;

}
