// FUNCIONES DE CONSULTA DOCUMENTAL 
//

function ayudaModo() {
	window.open("AyudaModo.htm", "", "Width=500 Height=400 Status=0 Toolbar=0 Menubar=0 Location=0 Resizable=1 scrollbars=1" );
}

function controladoresModo() {
	document.getElementById("conceptual").onclick = modo;
	document.getElementById("patron").onclick = modo;
	document.getElementById("boleana").onclick = modo;	
}

function modo() {
	if (document.getElementById("boleana").checked) {		
		if (document.getElementById("ordenado").options.length > 0) {
			if (document.getElementById("ordenado").options(0).text = "Relevancia") {
				document.getElementById("ordenado").options.remove("Relevancia");
			}
		}	
	}
	else {
		if (document.getElementById("ordenado").options.length == 0 || document.getElementById("ordenado").options(0).text != "Relevancia") {
			document.getElementById("ordenado").options.add(new Option("Relevancia","Relevancia"), 0);		
		}
	}
}

function Trim(Cadena){
 //**********************************************************************
 //***Función: Trim()
 //***Objetivo: Quita los espacios al inicio y al final de una cadena
 //***Parámetros:
 //**********************************************************************
 var varI; 
 var varRetorno;
 
 varRetorno = Cadena;
 
 while (varRetorno.charAt(0) == " ") {
  varRetorno = varRetorno.substr(1, varRetorno.length -1);
 } 
 
 while (varRetorno.charAt(varRetorno.length -1) == " ") {
  varRetorno = varRetorno.substr(0, varRetorno.length -1);
 }
   
 return(varRetorno);
}

function ComprobarCampos(obj)
{		
	if ((obj==1)&&(document.all.chkMarcoLegal.checked==true))
	{
		document.all.chkJurisprudencia.checked=true;
		document.all.chkLegislacion.checked=true;
	}
	else
	{
		if ((obj==1)&&(document.all.chkMarcoLegal.checked==false))
		{
			document.all.chkJurisprudencia.checked=false;
			document.all.chkLegislacion.checked=false;
		}
	}
				
	if ((obj==4)&&(document.all.chkBibliografia.checked==true))
		{
			document.all.chkRevistas.checked=true;
			document.all.chkMonografia.checked=true;
			document.all.chkArticulos.checked=true;
		}
		else
		{		
			if ((obj==4)&&(document.all.chkBibliografia.checked==false))
			{
				document.all.chkRevistas.checked=false;
				document.all.chkMonografia.checked=false;
				document.all.chkArticulos.checked=false;
			}
		}	
	if ((obj==2)||(obj==3))
	{
		if ((document.all.chkJurisprudencia.checked==true)&&(document.all.chkLegislacion.checked==true))
		{
		document.all.chkMarcoLegal.checked=true
		}
		else
		{
		document.all.chkMarcoLegal.checked=false
		}
		
		if ((document.all.chkJurisprudencia.checked==false)&&(document.all.chkLegislacion.checked==false))
		{
		document.all.chkMarcoLegal.checked=false
		}
	}
	if ((obj==5)||(obj==6)||(obj==7))
	{

		if ((document.all.chkRevistas.checked==true)&&(document.all.chkMonografia.checked==true)&&(document.all.chkArticulos.checked==true))
		{
		document.all.chkBibliografia.checked=true
		}
		else
		{
		document.all.chkBibliografia.checked=false
		}
		if ((document.all.chkRevistas.checked==false)&&(document.all.chkMonografia.checked==false)&&(document.all.chkArticulos.checked==false))
		{
		document.all.chkBibliografia.checked=false
		}
	}
	
	funordenar();
}

function buscar()
{
	var texto;
	var radio;
	var ordenado;
	var registros;
	var formato;
	
	//TIPO DE BÚSUQEDA
	if (frmBusqueda.conceptual.checked==true)
	{
	radio = "conceptual";
	}
	else if (frmBusqueda.patron.checked==true)
	{
	radio = "patron";
	}
	else if (frmBusqueda.boleana.checked==true)
	{
	radio = "boleana";
	}
	else
	{
	radio = "conceptual";
	}
	
	//CAMPOS CONDICIONANTES
	//***CAMPO POR EL CUAL SE ORDENA
	if (frmBusqueda.ordenado.value == "titulo")
	{
	ordenado = "titulo";
	}
	if (frmBusqueda.ordenado.value == "fecha")
	{
	ordenado = "fecha";
	}
	if (frmBusqueda.ordenado.value == "relevancia")
	{
	ordenado = "relevancia";
	}
	
	//***NUMERO DE REGISTROS
	
	if (frmBusqueda.registros.value == "5")
	{
	registros = "5";
	}
	if (frmBusqueda.registros.value == "10")
	{
	registros = "10";
	}
	if (frmBusqueda.registros.value == "20")
	{
	registros = "20";
	}
	if (frmBusqueda.registros.value == "30")
	{
	registros = "30";
	}
	//***FORMATO		
	if (frmBusqueda.formato.value == "formato1")
	{
	formato = "formato1";
	}
	if (frmBusqueda.formato.value == "formato2")
	{
	formato = "formato2";
	}
	if (frmBusqueda.formato.value == "formato3")
	{
	formato = "formato3";
	}

				
	if ((frmBusqueda.chkRevistas.checked==false)&&(frmBusqueda.chkMonografia.checked==false)&&(frmBusqueda.chkArticulos.checked==false)&&(frmBusqueda.chkJurisprudencia.checked==false)&&(frmBusqueda.chkLegislacion.checked==false)&&(frmBusqueda.chkDirectorio.checked==false))
	{
		alert("Seleccione alguna base de datos para comenzar la búsqueda");
	}
	else
	{
		if (Trim(frmBusqueda.txtcajatexto.value) == "")
		{
			alert("Introduzca el texto que desea consultar")
			return(false);
		}
		else
		{
			texto=frmBusqueda.txtcajatexto.value;
			
			var re = new RegExp("'","g");
			texto=texto.replace(re,"\"");		
			
			
			frmBusqueda.listadecampos.value=radio;
			
			//frmBusqueda.submit();
			return(true);
			
		}
	} 
}

function Validar(buscar)
{
	if (buscar==true)
	{
		frmBusqueda.action="resultado_busquedaBD.aspx";
		
	}
}
function ValidarBoton(buscar)
{
	if (buscar==true)
	{
		frmBusqueda.action="resultado_busquedaBD.aspx";
		frmBusqueda.submit();
	}
}
//*********************************************************************
//************************BUSQUEDA AVANZADA****************************
//*********************************************************************
function funordenar()
{
	var cont = 0;
	
	if (document.all.chkRevistas.checked==true)
	cont = cont + 1;
	if (document.all.chkMonografia.checked==true)
	cont = cont + 1;
	if (document.all.chkArticulos.checked==true)
	cont = cont + 1;
	if (document.all.chkJurisprudencia.checked==true)
	cont = cont + 1;
	if (document.all.chkLegislacion.checked==true)
	cont = cont + 1;
	if (document.all.chkDirectorio.checked==true)
	cont = cont + 1;
			
	if (cont == 1)
	{
		if (document.all.chkRevistas.checked==true)
		{
			//Se pide que se pueda ordenar únicamente por Título
			document.all.ordenado.length = 2;			
			document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
			//document.all.ordenado.options[1] = new Option("Editor","EDITOR");
			//document.all.ordenado.options[2] = new Option("Lugar edición","LUGAR_EDICION");
			document.all.ordenado.options[1] = new Option("Título","TITULO_FORMULARIO");
			document.all.ordenado.selectedIndex = 0;						
		}
		else if (document.all.chkMonografia.checked==true)
		{
		document.all.ordenado.length = 4;
		document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
		document.all.ordenado.options[1] = new Option("Autor","AUTOR_FORMULARIO");
		document.all.ordenado.options[2] = new Option("F. de catalogación","FECHAMODIFICACION_DATE");
		document.all.ordenado.options[3] = new Option("Título","TITULO_FORMULARIO");
		document.all.ordenado.selectedIndex = 2;
		}
		else if (document.all.chkArticulos.checked==true)
		{
		document.all.ordenado.length=5;
		document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
		document.all.ordenado.options[1] = new Option("Año","ANIO");
		document.all.ordenado.options[2] = new Option("Autor","AUTOR_FORMULARIO");
		document.all.ordenado.options[3] = new Option("Revista","REVISTA_FORMULARIO");
		document.all.ordenado.options[4] = new Option("Título","TITULO_FORMULARIO");
		document.all.ordenado.selectedIndex = 1;
		}
		else if (document.all.chkJurisprudencia.checked==true)
		{
		
		document.all.ordenado.length=5;
		document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
		document.all.ordenado.options[1] = new Option("Ámbito Geo.","PROVINCIA_FORMULARIO");
		document.all.ordenado.options[2] = new Option("F. disposición","FECHARANGO_DATE");
		document.all.ordenado.options[3] = new Option("Organismo","ORGANISMO");
		document.all.ordenado.options[4] = new Option("Resumen","RESUMEN");
		document.all.ordenado.selectedIndex = 2;
		}
		else if (document.all.chkLegislacion.checked==true)
		{
		
		document.all.ordenado.length=6;
		document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
		document.all.ordenado.options[1] = new Option("F. disposición","FECHARANGO_DATE");
		document.all.ordenado.options[2] = new Option("F. publicación","FECHAPUBLICACION_DATE");
		document.all.ordenado.options[3] = new Option("Nº disposición","NUMPUBLICACION");
		document.all.ordenado.options[4] = new Option("Organismo","ORGANISMO");
		document.all.ordenado.options[5] = new Option("Resumen","RESUMEN");
		document.all.ordenado.selectedIndex = 2;		
		}
		else if (document.all.chkDirectorio.checked==true)
		{
		
		document.all.ordenado.length=5;
		document.all.ordenado.options[0] = new Option("Relevancia","Relevancia");
		document.all.ordenado.options[1] = new Option("CCAA","COMUNIDAD_FORMULARIO");
		document.all.ordenado.options[2] = new Option("Ciudad","CIUDAD_FORMULARIO");
		document.all.ordenado.options[3] = new Option("Nombre","NOMBRE_D");
		document.all.ordenado.options[4] = new Option("País","PAIS_FORMULARIO");
		document.all.ordenado.selectedIndex = 3;
		}
	}
	else
	{
		document.all.ordenado.length=1;
		document.all.ordenado.options[0] = Option("Relevancia","Relevancia","defauldSelected");
	}
	
	modo();	
}

function comprobarNum(num)
{
var numero = num.value;

	if (isNaN(numero) == true)
	{
		alert("Introduzca un número correcto");
		frmBusquedaAvan.txtNumDisposicion.focus();
	}
}

function remplazar(txt)
{

var texto = txt.value;
texto = texto.replace("'","''");
txt.value = texto;

}

function Validacion(fecha,tipo)
{

var fechaObj = new Array(); 
fechaObj = fecha.value



if (fechaObj.indexOf('-')> -1)
	{
	

	var fecha1;
	var fecha2;
	
	fechaObj = fechaObj.split("-");
	
	fecha1 = fechaObj[0];
	fecha2 = fechaObj[1];
	
	if (fecha1.length == 4 && fecha2.length == 4) {

		if (!isNaN(fecha1) && !isNaN(fecha2)) {				
			return true
		}
	}
		
				if (ValidarFecha(fecha1) == false)
				{
					alert("Introduce una fecha válida");
					if (tipo == "1")
						{
						
						frmBusquedaAvan.txtFechaDisposicion.focus();
						}
						else if (tipo == "3")
						{
						
						frmBusquedaAvan.txtFechaPublicacion.focus();
						}
						else if (tipo == "4")
						{
						
						frmBusquedaAvan.txtFechaActualizacion.focus();
						}												
						else
						{						
						frmBusquedaAvan.txtFechaModificacion.focus();
						}
				}
				else
				{
				
					if (ValidarFecha(fecha2) == false)
					{
						alert("Introduce una fecha válida");
						if (tipo == "1")
						{
					
						frmBusquedaAvan.txtFechaDisposicion.focus();
						}
						else if (tipo == "3")
						{
						
						frmBusquedaAvan.txtFechaPublicacion.focus();
						}
						else if (tipo == "4")
						{
						
						frmBusquedaAvan.txtFechaActualizacion.focus();
						}
						else
						{
						frmBusquedaAvan.txtFechaModificacion.focus();
						}
					}
				}	
	}
	else
		{
				if (ValidarFecha(fecha) == false)
				{
					alert("Introduce una fecha válida");
					if (tipo == "1")
					{
					//alert("1");
					frmBusquedaAvan.txtFechaDisposicion.focus();
					}
						else if (tipo == "3")
						{
						
						frmBusquedaAvan.txtFechaPublicacion.focus();
						}
						else if (tipo == "4")
						{
						
						frmBusquedaAvan.txtFechaActualizacion.focus();
						}
					else
					{
					frmBusquedaAvan.txtFechaModificacion.focus();
					}
				}
		}

}

function CEKeyPressNumerico ()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.returnValue = false;
		event.keyCode = "";
	}
}

function fncQuitarLetras(objTXT)
{
	if (objTXT != null)
	{
		var strValor = objTXT.value;
		var strCaracter = "";
		var Ascii = 0;
		var blnAnadir = true;
		var strCadenaRetorno = "";            

		if (strValor != "")
		{
			for (var i=0;i<strValor.length;i++)
			{
				blnAnadir = true;
				var strCaracter = strValor.substring(i,i+1);
				Ascii = strCaracter.charCodeAt(0);                                       

				if (Ascii < 48 || Ascii > 57)
				{
							blnAnadir = false;
				}

				if (blnAnadir) strCadenaRetorno = strCadenaRetorno + strCaracter;
			}

			objTXT.value = strCadenaRetorno;
		}
	}
}

function ValidarFecha(Objeto, Requerida, Avisar)

{


if (typeof Objeto != "string")
{

Objeto.value = Trim(Objeto.value);
lStrCadena = Objeto.value;
}
else
{
Objeto = Trim(Objeto);
lStrCadena = Objeto;
}


//if (strIdioma == "E")

var strIdioma = '<%= request.cookies("Idioma") %>';

if (strIdioma == "E")

{

            lIntFormato = 5;

}else{

            lIntFormato = 1;

}

lStrIdentificativo = "PRUEBA";

lBRequerido = false;

lBAvisar = false;

lStrMensaje = "La fecha no es válida.";



var varNumeros = "0123456789";

var varI;

var varSeparador = "";    //El separador que se ha introducido

var varNumSeparadores = 0;



var varFecha;

var varDia, varNumDia;

var varMes, varNumMes;

var varAnio, varNumAnio;

var varTemp;



//Asignar los valores por defecto a los parámetros

if (lBRequerido == null) lBRequerido = false;

if (lBAvisar == null) lBAvisar = false;

if (lStrMensaje == null) lStrMensaje = "La fecha no es válida";



if (lStrCadena.length == 6)

{

            lStrCadena = lStrCadena.substring(0,2) + "/" + lStrCadena.substring(2,4) + "/" + lStrCadena.substring(4,6);

            

}



//Si no es requerida se admite un valor vacio

if (lStrCadena == "" && lBRequerido == false)

            return true;



for (varI = 0; varI < lStrCadena.length; varI++)

{

            if (varNumeros.indexOf(lStrCadena.charAt(varI)) == -1)

            {

                        if (varSeparador == "")

                        {

                                    varSeparador = lStrCadena.charAt(varI);

                                    varNumSeparadores = 1;

                        }

                        else

                        {

                                    if (varSeparador != lStrCadena.charAt(varI))

                                    {

                                                if (lBAvisar)

                                                            window.alert(lStrMensaje);

                                                //eval ("document.all." + lStrIdentificativo + ".value = \"\"");

                                                return false;

                                    }

                                    else

                                                varNumSeparadores = varNumSeparadores + 1;

                        }
            }
}



            //Aquí la fecha consta de todo dígitos y puede llevar un tipo de separador



            //Hay que construir una fecha con separadores

            if (varNumSeparadores == 0)

            {

                        //Me han pasado una fecha sin separadores, introduzco los separadores segun el formato

                        if (lIntFormato==1 || lIntFormato==2 || lIntFormato==3 || lIntFormato==4 || lIntFormato== 6)

                            switch (lStrCadena.length)

                            {

                                                case 6: // ddmmyy mmddyy yymmdd

                                                            lStrCadena = lStrCadena.substr(0, 2) + "/" + lStrCadena.substr(2, 2) + "/" + lStrCadena.substr(4, 2);

                                                            break;

                                                case 7: //ddmmyyyy mmddyyyy

                                                            lStrCadena = lStrCadena.substr(0, 2) + "/" + lStrCadena.substr(2, 2) + "/" + lStrCadena.substr(4, 3);

                                                            break;

                                                case 8: // ddmmyyyy mmddyyyy

                                                            lStrCadena = lStrCadena.substr(0, 2) + "/" + lStrCadena.substr(2, 2) + "/" + lStrCadena.substr(4, 4);

                                                            break;

                                                default:

                                                            if (lBAvisar)       window.alert(lStrMensaje);

                                                            //eval ("document.all." + lStrIdentificativo + ".value = \"\"");

                                                            return false;

                            }

                        else if (lIntFormato==5)

                                    {

                                                lStrCadena = lStrCadena.substr(0, 4) + "/" + lStrCadena.substr(4, 2) + "/" + lStrCadena.substr(6, 2);

                                    }

                                    else

                                                {

                                                            if (lBAvisar)       window.alert(lStrMensaje);

                                                            //eval ("document.all." + lStrIdentificativo + ".value = \"\"");

                                                            return false;

                                                }

            }

            else

            {

                        if (varNumSeparadores != 2)

                        {

                                    if (lBAvisar)

                                                window.alert(lStrMensaje);

                                    //eval ("document.all." + lStrIdentificativo + ".value = \"\"");

                                    return false;

                        }

                        else //Cambiar el separador existente por /

                        {

                                    varTemp = lStrCadena.split(varSeparador);



                                    lStrCadena = varTemp[0] + "/" + varTemp[1] + "/" + varTemp[2];

                        }

            }



            //Tengo una fecha con dos separadores, se harán las correcciones

            //necesarias si se considera oportuno

            

            varTemp = lStrCadena.split("/");

            if (lIntFormato==1 || lIntFormato==2)

            {

                varDia = varTemp[0];

                varMes = varTemp[1];

                varAnio = varTemp[2];

            }

            else if (lIntFormato==3 || lIntFormato==4)

            {

                varMes = varTemp[0];

                varDia = varTemp[1];

                varAnio = varTemp[2];

            }

            else if (lIntFormato==5 || lIntFormato==6)

            {

                varAnio = varTemp[0];

                varMes = varTemp[1];

                varDia = varTemp[2];

            }

            



            if (varDia.substr(0, 1) == "0") varDia = varDia.substr(1, 1);

            if (varMes.substr(0, 1) == "0") varMes = varMes.substr(1, 1);

            

            

            varNumDia = parseInt(varDia,10);

            varNumMes = parseInt(varMes,10);

            varNumAnio = parseInt(varAnio,10);

            //alert(varAnio);

            

            if (varNumAnio < 29)

                        varNumAnio = varNumAnio + 2000;

            if (varNumAnio <= 99)

                        varNumAnio = varNumAnio + 1900;

            if (lIntFormato==1 || lIntFormato==3 || lIntFormato==5)

                        varAnio = varNumAnio;

            

            if (varAnio < 1000)

            { 

                        if (lBAvisar)

                                    window.alert(lStrMensaje);

                        return false;

            }

            

            varTemp = new Date(varNumAnio, varNumMes -1 , varNumDia);

            if (varTemp.getMonth() != (varNumMes - 1))

            {

                        if (lBAvisar)

                                    window.alert(lStrMensaje);

                        //eval ("document.all." + lStrIdentificativo + ".value = \"\"");

                        return false;

            }



            while(varDia.length < 2)

            {

                        varDia = "0" + varDia;

            }

            while(varMes.length < 2)

            {

                        varMes = "0" + varMes;

            }

            

            

            if (lIntFormato==1 || lIntFormato==2)

                        lStrCadena = varDia + "/" + varMes + "/" + varAnio;

            else if (lIntFormato==3 || lIntFormato==4)

                        lStrCadena = varMes + "/" + varDia + "/" + varAnio;

            else if (lIntFormato==5 || lIntFormato==6)

                        lStrCadena = varAnio + "/" + varMes + "/" + varDia;



            //eval ("document.all." + lStrIdentificativo + ".value = lStrCadena");
            
            
if (typeof Objeto != "String")
{
Objeto.value = lStrCadena;
}
else
{
Objeto = lStrCadena;
}
          



            return true;

}