function compruebaDatos(){
	var formulario;
	if (ie || document.getElementById)	{
	   formulario = document.forms['busquedaAvanzada'];	   
	}else{
       formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	}
	if (esVacia(formulario["PALABRAS"].value)) {

		 alert("El campo palabras de búsqueda está vacío");	

		 formulario['PALABRAS'].focus();

	}else if (caracterExtrano(formulario["PALABRAS"].value)) {
		 alert("La palabra a buscar contiene caracteres extraños"); 
	}else if(!algunaCategoriaSeleccionada() && !todasCategoriasSeleccionadas()){

		 alert("No se ha seleccionado ninguna categoria de búsqueda"); 	

		 formulario.SELECCION_CATEGORIA.focus();

	}else if(!algunContenidoSeleccionado() && !todosContenidosSeleccionados()){

		 alert("No se ha seleccionado ningún contenido");

		 formulario.SELECCION_CATEGORIA.focus();

	}else{

	    var indice = formulario["TIPO_FECHA"].selectedIndex;

		var opcion = formulario["TIPO_FECHA"][indice].value;

		if(opcion != 3 || fechasCorrectas()){

		/** CÓDIGO LIMITACIÓN BUSQUEDA */
			reducirCadenaBusqAvanzada();
		/** FIN CÓDIGO LIMITACIÓN BUSQUEDA */

		  formulario.action= "creacion_parametros.jsp";

		  formulario.submit();

		}

	}

}

function reducirCadenaBusqAvanzada() {
	var nombreForm;
	if (ie || document.getElementById)	{
	   nombreForm = document.forms['busquedaAvanzada'];	   
	}else{
       nombreForm = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	}
	var cadenaOriginal = nombreForm.PALABRAS.value;
	var posEspacio = nombreForm.PALABRAS.value.indexOf(" ");
	var numEspacios = 0;
	var cadenaFinal = "";
	while (posEspacio != -1 && numEspacios < 4) {
		numEspacios++;
		var longitud = nombreForm.PALABRAS.value.length;
		var nueva = nombreForm.PALABRAS.value.substring(posEspacio+1, longitud);
		cadenaFinal = cadenaFinal + " " + nombreForm.PALABRAS.value.substring(0, posEspacio);
	   	nombreForm.PALABRAS.value = nueva;
		posEspacio = nombreForm.PALABRAS.value.indexOf(" ");
			//alert(nombreForm.PALABRAS.value);
	}
	if (numEspacios == 4) {
	   nombreForm.PALABRAS.value = cadenaFinal;	
	}else {
	   nombreForm.PALABRAS.value = cadenaOriginal;	
	}
}

function algunaCategoriaSeleccionada(){
	var formulario;
	if (ie || document.getElementById)	{
	   formulario = document.forms['busquedaAvanzada'];	   
	}else{
       formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	}
	var arrayCat =formulario["CATEGORIA"];
	for(indice = 0; indice < arrayCat.length; indice++) {
       if(arrayCat[indice].checked) {
		return true;
	   }
	}
	return false;
}

function todasCategoriasSeleccionadas() {
    var formulario;
	if (ie || document.getElementById)	{
	   formulario = document.forms['busquedaAvanzada'];	   
	}else{
       formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	}
    return formulario.SELECCION_CATEGORIA.value == "Todas_categorias";
}

function algunContenidoSeleccionado() {
     var formulario;
	 if (ie || document.getElementById)	{
	    formulario = document.forms['busquedaAvanzada'];	   
	 }else{
        formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	 }
	 var arrayCont =formulario["TIPO_CONTENIDO"];
	 for(indice = 0; indice < arrayCont.length; indice++) {
  	    if(arrayCont[indice].checked) {
  		  return true;
		}
	 }
	return false;
}

function todosContenidosSeleccionados() {
  var formulario;
  if (ie || document.getElementById)	{
     formulario = document.forms['busquedaAvanzada'];	   
  }else{
     formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
  }
  return formulario.CONTENIDO.value== "Todos_Contenidos";
}


function fechasCorrectas() {
   var formulario;
   if (ie || document.getElementById)	{
     formulario = document.forms['busquedaAvanzada'];	   
   }else{
     formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
   }
   if(fechasIntroducidas() && fechasNumericas()) {
	   var diaIni = parseInt(formulario.DIA_INICIO.value);	
	   var mesIni = parseInt(formulario.MES_INICIO.value);
	   var annoIni = parseInt(formulario.ANNO_INICIO.value);
	   var diaFin = parseInt(formulario.DIA_FIN.value);	
	   var mesFin = parseInt(formulario.MES_FIN.value);
	   var annoFin = parseInt(formulario.ANNO_FIN.value);

		//comprobamos que la fecha de inicio es correcta
	   if(!annoCorrecto(annoIni)) {
 	     alert("Año de la fecha de inicio incorrecto");
 		 formulario.ANNO_INICIO.focus();
 		 return false;
	   }
	   if(!mesCorrecto(mesIni)) {
 	     alert("Mes de la fecha de inicio incorrecto");
 		 formulario.MES_INICIO.focus();
		 return false;
	   }

	   if(!diaCorrecto(diaIni,mesIni,annoIni)) {
	     alert("Día de la fecha de inicio incorrecto");
 		 formulario.DIA_INICIO.focus();
		 return false;
	   }

 	   //comprobamos que la fecha de finalización es correcta
	   if(!annoCorrecto(annoFin)) {
 	     alert("Año de la fecha de fin incorrecto");
 		 formulario.ANNO_FIN.focus();
		 return false;
	   }

	   if(!mesCorrecto(mesFin)) {
 	     alert("Mes de la fecha de fin incorrecto");
		 formulario.MES_FIN.focus();
 		 return false;
	   }
	   if(!diaCorrecto(diaFin,mesFin,annoFin)) {
 	     alert("Día de la fecha de fin incorrecto");
 		 formulario.DIA_FIN.focus();
 		 return false;
	   }

	   //fecha de inicio menor que la fecha de finalización
	   if(annoIni> annoFin || (annoIni == annoFin && mesIni>mesFin) || (annoIni == annoFin && mesIni==mesFin && diaIni>diaFin)) {
   	     alert("La fecha de inicio debe ser anterior a la fecha de finalización");
 		 formulario.ANNO_INICIO.focus();
 		 return false;
	   }
	   return true;
	}
    return false;	
}

function fechasNumericas() {
    var formulario;
    if (ie || document.getElementById)	{
      formulario = document.forms['busquedaAvanzada'];	   
    }else{
      formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
    }
	 if(isNaN(formulario.DIA_INICIO.value)) {
	    alert("Día de la fecha de inicio no es numérico");
		formulario.DIA_INICIO.focus();
		return false;
	 }
 	 
	 if(isNaN(formulario.MES_INICIO.value)) {
       alert("Mes de la fecha de inicio no es numérico");
       formulario.MES_INICIO.focus();
   	   return false;
	 }
	 if(isNaN(formulario.ANNO_INICIO.value)) {
       alert("Año de la fecha de inicio no es numérico");
       formulario.ANNO_INICIO.focus();
       return false;
	 }

	 if(isNaN(formulario.DIA_FIN.value)) {
       alert("Día de la fecha de fin no es numérico");
   	   formulario.DIA_FIN.focus();
 	   return false;
	 }

	 if(isNaN(formulario.MES_FIN.value)) {
       alert("Mes de la fecha de fin no es numérico");
 	   formulario.MES_FIN.focus();
       return false;
 	 }
	 if(isNaN(formulario.ANNO_FIN.value)) {
       alert("Año de la fecha de fin no es numérico");
 	   formulario.ANNO_FIN.focus();
	   return false;
	 }
	return true;
}


function fechasIntroducidas() {
     var formulario;
	 if (ie || document.getElementById)	{
	    formulario = document.forms['busquedaAvanzada'];	   
	 }else{
        formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
 	 }
	if(formulario.DIA_INICIO.value=="") {
       alert("Día de la fecha de inicio no introducido");
 	   formulario.DIA_INICIO.focus();
	   return false;
	}
	if(formulario.MES_INICIO.value=="") {
      alert("Mes de la fecha de inicio no introducido");
      formulario.MES_INICIO.focus();
	  return false;
	}
	if(formulario.ANNO_INICIO.value=="") {
      alert("Año de la fecha de inicio no introducido");
	  formulario.ANNO_INICIO.focus();
	  return false;
	}
	if(formulario.DIA_FIN.value=="") {
      alert("Día de la fecha de fin no introducido");
 	  formulario.DIA_FIN.focus();
 	  return false;
	}

    if(formulario.MES_FIN.value=="") {
      alert("Mes de la fecha de fin no introducido");
 	  formulario.MES_FIN.focus();
	  return false;
	}
	if(formulario.ANNO_FIN.value=="") {
      alert("Año de la fecha de fin no introducido");
	  formulario.ANNO_FIN.focus();
	  return false;
	}
	return true;
}

function diaCorrecto(dia,mes,anno) {
   //día incorrecto
   if ( dia >31 ||
		dia<1   ||
       (dia > 30 && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) || 
	   (dia > 29 && mes == 2 ) ||
	   (dia > 28 && mes == 2 && anno%4 != 0)) {
	   return false;
	}
	return true;
}

function mesCorrecto(mes) {
	return mes>0 && mes<13;
}

function annoCorrecto(anno) {
	return anno>0;
}

function ponerContenidosEstado(estado) {
  var formulario;
  if (ie || document.getElementById)	{
    formulario = document.forms['busquedaAvanzada'];	   
  }else{
     formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
  }
  var arrayCont = formulario["TIPO_CONTENIDO"];
  for (indice = 0; indice < arrayCont.length; indice++) {
      arrayCont[indice].checked = estado;
  }
}

function ponerCategoriasEstado(estado) {
  var formulario;
  if (ie || document.getElementById)	{
     formulario = document.forms['busquedaAvanzada'];	   
  }else{
     formulario = document.layers.busqcentro.document.forms.busquedaAvanzada ;
  }  
  var arrayCont =formulario["CATEGORIA"];
  for (indice = 0; indice < arrayCont.length; indice++) {
      arrayCont[indice].checked = estado;
  }

}
