function validar_nif(){
	var nif_=document.formulario.nif.value;
	if (!valida_dni(nif_))
		{
		//alert("Ese DNI no existe, pon uno Real")
		GB_showCenter('', '/error.cfm?mensaje=Ese DNI no existe, pon uno Real', 168, 340)
		document.formulario.nif.focus();
		}
	else
		{
		document.formulario.target='oculto';
		document.formulario.action='dni_accion.cfm';
		document.formulario.submit();
		}
	}

function validar_registro(){
	var nif_=document.formulario.nif.value;
	var marca=0;
	var incompleto=0;
		for (j=1;j<=15;j++){
			marca=0;
			var hasta=eval("document.formulario.p"+j).length
			//alert("pregunta "+j);
			for (i=0;i<hasta;i++)
			{//alert("respuesta "+i);
				//if (eval("document.formulario.p"+j+[i]).checked)
				if (eval("document.formulario.p"+j+"["+i+"].checked"))
					{
					//alert("si")
					marca=1;
					break;
					}
			}
			//alert(marca)
			if (marca==0)
			{
				incompleto=1;
				break;				
			}
		}
	if (incompleto==1)
		//alert("Te has dejado algo sin contestar por ahí. Si quieres tener un pleno al King apuesta por una respuesta a todas las preguntas");
		//GB_showCenter('', '/enhorabuena.htm', 308, 429)
		GB_showCenter('', '/error.cfm?mensaje=Te has dejado algo sin contestar por ahí. Si quieres tener un pleno al King apuesta por una respuesta a todas las preguntas', 168, 340)
	else if (document.formulario.nombre.value =='')
		{
		//alert("El campo de nombre está vacío. Si eres una persona real, tendrás un nombre, ¿no?");
		GB_showCenter('', '/error.cfm?mensaje=El campo de nombre está vacío. Si eres una persona real, tendrás un nombre, ¿no?', 168, 340)
		document.formulario.nombre.focus();
		}
	else if (!valida_dni(nif_))
		{
		//alert("Ese DNI no existe, pon uno Real")
		GB_showCenter('', '/error.cfm?mensaje=Ese DNI no existe, pon uno Real', 168, 340)
		document.formulario.nif.focus();
		}
	else if (document.formulario.apellidos.value =='')
		{
		//alert("El campo apellidos está vacío.  No importa que tu apellido no pertenezca a ninguna dinastía, García también vale")
		GB_showCenter('', '/error.cfm?mensaje=El campo apellidos está vacío.  No importa que tu apellido no pertenezca a ninguna dinastía, García también vale', 168, 340)
		document.formulario.apellidos.focus();
		}
	else if (!esMail(document.formulario.email.value))
		{
		//alert("Debes escribir una dirección de correo electrónico")
		GB_showCenter('', '/error.cfm?mensaje=Debes escribir una dirección de correo electrónico', 168, 340)
		document.formulario.email.focus();
		}
	else if (document.formulario.telefono.value == '' || (document.formulario.telefono.value.charAt(0) !=6 && document.formulario.telefono.value.charAt(0) !=9) || isNaN(document.formulario.telefono.value) || document.formulario.telefono.value.length !=9)
		{
		//alert("Da igual fijo o móvil pero si quieres que te digamos si has ganado necesitamos un teléfono de contacto")
		GB_showCenter('', '/error.cfm?mensaje=Da igual fijo o móvil pero si quieres que te digamos si has ganado necesitamos un teléfono de contacto', 168, 340)
		document.formulario.telefono.focus();
		}
	else if (!document.formulario.politica.checked)
		//alert("Debes aceptar la potítica de privacidad")
		GB_showCenter('', '/error.cfm?mensaje=Debes aceptar la potítica de privacidad', 168, 340)
	else
		{
		document.formulario.action='encuesta_accion.cfm';
		document.formulario.target='oculto';
		document.formulario.submit();
		}
		
}


function esMail(email){
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,3}$/;
	if(((email.search(exclude) != -1)||(email.search(check)) == -1)||(email.search(checkend) == -1))
		return false;
	else
		return true;
}

function valida_dni(dni)
{
	primercaracternif = dni.substring(0,1);
	
	if(primercaracternif.toUpperCase() == 'X') 
	{
		dni = dni.substring(1,dni.length);	
	}
	else if(primercaracternif.toUpperCase() == 'Y') 
	{
		dni = '1'+dni.substring(1,dni.length);	
	}
	else if(primercaracternif.toUpperCase() == 'Z') 
	{
		dni = '2'+dni.substring(1,dni.length);	
	}
		numero = dni.substr(0,dni.length-1);
		let = dni.substr(dni.length-1,1).toUpperCase() ;
		numero = numero % 23;
		letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);
		if (letra!=let)
		{
			return false;
		} 
		else 
		{
			return true;
		}
}