// Fix IE6 (les arrondis ne suivent pas la hauteur du bloc)
function fixIE() {
	if($.browser.msie && parseInt(jQuery.browser.version) <= 6){
		$("#fixIE").removeClass("block3");
		$("#fixIE").addClass("block3");
	}
}

/* initialisation */
$(document).ready(function(){
	if($("#formInscription").length) 
	{
		$.validator.methods.telephone_fr = function(value, element, param){ 
			return /^(()|(0[0-9]{9}))$/.test(value); 
		}; 
		
		$.validator.methods.code_postal = function(value, element, param){ 
			return /^[0-9]{5}$/.test(value); 
		};
		
		$.validator.methods.siret = function(value, element, param){ 
			return /^[0-9]{13}$/.test(value); 
		};  
	
		$("#formInscription").validate({
			errorElement: "span",
			
			errorClass: "inlineErrorMessage",
			
			focusCleanup: false,
			
			errorPlacement: function(error, element) {
				if (element.attr("name") == "CIVILITE")
					error.insertAfter(element.parent().find("label[for=CIV_M]"));
				else if (element.attr("name") == "CHARTE")
					error.insertAfter(element.parent().parent().find("label[for=CHARTE]"));
				else
					error.insertAfter(element);
			},
			
			rules:{ 
				CIVILITE:"required",
				NOM:"required",
				PRENOM:"required",
				FONCTION:"required",
				COURRIEL: {
					required: true,
					email: true
				},
				TELEPHONE: {
					required: true,
					telephone_fr: true
				},
				FAX: {
					telephone_fr: true
				},
				RAISONSOCIALE:"required",
				TELEPHONEPRO: {
					required: true,
					telephone_fr: true
				},
				ADRESSE:"required",
				VILLE:"required",
				CODEPOSTAL: {
					required: true,
					code_postal: true
				},
				PAYS:"required",
				//SIRET:"required",
				CHARTE:"required"
 
			}, 
			
			messages:{
				CIVILITE: "La civilité est requise",
				NOM: "Le nom est requis",
				PRENOM: "Le prénom est requis",
				FONCTION: "La fonction est requise",
				COURRIEL: "L'adresse courriel est requise",
				TELEPHONE: "Le téléphone doit commencer par 0 et avoir 10 chiffres",
				FAX: "Le fax doit commencer par 0 et avoir 10 chiffres",
				RAISONSOCIALE: "La raison sociale est requise",
				TELEPHONEPRO: "Le téléphone doit commencer par 0 et avoir 10 chiffres",
				ADRESSE: "L'adresse est requise",
				VILLE: "La ville est requise",
				CODEPOSTAL: "Le code postal est composé de 5 chiffres",
				PAYS: "Le pays est requis",
				//SIRET: "Le SIRET est composé de 13 chiffres",
				CHARTE: "Merci d'accepter la charte d'utilisation"
			},
			
			highlight: function(element, errorClass) {
				if ($(element).attr("name") == "CIVILITE") {
					$("#blockCivilite label").each(function(i, elem) {$(elem).addClass("highlight");});
				}
				else {
					$(element).addClass(errorClass);
					$(element.form).find("label[for=" + element.id + "]").addClass("highlight");
				}
			},
			
			unhighlight: function(element, errorClass) {
				if ($(element).attr("name") == "CIVILITE") {
					$("#blockCivilite label").each(function(i, elem) {$(elem).removeClass("highlight");});
				}
				else {
					$(element).removeClass(errorClass);
					$(element.form).find("label[for=" + element.id + "]").removeClass("highlight");
				}
			},
			
			showErrors: function(errorMap, errorList) {				
				this.defaultShowErrors();
				
				fixIE();
			},
			
			invalidHandler: function(form, validator) {
				if(validator.numberOfInvalids() > 1)
					$("#summaryErrors").html(validator.numberOfInvalids() + " champs ont été oubliés ou restent incomplets.<br />Les champs concernés ont été mis en relief. Merci de bien vouloir les vérifier et les compléter. ");
				else  if(validator.numberOfInvalids() == 1)
					$("#summaryErrors").html("Un champs a été oublié ou reste incomplet.<br />Le champ concerné a été mis en relief. Merci de bien vouloir le vérifier et le compléter. ");
				else 
					$("#summaryErrors").html("");
				
				fixIE();
			}


		}); 
	}
	
});
