/*******************************
*******************************/

function foco(elemento) {
elemento.style.border = "1px solid #24D200";
}

function no_foco(elemento) {
elemento.style.border = "1px solid #CCCCCC";
}

/*******************************
*******************************/

var VentanaPopUp=0;

function ventana(URL,ancho, alto)
{
	izda=(screen.width-ancho)/2;
	arriba=(screen.height-alto)/2;
  if(VentanaPopUp)
  {
    if(!VentanaPopUp.closed) VentanaPopUp.close();
  }
  VentanaPopUp = open(URL, 'popUpWin', 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+ancho+',height='+alto+',left='+izda+', top='+arriba+',screenX='+izda+',screenY='+arriba+'');
}
function ventana_condiciones(URL,ancho,alto){
	izda=(screen.width-ancho)/2;
	arriba=(screen.height-alto)/2;
  if(VentanaPopUp)
  {
    if(!VentanaPopUp.closed) VentanaPopUp.close();
  }
  VentanaPopUp = open(URL, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+ancho+',height='+alto+',left='+izda+', top='+arriba+',screenX='+izda+',screenY='+arriba+'');
}




/*******************************
 Validaci�n del nif. Por Carlitos. [email]carlosbernad@teleline.es[/email]
 Si usas este script, deja intactas estas l�neas (cr�ditos). Vale?
 Tambi�n te agradecer�a un e-mail con tus comentarios.
*******************************/
	
	function nif_valido(nif){
		var i;
		var abc;
		abc='';
		for (i=0;i<nif.length;i++){
			if (nif.charAt(i)!=0 || abc.length>0){
				abc=abc+nif.charAt(i);
			}
		}
//		abc=nif
		var prim=abc.charAt(0);
		if (!isNaN(prim)){
		}
		else{
		 dni=abc.substring(1,abc.length);
		 abc=dni;
		}
		dni=abc.substring(0,abc.length-1)
		let=abc.charAt(abc.length-1)
		if (!isNaN(let)){
			alert('Completa el nif. Falta la letra')
			document.formulario_registro.nif.focus()
			return false
		}
		else{
			cadena="TRWAGMYFPDXBNJZSQVHLCKET"
			posicion = dni % 23
			letra = cadena.substring(posicion,posicion+1)
			if (letra!=let.toUpperCase()){
				alert("Nif no valido")
				document.formulario_registro.nif.focus()
				return false
			}
		}
		return true;
	}

    function validarCIF(texto){
        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;
        
        texto = texto.toUpperCase();
        
        var regular =/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g;
         if (!regular.exec(texto)) return false;
             
         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
         
         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;
         
         if ((ultima == unumero) || (ultima == uletra[unumero])){
             return true;
            }
         else{
             return false;
            }
		}  	

	
	function validar_email(valor) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
			return (true)
		} else {
			return (false);
		}
	}


//validacion de fecha
	function bisiesto(anio){
		if (anio%4!=0) return false; // si el año no es divisible por 4 no es bisiesto
		else{
			if (anio%100==0){
				if (anio%400==0) return true; // si es divisible por 4, por 100 y por 400 es bisiesto
				else{
					return false;
				}
			}
			return true; //si el año es divisible por 4 y no lo es por 100 es bisiesto
		}
 	}//bisiesto
	
	function dias_mes(mes,anio){
		//esta funcion nos devuelve el numero de dias que tiene el mes del año indicado
		if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
			return 31;
		}
		else{
			if (mes==2) {
				if (bisiesto(anio)) return 29;// es bisiesto
				else return 28;
			}
			else return 30;
		}
	}//funcion dias_mes

	function fecha_valida(dia,mes,anio){
		//comenzamos por comprobar el año
		if (anio>1900){
			if (mes>=1 && mes<=12){
				//ahora tenemos que comprobar si el dia es valido en funcion del mes
				var total_dias=dias_mes(mes,anio);
				if (dia>=1 && dia<=total_dias) return true;
				else return false;
			}
			else return false;
		}
		else return false;
	}//fecha_valida

	function consejeria(campo,valor){
		var cadena=valor.toLowerCase();
		var pos=cadena.indexOf('consejeria',0);
		var pos1=cadena.indexOf('consejero',0);
		var pos2=cadena.indexOf('consejera',0);
		if (pos>=0 || pos1>=0 || pos2>=0){
			switch (campo){
				case 'Nombre': 		alert("Nombre no valido");
									document.formulario_registro.nombre.focus();
									break;
				case 'Apellido1': 	alert("Apellido no valido");
									document.formulario_registro.apellido1.focus();
							    	break;
				case 'Apellido2': 	alert("Apellido no valido");
									document.formulario_registro.apellido2.focus();
									break;
				default:			break;
			}
			return false;
		}
		else return true;
	}

	function punto(campo,valor){
		var cadena='';
		for (i=0;i<valor.length;i++){
			var caracter=valor[i];
			if (caracter=='.') {
				if (cadena.length>0) cadena=cadena+" ";
			}
			else{
				cadena=cadena+caracter;
			}
		}
		if (cadena.length==0){
			switch (campo){
				case 'Nombre': 		alert("Nombre no valido. \n Debes indicar un nombre valido");
									document.formulario_registro.nombre.focus();
									break;
				case 'Apellido1': 	alert("Apellido1 no valido. \n Debes indicar un apellido valido");
									document.formulario_registro.apellido1.focus();
							    	break;
				case 'Apellido2': 	alert("Apellido2 no valido. \n Debes indicar un apellido valido");
									document.formulario_registro.apellido2.focus();
									break;
				default:			break;
			}
			return false;
		}
		return true;
	
	}


	function validar(){
		//comprobamos si el nombre o los apellidos tiene la palabra consejeria, consejero o consejera
		if (!consejeria('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!consejeria('Apellido1', document.formulario_registro.apellido1.value)) return false;
		if (!consejeria('Apellido2', document.formulario_registro.apellido2.value)) return false;

		//comprobamos que el nombre y los apellidos no sean solo .
		if (!punto('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!punto('Apellido1',document.formulario_registro.apellido1.value)) return false;
		if (document.formulario_registro.apellido2.value.length>0 && !punto('Apellido2',document.formulario_registro.apellido2.focus())) return false;

		//validamos primero los datos personales del usuario
		if (document.formulario_registro.nombre.value.length==0){
			alert("Debe completar el nombre");
			document.formulario_registro.nombre.focus();
			return false;
		}
		if (document.formulario_registro.apellido1.value.length==0){
			alert("Debe completar los apellidos");
			document.formulario_registro.apellido1.focus();
			return false;
		}
		if (document.formulario_registro.nif.value.length==0){
			alert("Debe introducir el NIF");
			document.formulario_registro.nif.focus();
			return false;
		}
		else {
			if (!nif_valido(document.formulario_registro.nif.value)){
				document.formulario_registro.nif.focus();
				return false;
			}
		}
		//comprobamos la fecha
		if (!fecha_valida(document.formulario_registro.dia.value,document.formulario_registro.mes.value,document.formulario_registro.anio.value)){
			alert("Debe introducir una fecha valida");
			document.formulario_registro.dia.focus();
			return false;
		}		
		
		if (document.formulario_registro.comunidad[1].checked==true){
			//establecemos a 0 la zona y la casa
			document.formulario_registro.zona.value=0;
			document.formulario_registro.casas.value=0;
			//tiene que tener el cp y la provincia rellenos
			if (document.formulario_registro.cp.value.length==0){
				alert("Debe completar el codigo postal");
				document.formulario_registro.cp.focus();
				return false;
			}
			if (document.formulario_registro.provincia.value==0){
				alert("Elige la provincia");
				document.formulario_registro.provincia.focus();
				return false;
			}
		}
		else{
			//establecemos a 0 el cp y la provincia para evitar problemas si ha escrito algo antes
			document.formulario_registro.cp.value=0;
			document.formulario_registro.provincia.value=0;
			//tiene que elegir zona y casas
			if (document.formulario_registro.zona.value==0){
				alert("Debes elegir la zona a la que pertenece tu comunidad");
				document.formulario_registro.zona.focus();
				return false;
			}
			if (document.formulario_registro.casas.value==0){
				alert("Elige la Casa de Extremadura a la que perteneces");
				document.formulario_registro.casas.focus();
				return false;
			}
		}
		
		//comprobamos ahora los datos de la cuenta
		//comprobamos si tiene alguna @ la cuenta elegida
/*		if (!validar_email(document.formulario_registro.usuario.value)){
			alert("Email "+document.formulario_registro.usuario.value+" no es valido");
			document.formulario_registro.usuario.focus();
			return false;
		}*/
		if (document.formulario_registro.pass.value!=document.formulario_registro.pass2.value){
			alert("Las contraseñas no coinciden");
			document.formulario_registro.pass2.focus();
			return false;
		}
		else{
			if (document.formulario_registro.pass.value.length<6){
				//las contraseñas son iguales pero tienen menos de 6 caracteres
				alert("La contaseña debe tener al menos 6 caracteres");
				document.formulario_registro.pass.focus();
				return false;
			}
		}
		if (!document.formulario_registro.acepto.checked){
			alert("Es necesario aceptar las condiciones de uso para continuar");
			document.formulario_registro.acepto.focus();
			return false;
		}
		//queda comprobar la pregunta - respuesta
		if (document.formulario_registro.pregunta.value.length==0){
			alert("Debes introducir una pregunta que el sistema te hara para verificar tu identidad si olvidas tu contraseña");
			document.formulario_registro.pregunta.focus();
			return false;
		}
		if (document.formulario_registro.respuesta.value.length==0){
			alert("Debes introducir la respuesta a la pregunta para que el sistema pueda comprobar tu identidad en caso necesario");
			document.formulario_registro.respuesta.focus();
			return false;
		}
/*		if (document.formulario_registro.cod_aleatorio.value!=document.formulario_registro.texto_aleatorio.value){
			alert("El codigo no es correcto");
			document.formulario_registro.texto_aleatorio.focus();
			return false;
		}*/
		//desactivamos el boton de enviar para que no lo envien dos veces
		document.formulario_registro.continuar.disabled="disabled";
		return true;
	}
	
	function validar_tutor(){
		//comprobamos si el nombre o los apellidos tiene la palabra consejeria, consejero o consejera
		if (!consejeria('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!consejeria('Apellido1', document.formulario_registro.apellido1.value)) return false;
		if (!consejeria('Apellido2', document.formulario_registro.apellido2.value)) return false;

		//comprobamos que el nombre y los apellidos no sean solo .
		if (!punto('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!punto('Apellido1',document.formulario_registro.apellido1.value)) return false;
		if (document.formulario_registro.apellido2.value.length>0 && !punto('Apellido2',document.formulario_registro.apellido2.focus())) return false;
		
		//validamos primero los datos personales del usuario
		if (document.formulario_registro.nombre.value.length==0){
			alert("Debe completar el nombre");
			document.formulario_registro.nombre.focus();
			return false;
		}
		if (document.formulario_registro.apellido1.value.length==0){
			alert("Debe completar los apellidos");
			document.formulario_registro.apellido1.focus();
			return false;
		}
		if (document.formulario_registro.comunidad[1].checked==true){
			//establecemos a 0 la zona y la casa
			document.formulario_registro.zona.value=0;
			document.formulario_registro.casas.value=0;
			//tiene que tener el cp y la provincia rellenos
			if (document.formulario_registro.cp.value.length==0){
				alert("Debe completar el codigo postal");
				document.formulario_registro.cp.focus();
				return false;
			}
			if (document.formulario_registro.provincia.value==0){
				alert("Elige la provincia");
				document.formulario_registro.provincia.focus();
				return false;
			}
		}
		else{
			//establecemos a 0 el cp y la provincia para evitar problemas si ha escrito algo antes
			document.formulario_registro.cp.value=0;
			document.formulario_registro.provincia.value=0;
			//tiene que elegir zona y casas
			if (document.formulario_registro.zona.value==0){
				alert("Debes elegir la zona a la que pertenece tu comunidad");
				document.formulario_registro.zona.focus();
				return false;
			}
			if (document.formulario_registro.casas.value==0){
				alert("Elige la Casa de Extremadura a la que perteneces");
				document.formulario_registro.casas.focus();
				return false;
			}
		}
		//datos del padre madre o tutor
		if (document.formulario_registro.nif.value.length==0){
			alert("Debe introducir el NIF");
			document.formulario_registro.nif.focus();
			return false;
		}
		else {
			if (!nif_valido(document.formulario_registro.nif.value)){
				document.formulario_registro.nif.focus();
				return false;
			}
		}
		
		//comprobamos la fecha
		if (!fecha_valida(document.formulario_registro.dia.value,document.formulario_registro.mes.value,document.formulario_registro.anio.value)){
			alert("Debe introducir una fecha valida");
			document.formulario_registro.dia.focus();
			return false;
		}		
		
		if (document.formulario_registro.login.value.length==0){
			alert("Debe introducir el email del padre, madre o tutor");
			document.formulario_registro.login.focus();
			return false;
		}
		if (document.formulario_registro.pass_tutor.value.length==0){
			alert("Debe introducir la contraseña de su cuenta de correo");
			document.formulario_registro.pass_tutor.focus();
			return false;
		}
		
		//comprobamos ahora los datos de la cuenta
		//comprobamos si tiene alguna @ la cuenta elegida
/*		if (!validar_email(document.formulario_registro.usuario.value)){
			alert("Email "+document.formulario_registro.usuario.value+" no es valido");
			document.formulario_registro.usuario.focus();
			return false;
		}*/
		if (document.formulario_registro.pass.value!=document.formulario_registro.pass2.value){
			alert("Las contraseñas no coinciden");
			document.formulario_registro.pass2.focus();
			return false;
		}
		else{
			if (document.formulario_registro.pass.value.length<6){
				//las contraseñas son iguales pero tienen menos de 6 caracteres
				alert("La contaseña debe tener al menos 6 caracteres");
				document.formulario_registro.pass.focus();
				return false;
			}
		}
		if (!document.formulario_registro.acepto.checked){
			alert("Es necesario aceptar las condiciones de uso para continuar");
			document.formulario_registro.acepto.focus();
			return false;
		}
		//queda comprobar la pregunta - respuesta
		if (document.formulario_registro.pregunta.value.length==0){
			alert("Debes introducir una pregunta que el sistema te hara para verificar tu identidad si olvidas tu contraseña");
			document.formulario_registro.pregunta.focus();
			return false;
		}
		if (document.formulario_registro.respuesta.value.length==0){
			alert("Debes introducir la respuesta a la pregunta para que el sistema pueda comprobar tu identidad en caso necesario");
			document.formulario_registro.respuesta.focus();
			return false;
		}
/*		if (document.formulario_registro.cod_aleatorio.value!=document.formulario_registro.texto_aleatorio.value){
			alert("El codigo no es correcto");
			document.formulario_registro.texto_aleatorio.focus();
			return false;
		}*/
		//desactivamos el boton de enviar
		document.formulario_registro.continuar.disabled="disabled";
		return true;
	}

	function validar_empresa(){
		//comprobamos si el nombre o los apellidos tiene la palabra consejeria, consejero o consejera
		if (!consejeria('Nombre',document.formulario_registro.nombre.value)) return false;

		//comprobamos que el nombre y los apellidos no sean solo .
		if (!punto('Nombre',document.formulario_registro.nombre.value)) return false;
		
		//validamos los datos de la empresa
		if (document.formulario_registro.nombre.value.lenght==0){
			alert("Debe completar el nombre de la empresa");
			document.formulario_registro.nombre.focus();
			return false;
		}
		//cif
		if (document.formulario_registro.cif.value.length==0){
			alert("Debe introducir el CIF");
			document.formulario_registro.nif.focus();
			return false;
		}
		else {
			if (!validarCIF(document.formulario_registro.cif.value)){
				document.formulario_registro.cif.focus();
				alert("El CIF no es valido");
				return false;
			}
		}
				
		//cp
		if (document.formulario_registro.cp.value.length==0){
			alert("Debe completar el codigo postal");
			document.formulario_registro.cp.focus();
			return false;
		}
		//provincia
		if (document.formulario_registro.provincia.value==0){
			alert("Elige la provincia");
			document.formulario_registro.provincia.focus();
			return false;
		}

		//ahora los datos del representante
		if (document.formulario_registro.nif.value.length==0){
			alert("Debe introducir el NIF");
			document.formulario_registro.nif.focus();
			return false;
		}
		else {
			if (!nif_valido(document.formulario_registro.nif.value)){
				document.formulario_registro.nif.focus();
				return false;
			}
		}
		if (document.formulario_registro.login.value.length==0){
			alert("Debe introducir la direccion de correo de un representante");
			document.formulario_registro.login.focus();
			return false;
		}
		if (document.formulario_registro.pass_tutor.value.length==0){
			alert("Debe introducir el password del representante de la empresa");
			document.formulario_registro.pass_tutor.focus();
			return false;
		}
		//ahora comprobamos que los pass sean iguales 
		if (document.formulario_registro.pass.value.length<6){
			alert("El password debe tener al menos 6 caracteres");
			document.formulario_registro.pass.focus();
			return false;
		}
		if (document.formulario_registro.pass.value!=document.formulario_registro.pass2.value){
			alert("Los password no coinciden");
			document.formulario_registro.pass2.focus();
			return false;
		}
		//ahora la pregunta y la respuesta
		if (document.formulario_registro.pregunta.value.length==0){
			alert("Debe indicar una pregunta");
			document.formulario_registro.pregunta.focus();
			return false;
		}
		if (document.formulario_registro.respuesta.value.length==0){
			alert("Debe indicar una respuesta");
			document.formulario_registro.respuesta.focus();
			return false;
		}
		//Ahora el codigo
		if (document.formulario_registro.texto_aleatorio.value.length==0){
			alert("Debe repetir el codigo");
			document.formulario_registro.texto_aleatorio.focus();
			return false;
		}
		return true;
		
	}

	
	function validar_pass(){
		if (document.formulario_pass.pass.value!=document.formulario_pass.pass2.value){
			alert("Las contraseñas no coinciden");
			document.formulario_pass.pass2.focus();
			return false;
		}
		else{
			if (document.formulario_pass.pass.value.length<6){
				alert("La contraseña debe tener al menos 6 caracteres");
				document.formulario_pass.pass.focus();
				return false;
			}
		}
	}

	function validar_pass_mod(){
		if (document.formulario_pass.pass.value!=document.formulario_pass.pass2.value){
			alert("Las contraseñas no coinciden");
			document.formulario_pass.pass2.focus();
			return false;
		}
	}
	
	function mostrar_ocultar(id,id_ocultar){
		//primero ocultamos todo el menu
		var estado=document.getElementById(id).style.display;
		ocultar_menu(id_ocultar);
		if (estado=='none') document.getElementById(id).style.display='block';
		else document.getElementById(id).style.display='none';
	}
	
	function ocultar_menu(id){
		//si id=1 se trata de admin_corporativo, si es 0 es otro por lo que la ultima parte del menu no se esta mostrando
		document.getElementById('submenu_cuentas').style.display='none';
		if (id==1){
			document.getElementById('submenu_admin').style.display='none';
		}
		//Esta linea esta añadida para que me oculte el menu de administradores, entre quien entre, es provisional, hay que ver si habrá un superadministrador para dar de alta administradores o cualquiera podrá crear admin
		//	document.getElementById('submenu_admin').style.display='none';
	}
	
	function borrar_admin(admin,id){
		//esta funcion pide confirmacion para borrar el administrador en cuestion
		//si se confirma envia a la pagina borra.php, en caso contrario volvemos al listado
		if (confirm("Atencion, ha solicitado borrar al administrador \n"+ admin+"\n Esta realmente seguro?")){
			//ha confirmado
			document.location.href="borra_admin.php?id="+id;
		}
		return true;
	}
	function borrar_usuario(usuario,id){
		//pedimos confirmacion para borrar al usuario en cuestion
		if (confirm("Atencion, ha solicitado borrar la cuenta \n"+ usuario + "\n Esta realmente seguro?")){
			//ha confirmado
			document.location.href="borra_usuario.php?id="+id;
		}
		return true;
	}
	
	function campo_listado(campo){
		if (campo=='fecha'){
			//mostramos el div de la fecha (fecha)
			document.getElementById('fecha').style.display='block';
			document.getElementById('provincia').style.display='none';
		}
		if (campo=='provincia'){
			//mostramos el div de la provincia (provincia)
			document.getElementById('fecha').style.display='none';
			document.getElementById('provincia').style.display='inline';
		}
	}
	
	function contiene_no_validos(campo,cadena,mayusculas){
		//esta funcion comprueba si la cadena indicada contiene caracteres no permitidos. Los caracteres permitidos son [a-z] y . para el login y para el nombre y apellidos ademas de estos caracteres se permiten tambien [A-Z]. El parametro campo indica el campo que estamos comprobando para mostrarlo en el mensaje en caso de error y el parametro mayusculas sera 1 si se permiten [A-Z] y 0 si no se permiten.
		var longitud=cadena.length;
		for (i=0;i<longitud;i++){
			var caracter=cadena[i];
			if (mayusculas==1){
				if (caracter!=unescape('%2E') && (caracter<unescape('%61') || caracter>unescape('%7A')) && (caracter<unescape('%41') || caracter>unescape('%5A')) || caracter!=unescape('%20')){
					alert("El campo "+campo+" tiene caracteres no validos.\n Solo se permiten [a-z], [A-Z] y .");
					return false;
				}
			}
			else{
				if (caracter!=unescape('%2E') && (caracter<unescape('%61') || caracter>unescape('%7A'))){
					//puede ser que se trate de @ que en el caso que campo=usuario esta permitido
					if (campo=='usuario'){
						if (caracter==unescape('%40')){}
						else {
							alert("El campo "+campo+" tiene caracteres no validos.\n Solo se permiten [a-z] y .");
							return false;
						}
					}
					else return false;
				}
			}
		}
		return true;
		
	}

	function elimina_blancos(cadena){
			var cad_nombre='';
			for (i=0;i<cadena.length;i++){
				if (cadena.charAt(i)!=' ') cad_nombre=cad_nombre+cadena.charAt(i);
			}
			return cad_nombre;
	}
	
	function forma_email(){
		//obtenemos los datos de nombre y apellidos en minusculas
		var nombre=document.formulario_registro.nombre.value.toLowerCase();
		var apellido1=document.formulario_registro.apellido1.value.toLowerCase();
		var apellido2=document.formulario_registro.apellido2.value.toLowerCase();
		
		//eliminamos los espacios en blanco
		nombre=elimina_blancos(nombre);
		apellido1=elimina_blancos(apellido1);
		apellido2=elimina_blancos(apellido2);
		
		//formamos el mail
		var email='';
		if (nombre.length>0) var email=nombre;
		if (apellido1.length>0 && apellido1!=' '){
			var email=email+"."+apellido1;
			if (apellido2.length>0) var email=email+"."+apellido2;
		}

		//Ahora eliminamos todos los caracteres no validos
		var cad_email='';
		for (i=0;i<email.length;i++){
			var caracter=email[i];
			
		//	if (caracter==unescape('%2E') || caracter==unescape('%40') || caracter==unescape('%E1') || caracter==unescape('%E9') || caracter==unescape('%ED') || caracter==unescape('%F3') || caracter==unescape('%FA') || caracter==unescape('%F1') || (caracter>unescape('%2F') && caracter<unescape('%3A')) || (caracter>unescape('%3F') && caracter<unescape('%5B')) || (caracter>unescape('%60') && caracter<unescape('%7B'))){
			if (caracter==unescape('%C1') || caracter==unescape('%C9') || caracter==unescape('%CD') || caracter==unescape('%D3') || caracter==unescape('%DA') || caracter==unescape('%D1') || caracter==unescape('%2E') || caracter==unescape('%40') || caracter==unescape('%E1') || caracter==unescape('%E9') || caracter==unescape('%ED') || caracter==unescape('%F3') || caracter==unescape('%FA') || caracter==unescape('%F1') || (caracter>unescape('%2F') && caracter<unescape('%3A')) || (caracter>unescape('%3F') && caracter<unescape('%5B')) || (caracter>unescape('%60') && caracter<unescape('%7B'))){
				cad_email=cad_email+caracter;
			}
		}
		email=cad_email;
		//quitamos las tildes
		email=escape(email);
		email=email.replace("%E1","a");
		email=email.replace("%E9","e");
		email=email.replace("%ED","i");
		email=email.replace("%F3","o");
		email=email.replace("%FA","u");
		email=email.replace("%F1","n");
		//ahora vamos a por las mayusculas
		email=email.replace("%C1","a");
		email=email.replace("%C9","e");
		email=email.replace("%CD","i");
		email=email.replace("%D3","o");
		email=email.replace("%DA","u");
		email=email.replace("%D1","n");
		

		document.formulario_registro.usuario.value=email+"@extremadura.es";
		return true;
	}
	
	function validar_edicion(){
		//valida el formulario de edicion de los datos de la cuenta
		//en la edicion solo considera nombre, apellido1 y contraseña
		var nombre=elimina_blancos(document.formulario_edicion.nombre.value);
		var apellido1=elimina_blancos(document.formulario_edicion.apellido1.value);
		var pass=elimina_blancos(document.formulario_edicion.pass.value);
		var pass2=elimina_blancos(document.formulario_edicion.pass2.value);
		if (nombre.length==0){
			alert("Debes introducir el nombre del ciudadano");
			document.formulario_edicion.nombre.focus();
			return false;
		}
		if (apellido1.length==0){
			alert("Debes introducir el primer apellido");
			document.formulario_edicion.apellido1.focus();
			return false;
		}
		if (pass.length>0 || pass2.length>0){
			if (pass.length<6) {
				alert("La contraseña debe tener al menos 6 caracteres");
				document.formulario_edicion.pass.focus();
				return false;
			}
			if (pass!=pass2){
				alert("Las contraseñas no coinciden");
				document.formulario_edicion.pass2.focus();
				return false;
			}
		}
		return true;	
	}
	
	function validar_recuerdo(){
		var login=elimina_blancos(document.formulario_registro.login.value);
		var nombre=elimina_blancos(document.formulario_registro.nombre.value);
		var apellido1=elimina_blancos(document.formulario_registro.apellido1.value);
		var apellido2=elimina_blancos(document.formulario_registro.apellido2.value);
		var nif=elimina_blancos(document.formulario_registro.nif.value);
		var dia=document.formulario_registro.dia.value;
		var mes=document.formulario_registro.mes.value;
		var anio=elimina_blancos(document.formulario_registro.anio.value);
		var cp=elimina_blancos(document.formulario_registro.cp.value);
		var provincia=document.formulario_registro.provincia.value;
		//empezamos a comprobar
		if (login.length==0){
			alert("Debes indicar tu cuenta de email");
			document.formulario_registro.login.focus();
			return false;
		}
		else{
			//comprobamos que es valido
			if (!validar_email(login+"@extremadura.es")){
				alert("El mail "+login+"@extremadura.es no es valido");
				document.formulario_registro.login.focus();
				return false;
			}
		}
		if (nombre.length==0){
			alert("Debes introducir tu nombre");
			document.formulario_registro.nombre.focus();
			return false;
		}
		if (apellido1.length==0){
			alert("Debes introducir el primer apellido");
			document.formulario_registro.apellido1.focus();
			return false;
		}

		if (!nif_valido(nif)){
			document.formulario_registro.nif.focus();
			return false;
		}
		if (!fecha_valida(document.formulario_registro.dia.value,document.formulario_registro.mes.value,document.formulario_registro.anio.value)){
			alert("Debe introducir una fecha valida");
			document.formulario_registro.dia.focus();
			return false;
		}		
		
		if (document.formulario_registro.comunidad[1].checked==true){
			//establecemos a 0 la zona y la casa
			document.formulario_registro.zona.value=0;
			document.formulario_registro.casas.value=0;
			//tiene que tener el cp y la provincia rellenos
			if (document.formulario_registro.cp.value.length==0){
				alert("Debe completar el codigo postal");
				document.formulario_registro.cp.focus();
				return false;
			}
			if (document.formulario_registro.provincia.value==0){
				alert("Elige la provincia");
				document.formulario_registro.provincia.focus();
				return false;
			}
		}
		else{
			//establecemos a 0 el cp y la provincia para evitar problemas si ha escrito algo antes
			document.formulario_registro.cp.value=0;
			document.formulario_registro.provincia.value=0;
			//tiene que elegir zona y casas
			if (document.formulario_registro.zona.value==0){
				alert("Debes elegir la zona a la que pertenece tu comunidad");
				document.formulario_registro.zona.focus();
				return false;
			}
			if (document.formulario_registro.casas.value==0){
				alert("Elige la Casa de Extremadura a la que perteneces");
				document.formulario_registro.casas.focus();
				return false;
			}
		}
		return true;
	}
	
	//funciones para mostrar u ocultar la ayuda cuando el raton este encima del ?
	//id: id del elemento a mostrar u ocultar
	function mostrar_ayuda(id){
		document.getElementById(id).style.display='inline';
	}
	
	function ocultar_ayuda(id){
		document.getElementById(id).style.display='none';
	}
	//validacion del formulario de registro general
	function validar_general(){
		//comprobamos si el nombre o los apellidos tiene la palabra consejeria, consejero o consejera
		if (!consejeria('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!consejeria('Apellido1', document.formulario_registro.apellido1.value)) return false;
		if (!consejeria('Apellido2', document.formulario_registro.apellido2.value)) return false;

		//comprobamos que el nombre y los apellidos no sean solo .
		if (!punto('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!punto('Apellido1',document.formulario_registro.apellido1.value)) return false;
		if (document.formulario_registro.apellido2.value.length>0 && !punto('Apellido2',document.formulario_registro.apellido2.focus())) return false;
	
		//validamos primero los datos personales del usuario
		if (document.formulario_registro.nombre.value.length==0){
			alert("Debe completar el nombre");
			document.formulario_registro.nombre.focus();
			return false;
		}
		if (document.formulario_registro.apellido1.value.length==0){
			alert("Debe completar los apellidos");
			document.formulario_registro.apellido1.focus();
			return false;
		}
		if (document.formulario_registro.comunidad[1].checked==true){
			//establecemos a 0 la zona y la casa
			document.formulario_registro.zona.value=0;
			document.formulario_registro.casas.value=0;
			//tiene que tener el cp y la provincia rellenos
			if (document.formulario_registro.cp.value.length==0){
				alert("Debe completar el codigo postal");
				document.formulario_registro.cp.focus();
				return false;
			}
			if (document.formulario_registro.provincia.value==0){
				alert("Elige la provincia");
				document.formulario_registro.provincia.focus();
				return false;
			}
		}
		else{
			//establecemos a 0 el cp y la provincia para evitar problemas si ha escrito algo antes
			document.formulario_registro.cp.value=0;
			document.formulario_registro.provincia.value=0;
			//tiene que elegir zona y casas
			if (document.formulario_registro.zona.value==0){
				alert("Debes elegir la zona a la que pertenece tu comunidad");
				document.formulario_registro.zona.focus();
				return false;
			}
			if (document.formulario_registro.casas.value==0){
				alert("Elige la Casa de Extremadura a la que perteneces");
				document.formulario_registro.casas.focus();
				return false;
			}
		}
		
		//si tiene nif verificamos si es valido, si no tiene validamos los datos del tutor
		if (document.formulario_registro.tiene_nif[0].checked==true){
			//tiene nif
			if (document.formulario_registro.nif.value.length==0){
				alert("Debe introducir el NIF");
				document.formulario_registro.nif.focus();
				return false;
			}
			if (!nif_valido(document.formulario_registro.nif.value)){
				document.formulario_registro.nif.focus();
				return false;
			}
		}
		else{
			// validamos los datos del padre madre o tutor
			if (document.formulario_registro.nif_tutor.value.length==0){
				alert("Debe introducir el NIF del padre, madre o tutor");
				document.formulario_registro.nif_tutor.focus();
				return false;
			}
			else {
				if (!nif_valido(document.formulario_registro.nif_tutor.value)){
					document.formulario_registro.nif_tutor.focus();
					return false;
				}
			}
			if (document.formulario_registro.login.value.length==0){
				alert("Debe introducir el email del padre, madre o tutor");
				document.formulario_registro.login.focus();
				return false;
			}
		}
		//comprobamos la fecha
		if (!fecha_valida(document.formulario_registro.dia.value,document.formulario_registro.mes.value,document.formulario_registro.anio.value)){
			alert("Debe introducir una fecha valida");
			document.formulario_registro.dia.focus();
			return false;
		}		
		
		if (document.formulario_registro.pass.value!=document.formulario_registro.pass2.value){
			alert("Las contraseñas no coinciden");
			document.formulario_registro.pass2.focus();
			return false;
		}
		else{
			if (document.formulario_registro.pass.value.length<6){
				//las contraseñas son iguales pero tienen menos de 6 caracteres
				alert("La contaseña debe tener al menos 6 caracteres");
				document.formulario_registro.pass.focus();
				return false;
			}
		}
		//queda comprobar la pregunta - respuesta
		if (document.formulario_registro.pregunta.value.length==0){
			alert("Debes introducir una pregunta que el sistema te hara para verificar tu identidad si olvidas tu contraseña");
			document.formulario_registro.pregunta.focus();
			return false;
		}
		if (document.formulario_registro.respuesta.value.length==0){
			alert("Debes introducir la respuesta a la pregunta para que el sistema pueda comprobar tu identidad en caso necesario");
			document.formulario_registro.respuesta.focus();
			return false;
		}
		return true;
	}
	function validar_edicion_general(){
		//comprobamos si el nombre o los apellidos tiene la palabra consejeria, consejero o consejera
		if (!consejeria('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!consejeria('Apellido1', document.formulario_registro.apellido1.value)) return false;
		if (!consejeria('Apellido2', document.formulario_registro.apellido2.value)) return false;

		//comprobamos que el nombre y los apellidos no sean solo .
		if (!punto('Nombre',document.formulario_registro.nombre.value)) return false;
		if (!punto('Apellido1',document.formulario_registro.apellido1.value)) return false;
		if (document.formulario_registro.apellido2.value.length>0 && !punto('Apellido2',document.formulario_registro.apellido2.focus())) return false;
	
		//validamos primero los datos personales del usuario
		if (document.formulario_registro.nombre.value.length==0){
			alert("Debe completar el nombre");
			document.formulario_registro.nombre.focus();
			return false;
		}
		if (document.formulario_registro.apellido1.value.length==0){
			alert("Debe completar los apellidos");
			document.formulario_registro.apellido1.focus();
			return false;
		}
		if (document.formulario_registro.comunidad[1].checked==true){
			//establecemos a 0 la zona y la casa
			document.formulario_registro.zona.value=0;
			document.formulario_registro.casas.value=0;
			//tiene que tener el cp y la provincia rellenos
			if (document.formulario_registro.cp.value.length==0 || document.formulario_registro.cp.value==0){
				alert("Debe completar el codigo postal");
				document.formulario_registro.cp.focus();
				return false;
			}
			if (document.formulario_registro.provincia.value==0){
				alert("Elige la provincia");
				document.formulario_registro.provincia.focus();
				return false;
			}
		}
		else{
			//establecemos a 0 el cp y la provincia para evitar problemas si ha escrito algo antes
			document.formulario_registro.cp.value=0;
			document.formulario_registro.provincia.value=0;
			//tiene que elegir zona y casas
			if (document.formulario_registro.zona.value==0){
				alert("Debes elegir la zona a la que pertenece tu comunidad");
				document.formulario_registro.zona.focus();
				return false;
			}
			if (document.formulario_registro.casas.value==0){
				alert("Elige la Casa de Extremadura a la que perteneces");
				document.formulario_registro.casas.focus();
				return false;
			}
		}
		
		//comprobamos la fecha
		if (!fecha_valida(document.formulario_registro.dia.value,document.formulario_registro.mes.value,document.formulario_registro.anio.value)){
			alert("Debe introducir una fecha valida");
			document.formulario_registro.dia.focus();
			return false;
		}		
		//pass
		if (document.formulario_registro.pass.value.length>0 || document.formulario_registro.pass2.value.length>0){
			if (document.formulario_registro.pass.value!=document.formulario_registro.pass2.value){
				alert("Las contraseñas no coinciden");
				document.formulario_registro.pass2.focus();
				return false;
			}
			else{
				if (document.formulario_registro.pass.value.length<6){
					//las contraseñas son iguales pero tienen menos de 6 caracteres
					alert("La contaseña debe tener al menos 6 caracteres");
					document.formulario_registro.pass.focus();
					return false;
				}
			}
		}
		//queda comprobar la pregunta - respuesta
		if (document.formulario_registro.pregunta.value.length==0){
			alert("Debes introducir una pregunta que el sistema te hara para verificar tu identidad si olvidas tu contraseña");
			document.formulario_registro.pregunta.focus();
			return false;
		}
		if (document.formulario_registro.respuesta.value.length==0){
			alert("Debes introducir la respuesta a la pregunta para que el sistema pueda comprobar tu identidad en caso necesario");
			document.formulario_registro.respuesta.focus();
			return false;
		}
		return true;		
	}
