function control(dni){
	var prime;
	var conta;
	var conta2 = 0;
	var tlfns = 0; //cantidad de telefonos
	if((document.formulario.Nombre.value=="")||(document.formulario.Apellido1.value=="")||(document.formulario.Apellido2.value=="")||
	(document.formulario.DNI.value=="")||(document.formulario.Direc.value=="")||
	(document.formulario.Prov.value=="")||(document.formulario.Loc.value=="")||
	((document.formulario.Tel1.value=="")&&(document.formulario.Tel2.value==""))||(document.formulario.Email.value=="")||
	(document.formulario.PassW.value=="")||(document.formulario.repass.value=="")||(document.formulario.valor.value=="")||
	(document.formulario.acuerdo.checked==false))
	{															// Ningún campo vacío 
		alert("Rellene todos los campos");
		return false;
	}else{
		if((dni.length<9)||(dni.length>9)){						// CONTROL DE LONGITUD del DNI
			alert("El DNI introducido no tiene 9 caracteres");
			document.formulario.DNI.focus();
			return false;
		}else{
			dni=dni.toUpperCase();
			document.formulario.DNI.value = dni;
			if(dni.charAt(0)!="X"){								//1 CONTROL DEL PRIMER CARACTER SI ES EXTRANJERO 
				prime = parseInt(dni.charAt(0));
				if((prime==0)||(prime==1)||(prime==2)||(prime==3)||(prime==4)||
				   (prime==5)||(prime==6)||(prime==7)||(prime==8)||(prime==9)){		//2 CONTROL DEL PRIMER CARACTER 
				   		return control2(dni);
				   }else{								//2 NO ES NI NUMERO Y NI X 
				   		alert("Primera letra del DNI incorrecta");
						document.formulario.DNI.focus();
						return false;
				   }
			}else{										//1 SI ES X... 
				return control2(dni);
			}
		}
	}
}
function control2(dni){
	var conta;
	var conta2 = 0;
	var conta3 = 0;
	var abc = new Array(23); 
	abc[0]="T";  abc[1]="R";  abc[2]="W";  abc[3]="A";  abc[4]="G";  abc[5]="M";  abc[6]="Y";  abc[7]="F";
	abc[8]="P";  abc[9]="D";  abc[10]="X"; abc[11]="B"; abc[12]="N"; abc[13]="J"; abc[14]="Z"; abc[15]="S";
	abc[16]="Q"; abc[17]="V"; abc[18]="H"; abc[19]="L"; abc[20]="C"; abc[21]="K"; abc[22]="E";
	
	for(conta=1;conta<8;conta++){						//3 CONTROL DE LOS 7 NUMEROS INTERMEDIOS 
		if((dni.charAt(conta) == "0") || (dni.charAt(conta) == "1") || (dni.charAt(conta) == "2") ||
		   (dni.charAt(conta) == "3") || (dni.charAt(conta) == "4") || (dni.charAt(conta) == "5") ||
		   (dni.charAt(conta) == "6") || (dni.charAt(conta) == "7") || (dni.charAt(conta) == "8") ||
		   (dni.charAt(conta) == "9")){
		   		conta2++;
				if(conta2==7){		//3 SON NUMEROS
					for(conta3 = 0; conta3 < 23; conta3++){
						if(dni.charAt(8) == abc[conta3]){			//4 CONTROL DE ULTIMA LETRA 
							if((document.formulario.CodP.value.length>0)&&
							   (document.formulario.CodP.value.length<5)||(document.formulario.CodP.value.length>5)){
								alert("El C\u00f3digo postal introducido es incorrecto");
								document.formulario.CodP.focus();
								return false;
							}else{				//Si el CodP es nulo o es de 5 caracteres es correcto
								if((document.formulario.Tel1.value=="")&&(document.formulario.Tel2.value!="")){	// si el tel 1 esta vacio y el 2 no... 
									document.formulario.Tel1.value=document.formulario.Tel2.value;
									document.formulario.Tel2.value="";
									return tlfn(1);
								}else{
									if((document.formulario.Tel1.value!="")&&(document.formulario.Tel2.value!="")){
										return tlfn(2);
									}else{
										return tlfn(1);
									}
								}	
							}
						}else{
							if(conta3==22){
								alert("El NIF introducido es incorrecto");
								document.formulario.DNI.focus();
								return false;
							}
						}
					}
				}
			}else{					//3 NO SON NUMEROS 
		   		alert("DNI introducido incorrecto");
		   		document.formulario.DNI.focus();
				return false;
			}
	}
}
function tlfn(cantidad){
	if(cantidad==1){		// hay 1 telefono 
		if((document.formulario.Tel1.value.length<9)||(document.formulario.Tel1.value.length>9)){
			alert("Introdujo mal el N\u00BA de Tel\u00e9fono.\nCompru\u00e9belo e introd\u00fazcalo de nuevo.");
			document.formulario.Tel1.focus();
			return false;
		}else{
			return contra();
		}
	}else{					// hay 2 telefonos 
		if((document.formulario.Tel1.value.length<9)||(document.formulario.Tel1.value.length>9)){
			alert("Introdujo mal el 1er N\u00BA de Tel\u00e9fono.\nCompru\u00e9belo e introd\u00fazcalo de nuevo.");
			document.formulario.Tel1.focus();
			return false;
		}else{
			if((document.formulario.Tel2.value.length<9)||(document.formulario.Tel2.value.length>9)){
				alert("Introdujo mal el 2\u00BA N\u00BA de Tel\u00e9fono.\nCompru\u00e9belo e introd\u00fazcalo de nuevo.");
				document.formulario.Tel2.focus();
				return false;
			}else{
				return contra();
			}
		}
	}
}
function contra(){
	if(document.formulario.PassW.value==""){
		alert("Introduzca una contrase\u00f1a");
		document.formulario.PassW.focus();
		return false;
	}else{
		if(document.formulario.PassW.value.length<6){
			alert("Ha introcido una contrase\u00f1a con menos de 6 caracteres.\n Introduzca una contrase\u00f1a más larga.");
			document.formulario.PassW.focus();
			return false;
		}else{
			if((document.formulario.PassW.value!=document.formulario.repass.value)){		// Revisar la contrase\u00f1a 
				alert("Revise que introduce la misma contrase\u00f1a en la confirmaci\u00f3n");
				document.formulario.repass.value="";
				document.formulario.repass.focus();
				return false;
			}else{
				with(document.formulario){
					Nombre.value	=Nombre.value.toUpperCase();
					Apellido1.value	=Apellido1.value.toUpperCase();
					Apellido2.value	=Apellido2.value.toUpperCase();
					DNI.value		=DNI.value.toUpperCase();
					Direc.value		=Direc.value.toUpperCase();
					Prov.value		=Prov.value.toUpperCase();
					Loc.value		=Loc.value.toUpperCase();
					return true;
				}
			}
		}
	}
}