function navivalidator(formulario){
if (formulario.Nombre.value.length < 1){ formulario.Nombre.focus();
	alert('El campo \"Nombre\" es obligatorio'); return(false);
	}

var EmailFlag = 1
  if (formulario.Email.value.length < 1){
  EmailFlag = 0}

  if (formulario.Email.value.length > 0)
        {
 posicion = formulario.Email.value.indexOf('@', 1)
 if (posicion == -1) {
    alert("Falta el caracter \"@\" en el campo \"Email\"");
    formulario.Email.focus();
    return (false);
  }

 if (formulario.Email.value.indexOf('@',posicion+1) != -1){
    alert("Ha repetido el caracter \"@\" en el campo \"Email\"");
    formulario.Email.focus();
    return (false);
  }

 puntoPosicion = formulario.Email.value.indexOf('.', posicion)
 if (puntoPosicion == -1) {
    alert("Falta el \".\" obligatorio en el campo \"Email\"");
    formulario.Email.focus();
    return (false);
  }

  if (puntoPosicion == posicion+1){
    alert("Debe haber al menos 1 caracter a la derecha de la \"@\" en el campo \"Email\"");
    formulario.Email.focus();
    return (false);
  }

  if (puntoPosicion+3 > formulario.Email.value.length){
    alert("Deben haber al menos dos caracteres a la derecha del \".\" obligatorio en el campo \"Email\"");
    formulario.Email.focus();
    return (false);
  }

  var invalidos = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚáéíóú/:,; ";
  for( i=0; i<invalidos.length; i++) {malcaracter = invalidos.charAt(i)
  if (formulario.Email.value.indexOf(malcaracter, 0) > -1){
  alert("No utilice mayúsculas, acentos, ni los caracteres \",\" y \";\"en el campo \" Email");
    formulario.Email.focus();
    return (false);
  }
}
      }


var TelefonoFlag = 1
  if (formulario.Telefono.value.length < 1){
  TelefonoFlag = 0}

  if (formulario.Telefono.value.length > 0) {
  var ChequeoBueno = "0123456789";
  var ChequeoCadena = formulario.Telefono.value;
  var todoValido = true;
  var decPoints = 0;
  var allNum = "";

    for (i = 0; i < ChequeoCadena.length; i++) {
    ch = ChequeoCadena.charAt(i);
    for (j = 0; j < ChequeoBueno.length; j++)
      if (ch == ChequeoBueno.charAt(j))
        break;
    if (j == ChequeoBueno.length) {
      todoValido = false;
      break;
    }
    allNum += ch;
  }
  if (!todoValido) {
    alert("Sólo se admiten números en el campo \"Teléfono\".");
    formulario.Telefono.focus();
    return (false);
  }

  if (formulario.Telefono.value.length < 9) {
    alert("No se admiten menos de 9 dígitos en el campo \"Teléfono\".");
    formulario.Telefono.focus();
    return (false);
  }
         }


var FaxFlag = 1
  if (formulario.Fax.value.length < 1){
  FaxFlag = 0}

  if (formulario.Fax.value.length > 0)
         {
  var ChequeoBueno = "0123456789";
  var ChequeoCadena = formulario.Fax.value;
  var todoValido = true;
  var decPoints = 0;
  var allNum = "";

    for (i = 0; i < ChequeoCadena.length; i++) {
    ch = ChequeoCadena.charAt(i);
    for (j = 0; j < ChequeoBueno.length; j++)
      if (ch == ChequeoBueno.charAt(j))
        break;
    if (j == ChequeoBueno.length) {
      todoValido = false;
      break;
    }
    allNum += ch;
  }
  if (!todoValido) {
    alert("Sólo se admiten números en el campo \"Fax\".");
    formulario.Fax.focus();
    return (false);
  }
  if (formulario.Fax.value.length < 9) {
    alert("No se admiten menos de 9 dígitos en el campo \"Fax\".");
    formulario.Fax.focus();
    return (false);
  }

         }


if ((formulario.Email.value.length < 1) && (formulario.Telefono.value.length < 1)){

formulario.Nombre.focus();
	alert('De los campos \"Email\" y \"Teléfono\" debe cumplimentar al menos uno.'); return(false);
	}


if (formulario.Asunto.value.length < 1){ formulario.Asunto.focus();
	alert('No puede dejar vacío el campo \"Asunto\".'); return(false);
	}


return(true);
}

