﻿// Form validation via jQuery
//load required libraries
  
$(function(){
    //Contact Us validation
 jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

      $("#frmContact").validate({
        debug: false,
        errorElement: "em", //the type of element the error message will be output as 
        errorPlacement: function(error, element) {//set the placement of error messages
            error.appendTo(element.parent("div.row"));
        },
        submitHandler: function(form) {
            $("#postBack").val(1);
             $("#frmContact").submit();
        },
        rules: {//validation rules are defined here (the rule names correspond to input ID values) 
            StoreNameTextBox:{
                required: true,
                minlength: 2
            
            },
            DateShoppedTextBox:{
                required: true,
                date: true
                         
            },
            FirstNameTextBox: {
                required: true,
                minlength: 2
            },
            EmailTextBox: {
                required: true,
                email: true
            },
            CardNumberTextBox: {
                required: true,
                minlength: 9,
                maxlength: 9,
                number: true
            },
           
           PhoneTextBox: {
                phoneUS: true
                
           }
        },
        messages: {//custom error messages defined here
            StoreNameTextBox:{
                required: "Store Location is required.",
                minlength: "Minimum of 2 characters required."
            
            },
            DateShoppedTextBox:{
                required: "Your Date Shopped is a required field."
              },
            FirstNameTextBox: {
                required: "Your first name is required.",
                minlength: "Minimum of 2 characters required."
            },
           
            EmailTextBox: {
                required: "Your email is a required field.",
                email: "Please enter a valid email address."
            },
            CardNumberTextBox: {
                required: "Your  card number is a required field.",
                minlength: "Your card number must be 9 characters required.",
                maxlength: "Your card number must be 9 characters required.",
                number: "Your card number must have number characters."
            },
           PhoneTextBox: {
                phoneUS: "Please enter a valid phone number."
            }
       }       
    });
    
});
