var firefox = (navigator.userAgent.indexOf("Firefox") >= 0);

var selMenu = -1, selSubMenu = -1;

function menuGoTo(menuID)
{
	var subMenu, subMenuID, links, evt;

	links = document.getElementById("Links").value.split("|");
	subMenuID = links[menuID - 1];
	
	subMenu = document.getElementById("sub" + menuID + "_" + subMenuID);
	
	evt = subMenu.onclick.toString();
	evt = evt.substring(evt.indexOf("goTo"), evt.lastIndexOf(")") + 1);
	eval(evt);
}

function menuGoToSel()
{
	menuGoTo(selMenuID);
}

function parentToggleMenu(menuID)
{
	parent.toggleMenu(menuID);
}

function toggleMenu(menuID)
{
	var menu;

	menuGoTo(menuID);

	for(var i = 1; i < 4; i++)
	{
		menu = document.getElementById("menu" + i);
		
		if(menuID != i)
		{
			menu.className = "menu_tb_hide";
		}
		else
		{
			if(menu.className == "menu_tb_hide")
				menu.className = "menu_tb_show";
			else
				menu.className = "menu_tb_hide";
		}
	}
}

function parentGoTo(languageID, menuID, subMenuID, link)
{
	parent.toggleMenu(menuID);
	parent.toggleSubMenu(menuID, subMenuID);
	parent.goTo(languageID, menuID, subMenuID, link);
}

function parentSubGoTo(languageID, menuID, subMenuID, subSubMenuID, link)
{
	parent.toggleMenu(menuID);
	parent.toggleSubMenu(menuID, subMenuID);
	parent.toggleSubSubMenu(menuID, subMenuID, subSubMenuID);
	parent.subGoTo(languageID, menuID, subMenuID, subSubMenuID, link);
}

function goTo(languageID, menuID, subMenuID, link)
{
    var subMenu, prevSelMenuID, prevSelSubMenuID, prevSelSubSubMenuID,
		subSubMenu, index;

    if(menuID != selMenuID)
		switchFlash(menuID);

    subMenu = document.getElementById("menuLink" + menuID + "_" + subMenuID);

    prevSelMenuID = selMenuID;
    prevSelSubMenuID = selSubMenuID;
    prevSelSubSubMenuID = selSubSubMenuID;

    if(subMenu.className == "menu_row")    
		toggleSubMenu(menuID, subMenuID);

    selSubSubMenuID = "-1";

	// Check if there are sub-menus to update the context
	index = 1;
	subSubMenu = document.getElementById("sub" + menuID + "_" + subMenuID + "_" + 1);
	while(subSubMenu != null)
	{
		if(subSubMenu.onclick.toString().indexOf(link) >= 0)
		{
			toggleSubSubMenu(menuID, subMenuID, index);
			selSubSubMenuID = index;
			break;
		}
		index++;
		subSubMenu = document.getElementById("sub" + menuID + "_" + subMenuID + "_" + index);
	}

    selMenuID = menuID;
    selSubMenuID = subMenuID;

	toggleSubMenu(prevSelMenuID, prevSelSubMenuID);
    if(prevSelSubSubMenuID != "-1")
    	toggleSubSubMenu(prevSelMenuID, prevSelSubMenuID, prevSelSubSubMenuID);

    if(link != "")
		document.getElementById("content_frame").src = link;

	// update crumbs	
	document.getElementById("crumbSep").style.visibility = "visible";
	document.getElementById("crumb").className = "loc_link";
	document.getElementById("crumb").style.visibility = "visible";
	document.getElementById("crumb").innerHTML = document.getElementById("menu" + menuID).title;
	document.getElementById("subCrumbSep").style.visibility = "visible";
	document.getElementById("subCrumb").style.visibility = "visible";
	document.getElementById("subCrumb").innerHTML = subMenu.innerHTML;


	if(selSubSubMenuID != -1)
	{
		document.getElementById("subSubCrumbSep").style.visibility = "visible";
		document.getElementById("subSubCrumb").style.visibility = "visible";
		document.getElementById("subSubCrumb").innerHTML = subSubMenu.innerHTML;
	}
	else
	{
		document.getElementById("subSubCrumbSep").style.visibility = "hidden";
		document.getElementById("subSubCrumb").style.visibility = "hidden";
	}

	return false;
}

function subGoTo(languageID, menuID, subMenuID, subSubMenuID, link)
{
    var subMenu, subSubMenu;
    
    if(menuID != selMenuID)
		switchFlash(menuID);    
    
    subMenu = document.getElementById("menuLink" + menuID + "_" + subMenuID);
    subSubMenu = document.getElementById("menuLink" + menuID + "_" + subMenuID + "_" + subSubMenuID);
    
    prevSelMenuID = selMenuID;
    prevSelSubMenuID = selSubMenuID;
    prevSelSubSubMenuID = selSubSubMenuID;    
    
	toggleSubMenu(menuID, subMenuID);
    
    selMenuID = menuID;
    selSubMenuID = subMenuID;
    selSubSubMenuID = subSubMenuID;

	toggleSubMenu(prevSelMenuID, prevSelSubMenuID);
    if(prevSelSubSubMenuID != "-1")
    	toggleSubSubMenu(prevSelMenuID, prevSelSubMenuID, prevSelSubSubMenuID);
      
    if(link != "")
		document.getElementById("content_frame").src = link;
	
	// update crumbs
	document.getElementById("crumbSep").style.visibility = "visible";
	document.getElementById("crumb").style.visibility = "visible";
	document.getElementById("crumb").innerHTML = document.getElementById("menu" + menuID).title;
	document.getElementById("subCrumbSep").style.visibility = "visible";
	document.getElementById("subCrumb").style.visibility = "visible";
	document.getElementById("subCrumb").innerHTML = subMenu.innerHTML;
	
	document.getElementById("subSubCrumbSep").style.visibility = "visible";
	document.getElementById("subSubCrumb").style.visibility = "visible";
	document.getElementById("subSubCrumb").innerHTML = subSubMenu.innerHTML;
	
	return false;
}

function bottomBarGoTo(text, link)
{
	var content_frame;
	
	content_frame = document.getElementById("content_frame");
	
	if(content_frame != null)
	{
		collapseAllMenus();

		document.getElementById("crumb").innerHTML = text;
		document.getElementById("crumb").className = "loc";
	
		document.getElementById("content_frame").src = link;

		switchFlash(1);
	}
	else
		top.location.href="./contents_framework.aspx?bottomOpen=" + link;
}

function linkGoTo(link)
{
	window.open(link);
}

function toggleSubMenu(menuID, subMenuID)
{
    var subMenu, menuImg, menuImgOver, menuLink;

    if(menuID == selMenuID && subMenuID == selSubMenuID)
		return;

	subMenu = document.getElementById("sub" + menuID + "_" + subMenuID);
		
    menuImg = document.getElementById("menuImg" + menuID + "_" + subMenuID);
    menuImgOver = document.getElementById("menuImgOver" + menuID + "_" + subMenuID);
    menuLink = document.getElementById("menuLink" + menuID + "_" + subMenuID); 

	if(subMenu.className == "menu_tb")
	{
		subMenu.className = "menu_tb_over";
		menuImg.style.display = "none";
		menuImgOver.style.display = "inline";
		menuLink.className = "menu_row_over";
	}
	else
	{
		subMenu.className = "menu_tb";
		menuImg.style.display = "inline";
		menuImgOver.style.display = "none";
		menuLink.className = "menu_row";
	}	
}

function toggleSubSubMenu(menuID, subMenuID, subSubMenuID)
{
    var menuLink;
    
    if(menuID == selMenuID && subMenuID == selSubMenuID && subSubMenuID == selSubSubMenuID)
		return;

    menuLink = document.getElementById("menuLink" + menuID + "_" + subMenuID + "_" + subSubMenuID); 

	if(menuLink.className == "sub_menu_row")
	{
		menuLink.className = "sub_menu_row_over";
	}
	else
	{
		menuLink.className = "sub_menu_row";
	}	
}

function switchLang(lang)
{
	var currentLocation, parameters;

	currentLocation = top.location.href;

	if(currentLocation.indexOf("?") > 0)
		currentLocation = currentLocation.substring(0, currentLocation.indexOf("?"));
	
	currentLocation = currentLocation + "?Lang=" + lang;
	
	if(typeof(selMenuID) != "undefined" && typeof(selSubMenuID) != "undefined")
	{
		currentLocation += "&menu=" + selMenuID + "&subMenu=" + selSubMenuID;
		if(selSubSubMenuID != "-1")
			currentLocation += "&subSubMenu=" + selSubSubMenuID;
	}

	top.location = currentLocation;
}

function resizeFrameToFit()
{
	var height, 
		menu1Height, menu2Height, menu3Height, totalHeight;

	menu1Height = parent.document.getElementById("menu1").offsetHeight;
	menu2Height = parent.document.getElementById("menu2").offsetHeight;
	menu3Height = parent.document.getElementById("menu3").offsetHeight;

	totalHeight = menu1Height + menu2Height + menu3Height;

	if(firefox)
		height = document.body.scrollHeight + 64;
	else
		height = document.body.scrollHeight;

	if(firefox)
	{
		if(height < totalHeight + 74)
			height = totalHeight + 74;
	}
	else
	{
		if(height < totalHeight + 75)
			height = totalHeight + 75;
	}

	window.frameElement.height = height + " px";

	if(window.location.href.indexOf("#") < 0)
		parent.window.scrollTo(0,0); 
}

function switchFlash(id)
{
	if(firefox)
		document.header_main.LoadMovie(0, "./flash/header_" + id + "/header_main.swf");
	else
		document.header_main.movie = "./flash/header_" + id + "/header_main.swf";
}

function collapseAllMenus()
{
	document.getElementById("menu1").className = "menu_tb_hide";
	document.getElementById("menu2").className = "menu_tb_hide";
	document.getElementById("menu3").className = "menu_tb_hide";
	
	document.getElementById("subCrumbSep").style.visibility = "hidden";
	document.getElementById("subCrumb").style.visibility = "hidden";
	document.getElementById("subSubCrumbSep").style.visibility = "hidden";
	document.getElementById("subSubCrumb").style.visibility = "hidden";
}

function newsGoTo(link, index)
{
    var menus;

	if(link.indexOf("local://") == 0)
	{
		menus = link.substring(8).split("#");

		top.location.href = "contents_framework.aspx?menu=" + menus[0] + "&subMenu=" + menus[1] + "&anchor=news" + index;
	}
	else
	{
		window.open("http://www.sapo.pt");
	}
}

function toggleNewsHeader(index, onMouseOver)
{
    var header, header_link, header_bullet;
    
    header = document.getElementById("tb_news_header_" + index);
    header_link = document.getElementById("news_header_link_" + index);
    header_bullet = document.getElementById("news_header_bullet_" + index);
    
    if(onMouseOver)
    {
        header.style.backgroundColor = "#adaeb0";
        header_link.className = "news_title_over";
        header_bullet.className = "news_title_over";
    }
    else
    {
        header.style.backgroundColor = "white";
        header_link.className = "news_title";
        header_bullet.className = "news_title";
    }
}
