function ComprobarFormulario(){

	frm=document.frmregistro;

	Ca="\u00e1";
	Ce="\u00e9";
	Ci="\u00ed";
	Co="\u00f3";
	Cu="\u00fa";
	
	CA="\u00c1";
	CE="\u00c9";
	CI="\u00cd";
	CO="\u00d3";
	CU="\u00da";	

	Cn="\u00f1";
	CN="\u00d1";


	
	if (frm.nombre.value=="")
	{
		alert("El campo 'Nombre' no puede estar en blanco");
		frm.nombre.focus();
		return false;
	}
	
	if ( (frm.apellidos1.value==""))
	{
		alert("El campo 'Primer Apellido' no puede estar en blanco");
		frm.apellidos1.focus();
		return false;
	}
	if ( (frm.apellidos2.value==""))
	{
		alert("El campo 'Segundo Apellido' no puede estar en blanco");
		frm.apellidos2.focus();
		return false;
	}

	if (frm.calle.value=="")
	{
		alert("El campo 'Calle' no puede estar en blanco");
		frm.calle.focus();
		return false;
	}
	
	
	if (frm.cp.value=="")
		{
		alert("El campo 'C" + Co + "digo Postal' no puede estar en blanco");
		frm.cp.focus();
		return false;
	}
	if (CodigoErroneo(frm.cp.value))
		{
		alert("El campo 'C" + Co + "digo Postal' no es correcto");
		frm.cp.focus();
		return false;
	}	
	
	if ( (frm.movil.value=="") || (frm.movil.value.length!=9) || (!EsNumero(frm.movil)) || (frm.movil.value>699999999) )
	{
		alert("Es necesario que nos indiques un tel" + Ce + "fono m" + Co + "vil correcto de contacto");
		frm.movil.focus();
		return false;
	}

	if ( (frm.email.value==""))
	{
		alert("El campo 'Email' es obligatorio.");
		frm.email.focus();
		return false;	
	}
			
	if ( (frm.email.value!="")	&& !EsEmail(frm.email))
	{
		alert("El campo 'Email' no es correcto.");
		frm.email.focus();
		return false;	
	}
	if ( (frm.clave.value==""))
	{
		alert("El campo 'Clave' es obligatorio.");
		frm.clave.focus();
		return false;	
	}	
	if ( (frm.clave.value!=frm.clave2.value))
	{
		alert("Las claves no coinciden.");
		frm.clave.focus();
		return false;	
	}	

	if (frm.dni.value=="")
	{
		alert("El campo 'D.N.I.' no puede estar en blanco");
		frm.dni.focus();
		return false;
	}
	
	if (!CorrectoDNI(frm.dni) ){
		frm.dni.focus();
		return false;
	}
	
	if (!Fecha (frm.nacimiento))
	{
		alert("El campo 'Fecha' debe tener el siguiente formato: dd/mm/aaaa. \n Por ejemplo, 05/02/1975");
		frm.nacimiento.focus();
		return false;	
	}
	if (!frm.clausulas.checked)
	{
		alert("Es necesario que aceptes las Cl" + Ca + "usulas de Privacidad.");
		frm.clausulas.focus();
		return false;
	}
	
	if (frm.code.value=="")
	{
		alert("Escribe el c" + Co + "digo de seguridad.");
		frm.code.focus();
		return false;
	}
	

	return true;
	
}

function CheckDNI(obj)
{
		if (!CorrectoDNI(obj) ) {
		obj.focus();
		return false;
	}
}

 /********************************** COMPROBACION NIF,DNI,CIF ****************************************************/
function CorrectoDNI(a)
{

	var temp=a.value.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	if (temp!==''){
		// No es un CIF ni un NIE, es un DNI
		if (!/^[ABCDEFGHKLMNPQSX]/.test(temp)){
			posicion = a.value % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
			letra = cadenadni.charAt(posicion);
			if (!/^[A-Za-z0-9]{9}$/.test(temp)){ 
				//Es menos de 9 dígitos, añadimos la letra
				alert('El DNI tiene menos de 9 dígitos');
				a.value=a.value+letra ;
	    		return false;
			}
			else{ 
				//Tiene los 9 dígitos, comprobamos si la letra esta bien
				posicion = a.value.substring(8,0) % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
				letra = cadenadni.charAt(posicion);
				var letradni=temp.charAt(8);
				if (letra != letradni){
//					alert("La letra del DNI no es correcta."+letradni+" es diferent a "+letra);
					alert("La letra del DNI no es correcta.");					
			    	return false;
				}
			}
		}else{ 
			//Es un NIE o un CIF
			if (/^[X]/.test(temp)){ //Es un NIE
				var temp1=temp.substr(1,8);
				posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
				letra = cadenadni.substring(posicion,posicion+1);
				if (!/^[A-Za-z0-9]{9}$/.test(temp)){ //Es menos de 9 dígitos, añadimos la letra
					alert('El NIE tiene menos de 9 dígitos');
					a.value=a.value+letra ;
		    		return false;
				}else{ //Tiene los 9 dígitos, comprobamos si la letra esta bien
					var temp1=temp.substr(1,7);
					posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
					letra = cadenadni.charAt(posicion);
					var letranie=temp.charAt(8);
					if (letra != letranie){
//						alert("La letra del NIE no es correcta."+letranie+" es diferent a "+letra);
						alert("La letra del NIE no es correcta.");
			    		return false;			
					}
				}
			}else{ //Es un CIF
				var cifcontrol = 0;
				for( i = 2; i <= 6; i += 2 ){
					cifcontrol = cifcontrol + v1[ parseInt(temp.substr(i-1,1)) ];
					cifcontrol = cifcontrol + parseInt(temp.substr(i,1));
				};
				cifcontrol = cifcontrol + v1[ parseInt(temp.substr(7,1)) ];
				cifcontrol = (10 - ( cifcontrol % 10));

				if (!/^[A-Za-z0-9]{9}$/.test(temp)){ //Es menos de 9 dígitos, añadimos el dígito de control
					alert('El Cif tiene menos de 9 dígitos');
		    		return false;			
					a.value=a.value+cifcontrol;
				}else{
					if (cifcontrol!=temp.substr(8,1)){
//						alert ('El dígito de control del CIF no es correcto.El correcte es '+cifcontrol);
						alert ('El dígito de control del CIF no es correcto');						
			    		return false;			
					}
				}
			}
		}
	}
	return true;
}
 /********************************** FIN COMPROBACION NIF,DNI,CIF ****************************************************/




function EsEmail(obj) {

var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(obj.value)) {return false;}
return true;
}

function CodigoErroneo(Codigo)
{ 
	return (isNaN (Codigo) || Codigo>53999 || Codigo.length!=5);
}

function Cod_Postal (objeto)
{
	mensajeError="";
	Codigo=objeto.value;

	var frm=document.frmregistro;
	if (CodigoErroneo(Codigo) )
		mensajeError="El Código Postal no es correcto";

	CProv=Codigo.substr(0,2)
	if (parseInt (CProv)==0) CProv=(CProv.substr(1,2))
	
	if (mensajeError=="") {	frm.provincia.value=P[parseInt(CProv)];	}
	else {  alert (mensajeError); objeto.value="";}
	
	objeto.focus();
}

function Letra(objeto,txt)
{
	if (!(isNaN (objeto.value)))
	{
		alert("El campo '"+ txt + "' debe ser una letra");
		objeto.value="";
		objeto.focus();
	}
}

function EsNumero(objeto)
{
	return !(isNaN (objeto.value));
}

function Fecha (objeto)
{

	if ((objeto.value.length!=10) || (objeto.value.substr(2,1)!="/") || (objeto.value.substr(5,1)!="/") ||


			(isNaN(objeto.value.substr(0,2))) || (isNaN(objeto.value.substr(3,2))) || (isNaN(objeto.value.substr(6,4))) ||
			(parseInt(objeto.value.substr(0,2))>31) || ((objeto.value.substr(0,2))=="00") ||
			(parseInt(objeto.value.substr(3,2))>12) || ((objeto.value.substr(0,2))=="00"))
	{
		return false;
	}			
	return true;
			
}

var P=new Array();
var V=new Array();
P[1]="Álava";V[1]="&Aacute;lava";
P[2]="Albacete";V[2]="Albacete";
P[3]="Alicante";V[3]="Alicante";
P[4]="Almería";V[4]="Almer&iacute;a";
P[5]="Ávila";V[5]="&Aacute;vila";
P[6]="Badajoz";V[6]="Badajoz";
P[7]="Baleares";V[7]="Baleares";
P[8]="Barcelona";V[8]="Barcelona";
P[9]="Burgos";V[9]="Burgos";
P[10]="Cáceres";V[10]="C&aacute;ceres";
P[11]="Cádiz";V[11]="C&aacute;diz";
P[12]="Castellón";V[12]="Castell&oacute;n";
P[13]="Ciudad Real";V[13]="Ciudad Real";
P[14]="Córdoba";V[14]="C&oacute;rdoba";
P[15]="A Coruña";V[15]="A Coru&ntilde;a";
P[16]="Cuenca";V[16]="Cuenca";
P[17]="Girona";V[17]="Girona";
P[18]="Granada";V[18]="Granada";
P[19]="Guadalajara";V[19]="Guadalajara";
P[20]="Guipúzcoa";V[20]="Guip&uacute;zcoa";
P[21]="Huelva";V[21]="Huelva";
P[22]="Huesca";V[22]="Huesca";
P[23]="Jaén";V[23]="Ja&eacute;n";
P[24]="León";V[24]="Le&oacute;n";
P[25]="Lleida";V[25]="Lleida";
P[26]="La Rioja";V[26]="La Rioja";
P[27]="Lugo";V[27]="Lugo";
P[28]="Madrid";V[28]="Madrid";
P[29]="Málaga";V[29]="M&aacute;laga";
P[30]="Murcia";V[30]="Murcia";
P[31]="Navarra";V[31]="Navarra";
P[32]="Ourense";V[32]="Ourense";
P[33]="Asturias";V[33]="Asturias";
P[34]="Palencia";V[34]="Palencia";
P[35]="Las Palmas";V[35]="Las Palmas";
P[36]="Pontevedra";V[36]="Pontevedra";
P[37]="Salamanca";V[37]="Salamanca";
P[38]="S/C. de Tenerife";V[38]="S/C. de Tenerife";
P[39]="Cantabria";V[39]="Cantabria";
P[40]="Segovia";V[40]="Segovia";
P[41]="Sevilla";V[41]="Sevilla";
P[42]="Soria";V[42]="Soria";
P[43]="Tarragona";V[43]="Tarragona";
P[44]="Teruel";V[44]="Teruel";
P[45]="Toledo";V[45]="Toledo";
P[46]="Valencia";V[46]="Valencia";
P[47]="Valladolid";V[47]="Valladolid";
P[48]="Vizcaya";V[48]="Vizcaya";
P[49]="Zamora";V[49]="Zamora";
P[50]="Zaragoza";V[50]="Zaragoza";
P[51]="Ceuta";V[51]="Ceuta";
P[52]="Melilla";V[52]="Melilla";

function CrearSelProvincias(ini)
{
	
    document.write ("<select  class='reg_input' name='provincia' id='provincia' >");

	for (i=1;i<P.length;i++)
	{
		if ((P.length<22) && (i==13) )
			{}
		else
			{
				sel=P[i]==ini ? "selected" : "";
				document.write ("<option value='" + P[i] + "' "+ sel  + ">" + V[i] + "</option>");}
	}
	document.write ("</select>");

}