﻿// JScript File

var ruta='';

function Browser() {
        var b=navigator.appName;
        if (b=="Netscape") this.b="ns";
        else if (navigator.userAgent.indexOf("Opera")>0) this.b = "opera";
        else if (b=="Microsoft Internet Explorer") this.b="ie";
        if (!b) alert('Unidentified browser./nThis browser is not supported,');
        this.version=navigator.appVersion;
        this.v=parseInt(this.version);
        this.ns=(this.b=="ns" && this.v>=4);
        this.ns4=(this.b=="ns" && this.v==4);
        this.ns5=(this.b=="ns" && this.v==5);
        this.ie=(this.b=="ie" && this.v>=4);
        this.ie4=(this.version.indexOf('MSIE 4')>0);
        this.ie5=(this.version.indexOf('MSIE 5')>0)||(this.version.indexOf('MSIE 6')>0)||(this.version.indexOf('MSIE 7')>0);
        this.ie55=(this.version.indexOf('MSIE 5.5')>0);
        this.opera=(this.b=="opera");
        this.dom=((document.createRange&&(document.createRange().createContextualFragment))?true:false);
        var ua=navigator.userAgent.toLowerCase();
        if (ua.indexOf("win")>-1) this.platform="win32";
        else if (ua.indexOf("mac")>-1) this.platform="mac";
        else this.platform="other";
}
is = new Browser();

//Función trim
String.prototype.trim = function(){ return this.replace(/^s+|s+$/g,'') }

//Valida la fecha pasada por parámetro
function validarFecha(cadena) {
	var error=false;
	
	if (cadena.length !=10) {
	    error=true;
	}
	
	if (cadena!='') {
	    var anio= new String(cadena.substring(cadena.lastIndexOf("/")+1,cadena.length));
	    var mes= new String(cadena.substring(cadena.indexOf("/")+1,cadena.lastIndexOf("/")));
	    var dia= new String(cadena.substring(0,cadena.indexOf("/")));
	    // Valido el año
	    if (isNaN(anio) || anio.length!=4 || parseFloat(anio)<1900){
            error=true;
	    }
	    // Valido el Mes
	    if (isNaN(mes) || parseFloat(mes)<1 || parseFloat(mes)>12){
		    error=true;
	    }
	    // Valido el Dia
	    if (isNaN(dia) || parseInt(dia)<1 || parseInt(dia)>31){
		    error=true;
	    }
    	
	    if (mes==2) {
	        //Se comprueba año bisiesto
	        if ((anio%4 == 0) && ((anio%100 != 0) || (anio%400 == 0))) {
	            if (dia>29) {
	                error=true;
	            }
	        }
	        else if (dia>28) {
	            error=true;
	        }
	    }
	    else if (mes==4 || mes==6 || mes==9 || mes==11) {
	        if (dia>30) {
			    error=true;
		    }
	    }
	    else if (dia>31) {
	        error=true;
	    }
	}
	else {
	    error=false;
	}
	return error;
}

//Valida las dos fechas del buscador
function validarFechas (fecha1, fecha2) {
    if ((validarFecha(fecha1)==true) || (validarFecha(fecha2)==true)) {
	    alert("La fecha introducida no es correcta");
	    return true;
    }
    else {
        return false;
    }   
}

//Elimina los blancos del texto pasado por parámetro
function quitarBlancos(strTexto) {
	if (strTexto.indexOf(" ")>-1) {
		for (intCont=0 ; intCont< strTexto.length ; intCont++) {
			//recoge el carácter que se encuentra en la posición intCont
			if (strTexto.charAt(intCont)!=" ") break; //si no es un blanco, termina el for
		}
		strTexto= strTexto.substr(intCont,strTexto.length-intCont);
		for (intCont=strTexto.length-1 ; intCont>0 ; intCont--) {
			if (strTexto.charAt(intCont)!=" ") break;
		}
		strTexto= strTexto.substr(0,intCont+1);
	}
	return strTexto;
}

//Comprueba que el textarea no tenga más del número de caracteres pasado por parámetro
function validarArea(txtArea, intLongitudMax) {	
	var texto = '';
	texto=quitarBlancos(txtArea.value);
	intNumCaracteres=texto.length;

	if (intNumCaracteres>=intLongitudMax) {
		intCaractSobrantes=intNumCaracteres-intLongitudMax; 
		return intCaractSobrantes;
	}
	else {
		return 0;
	}
}

function validarComillaSimple(txtTextBox) {
    var texto = '';
	texto=quitarBlancos(txtTextBox.value);
	texto=texto.replace("\'", "");
	return texto
}

function validarComillaDoble(strTexto) {
	strTexto=quitarBlancos(strTexto);
	strTexto=strTexto.replace('\"', '');
	return strTexto
}

//Escribe las propiedades seleccionadas en el buscador avanzado en un listado de propiedades seleccionadas
function escribirPropiedad(){
    var textoHtml;
    var arrNodos;
    
    texto = validarComillaSimple(document.forms[0].txtTexto);
    texto = validarComillaDoble(texto);
    tipoBusq = document.forms[0].ddlTipoBusqueda.value;
    opcionBusq = document.forms[0].ddlOpcion.value;     
    
    document.forms[0].hddNumbProp.value = parseInt(document.forms[0].hddNumbProp.value,10) + 1
    textoHtml = '<input id="btnEliminar' + document.forms[0].hddNumbProp.value + '" type="image" value="button" src="../images/bt_aspa.gif" onclick="Eliminar(' + document.forms[0].hddNumbProp.value + ')"/>&nbsp;&nbsp;';
    
    if ((tipoBusq=='Nombre') || (tipoBusq=='Sintesis') || (tipoBusq=='Asunto')) {
        textoHtml += tipoBusq + ':&nbsp;' + opcionBusq + '&nbsp;->&nbsp;' + texto + '<br>';
    }
    else if (tipoBusq=='Indice') {
        textoHtml += tipoBusq + ':&nbsp;' + document.forms[0].ddlIndice.value + '<br>';
    }
    else if (tipoBusq=='Ramos') {
        textoHtml += tipoBusq + ':&nbsp;' + document.forms[0].ddlRamos.value + '<br>';
    }
    else if (tipoBusq=='Organismos') {
        textoHtml += tipoBusq + ':&nbsp;' + document.forms[0].ddlOrganismos.value + '<br>';
    }
    
    //Se posicionan las capas cuando se agrega propiedad
    bajarCapasAvanzado();
    document.getElementById('datosPropiedades').innerHTML+=textoHtml;    
}

//Muestra las opciones de búsqueda correspondientes al nombre, que es el que se encuentra seleccionado cuando
//se carga la página
function mostrarOpcionesLoad() {
    //Se muestran las opciones de texto y se oculta el combo
    document.getElementById('capaOpciones').style.visibility='visible'; 
    document.getElementById('capaTexto').style.visibility='visible'; 
    document.getElementById('capaIndice').style.visibility='hidden'; 
    document.getElementById('capaRamos').style.visibility='hidden'; 
    document.getElementById('capaOrganismos').style.visibility='hidden'; 
}

//Muestra las opciones de búsqueda que se han de mostrar dependiendo de lo seleccionado en el combo
//de propiedades
function mostrarOpciones() {

    if ((document.forms[0].ddlTipoBusqueda.value=='Nombre') || (document.forms[0].ddlTipoBusqueda.value=='Sintesis') || (document.forms[0].ddlTipoBusqueda.value=='Asunto')) {
        //Se muestran las opciones de texto y se oculta el combo
        document.getElementById('capaOpciones').style.visibility='visible'; 
        document.getElementById('capaTexto').style.visibility='visible'; 
        document.getElementById('capaIndice').style.visibility='hidden'; 
        document.getElementById('capaRamos').style.visibility='hidden'; 
        document.getElementById('capaOrganismos').style.visibility='hidden'; 
        //Se valida el número de caracteres dependiendo del campo seleccionado
        if (document.forms[0].ddlTipoBusqueda.value=='Nombre') {
            document.getElementById('txtTexto').onclick='javascript:validarArea(frmBuscador.txtTexto,"250")';
        }
        else {
            document.getElementById('txtTexto').onclick='javascript:validarArea(frmBuscador.txtTexto,"500")';
        }
    }
    else if (document.forms[0].ddlTipoBusqueda.value=='Agrupacion') {
        //Se ocultan las opciones de texto
        document.getElementById('capaOpciones').style.visibility='hidden'; 
        document.getElementById('capaTexto').style.visibility='hidden'; 
        document.getElementById('capaIndice').style.visibility='hidden'; 
        document.getElementById('capaRamos').style.visibility='hidden'; 
        document.getElementById('capaOrganismos').style.visibility='hidden'; 
    
        var ruta='arbolAgrupacion.aspx?PagPadre=BuscadorAvanzado&NumProp=' + document.forms[0].hddNumbProp.value;
        var opciones='width=465,height=310,left=230,top=190,directories=no,location=no,menubar=no,status=no,titlebar=no,toolbar=no';
        //Se abre una ventana con el árbol de órganos               
        window.open(ruta,'arbol',opciones);
    }
    else if (document.forms[0].ddlTipoBusqueda.value=='Indice') {
        document.getElementById('capaOpciones').style.visibility='hidden'; 
        document.getElementById('capaTexto').style.visibility='hidden'; 
        document.getElementById('capaIndice').style.visibility='visible'; 
        document.getElementById('capaRamos').style.visibility='hidden'; 
        document.getElementById('capaOrganismos').style.visibility='hidden'; 
    }
    else if (document.forms[0].ddlTipoBusqueda.value=='Ramos') {
        document.getElementById('capaOpciones').style.visibility='hidden'; 
        document.getElementById('capaTexto').style.visibility='hidden'; 
        document.getElementById('capaIndice').style.visibility='hidden'; 
        document.getElementById('capaRamos').style.visibility='visible'; 
        document.getElementById('capaOrganismos').style.visibility='hidden'; 
    }
    else if (document.forms[0].ddlTipoBusqueda.value=='Organismos') {
        document.getElementById('capaOpciones').style.visibility='hidden'; 
        document.getElementById('capaTexto').style.visibility='hidden'; 
        document.getElementById('capaIndice').style.visibility='hidden'; 
        document.getElementById('capaRamos').style.visibility='hidden'; 
        document.getElementById('capaOrganismos').style.visibility='visible'; 
    }
}    

//Agrega una propiedad al listado de propiedades    
function AgregarProp() {
    var texto;
        
    //Se valida que el texto no se encuentre vacío
    if ((document.forms[0].ddlTipoBusqueda.value=='Nombre') || (document.forms[0].ddlTipoBusqueda.value=='Sintesis') || (document.forms[0].ddlTipoBusqueda.value=='Asunto')) {
        if (document.forms[0].txtTexto.value=='') {
            alert ("Debe introducir el texto a buscar");
        }
        else if (document.forms[0].txtTexto.value!='') {
            texto = document.forms[0].txtTexto.value;
            if ((texto.indexOf('*')>-1) || (texto.indexOf('-')>-1)) {
                alert ("No debe introducir caracteres como el guión o los asteriscos");
            }
            else {
                document.getElementById('datosPropiedades').style.visibility='visible';
                escribirPropiedad();
            }
        }
        else if ((document.forms[0].ddlTipoBusqueda.value=='Nombre') && (validarArea(document.forms[0].txtTexto,250)!=0)) {
            alert ("El texto introducido no debe pasar los 250 caracteres");
        }
        //Caso para la síntesis y el asunto
        else if (validarArea(document.forms[0].txtTexto,500)!=0) {
            alert ("El texto introducido no debe pasar los 500 caracteres");
        }
        else {
            document.getElementById('datosPropiedades').style.visibility='visible';
            escribirPropiedad();
        }
    }
    else {
        document.getElementById('datosPropiedades').style.visibility='visible';
        escribirPropiedad();        
    }      
}    

//Recoge los datos chequeados en el árbol de agrupaciones de origen
function recogerDatosArbol() {
    var texto="";
    var valores="";
    var sumaPos=30;
    var nodos = idArbol.AllNodes;
    var nodoAbuelo="";
    var nodoPadre="";
    
    for (i=0; i<nodos.length; i++) {
        if (nodos[i].Checked) {
            if ((nodos[i].Parent!=null) && (nodos[i].Parent.Value!=nodoPadre)) {
                if ((nodos[i].Parent.Parent!=null) && (nodos[i].Parent.Value!=nodoPadre)) {
                    //Se añade la estructura sólo al texto, porque para la búsqueda en BD, sólo se necesita el padre y el hijo, no el abuelo,
                    //que es simplemente un texto de agrupación
                    valores += nodos[i].Parent.Value + "-" + nodos[i].Value + ",";
                    texto += nodos[i].Parent.Text + "-" + nodos[i].Text + ", ";
                }
                else {
                    //Si tiene padre, entonces añadimos el padre y el nodo               
                    texto += nodos[i].Text + ", ";
                    valores += nodos[i].Value + ",";
                    nodoPadre=nodos[i].Value;
                }
            }
            else if (nodos[i].Parent==null) {
                nodoAbuelo=nodos[i].Value;
            }
        }
    }
    
    //Los datos seleccionados se guardan en un hidden en la pantalla padre
    var ventanaPadre = top.window.opener;
    var ventana = window.self;
    ventana.opener = window.self;
    
    ventanaPadre.document.getElementById("hddTextoArbol").value=ventanaPadre.document.getElementById("hddTextoArbol").value + texto.substring(0,texto.length-2);
    ventanaPadre.document.getElementById("hddValoresArbol").value=ventanaPadre.document.getElementById("hddValoresArbol").value + valores;
          
    //Se recoge el número de propiedad para que no se pierda al abrir una nueva ventana
    ventanaPadre.document.getElementById('hddNumbProp').value=Number(document.forms[0].hddNumbProp.value) + 1;
    textoHtml = '<input id="btnEliminar' + ventanaPadre.document.getElementById('hddNumbProp').value + '" type="image" value="button" src="../images/bt_aspa.gif" onclick="Eliminar(' + ventanaPadre.document.getElementById('hddNumbProp').value + ')"/>&nbsp;&nbsp;';
    //Se elimina la última coma
    texto=texto.substring(0,texto.length-2)
    if (texto.length>50) {
        texto = texto.substring(0,50) + '...'
    }
    textoHtml += 'Agrupaci&oacute;n de Origen&nbsp;&nbsp;' + texto + '<br>';
    
    ventanaPadre.document.getElementById('datosPropiedades').style.visibility='visible';    
    ventanaPadre.document.getElementById('ddlTipoBusqueda').value="Nombre";
    ventanaPadre.document.getElementById('capaOpciones').style.visibility='visible'; 
    ventanaPadre.document.getElementById('capaTexto').style.visibility='visible'; 
    ventanaPadre.document.getElementById('capaIndice').style.visibility='hidden'; 
    ventanaPadre.document.getElementById('capaRamos').style.visibility='hidden'; 
    
    //Se posicionan las capas cuando se agrega propiedad
    ctrlcapaOpc = ventanaPadre.document.getElementById('capaOpciones'); 
    ctrlcapaText = ventanaPadre.document.getElementById('capaTexto'); 
    ctrlcapaInd = ventanaPadre.document.getElementById('capaIndice'); 
    ctrlcapaRam = ventanaPadre.document.getElementById('capaRamos'); 
    ctrlcapaOrg = ventanaPadre.document.getElementById('capaOrganismos'); 
    cltrAncla = ventanaPadre.document.getElementById('ddlTipoBusqueda');
    pos=findPos(cltrAncla);   
    
    if (ventanaPadre.document.getElementById('datosPropiedades').innerHTML=='') {
        ctrlcapaOpc.style.top = (parseInt(pos[1],10) + parseInt(4,10)) + 'px';
        ctrlcapaText.style.top = (parseInt(pos[1],10) + parseInt(sumaPos+4,10)) + 'px';
        ctrlcapaInd.style.top = (parseInt(pos[1],10) + parseInt(4,10)) + 'px';
        ctrlcapaRam.style.top = (parseInt(pos[1],10) + parseInt(4,10)) + 'px';
        ctrlcapaOrg.style.top = (parseInt(pos[1],10) + parseInt(4,10)) + 'px';
    }
    else {
        ctrlcapaOpc.style.top = (parseInt(pos[1],10) + parseInt(18,10)) + 'px';
        ctrlcapaText.style.top = (parseInt(pos[1],10) + parseInt(sumaPos+18,10)) + 'px';
        ctrlcapaInd.style.top = (parseInt(pos[1],10) + parseInt(18,10)) + 'px';
        ctrlcapaRam.style.top = (parseInt(pos[1],10) + parseInt(18,10)) + 'px';
        ctrlcapaOrg.style.top = (parseInt(pos[1],10) + parseInt(18,10)) + 'px';
    }
    
    ventanaPadre.document.getElementById('datosPropiedades').innerHTML+=textoHtml;
    ventana.close();
}

//Elimina la línea seleccionada en las propiedades
function Eliminar(numeroBoton) {  
    var textoNuevo='';
    var linea='';
    var arrPropiedades;
    var texto = document.getElementById('datosPropiedades').innerHTML;

    //Se crea un array por cada línea que se ha incluido en el listado de propiedades   
    if (is.ie) {
        arrPropiedades = texto.split("<INPUT");
    }
    else {
        arrPropiedades = texto.split("<input");
    }
    
    for (i=0; i<arrPropiedades.length; i++) {
        if ((arrPropiedades[i].trim()!='') && ((is.ie) || ((!is.ie) && (i!=0)))) {
            linea = arrPropiedades[i];
            //Se busca el boton que se quiere eliminar
            intPos=linea.indexOf('btnEliminar' + numeroBoton);
            if (intPos==-1) {
                //Si ha encontrado la línea a eliminar, no se incluye en el texto final
                if (is.ie) {
                    textoNuevo+='<INPUT' + arrPropiedades[i];
                }
                else {
                    textoNuevo+='<input' + arrPropiedades[i];
                }
            }
        }
    }
    
    //Se posicionan las capas cuando se elimina una propiedad
    document.getElementById('datosPropiedades').style.visibility='visible';
    document.getElementById('datosPropiedades').innerHTML=textoNuevo;
    subirCapasAvanzado();
}

//Función que devuelve los datos de las propiedades sin el html
function recogerDatos(texto) {
    var arrPropiedades;
    var linea='';
    var textoNuevo='';
    
    if (is.ie) {
        arrPropiedades = texto.split("<INPUT");
    }
    else {
        arrPropiedades = texto.split("<input");
    }
    
    for (i=0; i<arrPropiedades.length; i++) {
        if ((arrPropiedades[i].trim()!='') && ((is.ie) || ((!is.ie) && (i!=0)))) {
            linea = arrPropiedades[i];
            //Se busca el final del html
            intPos=linea.indexOf('>');           
            if (intPos!=-1) {
                linea = linea.substring(intPos + 1, linea.length);
                //Se eliminan los espacios en blanco
                linea = linea.replace(/&nbsp;/g,'');
                //Se eliminan los saltos de línea
                if (is.ie) {
                    linea = linea.replace(/<BR>/g,'');
                }
                else {
                    linea = linea.replace(/<br>/g,'');
                }
                //Se elimina el carácter >
                linea = linea.replace(/&gt;/g,'');
                //Se le añade a la línea los asteriscos, para luego diferenciarla
                textoNuevo += linea + '**';
            }
        }
    }   
    return textoNuevo;
}


//Posicionamiento de capas
//Funcion para obtener la poscion x e y de un control respecto de la pagina
function findPos(obj) 
{
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    return [curleft,curtop];
}

function MostrarCapa (cltrAncla, capa)
{        
    ctrlcapa = document.getElementById(capa);       
    if (ctrlcapa.style.display=="none"){
        var Ancho, Alto, AnchoAncla;         
         pos=findPos(cltrAncla);    
         Ancho=parseInt(ctrlcapa.style.width.replace("px",""),10);
         Alto=parseInt(ctrlcapa.style.height.replace("px",""),10);
         AnchoAncla=parseInt(cltrAncla.width);
         ctrlcapa.style.left= (parseInt(pos[0],10)- (Ancho-AnchoAncla))+'px';
         ctrlcapa.style.top= (parseInt(pos[1],10) - Alto)+'px';  
         ctrlcapa.style.display="";
    }else{
        ctrlcapa.style.display="none";
    }
}

//Realiza el posicionamiento relativo de una capa en función de un control que se utilizará como ancla
function PosicionarCapa (capa,Ancla,sumaLeft,sumaTop) {        
     ctrlcapa = document.getElementById(capa); 
     cltrAncla = document.getElementById(Ancla);            
     pos=findPos(cltrAncla);
     ctrlcapa.style.left = (parseInt(pos[0],10) + parseInt(sumaLeft,10)) + 'px';
     ctrlcapa.style.top = (parseInt(pos[1],10) + parseInt(sumaTop,10)) + 'px';
}

function bajarCapa (capa, Ancla) {
    
    var sumaPos=0;
    ctrlcapa = document.getElementById(capa); 
    cltrAncla = document.getElementById(Ancla);
    
    pos=findPos(cltrAncla);
    if (capa=='capaTexto') {
        sumaPos=30;
    }   
    if (document.getElementById('datosPropiedades').innerHTML=='') {
        ctrlcapa.style.top = (parseInt(pos[1],10) + parseInt(sumaPos+4,10)) + 'px';
    }
    else {
        ctrlcapa.style.top = (parseInt(pos[1],10) + parseInt(sumaPos+18,10)) + 'px';
    }
}

function subirCapa (capa, Ancla) {
    
    var sumaPos=0;
    ctrlcapa = document.getElementById(capa); 
    cltrAncla = document.getElementById(Ancla);
    pos=findPos(cltrAncla);   
    if (capa=='capaTexto') {
        sumaPos=30;
    }
    ctrlcapa.style.top = parseInt(pos[1],10) + sumaPos + 'px';
}

//Posiciona todas las capas del buscador avanzado
function PosicionarCapasAvanzado() {
    //Capa de opciones
    PosicionarCapa('capaOpciones','ddlTipoBusqueda','190','0');    
    //Capa de texto
    PosicionarCapa('capaTexto','ddlOpcion','0','30');    
    //Capa del índice temático
    PosicionarCapa('capaIndice','ddlTipoBusqueda','190','0');    
    //Capa de ramos
    PosicionarCapa('capaRamos','ddlTipoBusqueda','190','0');    
    //Capa de organismos e instituciones
    PosicionarCapa('capaOrganismos','ddlTipoBusqueda','190','0');    
}

function bajarCapasAvanzado() {
    //Capa de opciones
    bajarCapa('capaOpciones','ddlTipoBusqueda');
    //Capa de texto
    bajarCapa('capaTexto','ddlTipoBusqueda');   
    //Capa del índice temático
    bajarCapa('capaIndice','ddlTipoBusqueda');
    //Capa de ramos
    bajarCapa('capaRamos','ddlTipoBusqueda');
    //Capa de organismos e instituciones
    bajarCapa('capaOrganismos','ddlTipoBusqueda');
}

function subirCapasAvanzado() {
    //Capa de opciones
    subirCapa('capaOpciones','ddlTipoBusqueda');
    //Capa de texto
    subirCapa('capaTexto','ddlTipoBusqueda');   
    //Capa del índice temático
    subirCapa('capaIndice','ddlTipoBusqueda');
    //Capa de ramos
    subirCapa('capaRamos','ddlTipoBusqueda');
    //Capa de organismos e instituciones
    subirCapa('capaOrganismos','ddlTipoBusqueda');
}

function sale(boton,imagen) {
    boton.src= ruta + "/images/" + imagen;
}

function entra(boton,imagen) {
    boton.src= ruta + "/images/" + imagen;
}

function abrirVentanaEscaparate(ventana,nombre,propiedades){
    window.open(ventana,nombre,propiedades);
}

//Muestra las imágenes que indican el filtrado
function mostrarFiltros(filtro) {
    if (filtro=='') {
        document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_lis_sinfiltrado.gif';
    }
    else {
        document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_list_filtrado.gif';
    }   
}        

//Muestra las imágenes que indican el filtrado
function mostrarFiltrosEsp(filtro, filtroNormas) {
    if (filtroNormas=='') {
       //alert ('filtroNormas vacio');
        if (filtro=='') {
            document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_lis_sinfiltrado.gif';
        }
        else {
            document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_list_filtrado.gif';
        }
    }
    //Caso de que estemos en la página de detalle de las normas
    else {
        //alert ('filtro de Normas');
        if (filtroNormas=='N') {
            //alert ('filtro de Normas vacio');
            document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_lis_sinfiltrado.gif';
        }
        else {
            //alert ('filtro de Normas filtrado');
            document.getElementById('imgListadoFiltrado').src = ruta + '/images/bt_list_filtrado.gif';
        }
    }
       
}   

//Comprueba la sesión en el caso de los buscadores
function comprobarSesion(sesion) {
    if (sesion=='') {
        parent.location.href='../ErrorAcceso.htm';
    }
}

//Muestra u oculta la tabla gris donde se muestran los filtros
function mostrarTextoFiltros(muestra) {
    if (muestra==true) {
        document.getElementById('tablaFiltros').style.display='';
    }
    else {
        document.getElementById('tablaFiltros').style.display='none';
    }
}


function mostrarCalendario(control,ancho,alto,top,left) {
    var ventana=null; 
    var fechaSel=''; //Esto no vale para master Page-->eval('document.forms[0].' + control + '.value'); 
    var identificador='';
    var rutaPagina='';
   
    rutaPagina = ruta + '/Calendario.aspx';
       
    //En el caso de que el control cambie de nombre, se busca el valor recorriendo todos los elementos
    for (i=0;i<document.forms[0].elements.length;i++) {
        if (document.forms[0].elements[i].type == 'text') {
            identificador = document.forms[0].elements[i].id;
            if (identificador.indexOf(control)!=-1) {                 
                 fechaSel=document.forms[0].elements[i].value;
                 control=document.forms[0].elements[i].id;
                 break;
            }
        }
    }
    
    settings = 'width=' + ancho + ',height=' + alto + ',top=' + top + ',left=' + left;
    settings += ',location=no,directories=no,menubar=no,toolbar=no,status=no,scrollbars=no,resizable=no,dependent=no';
    ventana=window.open(rutaPagina + '?Control=' + control + '&Valor=' + fechaSel, 'Calendario', settings); 
    ventana.focus(); 
}
var lastObj;
var bgcolor="as";
function cambiarEstiloClick(obj){
    if (lastObj){
        lastObj.style.backgroundColor=obj.originalcolor;
    }
    obj.style.backgroundColor='#CCE1FF';
    lastObj=obj;
}        
function cambiarEstiloOver(obj){
    if ((obj.style.backgroundColor==bgcolor)||(obj.style.backgroundColor=='')){
        obj.style.cursor='pointer';
        obj.originalcolor=obj.style.backgroundColor; 
        obj.style.backgroundColor='#CCE1EE';
        bgcolor=obj.style.backgroundColor;
    } 
}   

function cambiarEstiloOut(obj){
    if ((obj.style.backgroundColor==bgcolor)||(obj.style.backgroundColor=='')){
        obj.style.backgroundColor=obj.originalcolor;
    }   
}   
