$.validator.setDefaults({
	//submitHandler: function() { alert($("input[@name='RMARequested']:checked").val()); },
	//debug: true,
});

jQuery(document).ready(function()
{

jQuery.validator.addMethod("deny", function(value, element, param) {
  return !(value.match(new RegExp("." + param + "$")));
});

$("#email").validate({
	rules: {
		ToName: {required: true, minLength: 2},
		ToEmail: {required: true, email: true},
		FromName: {required: true, minLength: 2},
		FromEmail: {required: true, email: true}
	},

	messages: {
		ToName: {
			required: "Please enter a To name",
			minLength: "The To name must be at least 2 characters"
		},
		FromName: {
			required: "Please enter a From name",
			minLength: "The From name must be at least 2 characters"
		},
		ToEmail: "Please enter a valid To email address",
		FromEmail: "Please enter a valid From email address"
		}
});


$("#uploadattachment").validate({
	rules: {
		FILE1: {required: true, minLength: 5, deny: "(exe|bat|scr|pif)"}
	},
	messages: {
		FILE1: {
			required: "Please enter a file name",
			minLength: "The file name must be at least 5 characters",
			deny: "Please archive executable files with ZIP before uploading."
		}
	}
	});


$("#AuthorizeCC").validate({
	rules: {
		CCNumber: {required: true},
		CSC: {required: true},
		FirstName: {required: true},
		LastName: {required: true}
	},
	messages: {
		CCNumber: {required: "Please enter a credit card number"},
		CSC: {required: "Please enter a Security Code"},
		FirstName: {required: "Please enter a First Name"},
		LastName: {required: "Please enter a Last Name"}
	}
	});


$("#tfrform").validate({
	rules: {
		OriginatorName: {required: true, minLength: 5},

		OriginatorPhone: {required: true, minLength: 10},

		OriginatorEmail: {required: true, email: true},
		
		TFRFailureDescription: {required: true},
		
		TFRItemDesc: {required: function() {
				return $("#RMARequested:checked").val() == 1;
			}
		},

		ShippingInstructions: {required: function() {
				return $("#RMANumber").val() != '';
			}
		}		
		
	},
	messages: {
		OriginatorName: {
			required: "Please enter a name",
			minLength: "The name must be at least 5 characters"
		},
		OriginatorPhone: {
			required: "Please enter a phone number",
			minLength: "The phone number must be at least 10 digits"
		},

		OriginatorEmail: "Please enter a valid email address",
		TFRFailureDescription: "Please enter a Failure Description",
		ItemDescription: "Please enter a description for the item",
		ShippingInstructions: "Please enter the shipping instructions"

	}
	});



$("#newuserdomestic").validate({
	rules: {
		FirstName: {required: true, minLength: 2},
		LastName: {required: true, minLength: 2},
		Phone: {required: true, minLength: 10},
		Address1: {required: true, minLength: 5},
		City: {required: true, minLength: 4},
		State: {required: true, minLength: 2},
		PostalCode: {required: true, minLength: 5, maxLength: 6},
		ShipFirstName: {required: true, minLength: 2},
		ShipLastName: {required: true, minLength: 2},
		ShipAddress1: {required: true, minLength: 5},
		ShipCity: {required: true, minLength: 4},
		ShipState: {required: true, minLength: 2},
		ShipPostalCode: {required: true, minLength: 5, maxLength: 6},
		Phone: {required: true, minLength: 10},
		Email: {required: true, email: true},
		Password: {required: true},
		Password2: {required: true}
	},
	messages: {
		FirstName: {required: "Please enter a first name",minLength: "The name must be at least 2 characters"},
		LastName: {required: "Please enter a last name",minLength: "The name must be at least 2 characters"},
		Phone: {required: "Please enter a phone number",minLength: "The phone number must be at least 10 digits"},
		Address1: {required: "Please enter an address",minLength: "The address must be at least 5 characters"},
		City: {required: "Please enter a city",minLength: "The city must be at least 4 characters"},
		State: {required: "Please enter a state",minLength: "The state must be at least 2 characters"},
		PostalCode: {required: "Please enter a postal code",minLength: "The postal code must be at least 5 characters"},
		ShipFirstName: {required: "Please enter a first name",minLength: "The shipping first name must be at least 2 characters"},
		ShipLastName: {required: "Please enter a last name",minLength: "The shipping last name must be at least 2 characters"},
		ShipAddress1: {required: "Please enter an address",minLength: "The shipping address must be at least 5 characters"},
		ShipCity: {required: "Please enter a city",minLength: "The shipping city must be at least 4 characters"},
		ShipState: {required: "Please enter a state",minLength: "The shipping state must be at least 2 characters"},
		ShipPostalCode: {required: "Please enter a postal code",minLength: "The shipping postal code must be at least 5 characters"},		
		Email: "Please enter a valid email address",
		Password: "Please enter a password",
		Password2: "Please confirm your password"
	}
	});


$("#newuserinternational").validate({
	rules: {
		FirstName: {required: true, minLength: 2},
		LastName: {required: true, minLength: 2},
		Phone: {required: true, minLength: 10},
		Phone: {required: true, minLength: 10},
		Email: {required: true, email: true},
		Password: {required: true},
		Password2: {required: true}
	},
	messages: {
		FirstName: {required: "Please enter a first name",minLength: "The name must be at least 2 characters"},
		LastName: {required: "Please enter a last name",minLength: "The name must be at least 2 characters"},
		Phone: {required: "Please enter a phone number",minLength: "The phone number must be at least 10 digits"},
		Email: "Please enter a valid email address",
		Password: "Please enter a password",
		Password2: "Please confirm your password"
	}
	});

}
);
