/*Archivo que contiene las validaciones típicas que se realizan
en los formularios */


//--------------------------------
//Valida los datos de pasatiempos

function ComprobarPasatiempo(){
	if (document.form.accion.value=='baja'){
		if (confirm('¿Seguro que se desea dar de baja?')){
			return true;
		}else{
			return false;
		}
	}else{
		tmp = Trim(document.form.titulo.value);
		if (tmp == ""){
			alert('Debe ingresar el titulo del pasatiempo');
			document.form.titulo.focus();
			return false;
		}

		if (document.form.visible[0].checked){
			document.form.valor.value=1;
		}else{
			document.form.valor.value=2;
		}

		if (document.form.eliminar.checked){
			document.form.eliminar_fichero.value='si';
		}else{
			document.form.eliminar_fichero.value='no';
		}
	}
}

//------------------------------
//Valida los datos de novedades

function ComprobarNovedades(){

	if (document.form.accion.value=='baja'){
		if (confirm('¿Seguro que se desea dar de baja?')){
			return true;
		}else{
			return false;
		}
	}else{
		tmp = Trim(document.form.titulo.value);
		if (tmp == ""){
			alert('Debe ingresar el titulo de la novedad');
			document.form.titulo.focus();
			return false;
		}

		tmp = Trim(document.form.descripcion.value);
		if (tmp == ""){
			alert('Debe ingresar la descripcion de la novedad');
			document.form.descripcion.focus();
			return false;
		}

		if (document.form.visible[0].checked){
			document.form.valor.value=1;
		}else{
			document.form.valor.value=2;
		}

		if (document.form.eliminar.checked){
			document.form.eliminar_fichero.value='si';
		}else{
			document.form.eliminar_fichero.value='no';
		}
	}
}

/*
* Valida envio de correo en atencion usuario
*/

 function valida_envio_correo(){
	tmp = Trim(document.form2.asunto.value);
	if (tmp == ""){
		alert('Debe ingresar el asunto del mensaje');
		document.form2.asunto.focus();
		return false;
	}

	tmp = Trim(document.form2.mensaje.value);
	if (tmp == ""){
		alert('Debe ingresar el mensaje');
		document.form2.mensaje.focus();
		return false;
	}

	document.form2.submit();
 }

/*
* Funcion ceros izquierda
*/

function cerosIzq(sVal, nPos){
    var sRes = sVal;
    for (var i = sVal.length; i < nPos; i++)
     sRes = "0" + sRes;
    return sRes;
}

   function armaFecha(nDia, nMes, nAno){
    var sRes = cerosIzq(String(nDia), 2);
    sRes = sRes + "-" + cerosIzq(String(nMes), 2);
    sRes = sRes + "-" + cerosIzq(String(nAno), 4);
    return sRes;
   }

   function sumaMes(nDia, nMes, nAno, nSum){
    if (nSum >= 0){
     for (var i = 0; i < Math.abs(nSum); i++){
      if (nMes == 12){
       nMes = 1;
       nAno += 1;
      } else nMes += 1;
     }
    } else {
     for (var i = 0; i < Math.abs(nSum); i++){
      if (nMes == 1){
       nMes = 12;
       nAno -= 1;
      } else nMes -= 1;
     }
    }
    return armaFecha(nDia, nMes, nAno);
   }

   function esBisiesto(valor){
    var bRes = true;
    bRes = bRes && (valor % 4 == 0);
    bRes = bRes && (valor % 100 != 0);
    bRes = bRes || (valor % 400 == 0);
    return bRes;
   }

   function finMes(nMes, nAno){
    var nRes = 0;
    switch (nMes){
     case 1: nRes = 31; break;
     case 2: nRes = 28; break;
     case 3: nRes = 31; break;
     case 4: nRes = 30; break;
     case 5: nRes = 31; break;
     case 6: nRes = 30; break;
     case 7: nRes = 31; break;
     case 8: nRes = 31; break;
     case 9: nRes = 30; break;
     case 10: nRes = 31; break;
     case 11: nRes = 30; break;
     case 12: nRes = 31; break;
    }
    return nRes + (((nMes == 2) && esBisiesto(nAno))? 1: 0);
   }

   function diasDelAno(nAno){
    var nRes = 365;
//    	alert(esBisiesto(nAno)+"-"+nAno)
    if (esBisiesto(nAno)){
        nRes++;
       }
    return nRes;
   }

   function anosEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1){
    var nRes = Math.max(0, nAn1 - nAn0 - 1);
    if (nAn1 != nAn0)
     if ((nMe1 > nMe0) || ((nMe1 == nMe0) && (nDi1 >= nDi0)))
      nRes++;
    return nRes;
   }

   function mesesEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1){
    var nRes;
    if ((nMe1 < nMe0) || ((nMe1 == nMe0) && (nDi1 < nDi0))) nMe1 += 12;
    nRes = Math.max(0, nMe1 - nMe0 - 1);
    if ((nDi1 > nDi0) && (nMe1 != nMe0)) nRes++;
    return nRes;
   }

   function diasEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1){
    var nRes;
    if (nDi1 < nDi0) nDi1 += finMes(nMe0, nAn0);
    nRes = Math.max(0, nDi1 - nDi0);
    return nRes;
   }

   function mayorOIgual(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1){
    var bRes = false;
    bRes = bRes || (nAn1 > nAn0);
    bRes = bRes || ((nAn1 == nAn0) && (nMe1 > nMe0));
    bRes = bRes || ((nAn1 == nAn0) && (nMe1 == nMe0) && (nDi1 >= nDi0));
    return bRes;
   }

function calcula(fechanacimiento,fechasistema){
    var sFc0 = fechanacimiento; // Se asume válida
    var sFc1 = fechasistema; // Se asume válida
    var nDi0 = parseInt(sFc0.substr(8, 2), 10);
    var nMe0 = parseInt(sFc0.substr(5, 2), 10);
    var nAn0 = parseInt(sFc0.substr(0, 4), 10);
    var nDi1 = parseInt(sFc1.substr(8, 2), 10);
    var nMe1 = parseInt(sFc1.substr(5, 2), 10);
    var nAn1 = parseInt(sFc1.substr(0, 4), 10);

    if (mayorOIgual(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1)){
     var nAno = anosEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1);
     var nMes = mesesEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1);
     var nDia = diasEntre(nDi0, nMe0, nAn0, nDi1, nMe1, nAn1);
     var nTtM = nAno * 12 + nMes;
     var nTtD = nDia;
     for (var i = nAn0; i < nAn0 + nAno; i++) nTtD += diasDelAno(i);
     for (var j = nMe0; j < nMe0 + nMes; j++) nTtD += finMes(j, nAn1);
     var nTSS = Math.floor(nTtD / 7);
     var nTSD = nTtD % 7;
//     alert(String(nAno) + " años, " + String(nMes) + " meses, " + String(nDia) + " días");
 //    alert(String(nTtM) + " meses, " + String(nDia) + " días");
//    alert(String(nTtD) + " días");
  //   alert(String(nTSS) + " semanas, " + String(nTSD) + " días");
     return nTtD;
    } else alert("La fecha de nacimiento no puede ser mayo que la fecha de hoy");

}


function obtenerDigito(valor){
	valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
	control = 0;
	for (i=0; i<=9; i++)
	{
		control += parseInt(valor.charAt(i)) * valores[i];
	}
	control = 11 - (control % 11);

	if (control == 11) control = 0;
	else if (control == 10) control = 1;

	return control;
}




//Retorna: 1 = NIF ok, 2 = CIF ok, 3 = NIE ok, -1 = NIF error, -2 = CIF error, -3 = NIE error, 0 = ??? error
function valida_nif_cif_nie(a)
{
	var temp=a.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKE";

	if (temp!==''){
		//si no tiene un formato valido devuelve error
		if ((!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp)) && !/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			alert("El formato de NIF/CIF/NIE es incorrecto");
			return 0;
		}

		//comprobacion de NIFs estandar
		if (/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			posicion = a.substring(8,0) % 23;
			letra = cadenadni.charAt(posicion);
			var letradni=temp.charAt(8);
			if (letra == letradni)
			{
			   	return 1;
			}
			else
			{
				alert("El NIF es incorrecto");
				return -1;
			}
		}

		//algoritmo para comprobacion de codigos tipo CIF
		suma = parseInt(a.substring(2,3))+parseInt(a.substring(4,5))+parseInt(a.substring(6,7));
		for (i = 1; i < 8; i += 2)
		{
			temp1 = 2 * parseInt(a.substring(i,i+1));
			temp1 += '';
			temp1 = temp1.substring(0,1);
			temp2 = 2 * parseInt(a.substring(i,i+1));
			temp2 += '';
			temp2 = temp2.substring(1,2);
			if (temp2 == '')
			{
				temp2 = '0';
			}

			suma += (parseInt(temp1) + parseInt(temp2));
		}
		suma += '';
		n = 10 - parseInt(suma.substring(suma.length-1, suma.length));

		//comprobacion de NIFs especiales (se calculan como CIFs)
		if (/^[KLM]{1}/.test(temp))
		{
			if (a.substring(8,9) == String.fromCharCode(64 + n))
			{
				return 1;
			}
			else
			{
				alert("El NIF es incorrecto");
				return -1;
			}
		}

		//comprobacion de CIFs
		if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp))
		{
			temp = n + '';
			if (a.substring(8,9) == String.fromCharCode(64 + n) || a.substring(8,9) == parseInt(temp.substring(temp.length-1, temp.length)))
			{
				return 2;
			}
			else
			{
				alert("El CIF es incorrecto");
				return -2;
			}
		}

		//comprobacion de NIEs
		//T
		if (/^[T]{1}/.test(temp))
		{
			if (a.substring(8,9) == /^[T]{1}[A-Z0-9]{8}$/.test(temp))
			{
				return 3;
			}
			else
			{
				alert("El NIE es incorrecto");
				return -3;
			}
		}

		//XYZ
		if (/^[XYZ]{1}/.test(temp))
		{
			temp = temp.replace('X','0');
			temp = temp.replace('Y','1');
			temp = temp.replace('Z','2');
			pos= temp.substring(0, 8) % 23;
			if (a.substring(8,9) == cadenadni.substring(pos, pos + 1))
			{
				return 3;
			}
			else
			{
				alert("El NIE es incorrecto");
				return -3;
			}
		}
	}
	alert("El formato de NIF/CIF/NIE es incorrecto");
	return 0;
}

/***************Validacion de envio de correo*******************/

function validaEnvio(){
	tmp = Trim(document.form.mensaje.value);
	if (tmp == ""){
		alert('Debe introducir un mensaje');
		document.form.mensaje.focus();
		return false;
	}

	document.form.submit();
}

//*************Valida los campos del formulario contacto***************************

function valida_contacto(){

	tmp = Trim(document.form.nombre.value);
	if (tmp == ""){
		alert('Debe introducir su nombre');
		document.form.nombre.focus();
		return false;
	}

	tmp = Trim(document.form.apellido.value);
	if (tmp == ""){
		alert('Debe introducir su apellido');
		document.form.apellido.focus();
		return false;
	}

	tmp = Trim(document.form.correo.value);
	if (tmp == ""){
		alert ("Debe introducir su correo electronico");
		document.form.correo.focus();
		return false;
	}
	else{
		if (BuscaEspacios(tmp) == true){
			alert ("Su email no puede contener espacios en blanco");
			document.form.correo.focus();
			return false;
		}
		else{
			if (ValidarEMail(tmp) == false){
				alert ("Su email es incorrecto, vuelva a introducirlo.");
				document.form.correo.focus();
				return false;
			}
			else{
				document.form.correo.value = tmp;
			}
		}
	}

	tmp = Trim(document.form.consulta.value);
	if (tmp == ""){
		alert('Debe introducir su consulta');
		document.form.consulta.focus();
		return false;
	}

	document.form.submit();
}

//***************************************************************************************
//*************Valida los campos del formulario preinscripcion***************************
//***************************************************************************************
function valida_preinscripcion(){

	tmp = Trim(document.form.nombre.value);
	if (tmp == ""){
		alert('Debe introducir su nombre');
		document.form.nombre.focus();
		return false;
	}

	tmp = Trim(document.form.apellido1.value);
	if (tmp == ""){
		alert('Debe introducir su primer apellido');
		document.form.apellido1.focus();
		return false;
	}

	tmp = Trim(document.form.apellido2.value);
	if (tmp == ""){
		alert('Debe introducir su segundo apellido');
		document.form.apellido2.focus();
		return false;
	}

	tmp = Trim(document.form.telefono.value);
	if (tmp != ""){
 		if (BuscaEspacios(tmp) == true){
			alert ("El teléfono contiene caracteres no permitidos");
			document.form.telefono.focus();
			return false;
 		}
 		else{
	 		if (ValidaCharsNumericos(tmp) == true){
				alert ("El teléfono contiene caracteres no permitidos");
				document.form.telefono.focus();
				return false;
	 		}
	 		else{
	 			document.form.telefono.value = tmp;
	 		}
 		}
	}else{
		alert('Debe introducir su número de teléfono');
		document.form.telefono.focus();
		return false;
	}

	tmp = Trim(document.form.correo.value);
	if (tmp == ""){
		alert ("Debe introducir su correo electrónico");
		document.form.correo.focus();
		return false;
	}
	else{
		if (BuscaEspacios(tmp) == true){
			alert ("Su email no puede contener espacios en blanco");
			document.form.correo.focus();
			return false;
		}
		else{
			if (ValidarEMail(tmp) == false){
				alert ("Su email es incorrecto, vuelva a introducirlo.");
				document.form.correo.focus();
				return false;
			}
			else{
				document.form.correo.value = tmp;
			}
		}
	}

	if(document.form.option1.checked){
		document.form.option1.value='S';
	}else{
		document.form.option1.value='N';
	}

	if(document.form.option2.checked){
		document.form.option2.value='S';
	}else{
		document.form.option2.value='N';
	}

	if(document.form.option3.checked){
		document.form.option3.value='S';
	}else{
		document.form.option3.value='N';
	}

	tmp = Trim(document.form.provincia.value);
	if (tmp == -1){
		alert('Debe seleccionar una provincia');
		document.form.provincia.focus();
		return false;
	}

	tmp = Trim(document.form.nivel.value);
	if (tmp == -1){
		alert('Debe seleccionar el nivel del curso');
		document.form.nivel.focus();
		return false;
	}
	document.form.submit();
}

//***************************************************************************************
//*************Valida los campos del formulario pagos en entorno de administracion*******
//***************************************************************************************

function ComprobarFormularioPagos(){
	texto="Introduzca ";
	ok=false;
	for (i=0; i < document.form.length; i++){
		if (document.form.elements[i].type=="radio"){
			if (document.form.elements[i].checked){
				ok=true;
			}
		}
	}
	if (Trim(document.form.cantidad.value)==""){alert(texto+"Precio");document.form.cantidad.focus();return false;}
	if (Trim(document.form.fecha.value)==""){alert(texto+"Fecha");document.form.fecha.focus();return false;}
	if (!ok){alert("Seleccion una factura");return false;}
	document.form.submit();
}


function ComprobarFormularioRecordarUsuario(){
	texto="Introduzca ";
	if (Trim(document.form.num_matricula.value)==""){alert(texto+"Número de matrícula");document.form.num_matricula.focus();return false;}
	if (Trim(document.form.dia.value)==""){alert(texto+"Día de nacimiento");document.form.dia.focus();return false;}
	if (Trim(document.form.mes.value)==""){alert(texto+"Mes de nacimiento");document.form.mes.focus();return false;}
	if (Trim(document.form.anno.value)==""){alert(texto+"Año de nacimiento");document.form.anno.focus();return false;}
	if (Trim(document.form.nif.value)==""){alert(texto+"Nif/Cif");document.form.nif.focus();return false;}
	if (Trim(document.form.nif.value)!=""){
		if(valida_nif_cif_nie(document.form.nif.value)<1){
			document.form.nif.focus();
			return false;
		}
	}
	document.form.submit();
}

//***************************************************************************************
//*************Valida los campos del formulario de cambio de usuario y contraseña********
//***************************************************************************************

function ComprobarFormularioCambiarUsuario(){
	texto="Introduzca ";
	if (Trim(document.form.nombre_usuario.value)==""){alert(texto+"Nombre de usuario");document.form.nombre_usuario.focus();return false;}
	else{
		if (document.form.nombre_usuario.value.length<6){
			alert ("El nombre de usuario debe tener una longitud mínima de 6");
			document.form.nombre_usuario.focus();
			return false;
		}
	}
	if (Trim(document.form.contrasena.value)==""){alert(texto+"Contraseña");document.form.contrasena.focus();return false;}
	else{
		if (document.form.contrasena.value.length<6){
			alert ("La contraseña debe tener una longitud mínima de 6");
			document.form.contrasena.focus();
			return false;
		}
	}

	if (Trim(document.form.rcontrasena.value)==""){alert(texto+"Repetir Contraseña");document.form.rcontrasena.focus();return false;}
	if ((Trim(document.form.contrasena.value)!="") && (Trim(document.form.rcontrasena.value)!="")){
			if (Trim(document.form.contrasena.value)!= Trim(document.form.rcontrasena.value)){
			alert("La contraseña y su repetición no coinciden");
			document.form.contrasena.focus();
			return false;
			}
	}
	document.form.submit();
}

//***************************************************************************************
//*************Valida los campos del formulario matricula en entorno de administracion***
//***************************************************************************************

function ComprobarFormularioMatriculaAdmin(){
	texto="Introduzca ";
	if (Trim(document.form.nivel.value)==""){alert(texto+"Nivel");document.form.nivel.focus();return false;}
	if (Trim(document.form.estado.value)==""){alert(texto+"Estado");document.form.estado.focus();return false;}
	if (Trim(document.form.precio.value)==""){alert(texto+"Precio");document.form.precio.focus();return false;}
	if (Trim(document.form.forma_pago.value)==""){alert(texto+"Forma pago");document.form.forma_pago.focus();return false;}
	if (Trim(document.form.nif.value)!=""){
		if(valida_nif_cif_nie(document.form.nif.value)<1){
			document.form.nif.focus();
			return false;
		}
	}
	if (document.form.factura.checked==false){
		if (Trim(document.form.nif.value)==""){alert(texto+"NIF/CIF");document.form.nif.focus();return false;}
		//if (Trim(document.form.razon_social.value)==""){alert(texto+"Nombres y Apellidos/Razón Social");document.form.razon_social.focus();return false;}
		//if (Trim(document.form.direccion_factura.value)==""){alert(texto+"Dirección");document.form.direccion_factura.focus();return false;}
		//if (Trim(document.form.ciudad_factura.value)==""){alert(texto+"Ciudad");document.form.ciudad_factura.focus();return false;}
		//if (Trim(document.form.cod_postal_factura.value)==""){alert(texto+"Codigo postal");document.form.cod_postal_factura.focus();return false;}
		if (Trim(document.form.id_provincia_factura.value)==""){alert(texto+"Provincia");document.form.id_provincia_factura.focus();return false;}
		//if (Trim(document.form.direccion_completa.value)==""){alert(texto+"Direccion completa de facturacion");document.form.direccion_completa.focus();return false;}
	}
	document.form.submit();

}


//***************************************************************************************
//*************Valida los campos del formulario alumno en entorno de administracion******
//***************************************************************************************

function ComprobarFormularioAlumno(){
	console.log('hola');
	console.debug;
	if (document.form.accion.value=='baja'){
		if (confirm('¿Seguro que se desea dar de baja?')){
			return true;
		}else{
			return false;
		}
	}else{
		texto="Introduzca ";
		if (Trim(document.form.nombre.value)==""){alert(texto+"Nombre");document.form.nombre.focus();return false;}
		if (Trim(document.form.apellido1.value)==""){alert(texto+"Apellido1");document.form.apellido1.focus();return false;}
		if (Trim(document.form.apellido2.value)==""){alert(texto+"Apellido2");document.form.apellido2.focus();return false;}
		if (Trim(document.form.telefono.value)==""){alert(texto+"Teléfono");document.form.telefono.focus();return false;}
		else{
			if (ValidaCharsNumericos(document.form.telefono.value)){
				alert ("El teléfono contiene caracteres no permitidos");
				document.form.telefono.focus();
				return false;
			}
		}
		if (document.form.correo.value==""){alert(texto+"Correo electrónico");document.form.correo.focus();return false;}
		else{
				if (ValidarEMail(document.form.correo.value) == false){
					alert ("Su email es incorrecto, vuelva a introducirlo.");
					document.form.correo.focus();
					return false;
				}
		}
		if (Trim(document.form.nif.value)==""){alert(texto+"NIF/CIF");document.form.nif.focus();return false;}
		else{
			if(valida_nif_cif_nie(document.form.nif.value)<1){
				document.form.nif.focus();
				return false;
			}
		}

		if (Trim(document.form.fecha_nacimiento.value)==""){alert(texto+"Fecha de nacimiento");document.form.fecha_nacimiento.focus();return false;}

		if (Trim(document.form.direccion.value)==""){alert(texto+"Dirección");document.form.direccion.focus();return false;}
		if (Trim(document.form.ciudad.value)==""){alert(texto+"Ciudad");document.form.ciudad.focus();return false;}
		if (Trim(document.form.cod_postal.value)==""){alert(texto+"Código postal");document.form.cod_postal.focus();return false;}
		if (Trim(document.form.provincia.value)==""){alert(texto+"Provincia");document.form.provincia.focus();return false;}
		if (Trim(document.form.nombre_usuario.value)==""){alert(texto+"Nombre de usuario");document.form.nombre_usuario.focus();return false;}
		if (Trim(document.form.contrasena.value)==""){alert(texto+"Contraseña");document.form.contrasena.focus();return false;}
	}
}


//***************************************************************************************
//*************Valida los campos del formulario matriculación****************************
//***************************************************************************************
function ComprobarFormularioMatriculacion(){
	texto="Por favor, introduzca su ";
	if (Trim(document.form.nivel.value)==""){alert("Por favor, seleccione un nivel");document.form.nivel.focus();return false;}
	if (Trim(document.form.nombre.value)==""){alert(texto+"Nombre");document.form.nombre.focus();return false;}
	if (Trim(document.form.apellido1.value)==""){alert(texto+"Apellido1");document.form.apellido1.focus();return false;}
	if (Trim(document.form.apellido2.value)==""){alert(texto+"Apellido2");document.form.apellido2.focus();return false;}
	if (Trim(document.form.dia.value)==""){alert(texto+"Día de nacimiento");document.form.dia.focus();return false;}
	if (Trim(document.form.mes.value)==""){alert(texto+"Mes de nacimiento");document.form.mes.focus();return false;}
	if (Trim(document.form.anno.value)==""){alert(texto+"Año de nacimiento");document.form.anno.focus();return false;}
	if (Trim(document.form.dia.value)!="" && Trim(document.form.mes.value)!="" && Trim(document.form.anno.value)!="")
	{
		if (calcula(document.form.anno.value+"-"+document.form.mes.value+"-"+document.form.dia.value,document.form.fecha_servidor.value)<=6574){
			alert("Es menor de edad, para proceder a la matriculación contacte con nosotros en el teléfono +34914435172");
			return false;
		}
	}
	if (Trim(document.form.nif_alumno.value)==""){alert(texto+"NIF/CIF");document.form.nif_alumno.focus();return false;}
	else{
		if(valida_nif_cif_nie(document.form.nif_alumno.value)<1){
			document.form.nif_alumno.focus();
			return false;
		}
	}

	if (Trim(document.form.telefono.value)==""){alert(texto+"Teléfono");document.form.telefono.focus();return false;}
	else{
		if (ValidaCharsNumericos(document.form.telefono.value)){
			alert ("El teléfono contiene caracteres no permitidos");
			document.form.telefono.focus();
			return false;
		}
	}
	if (document.form.correo.value==""){alert(texto+"Correo electrónico");document.form.correo.focus();return false;}
	else{
			if (ValidarEMail(document.form.correo.value) == false){
				alert ("Su email es incorrecto, vuelva a introducirlo.");
				document.form.correo.focus();
				return false;
			}
	}

	if (Trim(document.form.direccion.value)==""){alert(texto+"Dirección");document.form.direccion.focus();return false;}
	if (Trim(document.form.ciudad.value)==""){alert(texto+"Ciudad");document.form.ciudad.focus();return false;}
	if (Trim(document.form.cod_postal.value)==""){alert(texto+"Código postal");document.form.cod_postal.focus();return false;}
	if (Trim(document.form.provincia.value)==""){alert(texto+"Provincia");document.form.provincia.focus();return false;}
	if (document.form.forma_pago[0].checked==false && document.form.forma_pago[1].checked==false && document.form.forma_pago[2].checked==false){
		alert(texto+"Forma de pago");return false;}
	else
		{if (document.form.forma_pago[2].checked){
			if (Trim(document.form.nombre_titular.value)==""){alert(texto+"Nombre titular de cuenta");document.form.nombre_titular.focus();return false;}
			if (Trim(document.form.apellidos_titular.value)==""){alert(texto+"Apellidos titular de cuenta");document.form.apellidos_titular.focus();return false;}
			if (Trim(document.form.banco.value)==""){alert(texto+"Banco");document.form.banco.focus();return false;}
			else{
				if (ValidaCharsNumericos(document.form.banco.value) || document.form.banco.value.length<4){
					alert ("El Banco debe ser un valor numérico de 4 dígitos");
					document.form.banco.focus();
					return false;
				}
			}
			if (Trim(document.form.oficina.value)==""){alert(texto+"Oficina");document.form.oficina.focus();return false;}
			else{
				if (ValidaCharsNumericos(document.form.oficina.value) || document.form.oficina.value.length<4){
					alert ("La oficina bancaria debe ser un valor numérico de 4 dígitos");
					document.form.oficina.focus();
					return false;
				}
			}
			if (Trim(document.form.dc.value)==""){alert(texto+"D.C.");document.form.dc.focus();return false;}
			else{
				if (ValidaCharsNumericos(document.form.dc.value) || document.form.dc.value.length<2){
					alert ("El D.C. debe ser un valor numérico de 2 dígitos");
					document.form.dc.focus();
					return false;
				}
			}
			if (Trim(document.form.n_cuenta.value)==""){alert(texto+"Número de Cuenta");document.form.n_cuenta.focus();return false;}
			else{
				if (ValidaCharsNumericos(document.form.n_cuenta.value) || document.form.n_cuenta.value.length<10){
					alert ("El Número de cuenta debe ser un valor numérico de 10 dígitos");
					document.form.n_cuenta.focus();
					return false;
				}
			}
			if (!(obtenerDigito("00" + document.form.banco.value + document.form.oficina.value) == parseInt(document.form.dc.value.charAt(0))) || !(obtenerDigito(document.form.n_cuenta.value) == parseInt(document.form.dc.value.charAt(1))))
				{
					alert("El dígito de control no es correcto. Por favor compruebe el Código Cuenta Corriente introducido.");
					document.form.banco.focus();
					return false;
				}

		}
	}



	if (!document.form.datos_factura.checked){
		if (Trim(document.form.nif.value)==""){alert(texto+"NIF/CIF");document.form.nif.focus();return false;}
		else{
			if(valida_nif_cif_nie(document.form.nif.value)<1){
				document.form.nif.focus();
				return false;
			}
		}

	if (Trim(document.form.razon_social.value)==""){alert(texto+"Nombre y apellidos/Razón Social");document.form.razon_social.focus();return false;}
	if (Trim(document.form.direccion_factura.value)==""){alert(texto+"Dirección de facturación");document.form.direccion_factura.focus();return false;}
	if (Trim(document.form.ciudad_factura.value)==""){alert(texto+"Ciudad de facturación");document.form.ciudad_factura.focus();return false;}
	if (Trim(document.form.cod_postal_factura.value)==""){alert(texto+"Código postal de facturación");document.form.cod_postal_factura.focus();return false;}
	if (Trim(document.form.id_provincia_factura.value)==""){alert(texto+"Provincia de facturación");document.form.id_provincia_factura.focus();return false;}

	}

	if (Trim(document.form.nombre_usuario.value)==""){alert(texto+"Nombre de usuario");document.form.nombre_usuario.focus();return false;}
	if (Trim(document.form.contrasena.value)==""){alert(texto+"Contraseña");document.form.contrasena.focus();return false;}
	if (Trim(document.form.rcontrasena.value)==""){alert(texto+"Repetir Contraseña");document.form.rcontrasena.focus();return false;}
	if ((Trim(document.form.contrasena.value)!="") && (Trim(document.form.rcontrasena.value)!="")){
			if (Trim(document.form.contrasena.value)!= Trim(document.form.rcontrasena.value)){
			alert("La contraseña y su repetición no coinciden");
			document.form.contrasena.focus();
			return false;
			}
	}
	if (document.form.condiciones.checked==false){alert("Para poder realizar la matriculación es necesaria la aceptación de las condiciones generales.");document.form.condiciones.focus();return false;}
	document.form.submit();
}

//***************************************************************************************
//*************Valida los campos del formulario matriculación****************************
//***************************************************************************************
function valida_acceso(obj){

	tmp = Trim(obj.nombre.value);
	if (tmp == ""){
		alert('Debe introducir su nombre');
		obj.nombre.focus();
		return false;
	}else{
		obj.nombre.value = tmp;
	}

	tmp = Trim(obj.contrasena.value);
	if (tmp == ""){
		alert('Debe introducir su contraseña');
		obj.contrasena.focus();
		return false;
	}else{
		obj.contrasena.value = tmp;
	}

	return true;

}

//***************************************************************************************
//*************Valida los campos del listado preinscritos****************************
//***************************************************************************************
function valida_listado(){

if (document.form.listado.value == 2){
	tmp = document.form.fecha2.value;
	fecha_actual = document.form.fecha_actual.value;
	if (tmp > fecha_actual){
		alert('La fecha tope es la actual');
		document.form.fecha2.focus();
		return false;
	}else{
		document.form.fecha2.value = tmp;
	}
}

	document.form.submit();
}

//***************************************************************************************
//*************Confirma submit y pasa valores a campo hidden*****************************
//***************************************************************************************
function pasaHidden()
{

	if (document.getElementById('_nivel').value == '1')
	{
		if (confirm('¿Desea ver el resultado?'))
		{
			for (i=1;i<=30;i++)
			{
				document.getElementById('hrespuesta_' + i).value = document.getElementById('respuesta_' + i).value;
				document.getElementById('respuesta_' + i).value = '';
			}
       		document.pre1.submit();
       	}
	}
	else
	{
		if (confirm('¿Desea ver el resultado?'))
		{
			for (i=31;i<=60;i++)
			{
				document.getElementById('hrespuesta_' + i).value = document.getElementById('respuesta_' + i).value;
				document.getElementById('respuesta_' + i).value = '';
			}
       		document.pre2.submit();
		}
	}
}


//*******************************************************************************************
//*******************************************************************************************

function validaDesconectar(){

	if (confirm('¿Desea desconectarse?')){
   		return true;
    }else{
		return false;
    }

}

//*******************************************************************************************
//*******************************************************************************************

function validaCambioPass(){

	/*tmp1 = Trim(document.form1.pass.value);
	tmp2 = Trim(document.form1.pass2.value);
	if (tmp1 != tmp2){
		alert('Ingrese bien su contraseña');
		document.form1.old_pass.focus();
		return false;
	}else{
		document.form1.pass.value = tmp1;
		document.form1.pass2.value = tmp2;
	}*/

	tmp = Trim(document.form1.old_pass.value);
	if (tmp == ""){
		alert('Debe ingresar su antigua contraseña');
		document.form1.old_pass.focus();
		return false;
	}else{
		document.form1.old_pass.value = tmp;
	}

	tmp = Trim(document.form1.new_pass1.value);
	if (tmp == ""){
		alert('Debe ingresar su nueva contraseña');
		document.form1.new_pass1.focus();
		return false;
	}else{
		document.form1.new_pass1.value = tmp;
	}

	tmp = Trim(document.form1.new_pass2.value);
	if (tmp == ""){
		alert('Debe repetir su nueva contraseña');
		document.form1.new_pass2.focus();
		return false;
	}else{
		document.form1.new_pass2.value = tmp;
	}

	tmp1 = Trim(document.form1.new_pass1.value);
	tmp2 = Trim(document.form1.new_pass2.value);
	if (tmp1 != tmp2){
		alert('Las contraseña de confirmación no coincide');
		document.form1.new_pass2.focus();
		return false;
	}else{
		document.form1.new_pass1.value = tmp1;
		document.form1.new_pass2.value = tmp2;
	}

	document.form1.submit();

}


//*************************Dar de baja*******************************************************
//*******************************************************************************************

function validaBaja(){

	if (confirm('¿Seguro que se desea dar de baja?')){
   		document.form2.submit();
    }else{
		return false;
    }
}

//*************************Dar de Alta a un alumno*******************************************
//*******************************************************************************************

function validaAlta(){

	if (confirm('¿Seguro que se desea dar de alta?')){
   		document.form2.submit();
    }else{
		return false;
    }
}
//*************************Valida Informe****************************************************
//*******************************************************************************************

function validaInforme(){

	/*if (!document.form1.tipo.checked){
		alert('Debe seleccionar tipo de listado');
		return false;
	}

	if (!document.form1.filtro.checked){
		alert('Debe seleccionar filtro de listado');
		return false;
	}

	if (!document.form1.orden.checked){
		alert('Debe seleccionar orden de listado');
		return false;
	}*/

	document.form1.submit();
}

//*************************Valida Respuesta evaluacion****************************************************
//*******************************************************************************************

function validaResp(){
		if (confirm('¿Desea enviar sus respuestas?'))
		{
			/*for (i=1;i<=30;i++)
			{
				document.getElementById('hrespuesta_' + i).value = document.getElementById('respuesta_' + i).value;
				document.getElementById('respuesta_' + i).value = '';
			}*/
			document.pre1.submit();
       	}
}
function $(x) { return document.getElementById(x); }


//***************************************************************************************
//*************Valida los campos del formulario alumno en modificacion de datos ********
//***************************************************************************************
function ComprobarFormularioAlumnoModificar(){
	texto="Introduzca ";
	if (Trim(document.getElementById('telefono').value)==""){
		alert(texto+"Teléfono");
		document.getElementById('telefono').focus();
		return false;
	}else{
		if (ValidaCharsNumericos(document.getElementById('telefono').value)){
			alert ("El teléfono contiene caracteres no permitidos");
			document.getElementById('telefono').focus();
			return false;
		}
	}

	if (document.getElementById('correo').value==""){
		alert(texto+"Correo electrónico");
		document.getElementById('correo').focus();
		return false;}
	else{
		if (ValidarEMail(document.getElementById('correo').value) == false){
			alert ("Su email es incorrecto, vuelva a introducirlo.");
			document.getElementById('correo').focus();
			return false;
		}
	}

	if (Trim(document.getElementById('nombre_usuario').value)==""){
		alert(texto+"Nombre de usuario");
		document.getElementById('nombre_usuario').focus();
		return false;
	}

	document.form.submit();
}


/*
 * Valida que esten respondidas todas las preguntas de la evaluacion
 */

function ValidaEvaluacion(){
	for (i=1;i<=30;i++)
	{
		if (Trim(document.getElementById('respuesta_' + i).value)==""){
			alert('Debe responder todas las preguntas antes de evaluar');
			$('respuesta_' + i).focus();
			return false;
		}
	}
}

/***************/

function abrirInforme(inf,formulario,tipo){
	if(tipo=='popup'){
		pagina = 'inf_general.php?informe='+inf+'&tipo='+tipo+'&dias='+formulario.dias.value
		window.open( pagina ,'window','params,scrollbars=yes,width=820');
	}
	if(tipo=='excel'){
		formulario.action= 'inf_general.php?informe='+inf+'&tipo='+tipo+'&dias='+formulario.dias.value;
		formulario.submit();
	}
}

function abrirInforme2(inf,formulario,tipo){
	if(tipo=='popup'){
		pagina = 'inf_general_total.php?informe='+inf+'&tipo='+tipo+'&fecha_desde='+formulario.fecha1.value+'&fecha_hasta='+formulario.fecha2.value
		window.open( pagina ,'window','params,scrollbars=yes,width=820');
	}
	if(tipo=='excel'){
		formulario.action= 'inf_general_total.php?informe='+inf+'&tipo='+tipo+'&fecha_desde='+formulario.fecha1.value+'&fecha_hasta='+formulario.fecha2.value;
		formulario.submit();
	}
}

function abrirPaginado(inf,formulario){
	formulario.action= 'inf_paginado.php?informe='+inf+'&dias='+formulario.dias.value;
	formulario.submit();
}

function test(detalle){
	document.form_test.action=detalle;
	document.form_test.submit();
}

function video(detalle){
	document.form_video.action=detalle;
	document.form_video.submit();
}

function radio(detalle){
	document.form_radio.action=detalle;
	document.form_radio.submit();
}

function baja(detalle){
	document.form_baja.action=detalle;
	document.form_baja.submit();
}