$(document).ready(function() {
	jQuery.validator.addMethod("nameFULL", function(full_name, element) {
    	return this.optional(element) || full_name.match(/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/);
	}, "Please enter your full name.");
		
	jQuery.validator.addMethod("phoneAll", function(phone_number, element) {
    	phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.match(/^[1-9]+(([\.\- ][0-9 ])?[0-9])*$/);
	});
		
	jQuery.validator.addMethod("dateAll", function(date_all, element) {
		return this.optional(element) || date_all.match(/^[a-zA-Z0-9]+(([\.\-\/ ][a-zA-Z0-9 ])?[a-zA-Z0-9])*$/);
	});

	$("#contactForm").validate({
		rules: {
			name: {
				required: true,
				nameFULL: true
			},
			phone: {
				required: true,
				phoneAll: true
			},
			email: {
				required: true,
				email: true
			},
			date: {
				required: true,
				dateAll: true
			},
			type: "required"
		},
		messages: {
			name: "Enter your name.",
			phone: "Enter a valid phone number.",
			email: "Enter a valid e-mail address.",
			date: "Enter the date of the event.",
			type: "Select the type of event."
		},
		submitHandler: function(form) {
			form.submit();
		}
	});
});