// JavaScript Document
var formElement;
var errorElement;

$(document).ready(function(){
    formElement = $('#club50Form');
    errorElement = $('#formErrors');

    formElement.submit(function(){
        return validateForm();
    });
});
function phoneToggle(isChecked){
    if(isChecked){
        $('label[for=homePhoneareacode]').html("<span class=\"required\">*</span> Home Phone (<span class=\"required\">Required</span>)");
    }
    else{
        $('label[for=homePhoneareacode]').html("Home Phone (Optional)");
    }
}

function validateForm(){
    $(errorElement).html('');
    requiredText = " is required";
    $(formElement).validate({
        rules: {
         "homePhone[0]": {
           required: {
             depends: function(element) {
               return $('#recordings:checked').length > 0
              }
           }
         },
         "homePhone[1]": {
           required: {
             depends: function(element) {
               return $('#recordings:checked').length > 0 && $("input[name=homePhone[0]]").val() != '';
              }
           }
         },
         "homePhone[2]": {
           required: {
             depends: function(element) {
               return $('#recordings:checked').length > 0 && $("input[name=homePhone[0]]").val() != '' && $("input[name=homePhone[1]]").val() != '';
              }
           }
         }
       },
        messages: {
            email: {
                required:"E-mail address" + requiredText,
                email: "E-mail address - must be in the format of name@domain.com"
            },
            emailC: {
                required:"Confirm E-mail address" + requiredText,
                email: "Confirm E-mail address - must be in the format of name@domain.com"
            },
            firstName: "First Name" + requiredText,
            lastName: "Last Name" + requiredText,
            address1: "Street address" + requiredText,
            city: "City" + requiredText,
            state: "State" + requiredText,
            zip: "Zip Code" + requiredText,
            "homePhone[0]":"Home Phone number"+requiredText,
            "homePhone[1]":"Home Phone number"+requiredText,
            "homePhone[2]":"Home Phone number"+requiredText
        },
        focusInvalid: false

    }
    );
    isValid = $(formElement).valid();
    if(isValid && !specialRules()){
        isValid = false;
    }

    emailC = $.trim($('#emailC').val());
    email = $.trim($('#email').val());
    additionalErrors = '';
    if(emailC != '' && email != '' && email != emailC){
        isValid = false;
        additionalErrors = 'Email and Confirm email must match<br />';
    }
    
    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);
    }
    $(errorElement).append(additionalErrors);
    return isValid;
}

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