Por favorr! ayudaa! formulario html php y java

Hola, a ver si me pueden ayudar con este formulario que envia sin el javascript, pero cuando pongo a funcionar el script solo me valida el nombre, es decir el primer imput.
No se que es lo que estoy haciendo mal, por favor si alguien puede ayudarme le estaria muy agradecido




este es mi formulario en html



<form id="form1" name="form1" method="post" action="enviar.php" >


Nombre:

<label>
<input name="nombre" type="text" id="nombre" />
</label>


Apellido:

<input name="apellido" type="text" id="apellido" />


Email:

<input name="email" type="text" id="email" />


Consulta:

<textarea id="consulta" name="consulta" rows="5" cols="30">Escribinos aquí tu consulta!</textarea>



<label>


<input type="button" value= "Enviar" onClick="validar()" >
</label>





este es mi scripts.js




function validar(form1){

var vermail=/^((\w|\.){2,}@)\w{3,}\.\w{2,4}((\.(\w{2}))?)?$/;

if(document.form1.nombre.value.length < 3){
alert("Escriba al menos 3 caracteres en el campo \"Nombre\".");
document.form1.nombre.focus()
return 0;

}


if(document.apellido.value.length < 3){
alert("Escriba al menos 3 caracteres en el campo \"apellido\".");
document.form1.apellido.focus()
return 0;
}

if (!((document.email.value !="") && (document.email.value.match (vermail))) ){
alert('Por favor, ingrese su email');
document.form1.email.focus()
return 0;
}





este es mi enviar.php


<?php

$mail='[correo eliminado]';


$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$consulta = $_POST['consulta'];

$thank="http://www.mipagina.com.ar/contacto/gracias.html";

$message = "
nombre:".$nombre."
apellido:".$apellido."
email:".$email."
consulta:".$consulta."";



if (mail($mail,"Correo nuevo",$message))
Header ("Location: $thank" );

?>



OJALA ME PUEDAN AYUDAR! ES IMPORTANTE, GRACIAS!
este es el mio y funciona

<script language="JavaScript" type="text/JavaScript">

function valida_envia(){
if(document.frm.nombre.value == "") {
alert("Por favor indique Su Nombre");
document.frm.nombre.focus();
return 0;
}

if(document.frm.poblacion.value == "") {
alert("Por favor indique Su Ciudad");
document.frm.poblacion.focus();
return 0;
}


if(document.frm.email2.value == "") {
alert("Por favor indica un E-Mail valido, para enviarle su respuesta");
document.frm.email.focus();
return 0;
}

if(document.frm.texto.value == "") {
alert("Por favor indica un Mensaje");
document.frm.texto.focus();
return 0;
}

if(document.frm.email.value == "") {
alert("Por favor indica un Mensaje");
document.frm.email2.focus();
return 0;
}

alert("Muchas gracias por enviar el formulario");
document.frm.submit();
return true;
}
</script>
y este mi html

<form action="envio2.php" method="post" name="frm">
<div id="caja">
<table>
<tr>
<td class="nombres"></td>
<td class="campos"><input type="hidden" name="email" value="[correo eliminado]"/></td>
</tr>
<tr>
<td class="nombres">Nombre:</td>
<td class="campos"><input type="text" name="nombre" size="35"/></td>
</tr>
<tr>
<td class="nombres">Ciudad:</td>
<td class="campos"><input type="text" name="poblacion" size="35" /></td>
</tr>
<tr>
<td class="nombres">Email:</td>
<td class="campos"><input type="text" name="email2" size="35" /></td>
</tr>
</table>
<div>


Comentarios:</p>
<textarea cols="35" rows="4" name="texto"></textarea>


<input type="button" value="Enviar" onclick="valida_envia()" />
<input type="reset" name="reset" value="Borrar" />


</div>
</div>
</form>