// METHODES ADDITIONNELLES
$.validator.methods.equal = function(value, element, param) {
	return value == param;
}; 
jQuery.validator.addMethod("maxWords", function(value, element, params) { 
	 return this.optional(element) || value.match(/\b\w+\b/g).length < params; 
}, jQuery.validator.format("Please enter {0} words or less.")); 
 
jQuery.validator.addMethod("minWords", function(value, element, params) { 
	 return this.optional(element) || value.match(/\b\w+\b/g).length >= params; 
}, jQuery.validator.format("Please enter at least {0} words.")); 
 
jQuery.validator.addMethod("rangeWords", function(value, element, params) { 
	 return this.optional(element) || value.match(/\b\w+\b/g).length >= params[0] && value.match(/bw+b/g).length < params[1]; 
}, jQuery.validator.format("Please enter between {0} and {1} words."));

jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) {
	return this.optional(element) || /^[a-z-.,()'\"\s]+$/i.test(value);
}, "Letters or punctuation only please");  

jQuery.validator.addMethod("alphanumeric", function(value, element) {
	return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, spaces or underscores only please");  

jQuery.validator.addMethod("lettersonly", function(value, element) {
	return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Letters only please"); 

jQuery.validator.addMethod("nowhitespace", function(value, element) {
	return this.optional(element) || /^\S+$/i.test(value);
}, "No white space please"); 

jQuery.validator.addMethod("ziprange", function(value, element) {
	return this.optional(element) || /^90[2-5]\d\{2}-\d{4}$/.test(value);
}, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");

jQuery.validator.addMethod("telephone", function(value, element) {
	return this.optional(element) || /^[0-9]{3}[\s|-][0-9]{3}[-][0-9]{4}$/.test(value);
},	"Invalide");

jQuery.validator.addMethod("codepostal", function(value, element){
	return this.optional(element) || /^((([a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}[\s-]?[0-9]{1}[a-zA-Z]{1}[0-9]{1}))|([0-9]{5}([-][0-9]{4})?))$/.test(value);
}, "Invalide");

$(document).ready(function(){
	
	// VALIDATION FORMULAIRES COMMENTAIRES
	if($("#commentairesForm").length){
		$("#commentairesForm").validate({
			rules:{
				nom: "required",
				courriel:{required:true,email:true},
				message: "required"			
			},
			messages:{
				nom:"Obligatoire",
				courriel:{required:"Obligatoire",email:"Invalide"},
				message:"Obligatoire"
			}
		});
	}
	// VALIDATION FORMULAIRES PUBLICATIONS
	if($("#publicationsForm").length){
		$("#publicationsForm").validate({
			rules:{
				prenom: "required",
				nom: "required",
				adresse: "required",
				ville: "required",
				province: "required",
				pays: "required",
				cp:{required:true,codepostal:true},
				telephone:{required:true,telephone:true},
				courriel:{required:true,email:true}
			},
			messages:{
				prenom:"Obligatoire",
				nom:"Obligatoire",
				adresse:"Obligatoire",
				ville:"Obligatoire",
				province:"Obligatoire",
				pays:"Obligatoire",
				cp:{required:"Obligatoire"},
				telephone:{required:"Obligatoire"},
				courriel:{required:"Obligatoire",email:"Invalide"}
			}
		});
	}
	// VALIDATION FORMULAIRES INFOLETTRES
	if($("#infolettresForm").length){
		$("#infolettresForm").validate({
			rules:{
				prenom: "required",
				nom: "required",
				courriel:{required:true,email:true}
			},
			messages:{
				prenom: "Obligatoire",
				nom: "Obligatoire",
				courriel: {required:"Obligatoire",email: "Invalide"}
			}
		});
	}
	// VALIDATION FORMULAIRE CONCOURS CHLOROPHYLLE
	if($("#form_concours").length){
		$("#form_concours").validate({
			rules:{
				prenom: "required",
				nom: "required",
				adresse: "required",
				ville: "required",
				province: "required",
				pays: "required",
				cp:{required:true,codepostal:true},
				telephone:{required:true,telephone:true},
				courriel:{required:true,email:true},
				question: {equal:10}
			},
			messages:{
				prenom:"Obligatoire",
				nom:"Obligatoire",
				adresse:"Obligatoire",
				ville:"Obligatoire",
				province:"Obligatoire",
				pays:"Obligatoire",
				cp:{required:"Obligatoire"},
				telephone:"Obligatoire",
				courriel:{required:"Obligatoire",email:"Invalide"},
				question: "Incorrect"
			}
		});
	}

});