$(document).ready(function(){
    $.validator.addMethod(
        "phoneNumber",
        function(value, element) {
            var stripped = value.replace(/[\s()+-]/gi, "");
            // 10 is the minimum number of numbers required

            var i;
            var dashCtr = 0;

            for (i=0; i < value.length; i++) {

                    if (value.charAt(i)== "-") {
                            dashCtr ++;
                    }
            }

            if (dashCtr > 2) {
                    return false;
            }

            return ((/\d{9,}/i).test(stripped));
        },
        "Please enter a valid phone number."
    );

    var validator = $("#inquiry").validate({
       errorPlacement: function(error, element) {
           //important! overrides error placement in labels (even without content) :)
       },
       rules: {
           name: {required:true, minlength:2, maxlength:30},
           phoneNumber: {required: true, minlength: 9, maxlength: 25, phoneNumber: true},
           emailAddress: {required:true, email:true},//remote: "ajax/processors/checkEmail.php"
           guests: {required:true, digits:true}
        },
        messages: {
            name: "<b>Your name</b> - This field is required.",
            phoneNumber: {
                required: "<b>Your Phone Number</b> - This field is required.",
                minlength: "<b>Your Phone Number</b> - Please enter at least 9 characters.",
                maxlength: "<b>Your Phone Number</b> - Please enter only up to 25 characters.",
                phoneNumber: "<b>Your Phone Number</b> - Please enter a valid phone number."
            },
            emailAddress: {
                required: "<b>Your Email Address</b> - This field is required.",
                email: "<b>Your Email Address</b> - Please enter a valid email address."
            },
            guests: {
                required: "<b>Your Approximate Number of Guests</b> - This field is required.",
                digits: "<b>Your Approximate Number of Guests</b> - Please enter only digits."
            }
        },
        success: function(label) {
            label.addClass("valid");
            label.html("&nbsp");
        },
        invalidHandler: function(e, validator) {

            var obj = validator.invalid;
            var errorMessages = '<strong style="color:#BF0000">Please check the following Fields:</strong><br/>';

            for (var invalid in obj) {
                errorMessages = errorMessages + '<i style="color:#636363; font-size:11px;">' + obj[invalid] + '</i><br/>';
            }

            //lets put some whitespace
            errorMessages = errorMessages + '&nbsp';

            var errors = validator.numberOfInvalids();

            if (errors) {
                $('div.error').html(errorMessages);
                $('div.error').show();
            } else {
                $('div.error').hide();
            }
        },
        submitHandler: function(form) {
            //var str = $("form").serialize();

            //hide error messages
            $('div.error').hide();
            form.submit();
            /*
            $.ajax({
                    type: "POST",

                    url: "ajax/processors/ajax.register.php",

                    data: ,

                    success: function(del){
                            //$('#loadRegistering').toggle();
                            window.location = "thankyou.php";
                            //$('div.thankyou_page').fadeIn();
                    }
            });*/
        },
        onkeyup: false
   });

});
