jQuery.validator.addMethod(	"dateFR",	function(value, element) {		var check = false;		var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/		if( re.test(value)){			var adata = value.split('/');			var gg = parseInt(adata[0],10);			var mm = parseInt(adata[1],10);			var aaaa = parseInt(adata[2],10);			var xdata = new Date(aaaa,mm-1,gg);			if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )				check = true;			else				check = false;		} else			check = false;		return this.optional(element) || check;	}, 	"La date n'est pas correcte");jQuery.validator.addMethod(	"numberFR",	function(value, element) {		//return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:[\.|\,]\d+)?$/.test(value);		return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\d{3})+)(?:[\.|\,]\d+)?$/.test(value);	}, 	"La valeure saisie doit être au format numérique.");		jQuery.validator.addMethod(	"datePeriodeValide",	function(value, element) {		var check = false;		var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/		if( re.test(value)){			var adata = value.split('/');			var gg = parseInt(adata[0],10);			var mm = parseInt(adata[1],10);			var aaaa = parseInt(adata[2],10);			var xdata = new Date(aaaa,mm-1,gg);			if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )				check = true;			else				check = false;			if (aaaa>1993 || aaaa<1915)			{				check = false;			}		} else			check = false;		return this.optional(element) || check;	}, 	"La date n'est pas autorisee");jQuery.validator.addMethod(	"check_adresse",	function(value, element) {		var check = true;		adresse_val = $("#adresse").val();		if (libelle_bouton==adresse_val)		{			check=false;		}		return check;	}, 	"L'adresse n'est pas correcte,utilisez le module");jQuery.validator.addMethod(	"check_adresse2",	function(value, element) {		var check = true;		adresse_val = $("#adresse").val();		if (adresse_val=="")		{			check=false;		}			return check;	}, 	"L'adresse est vide");jQuery.validator.addMethod(	"check_cp", function(value, element) {	return this.optional(element) || /^((0[1-9]|[1-8][0-9]|9[0-7])\d{3}|98000)$/.test(value);}, "Code postal pas au bon format !");jQuery.validator.addMethod(	"check_tel", function(value, element) {	return this.optional(element) || /^(0([1-7]|9)(\w)*)/.test(value);}, "telephone pas au bon format !");jQuery.validator.addMethod(	"nomOk",	function(value, element) {		var check = false;		var re = /^[a-zA-Zéèêëîïç\s\'\-]{2,}$/		if (re.test(value))		{			check=true;		} 				return this.optional(element) || check;	}, 	"Le nom n'est pas correct");function go_label(labelStr){	var decalage = $(window).height()/2;	/*	if (mode_formulaire=='unique')	{		//alert(parent);		//decalage=$(document.parent.window).height()/2;		//alert('la');		}*/	//alert(decalage);	$.scrollTo( $("#"+labelStr), 400, {offset:-decalage});}function show_situation(){	var divsitu = $('#bloc_masituation');	divsitu.slideDown(600);}function show_coordonnees(){	var divsitu = $('#bloc_mescoordonnees');	divsitu.slideDown(600);}//gestion type de projet formulaire$(document).ready(function() {			$("#Naissance").mask("99/99/9999");	$("#telephone").mask("99 99 99 99 99");	$("#telephone2").mask("99 99 99 99 99");	$("#Co_Naissance").mask("99/99/9999");	$("#type_projet").change(function() 	{		val = $("#type_projet").val();		if (val!="")		{			$(".rachat-de-credit").hide();			$(".financement-projets").hide();			$(".pret-immobilier").hide();			$(".besoin-argent").hide();			$("." + val).fadeIn();			if (val!="rachat-de-credit")			{				$("#conditionne_horsrac").show();			}			else			{				$("#conditionne_horsrac").hide();			}			if (val=='rachat-de-credit' || val=='besoin-argent')			{				show_situation();			}			EURECA_action_in(eureca_site, eureca_action_in);		}	});	$("#nb_immo").change(function() 	{		val = parseInt($("#nb_immo").val());		if (val>0)		{			$("#conditionne_immo").fadeIn();		}		else		{			$("#conditionne_immo").fadeOut();		}	});	$("#nb_autre").change(function() 	{		val = parseInt($("#nb_autre").val());		if (val>0)		{			$("#conditionne_autre").fadeIn();		}		else		{			$("#conditionne_autre").fadeOut();		}	});		$("#dettes_oui").click(function() 	{		$("#conditionne_dette").fadeIn();	});	$("#dettes_non").click(function() 	{		$("#conditionne_dette").fadeOut();	});		$("#tresorerie_oui").click(function() 	{		$("#conditionne_tresorerie").fadeIn();	});	$("#tresorerie_non").click(function() 	{		$("#conditionne_tresorerie").fadeOut();	});		$("#statut_locataire").click(function() 	{		$("#conditionne_BienMontant1").hide();		//$("#conditionne_credistor").hide();		$("#conditionne_locataire").fadeIn();	});	$("#statut_proprietaire").click(function() 	{		$("#conditionne_locataire").hide();		$("#conditionne_BienMontant1").fadeIn();		//$("#conditionne_credistor").fadeIn();			});	$("#statut_heberge").click(function() 	{		$("#conditionne_locataire").fadeOut();		//$("#conditionne_credistor").hide();		$("#conditionne_BienMontant1").fadeOut();	});		$("#coemprunteur_oui").click(function() 	{		$("#conditionne_coemprunteur").fadeIn();	});	$("#coemprunteur_non").click(function() 	{		$("#conditionne_coemprunteur").fadeOut();	});	$("#revenus_mensuels").change(function() 	{		show_coordonnees();	});	$("#ma_situation").click(function() 	{		show_situation();	});	$("#mes_coordonnees").click(function() 	{		show_coordonnees();	});	$("#immo_typeoperation").change(function() 	{		show_situation();	});	$("#financement_montant").change(function() 	{		show_situation();	});		/*$("#code_protocole").change(function()	{		$("#div_sbe_societe").show();	});*/		function is_sbe_protocole()	{		if ($("#issbe").val()=="1") 			return true;		else			return false;	}	//validation du formulaire	function is_immo()	{		if ($("#type_projet").val()=="pret-immobilier") 			return true;		else			return false;	}	function is_projet()	{		if ($("#type_projet").val()=="financement-projets") 			return true;		else			return false;	}		$("#bouton_valide").click(function()	{		var container = $('div.container');		validation=	$("#formulaire").validate({			rules: {				type_projet : {required:true},				financement_detail : 				{				  required: function(element) {					return is_projet();				  }				},				financement_montant:{				  required: function(element) {					return is_projet();				  }				  ,numberFR:true				},				immobilier_montant:				{				  required: function(element) {					return is_immo();				  }				  ,numberFR:true				},				compromis_reservation:				{				  required: function(element) {					return is_immo();				  }				},				immo_typeoperation:				{				  required: function(element) {					return is_immo();				  }				},				total_restant_du_immo:				{					required: 					function(element)					{						return ($("#nb_immo").val()>0);					},					numberFR:true				},				mensualites:				{					required: 					function(element)					{						return ($("#nb_immo").val()>0);					},					numberFR:true				},				total_restant_du_autre:				{					required: 					function(element)					{						return ($("#nb_autre").val()>0);					},					numberFR:true				},				mensualites_totales:				{					required: 					function(element)					{						return ($("#nb_autre").val()>0);					},					numberFR:true				},				dettes : {required:true},				total_restant_du_dettes:				{					required: 					function(element)					{						return ($("#dettes_oui").is(":checked"));					},					numberFR:true				},				tresorerie : {required:true},				montant_demande:				{					required: 					function(element)					{						return ($("#tresorerie_oui").is(":checked"));					},					numberFR:true				},				revenus_mensuels: {required:true, numberFR:true},				allocations: {numberFR:true},				statut:{required:true},				loyer_hors_charges:				{					required: 					function(element)					{						return ($("#statut_locataire").is(":checked"));					},					numberFR:true				},				BienMontant1:				{					required: 					function(element)					{						return ($("#statut_proprietaire").is(":checked"));					},					numberFR:true				},				civilite_emprunteur:{required:true},				nom_emprunteur : 				{					required:true,					nomOk:true				},				prenom_emprunteur : {required:true, nomOk:true},				Naissance : 				{					required:true,					dateFR:true,					datePeriodeValide:true				},				nb_enfant_charge:				{					required:true,					digits:true,					max:50				},				NaissanceVille:				{					required:					function(element)					{						return ($("#type_projet").val()!="rachat-de-credit" && $("#type_projet").val()!="");					}				},				NaissanceDep:				{					required:					function(element)					{						return ($("#type_projet").val()!="rachat-de-credit" && $("#type_projet").val()!="");					}				},				telephone:				{					required:true,					check_tel:true				},				telephone2:				{					check_tel:true				},				email:				{					required:true,					email:true				},				emailconfirm:				{					required:true,					email:true,					equalTo: "#email"				},				adresse:				{					check_adresse:true,					check_adresse2:true				},				code_postal:				{					required: 					function(element)					{						var adresse_val = $("#adresse").val();						return (adresse_val!="" && adresse_val!=libelle_bouton);					},					check_cp:true				},				ville:				{					required: 					function(element)					{						var adresse_val = $("#adresse").val();						return (adresse_val!="" && adresse_val!=libelle_bouton);					}				},				profession_emprunteur:{required:true},				coemprunteur:{required:true},				civilite_coemprunteur:				{					required: 					function(element)					{						return ($("#coemprunteur_oui").is(":checked"));					}				},				nom_coemprunteur:				{					required: 					function(element)					{						return ($("#coemprunteur_oui").is(":checked"));					},					nomOk:true				},				prenom_coemprunteur:				{					required: 					function(element)					{						return ($("#coemprunteur_oui").is(":checked"));					},					nomOk:true				},				Co_Naissance:				{					required: 					function(element)					{						return ($("#coemprunteur_oui").is(":checked"));					},					dateFR:true,					datePeriodeValide:true				},				profession_coemprunteur:				{					required: 					function(element)					{						return ($("#coemprunteur_oui").is(":checked"));					}				}				,				sbe_societe:				{				  required: function(element) {					return is_sbe_protocole();				  }				}			},						highlight: function(element, errorClass, validClass) {				$(element).addClass(errorClass).removeClass(validClass);								if ($(element).is('input:radio'))				{					$("label[for^='" + element.name + "']").each(function(i){$(this).addClass("error_radio")});				}			},				unhighlight: function(element, errorClass, validClass) {				$(element).removeClass(errorClass).addClass(validClass);				if ($(element).is('input:radio'))				{					$("label[for^='" + element.name + "']").each(function(i){$(this).removeClass("error_radio")});				}			},			messages:{ 				type_projet:"<span onClick=\"go_label('type_projet');\">Veuillez sélectionner le <strong>type de projet</strong></span>",				financement_detail:"<span onClick=\"go_label('financement_detail');\">Veuillez sélectionner la <strong>nature du projet</strong></span>",				financement_montant:				{ 					required:"<span onClick=\"go_label('financement_montant');\">Veuillez renseigner le <strong>besoin en financement</strong></span>", 					numberFR:"<span onClick=\"go_label('financement_montant');\">Le <strong>besoin en financement</strong> doit être au <strong>format numérique</strong></span>" 				},				immobilier_montant:				{ 					required:"<span onClick=\"go_label('immobilier_montant');\">Veuillez renseigner le <strong>montant du bien</strong></span>", 					numberFR:"<span onClick=\"go_label('immobilier_montant');\">Le <strong>montant du bien</strong> doit être au <strong>format numérique</strong></span>" 				},				compromis_reservation:"<span onClick=\"go_label('immobilier_montant');\">Veuillez choisir la case oui ou non concernant le <strong>compromis de vente</strong></span>",				immo_typeoperation:"<span onClick=\"go_label('immo_typeoperation');\">Veuillez sélectionner le <strong>type d'opération</strong></span>",				total_restant_du_immo:				{ 					required:"<span onClick=\"go_label('total_restant_du_immo');\">Veuillez renseigner le <strong>total restant dû</strong> pour vos crédits immobiliers</span>", 					numberFR:"<span onClick=\"go_label('total_restant_du_immo');\">Le <strong>total restant dû</strong> pour vos crédits immobiliers doit être au <strong>format numérique</strong></span>" 				},				mensualites:				{ 					required:"<span onClick=\"go_label('mensualites');\">Veuillez renseigner les <strong>mensualités</strong> pour vos crédits immobiliers</span>", 					numberFR:"<span onClick=\"go_label('mensualites');\">Les <strong>mensualités</strong> pour vos crédits immobiliers doivent être au <strong>format numérique</strong></span>" 				},				total_restant_du_autre:				{ 					required:"<span onClick=\"go_label('total_restant_du_autre');\">Veuillez renseigner le <strong>total restant dû</strong> pour vos autres crédits</span>", 					numberFR:"<span onClick=\"go_label('total_restant_du_autre');\">Le <strong>total restant dû</strong> pour vos autres crédits doit être au <strong>format numérique</strong></span>" 				},				mensualites_totales:				{ 					required:"<span onClick=\"go_label('mensualites_totales');\">Veuillez renseigner les <strong>mensualités</strong> pour vos autres crédits</span>", 					numberFR:"<span onClick=\"go_label('mensualites_totales');\">Les <strong>mensualités</strong> pour vos autres crédits doivent être au <strong>format numérique</strong></span>" 				},				dettes:"<span onClick=\"go_label('dettes_label');\"><label for=\"revenus_mensuels\">Veuillez choisir la case oui ou non concernant les <strong>autres dettes</strong></label></span>",				total_restant_du_dettes:				{ 					required:"<span onClick=\"go_label('total_restant_du_dettes');\">Veuillez renseigner le <strong>montant</strong> pour vos autres dettes</span>", 					numberFR:"<span onClick=\"go_label('total_restant_du_dettes');\">Le <strong>montant</strong> pour vos autres dettes doit être au <strong>format numérique</strong></span>" 				},				tresorerie:"<span onClick=\"go_label('tresorerie_label');\"><label for=\"revenus_mensuels\">Veuillez choisir la case oui ou non concernant le <strong>besoin en trésorerie</strong></label></span>",				montant_demande:				{ 					required:"<span onClick=\"go_label('montant_demande');\">Veuillez renseigner le <strong>montant</strong> pour votre besoin en trésorerie</span>", 					numberFR:"<span onClick=\"go_label('montant_demande');\">Le <strong>montant</strong> pour votre besoin en trésorerie doit être au <strong>format numérique</strong></span>" 				},				revenus_mensuels:				{ 					required:"<span onClick=\"go_label('revenus_mensuels');\">Veuillez renseigner vos <strong>revenus mensuels ou retraite</strong></span>", 					numberFR:"<span onClick=\"go_label('revenus_mensuels');\">Les <strong>revenus</strong> doivent être au <strong>format numérique</strong></span>" 				},				allocations:				{ 					numberFR:"<span onClick=\"go_label('allocations');\">Le montant des <strong>BIC, allocations, etc... </strong> doit être au <strong>format numérique</strong></span>" 				},				statut:"<span onClick=\"go_label('statut_proprietaire');\"><label for=\"nom_emprunteur\">Veuillez cocher votre statut, <strong>propriétaire, locataire ou hébergé</strong></label></span>",				loyer_hors_charges:				{					required:"<span onClick=\"go_label('loyer_hors_charges');\">Veuillez renseigner votre <strong>loyer mensuel</strong>, hors charge</span>", 					numberFR:"<span onClick=\"go_label('loyer_hors_charges');\">Le <strong>loyer</strong> doit être au <strong>format numérique</strong></span>" 				},				BienMontant1:				{					required:"<span onClick=\"go_label('BienMontant1');\">Veuillez renseigner la <strong>valeur de votre bien</strong></span>", 					numberFR:"<span onClick=\"go_label('BienMontant1');\">La <strong>valeur du bien</strong> doit être au <strong>format numérique</strong></span>" 				},				civilite_emprunteur:"<span onClick=\"go_label('civilite_emprunteur_Mme');\"><label for=\"nom_emprunteur\">Veuillez cocher votre civilité, <strong>Mme, Melle ou M.</strong></span></label>",				nom_emprunteur:				{					required:"<span onClick=\"go_label('nom_emprunteur');\">Veuillez saisir le <strong>nom de l'emprunteur</strong></span>",					nomOk:"<span onClick=\"go_label('nom_emprunteur');\">Le <strong>nom de l'emprunteur</strong>est incorrect</span>"				},				prenom_emprunteur:				{					required:"<span onClick=\"go_label('prenom_emprunteur');\">Veuillez saisir le <strong>prénom de l'emprunteur</strong></span>",					nomOk:"<span onClick=\"go_label('prenom_emprunteur');\">Le <strong>prénom de l'emprunteur</strong>est incorrect</span>"				},				Naissance:				{ 					required:"<span onClick=\"go_label('Naissance');\">Veuillez renseigner votre <strong>date de naissance</strong></span>", 					dateFR:"<span onClick=\"go_label('Naissance');\">Votre <strong>date de naissance</strong> doît être au <strong>format jj/mm/aaaa</strong></span>",					datePeriodeValide:"<span onClick=\"go_label('datePeriodeValide');\">Votre <strong>date de naissance</strong> n'est pas correcte.</span>"				},				nb_enfant_charge:				{ 					required:"<span onClick=\"go_label('nb_enfant_charge');\">Veuillez renseigner votre <strong>nombre d'enfants à charge</strong></span>", 					digits:"<span onClick=\"go_label('nb_enfant_charge');\">Le <strong>nombre d'enfants à charge</strong> doit être au <strong>format numérique</strong></span>",					max:"<span onClick=\"go_label('nb_enfant_charge');\">Le <strong>nombre d'enfants à charge</strong> est incorrect</span>" 				},				NaissanceVille:				{					required:"<span onClick=\"go_label('NaissanceVille');\">Veuillez renseigner votre <strong>ville de naissance</strong></span>"				},				NaissanceDep:				{					required:"<span onClick=\"go_label('NaissanceDep');\">Veuillez renseigner votre <strong>département de naissance</strong></span>"				},				telephone:				{ 					required:"<span onClick=\"go_label('telephone');\">Veuillez renseigner votre <strong>numéro de téléphone</strong></span>",					check_tel:"<span onClick=\"go_label('telephone');\">Le <strong>numéro de téléphone</strong> est <strong>incorrect</strong></span>"				},				telephone2:				{ 					check_tel:"<span onClick=\"go_label('telephone2');\">Le <strong>numéro de téléphone 2</strong> est <strong>incorrect</strong></span>" 				},				email:				{ 					required:"<span onClick=\"go_label('email');\">Veuillez renseigner votre <strong>email</strong></span>", 					email:"<span onClick=\"go_label('email');\">Votre <strong>email</strong> n'est pas dans un format correct</span>" 				},				emailconfirm:				{ 					required:"<span onClick=\"go_label('emailconfirm');\">Veuillez confirmer votre <strong>email</strong>, en le saisissant une deuxième fois</span>", 					email:"<span onClick=\"go_label('emailconfirm');\">Votre <strong>confirmation d'email</strong> n'est pas dans un format correct</span>" ,					equalTo:"<span onClick=\"go_label('emailconfirm');\">Votre <strong>confirmation d'email</strong> n'est pas identique au 1er email saisi</span>"				},				adresse:				{					check_adresse:"<span onClick=\"go_label('adresse');\">Veuillez saisir votre <strong>adresse</strong>, en utilisant le module d'aide à la saisie</span>",					check_adresse2:"<span onClick=\"go_label('adresse');\">Veuillez saisir votre <strong>adresse</strong></span>"				},				code_postal :				{					required:"<span onClick=\"go_label('code_postal');\">Veuillez saisir le <strong>code postal</strong></span>",					check_cp:"<span onClick=\"go_label('code_postal');\">Le <strong>code postal</strong> saisi est incorrect</span>"				},				ville:"<span onClick=\"go_label('ville');\">Veuillez saisir la <strong>ville</strong></span>",				profession_emprunteur:"<span onClick=\"go_label('profession_emprunteur');\">Veuillez sélectionner votre <strong>profession</strong></span>",				coemprunteur:"<span onClick=\"go_label('label_coemprunteur');\"><label for=\"commentaires\">Veuillez cocher la case oui ou non, pour le <strong>co-emprunteur</strong></label></span>",				civilite_coemprunteur:"<span onClick=\"go_label('civilite_coemprunteur_Mme');\">Veuillez cocher la civilité du co-emprunteur, <strong>Mme, Melle ou M.</strong></span>",				nom_coemprunteur:				{					required:"<span onClick=\"go_label('nom_coemprunteur');\">Veuillez saisir le <strong>nom du co-emprunteur</strong></span>",					nomOk:"<span onClick=\"go_label('nom_coemprunteur');\">Le <strong>nom du co-emprunteur</strong>est incorrect</span>"				},				prenom_coemprunteur:				{					required:"<span onClick=\"go_label('prenom_coemprunteur');\">Veuillez saisir le <strong>prénom du co-emprunteur</strong></span>",					nomOk:"<span onClick=\"go_label('prenom_coemprunteur');\">Le <strong>prénom du co-emprunteur</strong> est incorrect</span>"				},				Co_Naissance:				{ 					required:"<span onClick=\"go_label('Co_Naissance');\">Veuillez renseigner la <strong>date de naissance</strong> du co-emprunteur</span>", 					dateFR:"<span onClick=\"go_label('Co_Naissance');\">La <strong>date de naissance</strong> du co-emprunteur doît être au <strong>format jj/mm/aaaa</strong></span>",					datePeriodeValide:"<span onClick=\"go_label('Co_Naissance');\">La <strong>date de naissance</strong> du co-emprunteur n'est pas correcte.</span>"				},				profession_coemprunteur:"<span onClick=\"go_label('profession_coemprunteur');\">Veuillez sélectionner la <strong>profession</strong> du co-emprunteur</span>",				sbe_societe:				{ 					required:"<span onClick=\"go_label('sbe_societe');\">Veuillez renseigner le nom de votre <strong>société</strong></span>"				}			}, 			/*highlight: function(element, errorClass) {			$(element).addClass(errorClass).parent().prev().children("select").addClass(errorClass);									$("#nb_immo").removeClass('corpForm').addClass('test_erreur');			//alert($(element).className);			},*/			errorContainer: container,			errorLabelContainer: $("ol", container),			wrapper: 'li',			invalidHandler: function(form, validator) 			{                //$("#containererreurtotal").show();			}		}).form();		// validate form		if (validation) 		{			$("#formulaire").submit();		}		else		{			//alert('pas ok');						container.hide();			show_situation();			show_coordonnees();			//container.hide("slide", { direction: "down" }, 1000);			//container.show("slide", { direction: "down" }, 1000);			//$.scrollTo( 0, 0 , {onAfter:function(){container.show("slide", { direction: "down" }, 1000);}});			if (mode_formulaire=='unique')			{				container.slideDown(600);			}			else			{				$.scrollTo( 0, 400 , {onAfter:function(){container.slideDown(600);}});			}						try			{				EURECA_tag(eureca_site, eureca_error);			}			catch(e)			{			}			//$.scrollTo( { top:-500, left:0}, 400 , {onAfter:function(){container.slideDown(600);}});					}	});});
