
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;
}