function abrir_ventana(ventana)
{
	open(ventana,"nombreventana","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=450,height=325, left=150 , top=20 ,alwaysraised=yes , z-lock=yes , outerwidth=0, outerheight=0");
}

function abrir_ventana_tamanio(ventana,ancho,alto)
{
open(ventana,"","toolbar=no,location=no,directories=no,menubar=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + ancho + ",height=" + alto + ", left=300 , top=150 ,alwaysraised=yes , z-lock=yes , outerwidth=0, outerheight=0");
}

function validar_busqueda(f)
{
	if (f.texto.value=="")
	{
		 alert("Introduzca el texto a buscar.");
		 f.texto.focus();
		 return;
	}
	f.submit();
}

function cargar_articulos_objeto(obj)
{
	document.location.href = "documentos_objeto.asp?Obj=" + obj;
}

function desplegar_objeto() 
{ 	
	var nivel = 999;	// Variable para determinar qué nivel de la jerarquía se debera abrir
	var W_Num_Pixeles_Desplazados = 0;
	
	var W_Cerrar = 0;
	
	var W_Num_Elemento = 0;
	var nombre1 = "";
	var nombre2 = "";

	// Detect if the browser is IE or not.
	// If it is not IE, we assume that the browser is NS.
	var IE = document.all?true:false
				
	// Temporary variables to hold mouse x-y pos.s
	var tempX = 0
	var tempY = 0

	if (desplegar_objeto.arguments.length > 1)
	{
		if (document.getElementById(desplegar_objeto.arguments[1]).style.display == "block")
		{
			// Cerrar
				
			// INICIO - Si el ratón está sobre alguno de los elementos superiores al que se pretende plegar, se suspende la acción
			
			// Retrieve mouse x-y pos.s			
			if (IE) { // grab the x-y pos.s if browser is IE
				tempX = event.clientX + document.documentElement.scrollLeft;
				tempY = event.clientY + document.documentElement.scrollTop;
			} else {  // grab the x-y pos.s if browser is NS
				tempX = e.pageX
				tempY = e.pageY
			}  
			// catch possible negative values in NS4
			if (tempX < 0){tempX = 0}
			if (tempY < 0){tempY = 0}  
			  
			for (W_Num_Elemento = 0; W_Num_Elemento < document.forms.length; W_Num_Elemento ++) 
			{ 
				nombre1 = document.getElementById(desplegar_objeto.arguments[1]).name.substring(0, document.getElementById(desplegar_objeto.arguments[1]).name.length - 3)
				nombre2 = document.forms[W_Num_Elemento].name

				//alert(nombre1);
				//alert(nombre2);

				if(nombre2.substring(0, nombre1.length) == nombre1)
				{	
					document.getElementById(nombre1).style.backgroundColor = "#223871";
					document.getElementById(nombre1).style.color = "#FFFFFF";		

					if (nombre2.length == 6) 
					{	
						if (tempX > document.getElementById(nombre2).style.pixelLeft + 1
							&& tempX < document.getElementById(nombre2).style.pixelLeft + 140
							&& tempY > document.getElementById(nombre2).style.pixelTop + 5
							&& tempY < document.getElementById(nombre2).style.pixelTop + parseInt(document.getElementById(nombre2).style.height)
						)
						// Si el ratón está sobre un objeto superior, salimos sin hacer nada
						return 0;
					}
					else
					{
						if (tempX > document.getElementById(nombre2).style.pixelLeft + 1 
							&& tempX < document.getElementById(nombre2).style.pixelLeft + 140
							&& tempY > document.getElementById(nombre2).style.pixelTop + 5
							&& tempY < document.getElementById(nombre2).style.pixelTop + parseInt(document.getElementById(nombre2).style.height) 
						)
						// Si el ratón está sobre un objeto superior, salimos sin hacer nada
						return 0;
					}
				}
				else
					if (nombre1.length == 6)
					{
						document.getElementById(nombre1).style.backgroundColor = "#808080";		
						document.getElementById(nombre1).style.color = "#000000";		
					}
					else
					{
						document.getElementById(nombre1).style.backgroundColor = "#AFAFAF";		
						document.getElementById(nombre1).style.color = "#000000";		
					}
			} 
			// FINAL - Si el ratón está sobre alguno de los elementos superiores al que se pretende plegar, se suspende la acción
			
			for (var i=0; i<desplegar_objeto.arguments.length; i++) 
			{ 
				if (desplegar_objeto.arguments[i] != '')
				{
					var element = document.getElementById(desplegar_objeto.arguments[i]); 

					// Si el elemento estaba abierto y lo cerramos, añadimos los píxeles de desplazamiento					
					if (element.style.display == "block" && (element.name.length == 6 || element.name.length == 7))
					{
						W_Num_Pixeles_Desplazados = W_Num_Pixeles_Desplazados + parseInt(element.style.height) + 4;
					}
					
					element.style.display = "none";
				}
			} 
	
			// Cambiamos la propiedad top de los objetos que están más abajo del último desplegado, 
			// para que se desplacen hacia abajo al volver a plegar
			for (W_Num_Elemento = 0; W_Num_Elemento < document.forms.length; W_Num_Elemento ++) 
			{ 
				nombre1 = document.forms[W_Num_Elemento].name
				nombre2 = element.name

				if(nombre1 > nombre2)
				{
						document.forms[W_Num_Elemento].style.top = document.forms[W_Num_Elemento].style.pixelTop - W_Num_Pixeles_Desplazados + "px";
				}
			} 
		}
		else
		{
			// Abrir
			
			// Primero cerramos todos los objetos que estuvieran abiertos y no sean descendientes
			// del objeto a abrir
			
			for (W_Num_Elemento = 0; W_Num_Elemento < document.forms.length; W_Num_Elemento ++) 
			{ 
				nombre1 = document.forms[W_Num_Elemento].name
				
				W_Cerrar = 1
								
				if (nombre1.length < document.getElementById(desplegar_objeto.arguments[1]).name.substring(0, document.getElementById(desplegar_objeto.arguments[1]).name.length - 3).length)			
				{
					W_Cerrar = 0
				}
				else 
				{
					if (nombre1.length == document.getElementById(desplegar_objeto.arguments[1]).name.substring(0, document.getElementById(desplegar_objeto.arguments[1]).name.length - 3).length)			
					{
						W_Cerrar = 0
						
						if(nombre1 != document.getElementById(desplegar_objeto.arguments[1]).name.substring(0, document.getElementById(desplegar_objeto.arguments[1]).name.length - 3))
						{
							
							if (nombre1.length == 6) 
							{
								document.forms[W_Num_Elemento].style.backgroundColor = "#808080";		
								document.forms[W_Num_Elemento].style.color = "#000000";			
							}
							else
							{
								document.forms[W_Num_Elemento].style.backgroundColor = "#AFAFAF";		
								document.forms[W_Num_Elemento].style.color = "#000000";			
	
							}
						}
					}
					else			
					{
						for (var i = 0; i < desplegar_objeto.arguments.length; i++)
						{ 
							if (desplegar_objeto.arguments[i] != '')			
							{
								nombre2 = desplegar_objeto.arguments[i].name
								
								if (nombre1 == nombre2)
								{
									W_Cerrar = 0
								}
							}
						}
					}
				}
				
				if (W_Cerrar == 1) 
				{	
					document.forms[W_Num_Elemento].style.display = "none";
				}
			} 
			
			// Retrieve mouse x-y pos.s			
			if (IE) { // grab the x-y pos.s if browser is IE
				tempX = event.clientX + document.documentElement.scrollLeft;
				tempY = event.clientY + document.documentElement.scrollTop;
			} else {  // grab the x-y pos.s if browser is NS
				tempX = e.pageX
				tempY = e.pageY
			}  
			// catch possible negative values in NS4
			if (tempX < 0){tempX = 0}
			if (tempY < 0){tempY = 0}  

			nombre1 = document.getElementById(desplegar_objeto.arguments[1]).name.substring(0, document.getElementById(desplegar_objeto.arguments[1]).name.length - 3)

			if (tempX > document.getElementById(nombre1).style.pixelLeft + 1
					&& tempX < document.getElementById(nombre1).style.pixelLeft + 140
					&& tempY > document.getElementById(nombre1).style.pixelTop + 5
					&& tempY < document.getElementById(nombre1).style.pixelTop + parseInt(document.getElementById(nombre1).style.height)
				)
			{
				// Averiguamos el nivel mínimo que se puede abrir
				for (var i = 0; i < desplegar_objeto.arguments.length; i++)
				{ 
					if (desplegar_objeto.arguments[i] != '')
					{
						if (desplegar_objeto.arguments[i].length < nivel)
							nivel = desplegar_objeto.arguments[i].length
					}
				}
				
				var element = document.getElementById(desplegar_objeto.arguments[i]);
				
				// Realizamos la apertura del nivel determinado
				for (var i=0; i<desplegar_objeto.arguments.length; i++) 
				{ 
					if (desplegar_objeto.arguments[i].length == nivel)
					{
						element = document.getElementById(desplegar_objeto.arguments[i]); 
						element.style.display = "block"; 
			
						if (element.name.length == 6) 
						{
							element.style.backgroundColor = "#808080";		
							element.style.color = "#000000";			
						}
						else
						{
							element.style.backgroundColor = "#AFAFAF";		
							element.style.color = "#000000";			
						}
	
						// Si el elemento estaba abierto y lo cerramos, añadimos los píxeles de desplazamiento					
						if (element.name.length == 6 || element.name.length == 7)
						{
							W_Num_Pixeles_Desplazados = W_Num_Pixeles_Desplazados + parseInt(element.style.height) + 4;
						}
					}
				} 
				
				var nombre1=""
				var nombre2=""
						
				// Cambiamos la propiedad top de los objetos que están más abajo del último desplegado, 
				// para que se desplacen hacia abajo al desplegar
				for (var W_Num_Elemento = 0; W_Num_Elemento < document.forms.length; W_Num_Elemento++) 
				{ 
					nombre1 = document.forms[W_Num_Elemento].name
					nombre2 = element.name
	
					if(nombre1 > nombre2 && nombre1.charAt(nombre2.length - 1) != nombre2.charAt(nombre2.length - 1))
					{
							document.forms[W_Num_Elemento].style.top = document.forms[W_Num_Elemento].style.pixelTop + W_Num_Pixeles_Desplazados + "px";
					}
				}
			}
		}
	}
}

function resaltar_objeto(objeto)
{
	// INICIO - Si el ratón está sobre el objeto pasado por parámetro, se resalta. Si no, se pone formato no resaltado.
	// Detect if the browser is IE or not.
	// If it is not IE, we assume that the browser is NS.
	var IE = document.all?true:false
				
	// Temporary variables to hold mouse x-y pos.s
	var tempX = 0
	var tempY = 0
	
	// Retrieve mouse x-y pos.s			
	if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.documentElement.scrollLeft;
		tempY = event.clientY + document.documentElement.scrollTop;
	} else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX
		tempY = e.pageY
	}  
	// catch possible negative values in NS4
	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}  
	
	if (objeto.length == 6)
		if (tempX > document.getElementById(objeto).style.pixelLeft + 1 
			&& tempX < document.getElementById(objeto).style.pixelLeft + 140
			&& tempY > document.getElementById(objeto).style.pixelTop + 5
			&& tempY < document.getElementById(objeto).style.pixelTop + parseInt(document.getElementById(objeto).style.height)
		)
		{
			document.getElementById(objeto).style.backgroundColor = "#223871";
			document.getElementById(objeto).style.color = "#FFFFFF";			
		}
		else
		{
			document.getElementById(objeto).style.backgroundColor = "#808080";
			document.getElementById(objeto).style.color = "#000000";						
		}
	else
		if (tempX > document.getElementById(objeto).style.pixelLeft + 1 
			&& tempX < document.getElementById(objeto).style.pixelLeft + 140
			&& tempY > document.getElementById(objeto).style.pixelTop + 5
			&& tempY < document.getElementById(objeto).style.pixelTop + parseInt(document.getElementById(objeto).style.height)
		)
		{
			document.getElementById(objeto).style.backgroundColor = "#223871";
			document.getElementById(objeto).style.color = "#FFFFFF";			
		}
		else
		{
			document.getElementById(objeto).style.backgroundColor = "#AFAFAF";		
			document.getElementById(objeto).style.color = "#000000";			
		}
		
	// FINAL - Si el ratón está sobre el objeto pasado por parámetro, se resalta. Si no, se pone formato no resaltado.
}