var CURRENT_OVER = 0;
var CURRENT_SUB_OVER = 0;
var subMenuPE = null;

function showSubPages(menuObject,pageID)
{
	var isSubSub = false;
	if(pageID.indexOf(":") !== -1)
	{
		isSubSub = pageID.substr(0,pageID.indexOf(":"));
		pageID = pageID.substr(pageID.indexOf(":")+1);
	}
	
	if((pageID == CURRENT_OVER) || (pageID == CURRENT_SUB_OVER))
	{
		tempHideSubPages(true);
		return;
	}
	
	var subMenu = $("subMenu_" + pageID);
	
	if(!isSubSub) menuObject.addClassName("subMenu_selected");
	menuObject.pageID = pageID;
	
	var currentOver = $("subMenu_" + CURRENT_OVER);
	if(currentOver !== null)
	{
		if(currentOver == menuObject);
		else if(isSubSub === false) hideSubPages();
	}
	
	currentOver = $("subMenu_" + CURRENT_SUB_OVER);
	if(currentOver !== null)
	{
		if(currentOver == CURRENT_SUB_OVER);
		else currentOver.hide();
	}
	
	if(isSubSub === false) CURRENT_OVER = pageID;
	else CURRENT_SUB_OVER = pageID;
	
	if(isSubSub !== false) limpiarMenu(menuObject.up());
	if(subMenu == null) return;

	if(isSubSub !== false) menuObject.addClassName("subMenu_selected");
	
	var posicion = nCore.Browser.getAbsolutePosition(menuObject,true);
	if(isSubSub === false)
	{
		subMenu.style.top = (posicion.top + 50) + "px";
		subMenu.style.left = posicion.left + "px";		
	}
	else
	{
		subMenu.style.top = (posicion.top) + "px";
		subMenu.style.left = (posicion.left + menuObject.up().getWidth() + 5) + "px";
	}
	
	subMenu.show();
	//Effect.SlideDown(subMenu.identify(),{"duration":0.5});
}

function limpiarMenu(objeto)
{
	objeto.childElements().each(function(el){el.removeClassName("subMenu_selected");});
}


function hideSubPages()
{
	if(subMenuPE != null) subMenuPE.stop();
	var subSubMenu = $("subMenu_" + CURRENT_SUB_OVER);
	var subMenu = $("subMenu_" + CURRENT_OVER);
	var menuObject = $("menu_" + CURRENT_OVER);
	
	if(menuObject == null) return;
	
	menuObject.removeClassName("subMenu_selected");
	
	if(subMenu == null) return;
	
	subMenu.hide();	
	CURRENT_OVER = 0;
	
	if(subSubMenu == null) return;
	subMenu.childElements().each(function(el){el.removeClassName("subMenu_selected")});
	subSubMenu.hide();	
	CURRENT_SUB_OVER = 0;
}

function tempHideSubPages(show)
{
	if(subMenuPE != null) subMenuPE.stop();
	if(!show)
	{
		var subMenu = $("subMenu_" + CURRENT_SUB_OVER);
		if(subMenu == null) subMenu = $("subMenu_" + CURRENT_OVER);
		if(subMenu !== null) subMenuPE = new PeriodicalExecuter(hideSubPages,3);
		else hideSubPages();
	}
}