// JavaScript Document
var formElement;
var errorElement;

$(document).ready(function(){
    formElement = $('#contactForm4');
    $(formElement).find('input[type=radio]').addClass('required');
    errorElement = $('#formErrors');

    formElement.submit(function(){
        return validateForm();
    });
});

function validateForm(){
    $(errorElement).html('');
    requiredText = " is required";
    $(formElement).validate({
        messages: {
            storeVisited: "Store Visited" + requiredText,
            greeting: "Greeting Rating" + requiredText,
            suggestions: "Sales Associate Rating" + requiredText,
            cleanliness: "Atmosphere and Cleanliness Rating" + requiredText,
            merchandise: "Merchandies Selection Rating" + requiredText,
            checkout: "Register Check Out Rating" + requiredText,
            overall: "Overall Impression" + requiredText,
            Name: "Name" + requiredText,
            StreetAddress: "Street Address" + requiredText,
            City: "City" + requiredText,
            State: "State" + requiredText,
            ZipCode: "Zip Code" + requiredText,
            EmailAddress: {
                required: "E-mail Address" + requiredText,
                email: "E-mail Address - must be in the format of name@domain.com"
            }
        },
        focusInvalid: false
    }
    );
    isValid = $(formElement).valid();
    if(isValid && !specialRules()){
        isValid = false;
    }
    
    if(!isValid){
        errorsFound = $('label.error').filter(function(){
            return this.style.display != 'none';
        });
        errorHTML = "<strong style='text-decoration:underline'>Your request was not submitted:<br />The following errors have been found:</strong><br /><br >";
        for(var i=0; i<errorsFound.length; i++){
            errorHTML += $(errorsFound[i]).html();
            errorHTML += "<br />";
        }
        $(errorElement).html(errorHTML);
    }
    return isValid;
}

function specialRules(){
    isValid = true;
    return isValid;
}
