function validarForm(formulario)
{
    var email=formulario.email.value;
	var nom=formulario.nombre.value; 
	var direccion=formulario.direccion.value;
	var localidad=formulario.localidad.value;
	var pais=formulario.pais.value;
	var provincia=formulario.provincia.value;
	var cp=formulario.cp.value;
	var telefono=formulario.telefono.value;
	var movil=formulario.movil.value;
	var dni=formulario.dni.value;

	error="Ok";
	if(error=="Ok"){ //nombre OK
			error=validar_nom(nom);
	}
	if(error=="Ok"){ //dni OK
		error=validar_dni(dni);
	}
	if(error=="Ok"){
		error=validar_direccion(direccion);
	}
	if(error=="Ok"){ //localidad
		error=validar_texto(localidad);
	}
	if(error=="Ok"){ //pais
		error=validar_texto(pais);
	}
	if(error=="Ok"){ //provincia
		error=validar_texto(provincia);
	}
	if(error=="Ok"){ //cp
		error=validar_cp(cp);
	}
	if(error=="Ok"){ //telefono OK
		if (telefono!=""){
			error=validar_tel(telefono);
		}
		else {
			if (movil!=""){
				error=validar_tel(movil);
			}
			else {
				error="Se nesesita un numero de telefono";
			}
		}
	}
	if(error=="Ok"){ //mail OK
		error=validar_correu(email);
	}
  	if( error !="Ok"){ //monstrar errores OK
		mostrar_error(error);
	 	return false;
	}
	else{ //no ay errores OK
		return true;
	}
}


function validar_tel(tel) //Ok
{
	if ((tel.substring(0,1) != "9") && (tel.substring(0,1) != "6") ) {
		error='El telefono no es un numero correcto';
	}
	else{
		if (tel.length != 9) {
			error='El campo telefono debe tener 9 cifras';
		}
		else{
			if (!IsNumeric(tel)) {
				error='El campo telefono debe ser numerico';
			}
			else{
				error="Ok";
			}
		}
	}
	return(error);
}

function validar_correu(email) //Ok
{
   MailTest="";
    if (email==""){
        MailTest = "No has rellenado la direccion de correo";}else{
    if (email.indexOf("@") == -1)
       MailTest = "No se ha detectado la @. El signo @ es parte de todos los e-mail.";
    if (email.indexOf(".") == -1)
        MailTest = "No se ha detectado un punto. Una direccion de correo contiene al menos un punto.";
    if (email.charAt(0) == "@") 
        MailTest = "La @ no puede ser el primer caracter de una direccion e-mail.";
    if (email.charAt(email.length)=="@") 
        MailTest = "La @ no puede ser el ultimo caracter de un e-mail.";
    if (email.charAt(email.length-1)== ".") 
        MailTest = "El ultimo caracter de una direccion e-mail no puede ser un punto.";
    if (email.indexOf(",") == 1)
        MailTest = "Una direccion valida no puede contener una coma. Si tu tienes una cuenta Compuserve substituye la coma por un punto en tu Compuserve ID, as&#237;: 12345.6789@compuserve.com.";
    if (email.charAt(0) == ".") 
        MailTest = "El primer caracter de una direccion e-mail no puede ser un punto.";
    if (email.indexOf(" ") == 1)
        MailTest = "No puedes tener un espacio como parte de una direccion e-mail.";
    if (email.indexOf("*") == 1)
        MailTest = "No puedes tener un asterisco como parte de una direccion e-mail.";
    if (email.indexOf(")") == 1)
        MailTest = "No puedes tener un par&#233;ntesis cerrado como parte de una direccion e-mail.";
    if (email.indexOf("(") == 1)
        MailTest = "No puedes tener un par&#233;ntesis abierto como parte de una direccion e-mail.";
    if (email.indexOf(">") == 1)
        MailTest = "No puedes tener un signo 'mayor que' como parte de una direccion e-mail.";
    if (email.indexOf("<") == 1)
        MailTest = "No puedes tener un signo 'menor que' como parte de una direccion e-mail.";
    if (email.indexOf(":") == 1)
        MailTest = "No puedes tener dos puntos como parte de una direccion e-mail.";
    if (email.indexOf(";") == 1)
        MailTest = "No puedes tener un punto y coma como parte de una direccion e-mail.";
    if (email.indexOf("\"") == 1)
        MailTest = "No puedes tener comillas como parte de una direccion e-mail.";
    if (email.indexOf("..",0) == 1)
        MailTest = "No puedes tener dos puntos seguidos como parte de una direccion e-mail.";
    if (email.indexOf("@.",0) == 1)
        MailTest = "Una @ no puede estar seguida directamente por un punto en una direccion e-mail.";
    if (email.indexOf(".@",0) == 1)
        MailTest = "Una @ no puede estar precedida directamente por un punto en una direccion e-mail.";
    if (email.indexOf(".con",0) == 1) 
        MailTest = "La extension '.con' no es valida.Probablemente quieras decir '.com'";
    if (email.indexOf("@@")== 1) 
        MailTest = "Una direccion valida contiene solo una @.";
    if (MailTest == "" )
		MailTest="Ok";}
    return(MailTest);
}

function validar_dni(dni) // OK
{
	if(dni==""){
		error="Entre su DNI";
	}else{
		if(dni.length!=9){
			error="El dni tiene que contiener 8 chiffras y une lettra";
		}
	
	else{
		error="Ok";
	}}
	return(error);
}


function validar_nom(nom) //Ok
{
	if (nom.indexOf(" ")<= 0 ) {
		error='Debe teclear Nombre y Apellidos';
	}
	else{
		error="Ok";
	}
	return(error);
}
function validar_direccion(direccion) //Ok
{
	if(direccion==""){
		error="Entre su direccion";
	}else{
	if (direccion.indexOf(" ")<= 1 ) {
		error='Direccion demasiada corta';
	}
	else{
		error="Ok";
	}}
	return(error);
}

function validar_texto(text) //datos direccion
{
	if(text==""){
		error="Rellene los datos de direccion.";
	} else {
		error="Ok";
	}
	return(error);
}

function validar_cp(cp) //cp
{
	if(cp==""){
		error="Falta el codigo postal";
	}else{
	if(cp.length != 5){
		error="El codigo postal esta compuesto de 5 chiffras";
	}
	if(!IsNumeric(cp)){
		error="El codigo postal tiene que ser numerico";
	}else{
		error="Ok";
	}}
	return(error);
}

function IsNumeric(sText) //OK
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
function mostrar_error(error) //ok
{
  alert(error);
 return false;          
}