
/* - email_validation.js - */
/* Support for validating email forms.
   Applied to any form which submits to maketradefair.
 */


function validEmail(THISVAL) {

    var err = 0;
    var ev = THISVAL.value;

    if (ev.length == 0) return true;

    ev = ev.toLowerCase();

    var emailFilter=/^.+@.+\..{2,6}$/;
    if (!(emailFilter.test(ev))) {
        err = 1;
    } else {
      //test email for illegal characters
        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
                if (ev.match(illegalChars)) {
            err = 1;
        }
}

if (err==1) {
    alert(ev + ' is not a valid email address. Please re-enter.');
    THISVAL.value = "";
    THISVAL.focus();
    THISVAL.select();
} else {
    THISVAL.value = ev;
}

return (err==0);
}

function validateForm(eForm) {
    var ok = true;
    var message = "";
    message += "The form was not correctly filled in.\n\nPlease enter the following:\n\n";
    if (eForm.firstname.value == '') {
        message += "- First name\n";
        ok = false;
    }
    if (eForm.lastname.value == '') {
        message += "- Last name\n";
        ok = false;
    }
    if (eForm.email.value == '' || !validEmail(eForm.email)) {
        message += "- A valid email address\n";
        ok = false;
    }
    if (!ok) { 	alert(message); }
    return ok;
}

function applyEmailValidation()
{
    var forms = document.getElementsByTagName('form');
    for (i=0; i < forms.length; i++) {
        if (/maketradefair/.test(forms[i].action)) {
            forms[i].onsubmit = function() { return validateForm(this); };
        }
    }
}
registerPloneFunction(applyEmailValidation);


