Validación de formularios con javascript (lobibox)

Con la siguiente función podremos controlar los campos de formulario vacíos y lanzar un mensaje de error indicándonos los campos del formulario que no hemos rellenado. Para lanzar el mensaje de error utilizaremos el puglin responsive de jquery Lobibox. Será necesario que todos los campos del formulario tengan asignados un Id.
A la función le pasaremos 3 parámetros, el nombre del formulario, la ruta de envío de datos y un array con los campos que queremos ver si están vacíos o no.
La función esta colocada en el evento onsubmit del formulario y por tanto preparada para retornar true o false.

En el <head> de nuestra página linkaremos los archivos necesarios para utilizar lobibox:

<link href=»lobibox.css» rel=»stylesheet» type=»text/css» />
<script type=»text/javascript» src=»jquery.1.11.js»></script>
<script type=»text/javascript» src=»lobibox.js»></script>
<script type=»text/javascript» src=»notifications.js»></script>
<script type=»text/javascript» src=»messageboxes.js»></script>

Ejemplo de llamada a la función:
validar(‘anadir_usuario’,’blablabla.php’,[‘usuario’,’clave’,’nif’,’nombre’,’direccion’]);

function validar(frm,ruta,campos)
 {
 //paso como parámetros a esta función el nombre del formulario,
// la ruta de envío de datos,
 // y un array con el ID de los campos que quiero comprobar,
 por ejemplo ['nombre', 'apellidos', 'telefono']
 var err_o = "", err_f = "", err = "";
 var num=campos.length;
 //alert(frm);
 //alert(num);
 //for(i=0;i<num;i++)
 //alert(campos[i]);

var valor="";
 var valor2 = new Array();

for(i=0;i<num;i++)
 {
 //alert('ok '+i);
 valor=campos[i];
 //alert(document.getElementById(valor).value);
 valor2[i]=document.getElementById(valor).value;
 }

for(i=0;i<num;i++)
 {
 if (valor2[i] == "")
 err_o += " "+campos[i];
 }
 if (err_o != "")
 err += "Error. Los siguientes campos no
 pueden estar vacios: " + err_o;

if (err != "")
 {

/*Lobibox.notify('error', {
 size: 'mini',
 img: 'jenni1.jpg',
 position: 'center',
 rounded: true,
 msg: err
 }); */

Lobibox.alert('error', {
 msg: err,
 buttons: ['ok']});
 //buttons: ['ok', 'cancel', 'yes', 'no']});

return false;

}
 else {
 alert(ruta);
 alert('llegada a ruta');
 return true;
 /*frm.action = ruta;
 frm.submit();*/
 }

}