// JavaScript Document
<!-- Comienza el Rollover del menú de servicios web -->
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0

  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

  if (restore) selObj.selectedIndex=0;

}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

<!-- Termina el Rollover del menú de servicios web -->
<!-- Esta es la función que abre y cierra los paneles -->
<!--
function expandir(item, nombreimagen,src_abierto,title_abierto,src_cerrado,title_cerrado)
{
	var d = document.getElementById(item);
	var imagen = document.getElementById(nombreimagen);
	if (d!=null)
	{
		if (d.style.display == '')
		{
			d.style.display = 'none';
			imagen.src = src_cerrado;
			imagen.title = title_abierto;
		}
		else
		{
			d.style.display = '';
			imagen.src = src_abierto;
			imagen.title = title_cerrado;
		}
	}
}

function click_ind_t5()
{
	var d_t5 = document.getElementById("div_ind_top5");
	var d_todo = document.getElementById("div_ind_todo");
	if (d_t5!=null)
	{
			d_t5.style.display = 'none';
			d_todo.style.display = '';
				
	}
}
function click_ind_todo()
{
	var d_t5 = document.getElementById("div_ind_top5");
	var d_todo = document.getElementById("div_ind_todo");
	if (d_t5!=null)
	{
			d_t5.style.display = '';
			d_todo.style.display = 'none';
				
	}
}
function HideAll(nivel) 
{
	var targetElement;
	var aDivs = document.body.getElementsByTagName("DIV");
	
	for (var i = 0; i < aDivs.length; i++) 
	{
		targetElement = aDivs[i];
		if (targetElement.className == nivel)
			targetElement.style.display = 'none';
	}
}

var Conexion=false; // Variable que manipula la conexion.
var Servidor="../contenido/motor_ajax.aspx"; // Determina la pagina donde buscar
var Palabra=""; //Determina la ultima palabra buscada.
var pos=0; //Determina la posicion de la sugerencia escogida por el usuario

// funcion que realiza la conexion con el objeto XMLHTTP...
function Conectar()
{
	if(window.XMLHttpRequest)
		Conexion=new XMLHttpRequest(); //mozilla
	else if(window.ActiveXObject)
		Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}

function Contenido(idContenido)
{
	/* readyState devuelve el estado de la conexion. puede valer:
	 *	0- No inicializado (Es el valor inicial de readyState)
	 *	1- Abierto (El método "open" ha tenido éxito)
	 *	2- Enviado (Se ha completado la solicitud pero ningun dato ha sido recibido todavía)
	 *	3- Recibiendo
	 *	4- Respuesta completa (Todos los datos han sido recibidos)
	 */

	// En espera del valor 4
	if(Conexion.readyState!=4) return;
	/* status: contiene un codigo enviado por el servidor
	 *	200-Completado con éxito
	 *	404-No se encontró URL
	 *	414-Los valores pasados por GET superan los 512
	 * statusText: contiene el texto del estado
	 */
	if(Conexion.status==200) // Si conexion HTTP es buena !!!
	{
		//si recibimos algun valor a mostrar...
		if(Conexion.responseText)
		{
			/* Modificamos el identificador temp con el valor recibido por la consulta
			*	Podemos recibir diferentes tipos de datos:
			*	responseText-Datos devueltos por el servidor en formato cadena
			*	responseXML-Datos devueltos por el servidor en forma de documento XML
			*/
			document.getElementById(idContenido).style.display="block";
			document.getElementById(idContenido).innerHTML=Conexion.responseText;
		}else
			document.getElementById(idContenido).style.display="none";
	}else{
		document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
	}

	// Deshabilitamos la visualización del reloj
	document.getElementById("reloj").style.visibility="hidden";

	Conexion=false;
}

function Solicitud(idContenido,Cadena)
{
	// si no recibimos cadena, no hacemos nada.
	// Cadena=la cadena a buscar en la base de datos
	/* Si cadena es igual a Palabra, no se realiza la busqueda. Puede ser que pulsen la tecla tabulador,
	 * y no interesa que vuelva a verificar...*/
	if(Cadena && Cadena!=Palabra)
	{
		// Si ya esta conectado, cancela la solicitud en espera de que termine
		if(Conexion) return; // Previene uso repetido del boton.
		
		// Realiza la conexion
		Conectar();
		
		// Si la conexion es correcta...
		if(Conexion)
		{
			// Habilitamos la visualización del reloj
			document.getElementById("reloj").style.visibility="visible";
			document.getElementById("lista").style.visibility="visible";
			// Esta variable, se utiliza para igualar con la cadena a buscar.
			Palabra=Cadena;
			Servidor = "../contenido/motor_ajax.aspx" + "?b="+document.getElementById("input").value;

			/* Preparamos una conexion con el servidor:
			*	POST|GET - determina como se envian los datos al servidor
			*	true - No sincronizado. Ello significa que la página WEB no es interferida en su funcionamiento
			*	por la respuesta del servidor. El usuario puede continuar usando la página mientras el servidor
			*	retorna una respuesta que la actualizará, usualmente, en forma parcial.
			*	false - Sincronizado */
			Conexion.open("GET",Servidor,true);

			// Añade un par etiqueta/valor a la cabecera HTTP a enviar. Si no lo colocamos, no se pasan los parametros.
			//Conexion.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	
			// Cada vez que el estado de la conexión (readyState) cambie se ejecutara el contenido de esta "funcion()"
			Conexion.onreadystatechange=function()
			{
				Contenido(idContenido);
			}
			
			date=new Date();
			/* Realiza la solicitud al servidor. Puede enviar una cadena de caracteres, o un objeto del tipo XML
			 * Si no deseamos enviar ningun valor, enviariamos null */
			Conexion.send(null);
		}else
			document.getElementById(idContenido).innerHTML="No disponible";
	}
}

// Funcion que inicia la busqueda.
// Tiene que recibir el identificador donde mostrar el listado, y la cadena a buscar
function autocompletar(idContenido,Cadena)
{
	// Comprovamos que la longitud de la cadena sea superior o igual a 1 caracteres
	if(Cadena.length>=1)
	{
		if(Conexion!=false)
		{
			// Deshabilitamos la visualización del reloj
			document.getElementById("reloj").style.visibility="hidden";
			//si esta en medio de una conexion, la cancelamos
			Conexion.abort();
			Conexion=false;
		}
		Solicitud(idContenido,Cadena);
	}else
		document.getElementById(idContenido).style.display="none";
}

// Funcion que se ejecuta cuando seleccionamos un valor del desplegable
function selectItem(idContenido,value)
{
	// Cuando pulsamos sobre el desplegable, colocamos el valor en el cuadro de texto
	document.getElementById("input").value=value;
	//volvemos a indicar que actualice el listado con el nuevo valor
	autocompletar(idContenido,value);
}

//Funcion para saber la tecla resionada, retorna el caracter ascci de la tecla
function onKeyPressed(e){
	var keyPressed;
	
	
    //Browser compatibility check
    if (document.all) 
    {
        //Browser used: Internet Explorer 6
        keyPressed = e.keyCode;
    } 
    else 
    {
        //Browser used: Firefox
        keyPressed = e.which;
    }
    //13 = ASCII code for Enter key
    
    if (keyPressed == 9) 
    { 
            document.getElementById("input").value=document.getElementById("lst_sugerencias").options[document.getElementById("lst_sugerencias").selectedIndex].text.substring(0,(document.getElementById("lst_sugerencias").options[document.getElementById("lst_sugerencias").selectedIndex].text.indexOf("-")-1));
            //document.getElementById("input").value = document.getElementById("input").value.substring(0,7);
            document.getElementById("reloj").style.visibility="hidden";
 

            
           
    } 
    //Se presiono la tecla arriba
    if (keyPressed == 38) 
    { 
           document.getElementById("lst_sugerencias").selectedIndex=pos;
           --pos;
    }
     //Se presiono la tecla abajo
    if (keyPressed == 40) 
    { 
         document.getElementById("lst_sugerencias").selectedIndex =pos;
         ++pos;
        
    }
} 
function ocultarIndicadores(){   

 document.getElementById("indicadores_rpt_indicadores__ctl5_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl6_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl7_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl8_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl9_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl10_tbl_indicador").style.visibility="hidden";
 document.getElementById("indicadores_rpt_indicadores__ctl11_tbl_indicador").style.visibility="hidden";

}

function cambiarTamanos(accion)
{
	var links = document.getElementsByTagName("link");
	for(var i=0; i<links.length; i++)
	{
		if(links[i].getAttribute("rel").indexOf("style")!=-1)
		{
		    if(accion==1)
			    links[i].href = "../general/estilos.css";
		    if(accion==2)
			    links[i].href = "../general/estilos2.css";
		    if(accion==3)
			    links[i].href = "../general/estilos3.css";
		}
	}
	
	return false;
}

/* Funcion que agrega la pagina a favoritos tanto en IE como en firefox */
function AgregarFavoritos(Titulo,URL) 
{
      /* Condición para el navegador Firefox */
      if(navigator.appName=="Netscape")
      {
            /* Agrega la página a favoritos y asigna un título al enlace */
            window.sidebar.addPanel(Titulo,URL,""); 
      }

    
      /* Condición para el navegador IE */
      if (navigator.appName=="Microsoft Internet Explorer")
      {
            /* Agrega la página a favoritos y asigna un título al enlace */
            window.external.AddFavorite(URL,Titulo);
      }
}

function AgregarFavoritos_OLD(Titulo,URL) 
{
      /* Condición para el navegador Firefox */
      if(navigator.appName=="Netscape")
      {
            /* Agrega la página a favoritos y asigna un título al enlace */
            window.sidebar.addPanel(Titulo,URL,""); 
      }

      /* Condición para el navegador IE */
      if (navigator.appName=="Microsoft Internet Explorer")
      {
            /* Agrega la página a favoritos y asigna un título al enlace */
            window.external.AddFavorite(URL,Titulo);
      }
}