var preValidate = Array();
var postValidate = Array();

function addPreValidateAction (action) {
    preValidate[preSubmit.length] = action;
}

function doPreValidateActions() {
    for (i in preValidate) {
        eval(preValidate[i]);
    }
}

function addPostValidateAction (action) {
    postValidate[postValidate.length] = action;
}

function doPostValidateActions() {    
    for (i in postValidate) {
        eval(postValidate[i]);
    }
}
function validate(form) {
    try {
	    doPreValidateActions();
	    msg = Array();
	    for (i=0; i < form.elements.length; i++) {
	            if (form.elements[i].getAttribute && form.elements[i].getAttribute("required") == "true") {
	                if (form.elements[i].value == "") {
	                    msg[msg.length] = "Debe rellenar el campo '"+form.elements[i].title+"' para continuar.";
	                }
	            }
	    }
	    if (msg.length > 0) {
	       alert (msg.join("\n"));
	       return false;
	    }
	    doPostValidateActions();
	    return true;
     } catch (e) {
         alert ("Ocurrió un error. " + e.message);
         return false;
     }
}
