<!--

  var form_enviado = false;

  function borra_mensaje() {
    if (document.msg_instant.mensaje.value == "Escribe aquí tu mensaje") {
      document.msg_instant.mensaje.value = "";
      form_enviado=false;
    }
  }
  function borra_nombre() {
    if (document.msg_instant.realname.value == "Tu nombre") {
      document.msg_instant.realname.value = "";
      form_enviado=false;
    }
  }
  function borra_edad() {
    if (document.msg_instant.edad.value == "Edad") {
      document.msg_instant.edad.value = "";
      form_enviado=false;
    }
  }
  function borra_email() {
    if (document.msg_instant.email.value == "E-mail") {
      document.msg_instant.email.value = "";
      form_enviado=false;
    }
  }
  function borra_localidad() {
    if (document.msg_instant.localidad.value == "Localidad") {
      document.msg_instant.localidad.value = "";
      form_enviado=false;
    }
  }
  function devuelve_mensaje() {
    if (document.msg_instant.mensaje.value == "") {
      document.msg_instant.mensaje.value = "Escribe aquí tu mensaje";
      form_enviado=false;
    }
  }
  function devuelve_nombre() {
    if (document.msg_instant.realname.value == "") {
      document.msg_instant.realname.value = "Tu nombre";
      form_enviado=false;
    }
  }
  function devuelve_edad() {
    if (document.msg_instant.edad.value == "") {
      document.msg_instant.edad.value = "Edad";
      form_enviado=false;
    }
  }
  function devuelve_email() {
    if (document.msg_instant.email.value == "") {
      document.msg_instant.email.value = "E-mail";
      form_enviado=false;
    }
  }
  function devuelve_localidad() {
    if (document.msg_instant.localidad.value == "") {
      document.msg_instant.localidad.value = "Localidad";
      form_enviado=false;
    }
  }


// Verifica datos formulario.

  function verifica_form() {
    if (document.msg_instant.mensaje.value == "" || document.msg_instant.mensaje.value == "Escribe aquí tu mensaje" || document.msg_instant.realname.value == "" || document.msg_instant.realname.value == "Tu nombre" || document.msg_instant.edad.value == "" || document.msg_instant.edad.value == "Edad" || document.msg_instant.email.value == "" || document.msg_instant.sexo.value == "" || document.msg_instant.sexo.value == "-Sexo-" || document.msg_instant.localidad.value == "" || document.msg_instant.localidad.value == "Localidad") {
      alert("Por favor, completa correctamente todos los campos");
      return false;
    }
    else {

      // Filtramos valores no válidos en los campos de edad e e-mail.

        //Validación de la edad
      if (isNaN(document.msg_instant.edad.value)) {
	alert("Introduce tu edad correctamente");
        document.msg_instant.edad.value = "Edad";
        form_enviado=false;
	return false;
      }
        //Validación del e-mail
      else if (document.msg_instant.email.value != "") {
        form_enviado=false;
	var validez_email = emailCheck(document.msg_instant.email.value);
        if (validez_email == true) {
          form_enviado=false;
          alert("¡Gracias por tu mensaje!");
          return true;
        } else {
          form_enviado=false;
          return false;
        }

      } else {

          form_enviado=false;
          alert("¡Gracias por tu mensaje!");
          return true;
          // document.msg_instant.submit();

      }

    }
  }


// Verificación profunda dirección de email.

function emailCheck (emailStr) {
 /* Verificar si el email tiene el formato user@dominio. */
 var emailPat=/^(.+)@(.+)$/;

 /* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
 var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";

 /* Verifica los caracteres que son válidos en una dirección de email */
 var validChars="\[^\\s" + specialChars + "\]";

 var quotedUser="(\"[^\"]*\")";

 /* Verifica si la dirección de email está representada con una dirección IP Válida */ 


 var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;


 /* Verificar caracteres inválidos */ 

 var atom=validChars + '+';
 var word="(" + atom + "|" + quotedUser + ")";
 var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
 /* domain, as opposed to ipDomainPat, shown above. */;
 var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");


 var matchArray=emailStr.match(emailPat);
 if (matchArray==null) {
  alert("Por favor, revisa tu dirección de e-mail");
  document.msg_instant.email.value = "E-mail";
  return false;
 }
 var user=matchArray[1];
 var domain=matchArray[2];

 // Si el user "user" es valido

  if (user.match(userPat)==null) {
  // Si no
    alert("El nombre de usuario no es válido.");
    return false;
  }

 /* Si la dirección IP es válida */
 var IPArray=domain.match(ipDomainPat);
 if (IPArray!=null) {
  for (var i=1;i<=4;i++) {
    if (IPArray[i]>255) {
      alert("IP de destino inválida");
      return false;
    }
  }
  return true;
 }

 var domainArray=domain.match(domainPat);
 if (domainArray==null) {
   alert("El dominio parece no ser válido.");
   return false;
 }

 var atomPat=new RegExp(atom,"g");
 var domArr=domain.match(atomPat);
 var len=domArr.length;
 if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) { 
   alert("Por favor, revisa tu dirección de correo");
   document.msg_instant.email.value = "E-mail";
   return false;
 }

 if (len<2) {
   var errStr="Tu dirección de correo es errónea";
   alert(errStr);
   return false;
 }

 // La dirección de email ingresada es Válida
 return true;
}


// Prevenimos posibles envíos múltiples del formulario.

  function submit_form()
  {
    if (form_enviado)
    {
      alert ("Por favor, no pulses el botón \"Enviar\" más de una vez.\n\n Sólo si no has rellenado correctamente todos los campos, completa tus datos y envía el formulario de nuevo.");
      return false;
    }
    else
    {
      form_enviado = true;
      return verifica_form();
//      return true;
    }
  }


// Limita nº de caracteres en el mensaje.

<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- Dynamic 'fix' by: Nannette Thacker -->
<!-- Web Site: http://www.shiningstar.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}

// -->
