jQuery.extend(jQuery.validator.messages, {
	phone_fr: "Veuillez entrer un téléphone français valide.",
	cp_fr: "Veuillez entrer un code postal français valide.",
	cp_l: "Veuillez entrer un code postal luxembourgeois valide.",
	cp_b: "Veuillez entrer un code postal belge valide.",
	cp_s: "Veuillez entrer un code postal suisse valide.",
	phone_other: "Veuillez entrer un téléphone valide.",
	cp_other: "Veuillez entrer un code postal valide.",
	email_filtre: "Les e-mails temporaires ne sont pas acceptées.",
	annee_naissance: "Personnes majeures uniquement.",
	date_naissance: "Veuillez entrer une année valide.",
	lettersonly: "Lettres uniquement"
});
$.validator.addMethod("phone_france", function(phone_number, element, params) { 
	phone_number = phone_number.replace(/\s+/g, ""); 
	var $ret;
	return this.optional(element) || (phone_number.length == 10 && /^0[0-9]+$/i.test(phone_number)) || (phone_number.length == 12 && /^\+33[0-9\(\)]+$/i.test(phone_number));
}, function() {
	return $.validator.messages.phone_fr;
});
$.validator.addMethod("cp_france", function(cp, element, params) { 
	var $ret;
	return this.optional(element) || cp.length == 5 && cp != "00000" && /^[0-9]+$/i.test(cp);
}, function() {
	return $.validator.messages.cp_fr;
});
$.validator.addMethod("email_filtre", function(email, element, params) { 
	return this.optional(element) || !/^\w+@yopmail.com$/i.test(email) && !/^\w+@trashmail.net$/i.test(email) && !/^\w+@brefmail.com$/i.test(email) && !/^\w+@kurzepost.de$/i.test(email) && !/^\w+@objectmail.com$/i.test(email) && !/^\w+@proxymail.eu$/i.test(email) && !/^\w+@rcpt.at$/i.test(email) && !/^\w+@trash-mail.at$/i.test(email) && !/^\w+@trashmail.at$/i.test(email) && !/^\w+@wegwerfmail.de$/i.test(email) && !/^\w+@wegwerfmail.org$/i.test(email) && !/^\w+@mailincubator.com$/i.test(email) && !/^\w+@mail-temporaire.fr$/i.test(email) && !/^\w+@bofthew.com$/i.test(email) && !/^\w+@spamavert.com$/i.test(email) && !/^\w+@jetable.com$/i.test(email) && !/^\w+@spamgourmet.com$/i.test(email) && !/^\w+@0-mail.com$/i.test(email) && !/^\w+@courrieltemporaire.com$/i.test(email);
},$.validator.messages.email_filtre);
$.validator.addMethod("email_special", function(email, element, params) { 
	return this.optional(element) || /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/i.test(email);
},$.validator.messages.email);
$.validator.addMethod("annee_naissance", function(annee_naissance, element, params) { 
	return this.optional(element) || (parseInt(annee_naissance) > 1899 && parseInt(annee_naissance) < 2000 && annee_naissance.length == 4 && annee_naissance != "0000");
},$.validator.messages.date_naissance);
$.validator.addMethod("majorite", function(annee_naissance, element, params) { 
	var maintenant = new Date();
	var jour = maintenant.getDate();
	return this.optional(element) || (parseInt(annee_naissance)+18 < maintenant.getFullYear());
},$.validator.messages.annee_naissance);
$.validator.addClassRules({
	phone_france:  { phone_france: true },
	cp_france:     { cp_france: true },
	email_special: { email_filtre: true, email: true, email_special: true }, //
	naissance:     { annee_naissance: true, majorite: true },
	lettersonly:   { lettersonly: true }
});
