$(document).ready(
	function ()
	{
		$.validator.addMethod('pname',
			function(value, element)
			{
				var matches = value.match(/[^-A-Za-z0-9 .\',]/);
				
				return this.optional(element) || 0 >= matches;
			},
			'Invalid character.'
		);
		$.validator.addMethod("phone",
			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][0-8]\d-?\d{4}$/);
			},
			'Please specify a valid phone number'
		);
		$.validator.addMethod('zip',
			function (value, element)
			{
				return this.optional(element) || 4 < value.length && 11 > value.length && value.match(/^\d{5}(-\d{4})?$/);
			},
			'Invalid zip code.'
		);
		$.validator.addMethod('email',
			function (value, element)
			{
				return this.optional(element) || value.match(/^[A-Za-z][-A-Za-z0-9\.]+@[A-Za-z][-A-Za-z0-9\.]+\.[A-Za-z]([A-Za-z]\.[A-Za-z][A-Za-z])|([A-Za-z]{2})$/);
			},
			'Invalid e-mail address.'
		);
		$('#registration-form').validate();
	}
);

