$(document).ready(function() {
	
	var now = new Date();
	var end_date = new Date("January 31, 2010");
	if(now>end_date) {
		max_date = end_date;
	} else {
		max_date = now;
	}
	
	$("#purchase_date").datepicker({ dateFormat: 'dd-M-yy', minDate: '-21d', maxDate: max_date });
	
    // validate signup form on keyup and submit 

	$.validator.addMethod(
	    "valid_date_range",
	    function(value, element) {
	        // put your own logic here, this is just a (crappy) example
	        return value.match(/^\d\d?\-[A-Za-z][A-Za-z][A-Za-z]-\d\d\d\d$/);
	    },
	    "Invalid date specified"
	);
	

   $("#cashback_registration_1").validate({ 
        rules: {
            given_name: { 
                required: true, 
                minlength: 1
            }, 
            family_name: { 
                required: true, 
                minlength: 1 
            }, 
			phone: {
                required: true, 
                minlength: 10
			},
            email: { 
                required: true, 
                email: true
            },
            email_confirm: { 
                required: true,
                equalTo: "#email" 
            },
            purchase_date: { 
                required: true
            }
        }, 
        messages: { 
            given_name: "Please enter your first name", 
            family_name: "Please enter your surname", 
			phone: "Please enter your daytime phone number (including area code if landline) ",
            email:{required: "Please enter a valid email address"},
            email_confirm: { 
                required: "Please confirm your email address",
                equalTo: "Email addresses do not match" 
            },
            purchase_date: { 
                required: "Please select your date of purchase"
            }
        }
    }); 

   $("#cashback_registration_2").validate({ 
        rules: {
            given_name: { 
                required: true, 
                minlength: 1
            }, 
            family_name: { 
                required: true, 
                minlength: 1 
            }, 
			phone: {
                required: true, 
                minlength: 10
			},
            email: { 
                required: true, 
                email: true
            },
            product: { 
                required: true
            },
            store: { 
                required: true, 
                minlength: 1
            }, 
            store_state: { 
                required: true, 
                minlength: 1 
            }, 
			address_1: {
                required: true, 
                minlength: 2
			},
            suburb: { 
                required: true,
                minlength: 2
            },
            state: { 
                required: true, 
                minlength: 1
            },
            postcode: { 
                required: true, 
                minlength: 4
            }, 
            receipt_no: { 
                required: true, 
                minlength: 1 
            }, 
			terms_and_conditions: {
                required: true
			}
        }, 
        messages: { 
            given_name: "Please enter your first name", 
            family_name: "Please enter your surname", 
			phone: "Please enter your daytime phone number (including area code if landline)",
            email: "Please enter a valid email address",
            address_1: "Please enter your address",
            product: "Please select your product of purchase",  
            store: "Please enter your store of purchase", 
            store_state: "Please select your state of purchase", 
			suburb: "Please enter your suburb",
            state: "Please select your state",
            postcode: "Please enter a valid postcode", 
			receipt_no: "Please enter your receipt number",
            terms_and_conditions: "You must agree to our Terms and Conditions in order to proceed"
        },
		errorPlacement: function(error, element) {
		   if (element.hasClass("checkbox"))
		     error.insertAfter("#label");
		   else
		     error.insertAfter(element);
		 }
    });
 
});
