//universal form pre-submission sniffer
//specs: a hidden field exists for each type of form check, and the form field should be listed in the value field, seperated by commas
// hidden field names : required, email, zip, or TBA
//coded by dan netzer

function email_check(e_mail) {
    if ((e_mail == "" || e_mail.indexOf('@', 0) == -1) || e_mail.indexOf('.') == -1) {
        return false ;
    } else {
        return true ;
    }
}
function zip_check(e_mail) {
    if ((e_mail == "" || e_mail.indexOf('@', 0) == -1) || e_mail.indexOf('.') == -1) {
        return false ;
    } else {
        return true ;
    }
}
function check_form_universal() {
    var other_statements = "" ;
    var missing_fields = ""
    var form_name = document.salesforce ;
    var sniff_check = 1 ;
    var s_required = form_name._required.value.split(',') ;
    var s_email = form_name._email.value.split(',') ;
        for( i=0 ; i < s_required.length ; i ++) {
            for( j=0 ; j < form_name.elements.length ; j ++) {
                if(form_name.elements[j].name == s_required[i]) {
                    if(form_name.elements[j].value == "" || form_name.elements[j].value == "  "){
                        sniff_check = 0 ;
                        missing_fields += "\t"+ form_name.elements[j].name + "\n" ;
                    }
                }
           }
        }
        for( i=0 ; i < s_email.length ; i ++) {
            for( j=0 ; j < form_name.elements.length ; j ++) {
                if(form_name.elements[j].name == s_email[i]) {
                    var confirmed = email_check(form_name.elements[j].value) ;
                        if(confirmed == false){
                            sniff_check = 0 ;
                            other_statements += "- Your e-mail address isn't formatted correctly.\nPlease use the format: name@company.com" ;
                        }
                }
           }
        }
     if(sniff_check == 1){
        return true ;
     }
     else {
        var error_statement = "________________________________________________________\n\n" ;
        error_statement += "This form was not submitted because of the following error(s).\n" ;
        error_statement += "Please correct these error(s) and re-submit. -The Online Team\n" ;
        error_statement += "________________________________________________________\n\n" ;
            if (missing_fields){
                error_statement += "- The following required field(s) are empty:\n" ;
                error_statement += missing_fields + "\n" ;
            }
        error_statement += other_statements ;
        alert(error_statement) ;
        return false;
     }
}

