Código:
  
<script>
    function comprobar()
	{
	var mal=false;
    numero=document.forms[0].elements.length;
	var pos1, pos2, pos3 = true; 
    var correo = document.formulario.email.value; 
    for(a=0;a<numero;a++){
    if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.forms[0].elements[a].style.backgroundColor="white";}
    } 
    pos1 = correo.indexOf('@', 0); 
    pos2 = correo.indexOf('.', 0); 
    pos3 = pos3 && (pos1 > 0); 
    pos3 = pos3 && (pos2 != -1); 
    pos3 = pos3 && (pos1 < pos2 - 1); 
    pos3 = pos3 && (pos2 < correo.length - 1);   
	if(!pos3){alert("E-mail Incorrecto");}
    else{document.forms[0].submit()}
    } 	
	if(mal){alert("Por favor, rellene todos los campos");}
    else{document.forms[0].submit()}
    }
    </script>
No veo donde esta el fallo lo que pretendo hacer es que cuando no inserte cualquiera campo diga rellenalos y se ponga de otro color y si meten el correo y este esta mal que diga email incorrecto, pero no se no lo hago funcionar.
Si alguien su`piera donde ve el fallo... muchas gracias de antemano
 
 

