var curPageItem = null;
var openedMenuId = null, hiddenMenusDiv = null;
var curTimer = 0;

function getChildren(element) {
    if (element.children) return element.children;
    else return element.getElementsByTagName("div");
}

function initializeMenu() {
	hiddenMenusDiv = document.getElementById('hiddenMenusArea');
	
	if (curPageItem != null) {
		var chosenGroup = curPageItem.split('.')[0];
		var curPageElem = document.getElementById(curPageItem);
		if (chosenGroup == 'sec')
			curPageElem.className = 'secMenuItem secMenuItemHi';
		else
			curPageElem.className = 'menuItem menuItemHi';
		
		if (chosenGroup != 'sec') onMenuClick(chosenGroup);
	}
}

function closeMenus() {
	if (openedMenuId != null) {
		// If attempting to close current page's menu, don't close it.
		if (curPageItem != null && curPageItem.split('.')[0] == openedMenuId)
			return;
	
		var titleDiv = document.getElementById(openedMenuId + 'TitleDiv');
		getChildren(titleDiv)[0].style.background = 'url(images/otherImages/arrow-right.gif) no-repeat';

		var menuHolder = document.getElementById(openedMenuId + 'MenuHolder');
		var menuDiv = document.getElementById(openedMenuId + 'MenuDiv');
		
		if (menuHolder.hasChildNodes())
			hiddenMenusDiv.appendChild(menuHolder.removeChild(menuDiv));
		menuDiv.style.visibility = 'hidden';
	}
}

function onMenuClick(menuId) {
	clearTimer();
	// close currently opened menu if any, then open new one
	closeMenus();

	var titleDiv = document.getElementById(menuId + 'TitleDiv');
	
	getChildren(titleDiv)[0].style.background = 'url(images/otherImages/arrow-down.gif) no-repeat';
	
	var menuHolder = document.getElementById(menuId + 'MenuHolder');
	var menuDiv = document.getElementById(menuId + 'MenuDiv');
	
	menuHolder.appendChild(menuDiv);
	menuDiv.style.visibility = 'visible';
	
	openedMenuId = menuId;
	// call clearTimer when user moves into this menu (so it doesn't close on him)
	menuDiv.onmouseover = clearTimer;
	// call setTimer when user moves out of this menu (to close menu)
	menuDiv.onmouseout = setTimer;
	return true;
}

function setTimer() {
	curTimer = setTimeout('closeMenus()', 1000);
}

function clearTimer() {
	clearTimeout(curTimer);
}




// function to determine if mouseout is in selected item. if so, it doesn't lose focus
function priMouseOut(obj) {
	if(curPageItem != null && obj.id == curPageItem) {return true;} 
	else obj.className='menuItem';
}

// function to determine if mouseout is in selected item. if so, it doesn't lose focus
function secMouseOut(obj) {
	if(curPageItem != null && obj.id == curPageItem) {return true;} 
	else obj.className='secMenuItem';
}