//<form onsubmit="return require_fields(this,vfld);">
//<input type="text" size="27" maxlength="100" name="Email">
//<input type="submit" value="Submit"></p>
//</form>
//<SCRIPT LANGUAGE="JavaScript">var vfld=[];vfld['Email']='email';var ivfld=[];ivfld['Email']=1;invalidateServerSide('contact',ivfld);</SCRIPT>

function form_validation(which,vfld) {
    var alert_message = '';
    for (i in vfld) {
        var field_obj = eval("which." + i);
        if (vfld[i] == 'require') {
            alert_message += validateRequire(field_obj);
        }
        else if (vfld[i] == 'email') {
            alert_message += validateEmailAddr(field_obj);
        }
    };
    if (alert_message.length > 0) {
        alert(alert_message);
        return false;
    }
    return true;
}
function invalidateServerSide(frmname,ivfld) {
    var x=document.getElementById(frmname);
    for (i in ivfld) {
        x[i].style.background = '#FDFF4F';
    }
}

function validateRequire(fld) {
    var error = "";
    var field_value = fld.value;
    if (field_value.length == 0) {
        fld.style.background = '#FDFF4F';
        error = '- "' + fld.name + '"' +  " is a required field\n";
    } else {
        fld.style.background = '';
    }
    return error;
}

function validateEmailAddr(fld) {
    var error="";
    var tfld = fld.value;
    tfld = tfld.replace(/^\s+/, '');                        // value of field with whitespace trimmed off
    tfld = tfld.replace(/\s+$/, '');                        // value of field with whitespace trimmed off

//    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var emailFilter = /^[^@]+@[-a-zA-Z0-9]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
        fld.style.background = '#FDFF4F';
        error = "- Please enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = '#FDFF4F';
        error = "- Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#FDFF4F';
        error = "- The email address contains illegal characters.\n";
    } else {
        fld.style.background = '';
    }
    return error;
}
