//
var ToolBar_Supported = false;
var Frame_Supported   = false;
var DoInstrumentation = false;

if (navigator.userAgent.indexOf("MSIE")    != -1 && 
	navigator.userAgent.indexOf("Windows") != -1 && 
	navigator.appVersion.substring(0,1) > 3)
{
	ToolBar_Supported = true;
}

if (ToolBar_Supported)
{
	var newLineChar = String.fromCharCode(10);
	var char34 = String.fromCharCode(34);
	var LastMSMenu = "";
	var LastICPMenu= "";
	var CurICPMenu = "";
	var IsMSMenu = false;
	var IsMenuDropDown = true;
	var HTMLStr;
	var TBLStr;
	var x = 0;
	var y = 0;
	var x2 = 0;
	var y2 = 0;
	var x3 = 0;
	var MSMenuWidth;
	var ToolbarMinWidth;
	var ToolbarMenu;
	var ToolbarBGColor;
	var ToolbarLoaded = false;
	var aDefMSColor  = new Array(3);
	var aDefICPColor = new Array(3);
	var aCurMSColor  = new Array(3);
	var aCurICPColor = new Array(3);
	var MSFont;
	var ICPFont;
	var MaxMenu = 30;
	var TotalMenu = 0;
	var arrMenuInfo = new Array(30);

	// Output style sheet and toolbar ID
	document.write("<SPAN ID='StartMenu' STYLE='display:none;'></SPAN>");

	// Build toolbar template
	TBLStr  = "";
	HTMLStr = 
		"<DIV ID='idMSMenuPane'  STYLE='position:absolute;top:0;height:0;width:10;color:white;background-color:#000080;float:right;' NOWRAP><!--MENU_TITLES-->" + 
		"<DIV ID='idRow1' STYLE='position:absolute;top:0;height:40;'>" +
		"</DIV>" +
		"</DIV>" +
		"<DIV ID='idRow3' STYLE='position:absolute;height:0;width:90%'>" +
		"</DIV>" +
		"<SCRIPT FOR=idToolbar EVENT=onresize>resizeToolbar();</SCRIPT>" +
		"<SCRIPT FOR=idToolbar EVENT=onmouseover>hideMenu();</SCRIPT>" +
		"<SCRIPT TYPE='text/javascript'>" + 
		"   var ToolbarMenu = StartMenu;" + 
		"</SCRIPT>" + 
		"<DIV WIDTH=100% STYLE='absolute;top:0;height:0;'>";

	// Intialize global variables
	MSFont  = "xx-small Verdana";

}


function drawToolbar()
{
	HTMLStr += "</DIV>";
	document.write(HTMLStr);
	ToolbarLoaded = true;

// Anchura del menu

	MSMenuWidth     = Math.max(idMSMenuPane.offsetWidth, (200+112));
	ToolbarMinWidth = (85+18) + MSMenuWidth;


	resizeToolbar();


}

function resizeToolbar()
{
	if (ToolBar_Supported == false) return;

	w = Math.max(ToolbarMinWidth, document.body.clientWidth) - ToolbarMinWidth;
	
	idMSMenuPane.style.left   = (85+w+18);
	idMSMenuPane.style.width  = MSMenuWidth;
	

}

function setToolbarBGColor(color)
{	
	ToolbarBGColor = color;
	if (ToolbarLoaded == true)
		idToolbar.style.backgroundColor = ToolbarBGColor;
}	

function setMSMenuFont(sFont)
{	MSFont = sFont;
}


function setDefaultMSMenuColor(bgColor, fontColor, mouseoverColor)
{	
	if (bgColor   != "")	  aDefMSColor[0] = bgColor;
	if (fontColor != "")	  aDefMSColor[1] = fontColor;
	if (mouseoverColor != "") aDefMSColor[2] = mouseoverColor;
}


function setSubMenuWidth(MenuIDStr, WidthType, WidthUnit)
{
	var fFound = false;
	if (TotalMenu == MaxMenu)
	{
		alert("Unable to process menu. Maximum of " + MaxMenu + " reached.");
		return;
	}
	
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			fFound = true;
			break;
		}

	if (!fFound)
	{
		arrMenuInfo[i] = new menuInfo(MenuIDStr);
		TotalMenu += 1;
	}

	if (!fFound && WidthType.toUpperCase().indexOf("DEFAULT") != -1)
	{
		arrMenuInfo[i].type = "A";
		arrMenuInfo[i].unit = 160;
	}
	else
	{
		arrMenuInfo[i].type = (WidthType.toUpperCase().indexOf("ABSOLUTE") != -1)? "A" : "R";
		arrMenuInfo[i].unit = WidthUnit;
	}
}

// This function creates a menuInfo object instance.
function menuInfo(MenuIDStr)
{
	this.IDStr = MenuIDStr;
	this.type  = "";
	this.unit  = 0;
	this.width = 0;
	this.count = 0;
}

function updateSubMenuWidth(MenuIDStr)
{
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			if (arrMenuInfo[i].width < MenuIDStr.length) 
				arrMenuInfo[i].width = MenuIDStr.length;
			arrMenuInfo[i].count = arrMenuInfo[i].count + 1;
			break;
		}
}



function addMSMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr)
{	
	TargetStr = "_top";
	tempID = "MS_" + MenuIDStr;
	addMenu2(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr); 
	LastMSMenu = tempID;
}

function addMenu2(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr)
{
	cFont   = MSFont;
	cColor0 = aDefMSColor[0];
	cColor1 = aDefMSColor[1];
	cColor2 = aDefMSColor[2];
	cStyle  = "font:" + cFont + ";background-color:" + cColor0 + ";color:" + cColor1 + ";";
	tagStr  = "<!--MENU_TITLES-->";
	
	if (MenuHelpStr == "") MenuHelpStr = MenuDisplayStr;
	MenuStr = newLineChar;


		MenuStr += "<SPAN STYLE='" + cStyle + "'>";
		if (LastMSMenu != "") MenuStr += "||"; 
		MenuStr += "&nbsp;";
	

	MenuStr += "<A STYLE='text-decoration:none;cursor:hand;font:" + cFont + ";color:" + cColor1 + ";'" +
			   "   TARGET='" + TargetStr + "'" +
			   "   TITLE=" + char34 + MenuHelpStr + char34;
	if (MenuURLStr != "")
		MenuStr += " HREF='" + formatURL(MenuURLStr, ("MS_" + MenuDisplayStr)) + "'";
	else
		MenuStr += " HREF='' onclick='window.event.returnValue=false;'";
	MenuStr += " onmouseout="  + char34 + "mouseMenu('out' ,'" + MenuIDStr + "'); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "mouseMenu('over','" + MenuIDStr + "'); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   MenuDisplayStr + "</a>";

		MenuStr += "</SPAN>";

	MenuStr += tagStr;
	HTMLStr = HTMLStr.replace(tagStr, MenuStr);	
	setSubMenuWidth(MenuIDStr,"default",0);
}



function addMSSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr)
{	
	TargetStr = "_top";
	tempID = "MS_" + MenuIDStr;
	addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr); 
}

function addSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr, TargetStr)
{
	cFont   = MSFont;
	cColor0 = aDefMSColor[0];
	cColor1 = aDefMSColor[1];
	cColor2 = aDefMSColor[2];
	
	var MenuPos = MenuIDStr.toUpperCase().indexOf("MENU");
	if (MenuPos == -1) { MenuPos = MenuIDStr.length; }
	InstrumentStr = MenuIDStr.substring(0 , MenuPos) + "|" + SubMenuStr;;
	URLStr        = formatURL(SubMenuURLStr, InstrumentStr);

	var LookUpTag  = "<!--" + MenuIDStr + "-->";
	var sPos = HTMLStr.indexOf(LookUpTag);
	if (sPos <= 0)
	{
		HTMLStr += newLineChar + newLineChar +
				"<SPAN ID='" + MenuIDStr + "'" +
				" STYLE='display:none;position:absolute;width:100;background-color:" + cColor0 + ";padding-top:0;padding-left:0;padding-bottom:20;z-index:9;'" +
				" onmouseout='hideMenu();'>";
		if (Frame_Supported == false)
			HTMLStr += "<HR  STYLE='position:absolute;left:0;top:10;color:" + cColor1 + "' SIZE=1>";
		HTMLStr += "<DIV STYLE='position:relative;left:0;top:15;'>";
	}

	TempStr = newLineChar +
				"<A ID='AS_" + MenuIDStr + "'" +
				"   STYLE='text-decoration:none;cursor:hand;font:" + cFont + ";color:" + cColor1 + "'" +
				"   HREF='" + URLStr + "' TARGET='" + TargetStr + "'" +
				" onmouseout="  + char34 + "mouseMenu('out' ,'" + MenuIDStr + "');" + char34 + 
				" onmouseover=" + char34 + "mouseMenu('over','" + MenuIDStr + "');" + char34 + ">" +
				"&nbsp;" + SubMenuStr + "</A><BR>" + LookUpTag;
	if (sPos <= 0)
		HTMLStr += TempStr + "</DIV></SPAN>";
	else
		HTMLStr = HTMLStr.replace(LookUpTag, TempStr);	

	updateSubMenuWidth(MenuIDStr);	
}



function addMSSubMenuLine(MenuIDStr)
{	
	tempID = "MS_" + MenuIDStr;
	addSubMenuLine(tempID);
}

function addSubMenuLine(MenuIDStr)
{
	var LookUpTag = "<!--" + MenuIDStr + "-->";
	var sPos = HTMLStr.indexOf(LookUpTag);
	if (sPos > 0)
	{
		cColor  = aDefMSColor[1];
		TempStr = newLineChar + "<HR STYLE='color:" + cColor + "' SIZE=1>" + LookUpTag;
		HTMLStr = HTMLStr.replace(LookUpTag, TempStr);
	}
}

function mouseMenu(id, MenuIDStr) 
{
	IsMSMenu   = (MenuIDStr.toUpperCase().indexOf("MS_") != -1);
	IsMouseout = (id.toUpperCase().indexOf("OUT") != -1);

	if (IsMouseout)
	{
		color = IsMSMenu? aDefMSColor[1] : aDefICPColor[1];
		if (MenuIDStr == CurICPMenu && aCurICPColor[1] != "") 
			color = aCurICPColor[1];
	}
	else
	{
		color = IsMSMenu? aDefMSColor[2] : aDefICPColor[2];
		if (MenuIDStr == CurICPMenu && aCurICPColor[2] != "") 
			color = aCurICPColor[2];
	}
	window.event.srcElement.style.color = color;
}

function doMenu(MenuIDStr) 
{
	var thisMenu = document.all(MenuIDStr);
	if (ToolbarMenu == null || thisMenu == null || thisMenu == ToolbarMenu) 
	{
		window.event.cancelBubble = true;
		return false;
	}
	// Reset dropdown menu
	window.event.cancelBubble = true;
	ToolbarMenu.style.display = "none";
	showElement("SELECT");
	showElement("OBJECT");
	showElement("IFRAME");
	ToolbarMenu = thisMenu;
	IsMSMenu = (MenuIDStr.toUpperCase().indexOf("MS_") != -1);

	// Set dropdown menu display position
	x  = window.event.srcElement.offsetLeft +
	 	 window.event.srcElement.offsetParent.offsetLeft;
	if (MenuIDStr == LastMSMenu) 
		x += (window.event.srcElement.offsetWidth - thisMenu.style.posWidth);
	y  = (IsMSMenu)? 
		 (idRow1.offsetHeight) :
		 (idRow1.offsetHeight + idRow3.offsetHeight);

	// Get main menu width
	x2 = x + (MenuIDStr == LastMSMenu? thisMenu.style.posWidth : window.event.srcElement.offsetWidth);
	// Get dropdown menu width
	x3 = x + 160;
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			x3 = x+ arrMenuInfo[i].unit;
			break;
		}
	thisMenu.style.top  = y;
	thisMenu.style.left = x;
	thisMenu.style.clip = "rect(0 0 0 0)";
	thisMenu.style.display = "block";

	// delay 2 millsecond to allow the value of ToolbarMenu.offsetHeight be set
	window.setTimeout("showMenu()", 2);
	return true;
}

function showMenu() 
{
	if (ToolbarMenu != null) 
	{ 
		IsMenuDropDown = (Frame_Supported && IsMSMenu == false)? false : true;
		if (IsMenuDropDown == false)
		{
			y = (y - ToolbarMenu.offsetHeight - idRow3.offsetHeight);
			if (y < 0) y = 0;
			ToolbarMenu.style.top = y;
		}
		// Get dropdown menu height
		y2 = y + ToolbarMenu.offsetHeight;

		ToolbarMenu.style.clip = "rect(auto auto auto auto)";
		hideElement("SELECT");
		hideElement("OBJECT");
		hideElement("IFRAME");
	}
}

function hideMenu()
{
	if (ToolbarMenu != null && ToolbarMenu != StartMenu) 
	{
		var cX = event.clientX + document.body.scrollLeft;
		var cY = event.clientY + document.body.scrollTop;
		var bHideMenu = true;

		if (IsMenuDropDown == true)
		{
			if (cY >= (y - idRow3.offsetHeight+10) && cY < y)
			{
				if (cX >= (x+5) && cX <= x2) bHideMenu = false;
			}
			else if (cY >= y && cY <= y2)
			{
				if (cX > (x+5) && cX <= x3) bHideMenu = false;
			}
		}
		else
		{
			if (cY >= y2 && cY < (y2 + idRow3.offsetHeight))
			{
				if (cX >= (x+5) && cX <= x2) bHideMenu = false;
			}
			else if (cY >= y && cY <= y2)
			{
				if (cX > (x+5) && cX <= x3) bHideMenu = false;
			}
		}

		if (! bHideMenu) 
		{
			window.event.cancelBubble = true;
			return; 
		}

		ToolbarMenu.style.display = "none";
		ToolbarMenu = StartMenu;
		window.event.cancelBubble = true;

		showElement("SELECT");
		showElement("OBJECT");
		showElement("IFRAME");
	}
}

function hideElement(elmID)
{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;

		// Find the element's offsetTop and offsetLeft relative to the BODY tag.
		objLeft   = obj.offsetLeft;
		objTop    = obj.offsetTop;
		objParent = obj.offsetParent;
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft  += objParent.offsetLeft;
			objTop   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		// Adjust the element's offsetTop relative to the dropdown menu
		objTop = objTop - y;

		if (x > (objLeft + obj.offsetWidth) || objLeft > (x + ToolbarMenu.offsetWidth))
			;
		else if (objTop > ToolbarMenu.offsetHeight)
			;
		else if (IsMSMenu && (y + ToolbarMenu.offsetHeight) <= 80)
			;
		else
			obj.style.visibility = "hidden";
	}
}

function showElement(elmID)
{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;
		obj.style.visibility = "";
	}
}

function formatURL(URLStr, InstrumentStr)
{
	var tempStr = URLStr;

	if (DoInstrumentation && URLStr != "" )
	{
		var ParamPos1 = URLStr.indexOf("?");
		var ParamPos2 = URLStr.lastIndexOf("?");
		var ParamPos3 = URLStr.toLowerCase().indexOf("target=");
		var ParamPos4 = URLStr.indexOf("#");
		var Bookmark  = "";
		var URL = URLStr;
		if (ParamPos4 >= 0)
		{
		 	URL = URLStr.substr(0, ParamPos4);
			Bookmark = URLStr.substr(ParamPos4);
		}
		
		if (ParamPos1 == -1)
			tempStr = "?MSCOMTB=";
		else if (ParamPos1 == ParamPos2 && ParamPos3 == -1)	
			tempStr = "&MSCOMTB=";
		else if (ParamPos1 == ParamPos2 && ParamPos3 != -1)	
			tempStr = "?MSCOMTB=";
		else if (ParamPos1 < ParamPos2)
			tempStr = "&MSCOMTB=";

		tempStr = URL + tempStr + InstrumentStr.replace(" ","%20") + Bookmark;
	}
	return tempStr;
}



// Definición de menú



var ToolBar_Supported = ToolBar_Supported ;
if (ToolBar_Supported != null && ToolBar_Supported == true)
{
	//To Turn on/off Instrumentation set DoInstrumentation = true/false.
	DoInstrumentation= false;

	// Customize default menu color - bgColor, fontColor, mouseoverColor
	setDefaultMSMenuColor("#000080", "white", "#808080");

	//***** Add menus *****

	// Opcion 1		
	addMSMenu("1", "Informacion", "","http://www.seap.es/informacion");
	addMSSubMenu("1","- Búsquedas en la SEAP","http://www.seap.es/buscar.htm");
	addMSSubMenu("1","- Estatutos","http://www.seap.es/informacion/estatutos.htm");
	addMSSubMenu("1","- Libro Blanco","http://www.seap.es/informacion/lblanco.htm");
	addMSSubMenu("1","- Junta Directiva","http://www.seap.es/informacion/seapjd.htm");
	addMSSubMenu("1","- Comisión Nacional de &nbsp;&nbsp;&nbsp;Anatomía Patológica","http://www.seap.es/informacion/seapcom.htm");
	addMSSubMenu("1","- Control Externo de Calidad","http://www.seap.es/gcp/index.htm");
	addMSSubMenu("1","- Noticias","http://www.seap.es/noticias/index.asp");	


	// Opcion 2		
	addMSMenu("2", "Congresos/Cursos", "","http://www.seap.es/congresos");
	addMSSubMenu("2","- Congreso - 2010","http://www.seapcongresos.com/");
	addMSSubMenu("2","- Otros Congresos SEAP","http://www.seap.es/congresos");
	addMSSubMenu("2","- Reuniones Anuales SEAP","http://www.seap.es/reuniones/index.htm");
	addMSSubMenu("2","- Próximos Cursos","http://www.seap.es/noticias/eventos.asp");
	addMSSubMenu("2","- Cursos On Line","http://www.seap.es/cursos/online.htm");
	addMSSubMenu("2","- Otros Congresos Patología","http://www.seap.es/noticias/eventos.asp");
	addMSSubMenu("2","- Formación Continuada","http://www.seap.es/cursos/fmc.htm");

	// Opcion 3		
	addMSMenu("3", "Clubes", "","http://www.seap.es/informacion/seapclub.htm");

	// Opcion 4
	addMSMenu("4", "Territoriales", "","/regional/");
	addMSSubMenu("4","- Asoc. Andaluza","http://www.sapatologia.org/");
	addMSSubMenu("4","- Asoc. Asturiana","http://www.seap.es/regional/asturias/index.htm/");
	addMSSubMenu("4","- Asoc. Canaria","http://www.seap.es/regional/canarias/index.htm/");	
	addMSSubMenu("4","- Asoc. Castellano-Leonesa","http://www.sacylpat.es/");
	addMSSubMenu("4","- Asoc. Castellano-Manchega","http://www.seap.es/regional/clm/");
	addMSSubMenu("4","- Asoc. Catalana","http://webs.academia.cat/societats/anatomia/index.htm");	
	addMSSubMenu("4","- Asoc. Extremeña","http://www.seap.es/regional/extremadura/");
	addMSSubMenu("4","- Asoc. Galicia","http://www.seap.es/regional/galicia/");
	addMSSubMenu("4","- Asoc. Madrileña","http://www.seap.es/regional/madrid/");
	addMSSubMenu("4","- Asoc. Murciana","http://www.seap.es/regional/murcia/");	
	addMSSubMenu("4","- Asoc. Navarra-Aragón","http://www.seap.es/regional/navarra-aragon/");
	addMSSubMenu("4","- Asoc. País Vasco","http://www.seap.es/regional/paisvasco/");	
	addMSSubMenu("4","- Asoc. Valenciana","http://sovapat.org/");

	// Opcion 5
	addMSMenu("5", "Bibliografia", "","http://www.seap.es/bibliografia/index.htm");					
	addMSSubMenu("5","- Revista Patología","http://www.patologia.es/");
	addMSSubMenu("5","- Libros publicados","http://www.seap.es/bibliografia/libros.htm");
	addMSSubMenu("5","- Bibliografía","http://www.seap.es/bibliografia/index.htm");


	// Opcion 6
	// addMSMenu("6", "Noticias", "","http://www.seap.es/noticias");					
	// addMSSubMenu("6","- Sección MIR","http://www.seap.es/noticias/mir");
	// addMSSubMenu("6","- Últimas noticias","http://www.seap.es/noticias");
	// addMSSubMenu("6","- Histórico","http://www.seap.es/noticias/noticias_ant.htm");
	// addMSSubMenu("6","- Bolsa de Trabajo","http://www.conganat.org/seap/noticias/bolsa");
	// addMSSubMenu("6","- Boletines Oficiales","http://www.seap.es/noticias/boletines.htm");

	// Opcion 7									
	// addMSMenu("7", "Telepatología", "","http://www.seap.es/telepatologia");
	// addMSSubMenu("7","- En Internet","http://www.seap.es/telepatologia");

}
