$(document).ready(function() {
    $('.field.required').each(function() {
		$('input, select', $(this)).addClass('required');
	});
	
	$.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(/^.*[0-9]{3}[ -]?[0-9]{3}[ -]?[0-9]{4}$/);
	}, "Please specify a valid phone number");
	
	$.validator.addMethod("year", function(value, element) {
		var d = new Date();
		return this.optional(element) || (parseInt(value) > 1900 && parseInt(value) <= d.getFullYear())
	}, "Please specify a valid year");
	
	$.validator.addMethod("month", function(value, element) {
		return this.optional(element) || (value.match(/^(0[1-9]|1[0-2])$/i))
	}, "Please specify a valid month");
	
	$.validator.addMethod("day", function(value, element) {
		return this.optional(element) || (value.match(/^(0[1-9]|[1-2][0-9]|3[0-1])$/i))
	}, "Please specify a valid day");
	
	jQuery.validator.addMethod("creditCardCvv", function(number, element) {
		number = number.replace(/\s+/g, ""); 
		return this.optional(element) || number.length > 2  &&
			number.match(/^.*[0-9]/);
	}, "Please specify a valid credit card CVV");
	
	$('form#affiliateForm').validate({
	    submitHandler: function(form) {
            $(form).submit(options);
        },
        rules: {
            name:{
                required: true,
                minlength: 2,
                maxlength: 34
            },
            firm:{
                required: true,
                minlength: 2,
                maxlength: 34
            },
            email:{
                required: true,
                email: true
            },
            phone:{
                required: true,
                phoneUS: true,
                minlength: 10
            }
        }
	});
	
    $('form#contactForm').validate({
        submitHandler: function(form) {
            $(form).submit(options);
        },
        rules: {
            name:{
                required: true,
                minlength: 2,
                maxlength: 34
            },
            email:{
                required: true,
                email: true
            },
            phone:{
                required: true,
                phoneUS: true,
                minlength: 10
            }
        }
    });
    
    $('form#workers-comp-form').validate();
});

