   function Validar(Form)  {
    return (
         Validarnombre(Form.nombre.value, Form.apellido.value)
	  && Validaremail(Form.email.value)
      && Validartelefono(Form.telefono.value)
      && Validarpais(Form.pais.value)
      && Validarciudad(Form.ciudad.value)
      );
   }

/* Función para validar los campos con el nombre y apellidos */

  function Validarnombre(nombre, apellido)  {
    var cadena = "El nombre o el apellido no contiene datos.\n";

    if ( nombre == "" || apellido == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }

 function Validarpais(pais)  {
    var cadena = "No ha introducido su país.\n";

    if ( pais == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }
	
 function Validarciudad(ciudad)  {
    var cadena = "No ha introducido su ciudad.\n";

    if ( ciudad == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }


function Validartelefono(telefono)  {
    var cadena = "Indique su teléfono por favor.\n";

    if ( telefono == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }
	

/* Función para validar la dirección de e-mail */

  function Validaremail(email){
    var cadena = "Direccion de Correo no valida: " + email
      + "\nPor favor, introduce bien tu direccion";

    if( email.indexOf('@',0) <= 0  || email.indexOf(';',0) != -1
     || email.indexOf(' ',0) != -1 || email.indexOf('/',0) != -1
     || email.indexOf(';',0) != -1 || email.indexOf('<',0) != -1
     || email.indexOf('>',0) != -1 || email.indexOf('*',0) != -1
     || email.indexOf('|',0) != -1 || email.indexOf('`',0) != -1
     || email.indexOf('&',0) != -1 || email.indexOf('$',0) != -1
     || email.indexOf('!',0) != -1 || email.indexOf('"',0) != -1
     || email.indexOf(':',0) != -1 )
       { alert(cadena); return false; }
    else return true;
    }

/* Función para validar el nombre de usuario y la clave */

  function Validarpassword(password, password1)  {
    var Error0 = "Indique una clave por favor "
      + "por rellenar.";
    var Error1 = "Las claves no coinciden.";

  /* Aquí podeis poner tantos caracteres no permitidos por
     vosotros como querais (dentro del if) */

    if(
        password == "" || password.indexOf('ñ') >= 0
        || password.indexOf('?') >= 0 || password.indexOf('á') >= 0
        || password.indexOf('é') >= 0 || password.indexOf('í') >= 0
        || password.indexOf('ó') >= 0 || password.indexOf('ú') >= 0
       )  {
      alert(Error0);
      return false;
      }

    if( password == "" || password1 == "" ) {
      alert(Error1);
      return false;
      }
    else
      if ( password != password1 ) {
        alert(Error2);
        return false;
        }
      else return true;

    }

/* Función para validar la fecha, si es que se
   introduce alguna */

  function Validarfecha(Form)  {
    var Error = "La fecha introducida es inválida.\n"
      + "Revísela, por favor.";
    var dia, mes, anyo, dia_mes_mal = false;
    var MesElegido = Form.fmes.selectedIndex;

    dia = Form.fdia.value;
    mes = Form.fmes.options[MesElegido].value;
    anyo = Form.fanyo.value;

    if( dia == "" && mes == "" && anyo == "" ) return true;
    else {
      dia = parseInt(dia);
      mes = parseInt(mes);
      anyo = parseInt(anyo);

      if( !isNaN(dia) && !isNaN(mes) && !isNaN(anyo)
          &&
          dia >= 1 && anyo >= 1900
        )  {

        /* Los meses de Enero, Marzo, Mayo, Julio, Agosto,
           Octubre y Diciembre tienen 31 días */

        if( 
           (   mes == 1 || mes == 3 || mes == 5 || mes == 7
            || mes == 8 || mes == 10 || mes == 12
           )
          && mia > 31
          )   mia_mes_mal = true;

        /* Los meses de Mayo, Junio, Septiembre
           y Noviembre tienen 30 días */

        if(
           (mes == 4 || mes == 6 || mes == 9 || mes == 11)
          && dia > 30
          )   dia_mes_mal = true;

    /* Febrero tiene 28 ó 29 días, dependiendo de si es bisiesto
       o no. Un año es bisiesto si es múltiplo de 4 pero no de
       100 salvo que sea múltiplo de 400. Por ejemplo, 12 y 400
       son bisiestos, pero 100 y 700 no. */

        if( mes == 2 && 
            ( dia > 29 ||
              ( dia == 29 &&
                ( 
                  (anyo % 400 != 0)
                  && (
                     (anyo % 4 != 0) || (anyo % 100 == 0)
                     )
                )
              )
            )
           )  dia_mes_mal = true;

        if(dia_mes_mal)  {
          alert(Error);
          return false;
          }
        else return true;
        }   /* Si la fecha está fuera del rango razonable... */
      else  {
        alert(Error);
        return false;
        }
      }
    }


