var showingMenu = false;
var menuShowing = '';

function dropDownMenu(sender) {
	var menuName = sender.id.replace("_arrow", "");

	hideAllMenus(menuName);
	var menu = document.getElementById(menuName);
	if(isMenuShowing(menu))
		hideMenu(menu);
	else
		showMenu(menu, sender);
	showingMenu = true;
	return false;
}

function showMenu(menu, sender) {
	menuShowing = menu.id;
	var liSelObj = sender.parentNode;

	sender.className = "navArrow-selected";
	var itemA = getMenuItem(sender);
	itemA.className = "navItem-selected";

	var targX = findPosX(liSelObj);
	
	menu.style.left = targX+'px';
	menu.style.display = '';
}

function hideMenu(menu) {
	menuShowing = '';
	var arrowA = document.getElementById(menu.id+'_arrow');
	arrowA.className = "navArrow";
	var itemA = getMenuItem(arrowA);
	itemA.className = "navItem";
	
	menu.style.display = 'none';
}

function getMenuItem(menuArrow) {
	var liSelObj = menuArrow.parentNode;
	return liSelObj.childNodes[0];
}

function isMenuShowing(menu) {
	return (!(menu.style.display == 'none'));
}

function hideAllMenus(excludingName) {
	if (showingMenu) {
		showingMenu = false;
		return;
	}
	if (menuShowing != '' && excludingName != menuShowing) {
		var menu = document.getElementById(menuShowing);
		hideMenu(menu);
	}
}


function findPosX(obj) {
	var curleft = 0;
	if(obj.offsetParent)
		while(1) {
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
			break;
			obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if(obj.offsetParent)
		while(1) {
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
			break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}