/* Form Script */

function validateFormOnSubmit(theForm){
                var reason = "";
                
                reason += validateName(theForm.realname);
                reason += validateEmail(theForm.email);
                reason += validateSubject(theForm.subject);
                reason += validateMessage(theForm.message);
                
                if (reason != "") {
                    alert("Some fields need correction:\n\n" + reason);
                    return false;
                }
                return true;
            }
            
            function validateEmpty(fld){
                var error = "";
                
                if (fld.value.length == 0) {
                    fld.style.background = 'Yellow';
                    error = "The required field has not been filled in.\n"
                }
                else {
                    fld.style.background = 'White';
                }
                return error;
            }
            
            function validateName(fld){
                var error = "";
                
                if (fld.value == "") {
                    fld.style.background = 'Yellow';
                    error = "You didn't enter your name.\n";
                }
                else {
                    fld.style.background = 'White';
                }
                return error;
            }
            
            function trim(s){
                return s.replace(/^\s+|\s+$/, '');
            }
            
            function validateEmail(fld){
                var error = "";
                var tfld = trim(fld.value); // value of field with whitespace trimmed off
                var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
                var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
                
                if (fld.value == "") {
                    fld.style.background = 'Yellow';
                    error = "You didn't enter your email address.\n";
                }
                else 
                    if (!emailFilter.test(tfld)) { //test email for illegal characters
                        fld.style.background = 'Yellow';
                        error = "Please enter a valid email address.\n";
                    }
                    else 
                        if (fld.value.match(illegalChars)) {
                            fld.style.background = 'Yellow';
                            error = "The email address contains illegal characters.\n";
                        }
                        else {
                            fld.style.background = 'White';
                        }
                return error;
            }
            
            function validateSubject(fld){
                var error = "";
                
                if (fld.value == "") {
                    fld.style.background = 'Yellow';
                    error = "You didn't enter a subject.\n";
                }
                else {
                    fld.style.background = 'White';
                }
                return error;
            }
            
            function validateMessage(fld){
                var error = "";
                
                if (fld.value == "") {
                    fld.style.background = 'Yellow';
                    error = "You didn't enter a message.\n";
                }
                else {
                    fld.style.background = 'White';
                }
                return error;
            }