function validar_form(){ 
    if (document.FormEmail.de.value.length==0){ 
       alert("Please enter your name and last name") 
       document.FormEmail.de.focus() 
       return false; 
    } 

    else if (document.FormEmail.email.value.length==0){ 
       		alert("Please enter your email") 
		    document.FormEmail.email.focus() 
	        return false;
    } 
	
    else if (document.FormEmail.asunto.value.length==0){ 
       		alert("Please enter the subject") 
		    document.FormEmail.asunto.focus() 
	        return false;
    } 
	
    else if (document.FormEmail.mensaje.value.length==0){ 
       		alert("Please enter the message") 
		    document.FormEmail.mensaje.focus() 
	        return false;
    } 

	//valido que la sintaxis del email sea correcta
	valor = document.getElementById("email").value;
	if( !(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(valor)) ) {
	  alert("Please enter a valid email address!");
	  document.FormEmail.email.focus();
	  return false;
	}
	
    // Si el script ha llegado a este punto, todas las condiciones se han cumplido,
	//por lo tanto se envia el formulario.
    document.FormEmail.submit(); 
} 

function permite(elEvento, permitidos) {
  // Variables que definen los caracteres permitidos
  var numeros = "0123456789";
  var caracteres = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ ";
  var numeros_caracteres = numeros + caracteres;
 
  // Seleccionar los caracteres a partir del parámetro de la función
  switch(permitidos) {
    case 'num':
      permitidos = numeros;
      break;
    case 'car':
      permitidos = caracteres;
      break;
    case 'num_car':
      permitidos = numeros_caracteres;
      break;
  }
 
  // Obtener la tecla pulsada 
  var evento = elEvento || window.event;
  var codigoCaracter = evento.charCode || evento.keyCode;
  var caracter = String.fromCharCode(codigoCaracter);
 
  // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
  return permitidos.indexOf(caracter) != -1;
}