Tal vez el error está en el evento que llama a la función.
  Cita:  <input type="submit" name="BtnEnviar" value="Enviar >>" onclick="return validar(this);">
    Para evitarme problemas, cuando llamo funciones desde los eventos procuro indicar el lenguaje del que se trata. Yo lo pondría así: 
Código:
 <input type="submit" name="BtnEnviar" value="Enviar >>" onclick="JavaScript: return validar(this);">
  
Saludos