1// Adrien 10/05/23 : Attention, ce fichier n'est plus utilisé sur la majorité des sites web excepté sur le compte client et le script de résa 2 3var _reqAjaxMoteur; 4var _timerPourMoteurLieu; 5 6function setCGIForLstLieu(li){ 7 if ( navigator.appName == 'Microsoft Internet Explorer' ) 8 var commune = li.getElementsByTagName("span")[0].getAttribute("lieu_reel"); 9 else var commune = li.getElementsByTagName("span")[0].getAttribute("lieu_reel"); 10 11 var cgi=li.getElementsByTagName("span")[0].getAttribute("cgi"); 12 var val_cgi=li.getElementsByTagName("span")[0].getAttribute("val_cgi"); 13 14 $("inpt_saisieLieu").value=commune; 15 $("inpt_saisieLieu").onfocus=function (evt){ 16 this.value=''; 17 $("inpt_saisieLieuHidden").value=''; 18 } 19 $("inpt_saisieLieu").onblur=function (evt){ 20 $("inpt_saisieLieuHidden").value=this.value; 21 } 22 23 $("inpt_saisieLieuHidden").value=commune; 24 $("inpt_saisieLieuHidden").setAttribute("cgi",cgi); 25 $("inpt_saisieLieuHidden").setAttribute("valeur",val_cgi); 26 27 if(window.setListeByLieuSelect) setListeByLieuSelect(); 28} 29 30function setCGIForLstRef(li){ 31 var reference = li.getElementsByTagName("span")[0].getAttribute("lno"); 32 var departement = li.getElementsByTagName("span")[0].getAttribute("dep"); 33 34 $("inpt_reference").value=reference; 35 $("inpt_reference").onfocus=function (evt){ 36 this.value=''; 37 $("inpt_saisieRefHidden").value=''; 38 this.value=''; 39 $("inpt_saisieRefDepHidden").value=''; 40 } 41 $("inpt_reference").onblur=function (evt){ 42 $("inpt_saisieRefHidden").value=this.value; 43 $("inpt_saisieRefDepHidden").value=this.value; 44 } 45 46 $("inpt_saisieRefHidden").value=reference; 47 $("inpt_saisieRefHidden").setAttribute("cgi","LNO"); 48 $("inpt_saisieRefHidden").setAttribute("valeur",reference); 49 50 $("inpt_saisieRefDepHidden").value=reference; 51 $("inpt_saisieRefDepHidden").setAttribute("cgi","DEP"); 52 $("inpt_saisieRefDepHidden").setAttribute("valeur",departement); 53 54 if(window.setListeByRefSelect) setListeByRefSelect(); 55} 56 57function setChmpCommuneAutoCompleter(reponse){ 58 var suffixe; 59 var jsonarray=eval(reponse); 60 var infos=[]; 61 62 for (var i=0;i<jsonarray.length;i++){ 63 (jsonarray[i].nb>1)?suffixe="s":suffixe=""; 64 infos.push(jsonarray[i].lieu+" ("+Math.round(jsonarray[i].nb)+" réponse"+suffixe+")<span cgi=\""+jsonarray[i].cgi+"\" val_cgi=\""+jsonarray[i].val_cgi+"\" lieu_reel=\""+jsonarray[i].lieuReel+"\" />"); 65 } 66 67 /**** champ lieu ****/ 68 var typeahead = new Autocompleter.Local('inpt_saisieLieu', 'div_lstLieu_autocomplete', infos, { 69 frequency: 0.1, 70 updateElement: setCGIForLstLieu, 71 minChars :3 72 }); 73} 74 75function setChmpCommuneAutoCompleterRef(reponse){ 76 var jsonarray=eval(reponse); 77 var infos=new Array(); 78 79 for(var i=0;i<jsonarray.length;i++){ 80 infos.push(jsonarray[i].ref+" ("+jsonarray[i].lib+")<span lno=\""+jsonarray[i].ref+"\"dep=\""+jsonarray[i].dep+"\" />"); 81 } 82 83 /**** champ reference ****/ 84 var typeahead = new Autocompleter.Local('inpt_reference', 'div_lstRef_autocomplete', infos, { 85 frequency: 0.1, 86 updateElement: setCGIForLstRef 87 }); 88} 89 90function setAutoCompleterByLieu(idChampSaisie,divChampChoix,typeRep,priseEnCompteCrits,avecinfostour,avecInseeAffiche,avecCPAffiche){ 91 /*var idChampSaisie="inpt_saisieLieu"; 92 var divChampChoix="div_lstLieu_autocomplete";*/ 93 94 if(typeof(priseEnCompteCrits) == "undefined") priseEnCompteCrits = true; 95 if(typeof(avecinfostour) == "undefined") avecinfostour = true; 96 if(typeof(avecInseeAffiche) == "undefined") avecInseeAffiche = false; 97 if(typeof(avecCPAffiche) == "undefined") avecCPAffiche = false; 98 99 var url="/lib_2/ajax/infosCGI.php"; 100 var options; 101 //jslog("le type de lien : ".typeRep); 102 var foncUpdate; 103 if(window.setListeByLieuSelect)foncUpdate=window.setListeByLieuSelect; 104 else foncUpdate=null; 105 106 var queryString = String(document.location.pathname); 107 if(queryString.match("\\?"))queryString=queryString.split("?")[1]; 108 if(queryString.match("#"))queryString=queryString.split("#")[0]; 109 var uri = encodeURIComponent(queryString); 110 if(jQuery("#moteur_inptUrlListe").length>0 && jQuery("#moteur_inptUrlListe").val() && (uri=='' || uri=='/' || uri=='%2F')){ 111 uri = jQuery("#moteur_inptUrlListe").val(); 112 } 113 114 if(typeRep=="lien"){ 115 var parametres = "typeInfo=LISTALLLIEU&typeReponse=HTML"; 116 if(priseEnCompteCrits){ 117 parametres += "&uri="+uri; 118 } 119 if(avecinfostour){ 120 parametres += '&avecinfostour=true'; 121 } 122 if(jQuery("#moteur_inptDistcomm").length>0){
123 parametres += '&distcomm='+jQuery("#moteur_inptDistcomm").val(); 124 } 125 126 127 options={ 128 frequency:0.1, 129 minChars:3, 130 parameters:parametres, 131 tokens: ',', 132 updateElement:foncUpdate 133 } 134 window.autoCompleterLieu=new Ajax.Autocompleter(idChampSaisie, divChampChoix, url, options); 135 }else if(window.setListeByLieuSelect){ 136 if(priseEnCompteCrits){ 137 var parametres = "typeInfo=LISTALLLIEU&typeReponse=JS"+"&uri="+uri; 138 } 139 else{ 140 var parametres = "typeInfo=LISTALLLIEU&typeReponse=JS"; 141 } 142 if(avecinfostour){ 143 parametres += '&avecinfostour=true'; 144 } 145 if(avecInseeAffiche){ 146 parametres += '&avec_insee_affiche=true'; 147 } 148 if(avecCPAffiche){ 149 parametres += '&avec_cp_affiche=true'; 150 } 151 152 options={ 153 frequency:0.1, 154 minChars:3, 155 parameters:parametres, 156 updateElement:setListeByLieuSelect, 157 tokens: ',' 158 } 159 window.autoCompleterLieu=new Ajax.Autocompleter(idChampSaisie, divChampChoix, url, options); 160 // on ajoute ce listener pour gérer le hide de la div divChampChoix quand on perd le focus de idChampSaisie 161 // fiche 168352 guillaume 20/04/12 162// $(idChampSaisie).observe('blur',function(){ 163// var div_lstRef_autocomplete = $(divChampChoix); 164// if(div_lstRef_autocomplete){ 165// var hover = window.autoCompleterLieu.isHovered; 166// if(div_lstRef_autocomplete.style.display != 'none' && window.autoCompleterLieu.isHovered != true){ 167// $(div_lstRef_autocomplete).style.display = 'none'; 168// } 169// } 170// }); 171 } 172} 173 174function setAutoCompleterByRef(idChampSaisie,divChampChoix,typeRep,communeDansAutoComplet,departements,libelleDansAutoCompleteur,gestprod){ 175 var url="/lib_2/ajax/infosCGI.php"; 176 var options; 177 178 var foncUpdate; 179 if(window.setListeByRefSelect)foncUpdate=window.setListeByRefSelect; 180 else foncUpdate=null; 181 var affComm=""; 182 if(communeDansAutoComplet){ 183 affComm=true; 184 } 185 var dataLblac = ''; 186 if(libelleDansAutoCompleteur){ 187 dataLblac='&libelleDansAutoCompleteur=false'; 188 } 189 if(gestprod){ 190 dataLblac = dataLblac + '&RETURNREFGESTPROD=true'; 191 } 192 if(departements)var depts=departements; 193 else var depts=''; 194 if(typeRep=="lien"){ 195 options={ 196 frequency:0.1, 197 minChars:1, 198 parameters:"typeInfo=LISTALLREF&typeReponse=HTML&departements="+depts, 199 tokens: ',', 200 updateElement:foncUpdate 201 } 202 }else if(window.setListeByRefSelect){ 203 options={ 204 frequency:0.1, 205 minChars:1, 206 parameters:"typeInfo=LISTALLREF&typeReponse=JS&communeDansAutoComplet="+affComm+"&departements="+depts+dataLblac, 207 updateElement:setListeByRefSelect, 208 tokens: ',' 209 } 210 } 211 window.autoCompleterRef=new Ajax.Autocompleter(idChampSaisie, divChampChoix, url, options); 212 213} 214 215function getNomLieuByPositionCurr(position,foncQdFini){ 216 var out; 217 218 /*if(position.address.city)out.city=position.address.city; 219 else{*/ 220 var latitude = position.coords.latitude; 221 var longitude = position.coords.longitude; 222 var url="/lib_2/ajax/infosCGI.php"; 223 var sending="typeInfo=POSITIONCURR&latitude="+latitude+"&longitude="+longitude; 224 225 appelAjaxToFunc(url,sending,foncQdFini); 226 //} 227 228 return out 229} 230 231function moteur_initMoteurCommun(){ 232 /***** Pour actualiser la page lorsque l'on change la valeur d'un select ****/ 233 // réécriture en JQuery de la fonction ci-après pour les problèmes liste ne s'actualise pas en ajax en utilisant le composant .selectmenu - Erwan 17/04/2012 234 if(jQuery(".moteur_selectOnChange").length>0){ 235 jQuery(".moteur_selectOnChange").bind('change selectmenuchange',function() { 236 var cgi = jQuery(this).attr("name"); 237 var value = this.value; 238 console.log('moteur_selectOnChange cgi:'+cgi+' value:'+value); 239 var url = document.location.href; 240 if(window.initClicMoteur_selectOnChange){ // fonction à définir dans look 241 initClicMoteur_selectOnChange(jQuery(this)); 242 } 243 if(jQuery("#moteur_inptUrlListe") && jQuery("#moteur_inptUrlListe").val()){ 244 //moteur_inptUrlListe permet de définir une autre page que la page en cour. 245 //moteur_inptUrlListe_supprimerCGI permet de ne pas garder les cgis en cours 246 var urlSeule = url.substring( 0 ,url.lastIndexOf( "/" ) ); 247 var autresCGI = url.substring( url.lastIndexOf( "?" )+1, url.length ); 248 if(jQuery("#moteur_inptUrlListe_supprimerCGI") && jQuery("#moteur_inptUrlListe_supprimerCGI").val() == '1'){ 249 autresCGI = ''; 250 } 251 url = urlSeule+'/'+jQuery("#moteur_inptUrlListe").val()+'?'+autresCGI; 252 } 253 if(jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url") != undefined && jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url").length>0){ 254 url = jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url"); 255 } 256 url = getUrlWithLstParam(url, cgi, value); 257 258 // 322629 259 if (cgi === 'lieu'){ 260 url = removeParamGoogleMaps(url); 261 url = supprimeCgisDansUrl(url, ['lieucgi']); 262 } else { 263 //console.log('moteur_selectOnChange url:'+url); 264 url = getUrlAvecLstParamsGoogleMaps(url); 265 //console.log('moteur_selectOnChange getUrlAvecLstParamsGoogleMaps url:'+url); 266 } 267 268 if (cgi === 'order_by') { 269 console.log('moteur_selectOnChange order_by ',jQuery(this)); 270 var ordre = jQuery(this).find('option:selected').attr('data-ordre'); 271 url = getUrlWithLstParam(url, 'order_by_tri', ordre); 272 } 273 274 if(jQuery(this).hasClass('moteur_selectEnregistreCritere')){
275 setCookieEnregistreCritere(cgi,value) 276 } 277 if(jQuery(this).hasClass('moteur_selectLieuEnregistreCritere')){ 278 setCookieEnregistreCritere(cgi,value) 279 } 280 281 //alert(jQuery(this).prop("tagName").toLowerCase()); 282// if(jQuery(this).prop("tagName").toLowerCase() == 'select'){ 283// // on test qu'il s'agit bien d'un select sinon ceux qui sont en mode selectMenu c'est executé 2 fois 284// var nomFonctionQdOnChange = 'foncQdFini_changeMoteur_'+jQuery(this).attr("name"); 285// if(typeof window[nomFonctionQdOnChange] === 'function'){ 286// window[nomFonctionQdOnChange](); 287// } 288// } 289 290 291 if (estMoteurSansLien()) { 292 refreshListeWithCgi(url + '&' + jQuery('#itea_page_contentListe').attr('data-cgi')); 293 } else { 294 document.location.href = url; 295 moteur_affMessageLoadingMoteur(); 296 } 297 }); 298 } 299 300 if(jQuery(".moteur_selectLieuMultpleSansLien").length>0){ 301 jQuery(".moteur_selectLieuMultpleSansLien").bind('change selectmenuchange',function(){ 302 if(jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url") != undefined && jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url").length>0){ 303 url = jQuery("#"+jQuery(this).attr("id")+" option:selected").attr("data-url"); 304 jQuery(this).parents("form").attr("action",url); 305 } 306 }); 307 } 308 309 if(jQuery(".moteur_radioOnChange").length>0){ 310 jQuery(".moteur_radioOnChange").bind("click",function(){ 311 document.location.href = jQuery(this).attr("data-href"); 312 moteur_affMessageLoadingMoteur(); 313 }); 314 } 315 316 /***** Permet d'afficher "Loading" et masque sur la page, quand clic sur un lien simulant un checkbox *****/ 317 if(jQuery(".moteur_imitecheckbox").length>0 || jQuery(".moteur_ulSimuleListe a").length>0){ 318 $$(".moteur_imitecheckbox, .moteur_ulSimuleListe a").each(function(obj){ 319 jQuery(obj).bind("click",function(evt){ 320 moteur_affMessageLoadingMoteur(); 321 }); 322 }); 323 } 324 325 if(jQuery(".moteur_enregistreCritere").length>0){ 326 jQuery(".moteur_enregistreCritere").each(function(){ 327 jQuery(this).bind("click",function(){ 328 setCookieEnregistreCritere(jQuery(this).find('.sp_nbResult').data('cgi'),'O'); 329 }); 330 }); 331 } 332 333 /***** Les liens qui ne sont pas des liens, au click, on change la classe *****/ 334 if(jQuery(".moteur_imiteCheckBoxPasLien").length>0){ 335 $$(".moteur_imiteCheckBoxPasLien").each(function(obj){ 336 // on a déja prévu une action quand c'est une date 337 if(obj.getAttribute('id') != 'moteur_imiteCheckBoxPasDate'){ 338 jQuery(obj).bind("click", function(evt){ 339 if(jQuery(obj).hasClass("moteur_imitecheckbox_off")){ 340 jQuery(obj).removeClass("moteur_imitecheckbox_off"); 341 jQuery(obj).addClass("moteur_imitecheckbox_on"); 342 } 343 else{ 344 jQuery(obj).addClass("moteur_imitecheckbox_off"); 345 jQuery(obj).removeClass("moteur_imitecheckbox_on"); 346 } 347 //return false; 348 }); 349 } 350 }); 351 } 352 353 /** les liens qui ne sont pas des liens et qui permettent la recherche du type - on modifie le input hidden associé **/ 354 if(jQuery(".moteur_imiteCheckBoxPasLienType").length>0){ 355 $$(".moteur_imiteCheckBoxPasLienType").each(function(obj){ 356 jQuery(obj).bind("click", function(evt){ 357 var inputHidden = jQuery(obj).attr("data-alt"); 358 var valueok = jQuery(obj).attr("data-valueok"); 359 if(!valueok) valueok = 'o'; 360 if($(inputHidden).value==valueok){ 361 $(inputHidden).value="n"; 362 } 363 else{ 364 $(inputHidden).value=valueok; 365 } 366 // return false; 367 }); 368 }); 369 } 370 if(jQuery(".moteur_imiteCheckBoxPasLienChangeValue").length>0){ 371 $$(".moteur_imiteCheckBoxPasLienChangeValue").each(function (obj) { 372 jQuery(obj).bind("click", function (evt) { 373 if (jQuery(obj).attr("alt")) { 374 var inputHidden = jQuery(obj).attr("alt"); 375 } 376 else if (jQuery(obj).attr("data-alt").length > 0) 377 var inputHidden = jQuery(obj).attr("data-alt"); 378 var valueok = jQuery(obj).attr("data-valueok"); 379 if (!valueok) 380 valueok = 'o'; 381 if ($(inputHidden).value == valueok) { 382 $(inputHidden).value = "n"; 383 jQuery('input[name="'+jQuery(this).attr('data-cgi')+'"]').val('n'); 384 jQuery(this).find(".sp_nbResult").attr("data-valeur","n"); 385 } 386 else { 387 $(inputHidden).value = valueok; 388 jQuery('input[name="'+jQuery(this).attr('data-cgi')+'"]').val(valueok); 389 jQuery(this).find(".sp_nbResult").attr("data-valeur",valueok); 390 } 391 jQuery("#"+inputHidden).trigger("change"); 392 393 }); 394 }); 395 } 396 if(jQuery(".moteur_imiteCheckBoxPasLienChangeMultiValue").length>0){ 397 $$(".moteur_imiteCheckBoxPasLienChangeMultiValue").each(function(obj){ 398 jQuery(obj).bind("click", function(evt){ 399 if(jQuery(obj).attr("alt")){ 400 var inputHidden = jQuery(obj).attr("alt"); 401 } 402 else if(jQuery(obj).attr("data-alt").length > 0) var inputHidden = obj.getAttribute("data-alt"); 403 if($(inputHidden).value=="o"){ 404 $(inputHidden).value="n"; 405 var inputsAchanger = obj.getAttribute("data-inputsachanger");
406 tabInputs = inputsAchanger.split(";"); 407 tabInputs.each(function(inpt){ 408 $(inpt).value="n"; 409 jQuery("*[data-alt="+inpt+"]").removeClass("moteur_imitecheckbox_on").addClass("moteur_imitecheckbox_off"); 410 }); 411 } 412 else{ 413 $(inputHidden).value="o"; 414 } 415 //return false; 416 }); 417 }); 418 } 419 420 /**** spécificité du checkbox pour "pas de date de séjour" ***/ 421 if($("moteur_imiteCheckBoxPasDate")){ 422 jQuery("moteur_imiteCheckBoxPasDate").bind("click",function(evt){ 423 $("moteur_inptDateDeb").value=""; 424 $("moteur_selectDuree").value=""; 425 if(jQuery("moteur_imiteCheckBoxPasDate").hasClass("moteur_imitecheckbox_on")){ 426 jQuery("moteur_imiteCheckBoxPasDate").addClass("moteur_imitecheckbox_off"); 427 jQuery("moteur_imiteCheckBoxPasDate").removeClass("moteur_imitecheckbox_on"); 428 }else{ 429 jQuery("moteur_imiteCheckBoxPasDate").addClass("moteur_imitecheckbox_on"); 430 jQuery("moteur_imiteCheckBoxPasDate").removeClass("moteur_imitecheckbox_off"); 431 } 432 }); 433 } 434 435 /**** spécificité du checkbox pour "inclure les hébergements sans dispo" ***/ 436 if($("moteur_CheckBoxAvecSansDispo")){ 437 jQuery("moteur_CheckBoxAvecSansDispo").bind("click",function(evt){ 438 $("moteur_inptDateDeb").value=""; 439 $("moteur_selectDuree").value=""; 440 }); 441 } 442 443 444 /***** Initialisation autocompleter lieu *****/ 445 if($("moteur_inptTextLieu")){ 446 $("moteur_inptTextLieu").onfocus = function(evt){ 447 $("moteur_inptTextLieu").value=""; 448 $("moteur_inptTextLieuHidden").value=""; 449 if($("moteur_spanTextLieu_infotour")){ 450 $("moteur_spanTextLieu_infotour").innerHTML = ''; 451 } 452 }; 453 $("moteur_inptTextLieu").onblur = function(evt){ 454 if($("moteur_inptTextLieu").value==""){ 455 $("moteur_inptTextLieu").value=$("moteur_inptTextLieu").getAttribute("title"); 456 $("moteur_inptTextLieuHidden").value=""; 457 $$(".moteur_selectRayon").each(function(obj){ 458 obj.value="0"; 459 obj.disabled=true; 460 }); 461 } 462 }; 463 if($("moteur_divRechercheLieuAvecLien")){ 464 window.setListeByLieuSelect = function(li){ 465 var lieu = li.getAttribute("valreel"); 466 var cgi = li.getAttribute("cgi"); 467 var val_cgi = li.getAttribute("val_cgi"); 468 var nb = li.getAttribute("nb"); 469 $("moteur_inptTextLieu").value=lieu; 470 $("moteur_inptTextLieuHidden").setAttribute("name",cgi); 471 $("moteur_inptTextLieuHidden").setAttribute("value",val_cgi); 472 } 473 setAutoCompleterByLieu("moteur_inptTextLieu","moteur_divLieuAutoComplete","lien"); 474 } 475 else if($("moteur_divRechercheLieuSansLien")){ 476 window.setListeByLieuSelect = function(li){ 477 var lieu = li.getAttribute("valreel"); 478 var cgi = li.getAttribute("cgi"); 479 var val_cgi = li.getAttribute("val_cgi"); 480 var nb = li.getAttribute("nb"); 481 if(li.childElements('span').length > 1 && $("moteur_spanTextLieu_infotour")){ 482 $("moteur_spanTextLieu_infotour").innerHTML = li.childElements('span')[1].innerHTML; 483 } 484 $("moteur_inptTextLieu").value=lieu; 485 $("moteur_inptTextLieuHidden").setAttribute("name",cgi); 486 $("moteur_inptTextLieuHidden").setAttribute("value",val_cgi); 487 if(cgi=="INSEE" || cgi=="insee"){ 488 $$(".moteur_selectRayon").each(function(obj){ 489 obj.disabled=false; 490 if(nb=="0") obj.value="10"; 491 }); 492 } 493 else{ 494 $$(".moteur_selectRayon").each(function(obj){ 495 obj.value="0"; 496 obj.disabled=true; 497 }); 498 } 499 } 500 if(jQuery("#moteur_divRechercheLieuSansLien").attr("data-priseEnCompteCriteres") == "false"){ 501 var priseEnCompteCrits = false;
502 } 503 else { 504 priseEnCompteCrits = true; 505 } 506 if(jQuery("#moteur_divRechercheLieuSansLien").attr("data-avecinfostour") == "false"){ 507 var avecinfostour = false; 508 } 509 else { 510 avecinfostour = true; 511 } 512 var avecInseeAffiche = false; 513 if(jQuery('#moteur_divRechercheLieuSansLien').data('avec-insee-affiche') === true){ 514 avecInseeAffiche = true; 515 } 516 var avecCPAffiche = false; 517 if(jQuery('#moteur_divRechercheLieuSansLien').data('avec-cp-affiche') === true){ 518 avecCPAffiche = true; 519 } 520 setAutoCompleterByLieu("moteur_inptTextLieu", "moteur_divLieuAutoComplete", "", priseEnCompteCrits, avecinfostour, avecInseeAffiche, avecCPAffiche); 521 } 522 } 523 524 /***** Initialisation de la reglette de budget maximum *****/ 525 if($("moteur_divDudgetMaxi")){ 526 var slider = $("moteur_sliderBudgetMaxiContent"); 527 528 var vals=new Array(); 529 for (var i=50;i<=2500;i+=50) vals.push(i); 530 531 if($("moteur_hiddenPxMax").value) var valeurEnCour = $("moteur_hiddenPxMax").value; 532 else var valeurEnCour = 1500; 533 534 new Control.Slider(slider.down('.moteur_handle'), slider, { 535 range: $R(50, 2500), 536 sliderValue: valeurEnCour, 537 values: vals, 538 onSlide: function(value) { 539 $("moteur_spanTitreBudgetMaxiInfoPrix").innerHTML = value+" €"; 540 }, 541 onChange: function(value) { 542 var url = document.location.href; 543 document.location.href = getUrlWithLstParam(url,"pxmax",value.toString()); 544 moteur_affMessageLoadingMoteur(); 545 } 546 }); 547 } 548 549 /***** Initialisation de la reglette budget maxi avec jsiler *****/ 550 if(jQuery("#sliderOnlyMaxi").length>0){ 551 if(jQuery("#moteur_inptBudgetMaxiJsliderFrom").length>0) var sliderFrom = parseInt(jQuery("#moteur_inptBudgetMaxiJsliderFrom").attr("value")); 552 if(jQuery("#moteur_inptBudgetMaxiJsliderTo").length>0) var sliderTo = parseInt(jQuery("#moteur_inptBudgetMaxiJsliderTo").attr("value")); 553 if(jQuery("#moteur_inptBudgetMaxiJsliderStep").length>0) var sliderStep = parseInt(jQuery("#moteur_inptBudgetMaxiJsliderStep").attr("value")); 554 jQuery("#sliderOnlyMaxi").slider({ 555 from: sliderFrom, 556 to: sliderTo, 557 step: sliderStep, 558 round: 0, 559 dimension: ' ', 560 callback : function(value){ 561 var url = document.location.href; 562 if(jQuery("#moteur_inptUrlListe").length>0 && jQuery("#moteur_inptUrlListe").val()) url += jQuery("#moteur_inptUrlListe").val(); 563 document.location.href = getUrlWithLstParam(url,jQuery("#sliderOnlyMaxi").data('cgi'),value); 564 moteur_affMessageLoadingMoteur(); 565 } 566 }); 567 } 568 569 /***** Initialisation de la reglette de budget en reglette (mini-maxi) *****/ 570 moteur_initRegletteMiniMaxi(); 571 572 /***** Initialisation de la reglette de confort en reglette (mini-maxi) *****/ 573 if($("moteurInptConfortMinMax")){ 574 var from = parseInt($("moteurInptConfortFrom").value); 575 var to = parseInt($("moteurInptConfortTo").value); 576 var step = parseInt($("moteurInptConfortStep").value); 577 eval("scale = " + $('moteurInptConfortScale').value); 578 jQuery("#moteurInptConfortMinMax").slider({ 579 from: from, 580 to: to, 581 step: step, 582 scale: scale, 583 smooth: false, 584 round: 0, 585 dimension: " $", 586 limits : false, 587 callback : function(value){ 588 var tabEpi = value.split(";"); 589 var min = tabEpi[0]; 590 var max = tabEpi[1]; 591 if(min!=jQuery("#moteurInptFromInit").val() || max!=jQuery("#moteurInptToInit").val()){ 592 var epiMin, epiMax; 593 594 if(min=="2")epiMin="3"; 595 else if(min=="3")epiMin="5"; 596 else epiMin=min; 597 598 if(max=="2")epiMax="3"; 599 else if(max=="3")epiMax="5"; 600 else epiMax=max; 601 602 var url = document.location.href; 603 url = getUrlWithLstParam(url,"epi_min",epiMin); 604 document.location.href = getUrlWithLstParam(url,"epi_max",epiMax); 605 moteur_affMessageLoadingMoteur(); 606 } 607 } 608 }); 609 /*var slider = $("moteur_sliderConfortregletteContent"); 610 611 var valuePossible; 612 var valeurMax, valeurMin; 613 614 eval("valuePossible = " + $("moteur_hiddenConfortEtapeValue").value); 615 616 617 valeurMax=valuePossible[(valuePossible.length-1)]; 618 valeurMin=valuePossible[0]; 619 620 var valeurEnCourMax = parseInt($("moteur_inpt_epiMax").value); 621 var valeurEnCourMin = parseInt($("moteur_inpt_epiMin").value); 622 623 var vals=new Array(); 624 valuePossible.each(function(val){ 625 vals.push(val); 626 }) 627 //for (var i=valeurMin;i<=valeurMax;i+=valeurMin) vals.push(i); 628 629 //le moteur maxi 630 new Control.Slider(slider.down('#moteur_slider_epiMaxi'), slider, { 631 range: $R(valeurMin, valeurMax), 632 sliderValue: valeurEnCourMax, 633 values: vals, 634 onSlide: function(value) { 635 636 }, 637 onChange: function(value) { 638 var url = document.location.href; 639 document.location.href = getUrlWithLstParam(url,"epi_max",value.toString()); 640 moteur_affMessageLoadingMoteur(); 641 } 642 }); 643 //le moteur mini 644 645 new Control.Slider(slider.down('#moteur_slider_epiMini'), slider, { 646 range: $R(valeurMin, valeurMax), 647 sliderValue: valeurEnCourMin, 648 values: vals, 649 onSlide: function(value) { 650 651 }, 652 onChange: function(value) { 653 var url = document.location.href; 654 document.location.href = getUrlWithLstParam(url,"epi_min",value.toString()); 655 moteur_affMessageLoadingMoteur(); 656 } 657 });*/ 658 } 659 660 /***** Initialisation de la reglette de capacité en regelette (mini-maxi) **
660***/ 661 if($("moteur_divCapaciteReglette")){ 662 var slider = $("moteur_sliderCapaciteContent"); 663 664 var valeurMax, valeurMin; 665 if($("moteur_hiddenCapaciteMaxReglette").value)valeurMax=parseInt($("moteur_hiddenCapaciteMaxReglette").value); 666 else valeurMax=15; 667 if($("moteur_hiddenCapaciteMinReglette").value)valeurMin=parseInt($("moteur_hiddenCapaciteMinReglette").value); 668 else valeurMin=1; 669 670 if($("moteur_hiddenCapaciteMax").value)var valeurEnCourMax = parseInt($("moteur_hiddenCapaciteMax").value); 671 else var valeurEnCourMax = valeurMax; 672 if($("moteur_hiddenCapaciteMini").value)var valeurEnCourMin = parseInt($("moteur_hiddenCapaciteMini").value); 673 else var valeurEnCourMin = valeurMin; 674 675 var vals=new Array(); 676 for (var i=valeurMin;i<=valeurMax;i+=valeurMin) vals.push(i); 677 678 //la capacité maxi 679 new Control.Slider(slider.down('#moteur_sliderCapaciteMaxi'), slider, { 680 range: $R(valeurMin, valeurMax), 681 sliderValue: valeurEnCourMax, 682 values: vals, 683 onSlide: function(value) { 684 $("spn_budgetInfosCapaciteMax").innerHTML = value; 685 }, 686 onChange: function(value) { 687 var url = document.location.href; 688 document.location.href = getUrlWithLstParam(url,"nbp_max",value.toString()); 689 moteur_affMessageLoadingMoteur(); 690 } 691 }); 692 //la capacité mini 693 694 new Control.Slider(slider.down('#moteur_sliderCapaciteMini'), slider, { 695 range: $R(valeurMin, valeurMax), 696 sliderValue: valeurEnCourMin, 697 values: vals, 698 onSlide: function(value) { 699 $("spn_budgetInfosCapaciteMin").innerHTML = value; 700 }, 701 onChange: function(value) { 702 var url = document.location.href; 703 document.location.href = getUrlWithLstParam(url,"nbp_min",value.toString()); 704 moteur_affMessageLoadingMoteur(); 705 } 706 }); 707 } 708 709 /***** Initialisation de la reglette de nombre de chambre en regelette (mini-maxi) *****/ 710 if($("moteur_divChambreReglette")){ 711 var slider = $("moteur_sliderChambreContent"); 712 713 var valeurMax, valeurMin; 714 if($("moteur_hiddenChambreMaxReglette").value)valeurMax=parseInt($("moteur_hiddenChambreMaxReglette").value); 715 else valeurMax=15; 716 if($("moteur_hiddenChambreMinReglette").value)valeurMin=parseInt($("moteur_hiddenChambreMinReglette").value); 717 else valeurMin=1; 718 719 if($("moteur_hiddenChambreMax").value)var valeurEnCourMax = parseInt($("moteur_hiddenChambreMax").value); 720 else var valeurEnCourMax = valeurMax; 721 if($("moteur_hiddenChambreMini").value)var valeurEnCourMin = parseInt($("moteur_hiddenChambreMini").value); 722 else var valeurEnCourMin = valeurMin; 723 724 var vals=new Array(); 725 for (var i=valeurMin;i<=valeurMax;i+=valeurMin) vals.push(i); 726 727 //le nombre de chambre maxi 728 new Control.Slider(slider.down('#moteur_sliderChambreMaxi'), slider, { 729 range: $R(valeurMin, valeurMax), 730 sliderValue: valeurEnCourMax, 731 values: vals, 732 onSlide: function(value) { 733 $("spn_budgetInfosChambreMax").innerHTML = value; 734 }, 735 onChange: function(value) { 736 var url = document.location.href; 737 document.location.href = getUrlWithLstParam(url,"nbchb_max",value.toString()); 738 moteur_affMessageLoadingMoteur(); 739 } 740 }); 741 //le nombre de chambre mini 742 743 new Control.Slider(slider.down('#moteur_sliderChambreMini'), slider, { 744 range: $R(valeurMin, valeurMax), 745 sliderValue: valeurEnCourMin, 746 values: vals, 747 onSlide: function(value) { 748 $("spn_budgetInfosChambreMin").innerHTML = value; 749 }, 750 onChange: function(value) { 751 var url = document.location.href; 752 document.location.href = getUrlWithLstParam(url,"nbchb_min",value.toString()); 753 moteur_affMessageLoadingMoteur(); 754 } 755 }); 756 } 757 758 /** Calendrier **/ 759 if($("moteur_inptDateDeb")){ 760 var chaineJoursArrivee = jQuery('#moteur_inptDateDeb').attr('data-joursArrivee') || false; 761 var dateDebChaineJoursArrivee = false;
762 if(chaineJoursArrivee){ 763 var formatDate = 'dd/mm/yy'; 764 dateDebChaineJoursArrivee = jQuery('#moteur_inptDateDeb').attr('data-debut'); 765 window.paramsJoursArriveeGeneral = {chaineJoursArrivee:chaineJoursArrivee,dateDebChaineJoursArrivee:dateDebChaineJoursArrivee}; 766 } 767 jQuery("#moteur_inptDateDeb").click(function(evt){ 768 if(jQuery("#moteur_inptDateDeb").val()==jQuery("#moteur_inptDateDeb").attr("data-defaut"))jQuery("#moteur_inptDateDeb").val(''); 769 var langue = jQuery("body").attr("data-langue"); 770 setCalendrierGeneral("","1",langue,"","moteur_divCalendrierDebutContent",moteur_clicCalendDateDeb,"moteur_inptDateDeb","","","moteur_selectDuree","1","",6,$("moteur_inptDateDeb").value,$("moteur_selectDuree").value); 771 772 if(jQuery('#moteur_divCalendrierDebut').length>0 && jQuery('#moteur_divCalendrierDebut').is(':hidden')){ 773 jQuery('#moteur_divCalendrierDebut').show('fast'); 774 } 775 else if(jQuery('#moteur_divCalendrierDebut').length>0){ 776 jQuery('#moteur_divCalendrierDebut').hide('fast'); 777 } 778 }); 779 jQuery("#moteur_inptDateDeb").blur(function(evt){ 780 if(jQuery("#moteur_inptDateDeb").val()=="") jQuery("#moteur_inptDateDeb").val(jQuery("#moteur_inptDateDeb").attr("data-defaut")); 781 }); 782 if(jQuery('#moteurBoutonResetDate').length>0){ 783 jQuery('#moteurBoutonResetDate').click(function(){ 784 if(jQuery("#moteur_inptDateDeb").val()==jQuery("#moteur_inptDateDeb").attr("data-defaut")){ 785 return false; 786 787 } 788 jQuery('#moteur_inptDateDeb').val('N'); 789 if(jQuery("#moteur_frmDateNbj")){ 790 jQuery("#moteur_frmDateNbj").submit(); 791 } 792 }); 793 } 794 } 795 if($("moteur_imgCalendDateDeb")){ // calendrier avec simplement date de début et durée de séjour <¤moteur{div:moteur_date-nbj}¤> 796 jQuery("#moteur_imgCalendDateDeb").click(function(evt){ 797 if(jQuery("#moteur_selectDuree").length>0 && jQuery("#moteur_selectDuree").val()!='') var duree = jQuery('#moteur_selectDuree').val(); 798 else var duree = 1; 799 var langue = jQuery("body").attr("data-langue"); 800 setCalendrierGeneral("","1",langue,"","moteur_divCalendrierDebutContent",moteur_clicCalendDateDeb,"moteur_inptDateDeb","","","moteur_selectDuree","1","",6,jQuery("#moteur_inptDateDeb").val(),duree); 801 802 if(jQuery('#moteur_divCalendrierDebut').length>0 && $('moteur_divCalendrierDebut').style.display=="none") jQuery('#moteur_divCalendrierDebut').show('fast'); 803 else if(jQuery('#moteur_divCalendrierDebut').length>0) jQuery('#moteur_divCalendrierDebut').show('fast'); 804 }); 805 } 806 807 if(jQuery("#moteur_CalenddateDeb").length>0){ 808 jQuery("#moteur_CalenddateDeb, #moteur_imgCalendDebutFinDeb").bind("click",function(){ 809 setCalendrierGeneral("","1","","","moteur_calendrierDebMoteurContent",moteur_clicCalendDateDebut,"moteur_CalenddateDeb","","","inpt_frmBandeau_nbjInit","1","",6,$("moteur_CalenddateDeb").value,window.dureeSejour); 810 if(jQuery("#moteur_calendrierDebMoteur").is(":hidden")){ 811 if(jQuery("#moteur_CalenddateDeb").val()==jQuery("#moteur_CalenddateDeb").attr("data-defaut")) jQuery("#moteur_CalenddateDeb").val(""); 812 if(jQuery("#moteur_CalenddateFin").val()=="") jQuery("#moteur_CalenddateFin").val(jQuery("#moteur_CalenddateFin").attr("data-defaut")); 813 jQuery("#moteur_calendrierFinMoteur").fadeOut(); 814 jQuery("#moteur_calendrierDebMoteur").fadeIn(); 815 } 816 else{ 817 if(jQuery("#moteur_CalenddateDeb").val()=="") jQuery("#moteur_CalenddateDeb").val(jQuery("#moteur_CalenddateDeb").attr("data-defaut")); 818 jQuery("#moteur_calendrierDebMoteur").fadeOut(); 819 } 820 }); 821 } 822 if(jQuery("#moteur_CalenddateFin").length>0){ 823 jQuery("#moteur_CalenddateFin, #moteur_imgCalendDebutFinFin").bind("click",function(){ 824 if(jQuery("#moteur_CalenddateFin").val().length>0 && jQuery("#moteur_CalenddateFin").val()!=jQuery("#moteur_CalenddateFin").attr("data-defaut") && jQuery("#moteur_CalenddateDeb").val().length>0 && jQuery("#moteur_CalenddateDeb").val()!=jQuery("#moteur_CalenddateDeb").attr("data-defaut")){
825 var ObjDateDeb = new OBJDate(jQuery("#moteur_CalenddateDeb").val()); 826 var ObjDateFin = new OBJDate(jQuery("#moteur_CalenddateFin").val()); 827 var duree = ObjDateFin.getNbJourEcartWithOBJDate(ObjDateDeb,"N"); 828 } 829 else{ 830 var duree = jQuery("#moteur_CalenddateDeb").attr("data-duree"); 831 } 832 setCalendrierGeneral("","1","","","moteur_calendrierFinMoteurContent",moteur_clicCalendDateFin,"moteur_CalenddateFin","","","inpt_frmBandeau_nbjInit","1","",6,$("moteur_CalenddateDeb").value,duree); 833 if(jQuery("#moteur_calendrierFinMoteur").is(":hidden")){ 834 if(jQuery("#moteur_CalenddateFin").val()==jQuery("#moteur_CalenddateFin").attr("data-defaut")) jQuery("#moteur_CalenddateFin").val(""); 835 if(jQuery("#moteur_CalenddateDeb").val()=="") jQuery("#moteur_CalenddateDeb").val(jQuery("#moteur_CalenddateDeb").attr("data-defaut")); 836 jQuery("#moteur_calendrierDebMoteur").fadeOut(); 837 jQuery("#moteur_calendrierFinMoteur").fadeIn(); 838 } 839 else{ 840 if(jQuery("#moteur_CalenddateFin").val()=="") jQuery("#moteur_CalenddateFin").val(jQuery("#moteur_CalenddateFin").attr("data-defaut")); 841 jQuery("#moteur_calendrierFinMoteur").fadeOut(); 842 } 843 }); 844 } 845 846 if(jQuery("#moteur_CalenddateDebOnChange").length>0){ 847 jQuery("#moteur_CalenddateDebOnChange, #moteur_imgCalendDebutFinDebOnChange").bind("click",function(){ 848 var langue = ""; 849 if(jQuery("#moteur_CalenddateDebOnChange").attr("data-langue")) langue = jQuery("#moteur_CalenddateDebOnChange").attr("data-langue"); 850 851 setCalendrierGeneral("","1",langue,"","moteur_calendrierDebMoteurContent",moteur_clicCalendDateDebut,"moteur_CalenddateDebOnChange","","","inpt_frmBandeau_nbjInit","1","",6,$("moteur_CalenddateDebOnChange").value,window.dureeSejour); 852 if(jQuery("#moteur_calendrierDebMoteur").is(":hidden")){ 853 if(jQuery("#moteur_CalenddateDebOnChange").val()==jQuery("#moteur_CalenddateDebOnChange").attr("data-defaut")) jQuery("#moteur_CalenddateDebOnChange").val(""); 854 if(jQuery("#moteur_CalenddateFinOnChange").val()=="") jQuery("#moteur_CalenddateFinOnChange").val(jQuery("#moteur_CalenddateFinOnChange").attr("data-defaut")); 855 jQuery("#moteur_calendrierFinMoteur").fadeOut(); 856 jQuery("#moteur_calendrierDebMoteur").fadeIn(); 857 } 858 else{ 859 if(jQuery("#moteur_CalenddateDebOnChange").val()=="") jQuery("#moteur_CalenddateDebOnChange").val(jQuery("#moteur_CalenddateDebOnChange").attr("data-defaut")); 860 jQuery("#moteur_calendrierDebMoteur").fadeOut(); 861 } 862 }); 863 } 864 if(jQuery("#moteur_CalenddateFinOnChange").length>0){ 865 jQuery("#moteur_CalenddateFinOnChange, #moteur_imgCalendDebutFinFinOnChange").bind("click",function(){ 866 var langue = ""; 867 if(jQuery("#moteur_CalenddateDebOnChange").attr("data-langue")) langue = jQuery("#moteur_CalenddateDebOnChange").attr("data-langue"); 868 setCalendrierGeneral("","1",langue,"","moteur_calendrierFinMoteurContent",moteur_clicCalendDateFin,"moteur_CalenddateFinOnChange","","","inpt_frmBandeau_nbjInit","1","",6,$("moteur_CalenddateFinOnChange").value,window.dureeSejour); 869 if(jQuery("#moteur_calendrierFinMoteur").is(":hidden")){ 870 if(jQuery("#moteur_CalenddateFinOnChange").val()==jQuery("#moteur_CalenddateFinOnChange").attr("data-defaut")) jQuery("#moteur_CalenddateFinOnChange").val(""); 871 if(jQuery("#moteur_CalenddateDebOnChange").val()=="") jQuery("#moteur_CalenddateDebOnChange").val(jQuery("#moteur_CalenddateDebOnChange").attr("data-defaut")); 872 jQuery("#moteur_calendrierDebMoteur").fadeOut(); 873 jQuery("#moteur_calendrierFinMoteur").fadeIn(); 874 } 875 else{ 876 if(jQuery("#moteur_CalenddateFinOnChange").val()=="") jQuery("#moteur_CalenddateFinOnChange").val(jQuery("#moteur_CalenddateFinOnChange").attr("data-defaut")); 877 jQuery("#moteur_calendrierFinMoteur").fadeOut(); 878 } 879 }); 880 } 881 882 883 884 if($("moteur_frmDateNbj")){ 885 $("moteur_frmDateNbj").onsubmit = function(evt){ 886 if($("moteur_selectDuree") && $("moteur_inptDateDeb") && $("moteur_inptDateDebValueDefaut") && $("moteur_imiteCheckBoxPasDate")){ 887 if(!$("moteur_imiteCheckBoxPasDate").hasClassName("moteur_imitecheckbox_on")){ 888 if(($("moteur_selectDuree").value!="" && ($("moteur_inptDateDeb").value=="" || $("moteur_inptDateDeb").value==$("moteur_inptDateDebValueDefaut").value)) || ($("moteur_selectDuree").value=="" && ($("moteur_inptDateDeb").value!="" && $("moteur_inptDateDeb").value!=$("moteur_inptDateDebValueDefaut").value)) ){ 889 alertAMalibu("Vous devez définir la date de début de votre séjour et sa durée."); 890 return false;
891 } 892 } 893 } 894 }; 895 } 896 897 if (jQuery("#moteur_datePickerDeb").length > 0 && jQuery("#moteur_datePickerFin").length > 0) { 898 (function ($) { 899 var langue = initLangueForDatePicker(); 900 //console.log("moteur.js [moteur_datePickerDeb] langue: "+langue) 901 $.datepicker.setDefaults($.datepicker.regional[langue]); 902 903 var imgCalDeb = $("#moteur_datePickerDeb").attr("data-calend"); 904 var imgCalFin = $("#moteur_datePickerFin").attr("data-calend"); 905 var imgCalDebText = $("#moteur_datePickerDeb").attr("data-textImage"); 906 var imgCalFinText = $("#moteur_datePickerFin").attr("data-textImage"); 907 var formatDate = 'dd/mm/yy'; 908 var nbMois = parseInt($("#moteur_datePickerDeb").attr("data-nbmois")); 909 910 var ajoutJourAuto = true; 911 if($("#moteur_datePickerDeb").attr("data-ajoutjourauto")=='false'){ 912 ajoutJourAuto = false; 913 } 914 915 var slideEffect = false; 916 if($("#moteur_datePickerDeb").attr("data-slide")=='true'){ 917 slideEffect = true; 918 } 919 920 var idDivRel = '#'+$("#moteur_datePickerDeb").attr("data-divrel"); 921 922 var minDateDefaut = "d"; 923 var maxDateDefaut = ""; 924 var maxDateFinDefaut = ""; 925 var minDateFinDefaut = ""; 926 927 if( $("#moteur_datePickerDeb").data("mindate")){ 928 minDateDefaut = $("#moteur_datePickerDeb").data("mindate"); 929 minDateFinDefaut = minDateDefaut; 930 } 931 if( $("#moteur_datePickerFin").data("mindate")){ 932 minDateFinDefaut = $("#moteur_datePickerFin").data("mindate"); 933 } 934 if( $("#moteur_datePickerDeb").data("maxdate")){ 935 maxDateDefaut = $("#moteur_datePickerDeb").data("maxdate"); 936 } 937 if( $("#moteur_datePickerFin").data("maxdate")){ 938 maxDateFinDefaut = $("#moteur_datePickerFin").data("maxdate"); 939 } 940 941 if ($("#moteur_datePickerDeb").attr("data-formadate")) { 942 formatDate = $("#moteur_datePickerDeb").attr("data-formadate"); 943 } 944 jQuery("#moteur_datePickerDeb").datepicker({ 945 showOtherMonths: true, 946 selectOtherMonths: true, 947 dateFormat: formatDate, 948 defaultDate: "+1d", 949 numberOfMonths: nbMois, 950 fistDay: 1, 951 minDate:minDateDefaut, 952 maxDate:maxDateDefaut, 953 showAnim:"fadeIn", 954 duration:"normal", 955 beforeShow: function() { 956 $('#ui-datepicker-div').addClass('notranslate'); 957 $("body").addClass("datepickerOpen"); 958 datePicker_gereHover("dateDeb"); 959 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month)").die('mouseover'); 960 if(jQuery("#moteurPrincipalDate.dateFinSelected").length == 0){ 961 jQuery("#label_moteur_datePickerFin_externe").css('opacity','0'); 962 } 963 if(window.moteurInitDatepicker){ // fonction définie dans recette fédé 964 moteurInitDatepicker(); 965 } 966 }, 967 onClose: function() { 968 $("body").removeClass("datepickerOpen"); 969 if(jQuery("#moteurPrincipalDate.dateDebSelected").length == 0 || jQuery("#moteurPrincipalDate.dateDebSelected").length == 1){ 970 if(jQuery("#ui-datepicker-div-copie").length != 0){ 971 jQuery('#ui-datepicker-div-copie').remove(); 972 } 973 } 974 if(jQuery('#popinLimitationDatepicker').length != 0){ 975 jQuery('#popinLimitationDatepicker').fadeOut(125); 976 } 977 } 978 }); 979 980 console.log(minDateFinDefaut); 981 jQuery("#moteur_datePickerFin").datepicker({ 982 showOtherMonths: true, 983 selectOtherMonths: true, 984 dateFormat: formatDate, 985 defaultDate: "+1d", 986 numberOfMonths: nbMois, 987 fistDay: 1, 988 minDate:minDateFinDefaut, 989 maxDate:maxDateFinDefaut,
990 showAnim:"", 991 beforeShow: function() { 992 $('#ui-datepicker-div').addClass('notranslate'); 993 $("body").addClass("datepickerOpen"); 994 datePicker_gereHover("dateFin"); 995 if(jQuery("#moteurPrincipalDate.dateSelected").length > 0){ 996 datepicker_videDateFin(); 997 } 998 if(window.moteurInitDatepicker){ // fonction définie dans recette fédé 999 moteurInitDatepicker(); 1000 } 1001 }, 1002 onClose: function() { 1003 $("body").removeClass("datepickerOpen"); 1004 if(jQuery('#label_moteur_datePickerFin_externe').length != 0){ 1005 jQuery("#label_moteur_datePickerFin_externe").css('opacity','1'); 1006 } 1007 if(jQuery("#moteurPrincipalDate.dateDebSelected").length > 0){ 1008 if(jQuery("#ui-datepicker-div-copie").length != 0){ 1009 jQuery('#ui-datepicker-div-copie').remove(); 1010 } 1011 } 1012 if(jQuery('#popinLimitationDatepicker').length != 0){ 1013 jQuery('#popinLimitationDatepicker').fadeOut(125); 1014 } 1015 } 1016 }); 1017 1018 $('#moteur_datePickerFin,#moteur_datePickerDeb').datepicker('option', 'beforeShowDay',function(date){ 1019 var dateDeb = null; var dateFin = null; var maxDate = null; 1020 if ($('#moteur_datePickerDeb').val().length > 0 && $('#moteur_datePickerDeb').val() != $('#moteur_datePickerDeb').attr('data-defaut')){ 1021 dateDeb = new OBJDate($('#moteur_datePickerDeb').val()); 1022 } 1023 1024 if($('#moteur_datePickerFin').val() && $('#moteur_datePickerFin').val() != $('#moteur_datePickerFin').attr('data-defaut') ){ 1025 dateFin = new OBJDate($('#moteur_datePickerFin').val()); 1026 } 1027 if(!dateFin && !dateDeb){ 1028 return [true,'','']; 1029 } 1030 var jourIn = date.getDate(); 1031 jourIn = jourIn.toString(); 1032 if(jourIn.length<2){ 1033 jourIn = '0'+jourIn; 1034 } 1035 var moisIn = date.getMonth() +1; 1036 moisIn = moisIn.toString(); 1037 if(moisIn.length<2){ 1038 moisIn = '0'+moisIn; 1039 } 1040 var dateIn = parseFloat(date.getFullYear()+moisIn+jourIn); 1041 var classe = ''; 1042 if(dateDeb){ 1043 if(dateIn === parseFloat(dateDeb.toString('yyyymmdd')) ){ 1044 classe = 'tdCalendJour_arrivee'; 1045 } 1046 maxDate = new OBJDate($('#moteur_datePickerDeb').val()); 1047 maxDate.ajoutJour(28); 1048 if(dateIn > parseFloat(maxDate.toString('yyyymmdd'))){ 1049 classe = 'tdCalendJour_apresLimite'; 1050 } 1051 } 1052 if(dateFin){ 1053 if(dateIn === parseFloat(dateFin.toString('yyyymmdd'))){ 1054 classe = 'tdCalendJour_depart'; 1055 } 1056 } 1057 if(dateFin && dateDeb){ 1058 if(dateIn > parseFloat(dateDeb.toString('yyyymmdd')) && dateIn < parseFloat(dateFin.toString('yyyymmdd'))){ 1059 classe = 'tdCalendJour_periodeRecherchee'; 1060 } 1061 } 1062 1063 var datePlusUn = new Date(date); 1064 datePlusUn.setDate(datePlusUn.getDate()+1); 1065 if(datePlusUn.getMonth() !== date.getMonth() ){ 1066 classe += ' jourFinMois'; 1067 } 1068 var dateMoinsUn = new Date(date); 1069 dateMoinsUn.setDate(dateMoinsUn.getDate()-1); 1070 if(dateMoinsUn.getMonth() !== date.getMonth() ){ 1071 classe += ' jourDebutMois'; 1072 } 1073 1074 return [true,classe,'']; 1075 }); 1076 1077 if(window.moteurInitDatepicker){ // fonction définie dans re
1077cette fédé 1078 jQuery(document).on('click', '.ui-datepicker-next', function () { 1079 moteurInitDatepicker(); 1080 }); 1081 } 1082 if(window.moteurInitDatepicker){ // fonction définie dans recette fédé 1083 jQuery(document).on('click', '.ui-datepicker-prev', function () { 1084 moteurInitDatepicker(); 1085 }); 1086 } 1087 1088 if(slideEffect){ 1089 jQuery(document).on('click', '.ui-datepicker-next', function () { 1090 //$(".ui-datepicker-title>span").hide().show(125); 1091 $(".ui-datepicker-title").hide('slide', { direction: 'left' }, 125).show('slide', { direction: 'right' }, 125); 1092 $(".ui-datepicker-calendar").hide('slide', { direction: 'left' }, 125).show('slide', { direction: 'right' }, 125) 1093 }); 1094 1095 jQuery(document).on('click', '.ui-datepicker-prev', function () { 1096 //$(".ui-datepicker-title>span").hide().show(125); 1097 $(".ui-datepicker-title").hide('slide', { direction: 'right' }, 125).show('slide', { direction: 'left' }, 125); 1098 $(".ui-datepicker-calendar").hide('slide', { direction: 'right' }, 125).show('slide', { direction: 'left' }, 125) 1099 }); 1100 } 1101 1102 // on ajoute le picto calendrier si demandé à être affiché. 1103 if (imgCalDeb.length > 0) { 1104 $("#moteur_datePickerDeb").datepicker("option", "buttonImage", imgCalDeb); 1105 $("#moteur_datePickerDeb").datepicker("option", "buttonImageOnly", true); 1106 $("#moteur_datePickerDeb").datepicker("option", "showOn", "both"); 1107 $("#moteur_datePickerDeb").datepicker("option", "buttonText", imgCalDebText); 1108 } 1109 if (imgCalFin.length > 0) { 1110 $("#moteur_datePickerFin").datepicker("option", "buttonImage", imgCalFin); 1111 $("#moteur_datePickerFin").datepicker("option", "buttonImageOnly", true); 1112 $("#moteur_datePickerFin").datepicker("option", "showOn", "both"); 1113 $("#moteur_datePickerFin").datepicker("option", "buttonText", imgCalFinText); 1114 } 1115 1116 if ($("#moteur_datePickerDeb").val().length > 0 && $("#moteur_datePickerDeb").val() != $("#moteur_datePickerDeb").attr("data-defaut")) { 1117 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1118 dateDebut.ajoutJour(1); 1119 $("#moteur_datePickerFin").datepicker("option", "minDate", dateDebut.toString()); 1120 // fiche 224619 : bloquer à 28 jours max la durée de séjour 1121 if(maxDateDefaut.length==0){ 1122 var maxDate = new OBJDate($("#moteur_datePickerDeb").val()); 1123 maxDate.ajoutJour(28); 1124 $('#moteur_datePickerFin').datepicker('option', 'maxDate', maxDate.toString()); 1125 } 1126 } 1127 1128 if ($("#moteur_datePickerFin").attr("data-onChange") == "true") { 1129 $("#moteur_datePickerFin").datepicker("option", "onSelect", function (selectedDate) { 1130 var dateFin = new OBJDate(selectedDate); 1131 var datesValides = false; 1132 if ($("#label_moteur_datePickerFin_externe").length > 0) { 1133 $("#label_moteur_datePickerFin_externe .jour").html(dateFin.jour); 1134 $("#label_moteur_datePickerFin_externe .mois").html(dateFin.getLibelleMois()); 1135 $("#label_moteur_datePickerFin_externe .annee").html(dateFin.annee); 1136 } 1137 if ($("#moteur_datePickerDeb").val() != $("#moteur_datePickerDeb").attr("data-defaut") && $("#moteur_datePickerDeb").val().length > 0) { 1138 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1139 if (dateFin.estApresStrictOBJDate(dateDebut)) { 1140 datesValides = true 1141 if ($("#div_moteur_datePickerNbj").length > 0) { 1142 $("#div_moteur_datePickerNbj .duree").html(dateDebut.getNbJourEcartWithOBJDate(dateFin)) 1143 $("#div_moteur_datePickerNbj .titre").html($("#div_moteur_datePickerNbj").attr("data-titre")); 1144 if (dateDebut.getNbJourEcartWithOBJDate(dateFin) == 1) { 1145 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuit")); 1146 } 1147 else if (dateDebut.getNbJourEcartWithOBJDate(dateFin) > 1) { 1148 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuits")); 1149 } 1150 } 1151 } 1152 } 1153 if (datesValides) { 1154 var url = document.location.href 1155 var nbj = dateDebut.getNbJourEcartWithOBJDate(dateFin); 1156 url = getUrlWithLstParam(url, "deb", $("#moteur_datePickerDeb").val()); 1157 url = getUrlWithLstParam(url, "fin", $("#moteur_datePickerFin").val()); 1158 url = getUrlWithLstParam(url, "nbj", nbj.toString()); 1159 url = getUrlWithLstParam(url, "checkdispopartiel", 'n'); 1160 1161 if(typeof foncQdFini_changeMoteurDatePicker === 'function'){ 1162 foncQdFini_changeMoteurDatePicker(); 1163 } 1164
1165 setCookieEnregistreCritere('deb',$("#moteur_datePickerDeb").val()); 1166 setCookieEnregistreCritere('fin',$("#moteur_datePickerFin").val()); 1167 if($('#itea_page_contentListe') && $('#itea_page_contentListe').attr('data-post') === 'true' ){ 1168 refreshListeWithCgi(url+'&'+$('#itea_page_contentListe').attr('data-cgi')); 1169 }else{ 1170 document.location.href = url; 1171 moteur_affMessageLoadingMoteur(); 1172 } 1173 } 1174 else { 1175 //dateFin.enleveJour(1); 1176 if (!datesValides) { 1177 $('#moteur_datePickerDeb').datepicker("setDate", dateFin.toString()); 1178 if ($("#label_moteur_datePickerDeb_externe").length > 0) { 1179 $("#label_moteur_datePickerDeb_externe .jour").html(dateFin.jour); 1180 $("#label_moteur_datePickerDeb_externe .mois").html(dateFin.getLibelleMoisCourt()); 1181 $("#label_moteur_datePickerDeb_externe .annee").html(dateFin.annee); 1182 } 1183 setTimeout(function () { 1184 $('#moteur_datePickerDeb').focus(); 1185 }, 0); 1186 } 1187 } 1188 }); 1189 } 1190 else { 1191 $("#moteur_datePickerFin").datepicker("option", "onSelect", function (selectedDate) { 1192 var dateFin = new OBJDate(selectedDate); 1193 if ($("#label_moteur_datePickerFin_externe").length > 0) { 1194 $("#label_moteur_datePickerFin_externe .jour").html(dateFin.jour); 1195 $("#label_moteur_datePickerFin_externe .mois").html(dateFin.getLibelleMoisCourt()); 1196 $("#label_moteur_datePickerFin_externe .annee").html(dateFin.annee); 1197 } 1198 //dateFin.enleveJour(1); 1199 1200 if ($("#moteur_datePickerDeb").val().length == 0 || $("#moteur_datePickerDeb").val() == $("#moteur_datePickerDeb").attr("data-defaut")) { 1201 $('#moteur_datePickerDeb').datepicker("setDate", dateFin.toString()); 1202 // fiche 224619 : bloquer à 28 jours max la durée de séjour 1203 if(maxDateFinDefaut.length==0){ 1204 var maxDate = new OBJDate(selectedDate); 1205 maxDate.ajoutJour(28); 1206 } 1207 $('#moteur_datePickerFin').datepicker('option', 'maxDate', maxDate.toString()); 1208 var dateMin = new OBJDate(selectedDate); 1209 dateMin.ajoutJour(1); 1210 1211 if(minDateFinDefaut.length != 0){ 1212 var dateMinDefaut = new OBJDate(minDateFinDefaut); 1213 if(dateMinDefaut.estApresOBJDate(dateMin)){ 1214 dateMin = dateMinDefaut; 1215 } 1216 } 1217 1218 $("#moteur_datePickerFin").datepicker("option", "minDate",dateMin.toString()); 1219 if ($("#label_moteur_datePickerDeb_externe").length > 0) { 1220 $("#label_moteur_datePickerDeb_externe .jour").html(dateFin.jour); 1221 $("#label_moteur_datePickerDeb_externe .mois").html(dateFin.getLibelleMoisCourt()); 1222 $("#label_moteur_datePickerDeb_externe .annee").html(dateFin.annee); 1223 } 1224 setTimeout(function () { 1225 $('#moteur_datePickerDeb').focus(); 1226 }, 0); 1227 1228 if ($("#div_moteur_datePickerCgiNbj").length > 0) { 1229 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1230 $("#div_moteur_datePickerCgiNbj").attr('value','1'); 1231 } 1232 if(typeof foncQdFini_changeMoteurDatePicker === 'function'){ 1233 foncQdFini_changeMoteurDatePicker(); 1234 }
1235 setCookieEnregistreCritere('fin',$("#moteur_datePickerFin").val()); 1236 } else { 1237 if ($("#div_moteur_datePickerNbj").length > 0) { 1238 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1239 $("#div_moteur_datePickerNbj .duree").html(dateDebut.getNbJourEcartWithOBJDate(dateFin)) 1240 $("#div_moteur_datePickerNbj .titre").html($("#div_moteur_datePickerNbj").attr("data-titre")); 1241 if (dateDebut.getNbJourEcartWithOBJDate(dateFin) == 1) { 1242 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuit")); 1243 } 1244 else if (dateDebut.getNbJourEcartWithOBJDate(dateFin) > 1) { 1245 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuits")); 1246 } 1247 } 1248 if ($("#div_moteur_datePickerCgiNbj").length > 0) { 1249 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1250 $("#div_moteur_datePickerCgiNbj").attr('value',dateDebut.getNbJourEcartWithOBJDate(dateFin)); 1251 } 1252 } 1253 1254 if($(idDivRel).length>0){ 1255 if (($("#moteur_datePickerFin").val().length > 0 && $("#moteur_datePickerFin").val() != $("#moteur_datePickerFin").attr("data-defaut")) && 1256 ($("#moteur_datePickerDeb").val().length > 0 && $("#moteur_datePickerDeb").val() != $("#moteur_datePickerDeb").attr("data-defaut"))) { 1257 $(idDivRel).addClass('dateSelected'); 1258 } 1259 else{ 1260 $(idDivRel).removeClass('dateSelected'); 1261 } 1262 1263 if($("#moteur_datePickerFin").val().length > 0 && $("#moteur_datePickerFin").val() != $("#moteur_datePickerFin").attr("data-defaut")){ 1264 $(idDivRel).addClass('dateFinSelected'); 1265 } 1266 else{ 1267 $(idDivRel).removeClass('dateFinSelected'); 1268 } 1269 } 1270 }); 1271 } 1272 1273 if ($("#moteur_datePickerDeb").attr("data-onChange") == "true") { 1274 $("#moteur_datePickerDeb").datepicker("option", "onSelect", function (selectedDate) { 1275 var dateDebut = new OBJDate(selectedDate); 1276 var datesValides = false; 1277 if ($("#label_moteur_datePickerDeb_externe").length > 0) { 1278 $("#label_moteur_datePickerDeb_externe .jour").html(dateDebut.jour); 1279 $("#label_moteur_datePickerDeb_externe .mois").html(dateDebut.getLibelleMoisCourt()); 1280 $("#label_moteur_datePickerDeb_externe .annee").html(dateDebut.annee); 1281 } 1282 if ($("#moteur_datePickerFin").val() != $("#moteur_datePickerFin").attr("data-defaut") && $("#moteur_datePickerFin").val().length > 0) { 1283 var dateFin = new OBJDate($("#moteur_datePickerFin").val()); 1284 if (dateFin.estApresStrictOBJDate(dateDebut) && dateFin.getNbJourEcartWithOBJDate(dateDebut)<=28 ) { 1285 datesValides = true 1286 } 1287 } 1288 if (datesValides) { 1289 var url = document.location.href; 1290 var nbj = dateDebut.getNbJourEcartWithOBJDate(dateFin); 1291 url = getUrlWithLstParam(url, "deb", $("#moteur_datePickerDeb").val()); 1292 url = getUrlWithLstParam(url, "fin", $("#moteur_datePickerFin").val()); 1293 url = getUrlWithLstParam(url, "nbj", nbj.toString()); 1294 url = getUrlWithLstParam(url, "checkdispopartiel", 'n'); 1295 1296 if(typeof foncQdFini_changeMoteurDatePicker === 'function'){ 1297 foncQdFini_changeMoteurDatePicker(); 1298 } 1299
1300 setCookieEnregistreCritere('deb',$("#moteur_datePickerDeb").val()); 1301 setCookieEnregistreCritere('fin',$("#moteur_datePickerFin").val()); 1302 document.location.href = url; 1303 moteur_affMessageLoadingMoteur(); 1304 } 1305 else { 1306 dateDebut.ajoutJour(1); 1307 $("#moteur_datePickerFin").datepicker("option", "minDate", dateDebut.toString()); 1308 //if (!datesValides) { // pas besoin de retester on sait déjà qu'on a pas de dates valides 1309 $('#moteur_datePickerFin').datepicker("setDate", dateDebut.toString()); 1310 // fiche 224619 : bloquer à 28 jours max la durée de séjour 1311 var maxDate = new OBJDate(selectedDate); 1312 maxDate.ajoutJour(28); 1313 $('#moteur_datePickerFin').datepicker('option', 'maxDate', maxDate.toString()); 1314 if ($("#label_moteur_datePickerFin_externe").length > 0 && ajoutJourAuto) { 1315 $("#label_moteur_datePickerFin_externe .jour").html(dateDebut.jour); 1316 $("#label_moteur_datePickerFin_externe .mois").html(dateDebut.getLibelleMoisCourt()); 1317 $("#label_moteur_datePickerFin_externe .annee").html(dateDebut.annee); 1318 } 1319 setTimeout(function () { 1320 $('#moteur_datePickerFin').focus(); 1321 }, 0); 1322 //} 1323 } 1324 }); 1325 } 1326 else { 1327 $("#moteur_datePickerDeb").datepicker("option", "onSelect", function (selectedDate) { 1328 var dateDebut = new OBJDate(selectedDate); 1329 var datesValides = false; 1330 datepicker_videDateFin(); 1331 if ($("#label_moteur_datePickerDeb_externe").length > 0) { 1332 $("#label_moteur_datePickerDeb_externe .jour").html(dateDebut.jour); 1333 $("#label_moteur_datePickerDeb_externe .mois").html(dateDebut.getLibelleMoisCourt()); 1334 $("#label_moteur_datePickerDeb_externe .annee").html(dateDebut.annee); 1335 } 1336 if ($("#moteur_datePickerFin").val().length != 0 && $("#moteur_datePickerFin").val() != $("#moteur_datePickerFin").attr("data-defaut")) { 1337 var dateFin = new OBJDate($("#moteur_datePickerFin").val()); 1338 if (dateFin.estApresStrictOBJDate(dateDebut) && dateFin.getNbJourEcartWithOBJDate(dateDebut)<=28) { 1339 datesValides = true; 1340 setCookieEnregistreCritere('deb',$("#moteur_datePickerDeb").val()); 1341 if ($("#div_moteur_datePickerNbj").length > 0) { 1342 $("#div_moteur_datePickerNbj .duree").html(dateDebut.getNbJourEcartWithOBJDate(dateFin)) 1343 $("#div_moteur_datePickerNbj .titre").html($("#div_moteur_datePickerNbj").attr("data-titre")); 1344 if (dateDebut.getNbJourEcartWithOBJDate(dateFin) == 1) { 1345 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuit")); 1346 } 1347 else if (dateDebut.getNbJourEcartWithOBJDate(dateFin) > 1) { 1348 $("#div_moteur_datePickerNbj .libelle").html($("#div_moteur_datePickerNbj").attr("data-nuits")); 1349 } 1350 } 1351 } 1352 if ($("#div_moteur_datePickerCgiNbj").length > 0) { 1353 var dateDebut = new OBJDate($("#moteur_datePickerDeb").val()); 1354 if(ajoutJourAuto){ 1355 $("#div_moteur_datePickerCgiNbj").attr('value','1'); 1356 } 1357 } 1358 } 1359 1360 var nbAjoutJourPourMinFin = 1; 1361 if($("#moteur_datePickerDeb").attr("data-ajoutjourdebpourminfin").length>0){ 1362 nbAjoutJourPourMinFin = parseInt($("#moteur_datePickerDeb").attr("data-ajoutjourdebpourminfin")); 1363 } 1364 1365 dateDebut.ajoutJour(nbAjoutJourPourMinFin); 1366 1367 if(minDateFinDefaut.length != 0){ 1368 var dateMinDefaut = new OBJDate(minDateFinDefaut); 1369 if(dateMinDefaut.estApresOBJDate(dateDebut)){ 1370 dateDebut = dateMinDefaut; 1371 } 1372 } 1373 1374 $("#moteur_datePickerFin").datepicker("option", "minDate", dateDebut.toString()); 1375 if (!datesValides){ 1376 //$('#moteur_datePickerFin').datepicker("setDate", dateDebut.toString()); 1377 // fiche 224619 : bloquer à 28 jours max la durée de séjour 1378 if(maxDateFinDefaut.length==0){ 1379 var maxDate = new OBJDate(selectedDate); 1380 maxDate.ajoutJour(28); 1381 $('#moteur_datePickerFin').datepicker('option', 'maxDate', maxDate.toString()); 1382 } 1383 if ($("#label_moteur_datePickerFin_externe").length > 0 && ajoutJourAuto) { 1384 $("#label_moteur_datePickerFin_externe .jour").html(dateDebut.jour); 1385 $("#label_moteur_datePickerFin_externe .mois").html(dateDebut.getLibelleMoisCourt()); 1386 $("#label_moteur_datePickerFin_externe .annee").html(dateDebut.annee); 1387 } 1388 setTimeout(function () { 1389 if(window.ajouterFondDatepicker){ // fonction définie dans re
1389cette fédé 1390 ajouterFondDatepicker(); 1391 } 1392 if(window.initPopinLimitations){ // fonction définie dans recette fédé 1393 initPopinLimitations(); 1394 } 1395 $('#moteur_datePickerFin').focus(); 1396 }, 0); 1397 } 1398 else{ 1399 setTimeout(function () { 1400 if(window.ajouterFondDatepicker){ // fonction définie dans recette fédé 1401 ajouterFondDatepicker(); 1402 } 1403 $('#moteur_datePickerFin').focus(); 1404 }, 0); 1405 } 1406 if ($("#div_moteur_datePickerNbj").length > 0) { 1407 $("#div_moteur_datePickerNbj .duree").html('1'); 1408 } 1409 1410 if($(idDivRel).length>0){ 1411 if (($("#moteur_datePickerFin").val().length > 0 && $("#moteur_datePickerFin").val() != $("#moteur_datePickerFin").attr("data-defaut")) && 1412 ($("#moteur_datePickerDeb").val().length > 0 && $("#moteur_datePickerDeb").val() != $("#moteur_datePickerDeb").attr("data-defaut"))) { 1413 $(idDivRel).addClass('dateSelected'); 1414 } 1415 else{ 1416 $(idDivRel).removeClass('dateSelected'); 1417 } 1418 1419 if($("#moteur_datePickerDeb").val().length > 0 && $("#moteur_datePickerDeb").val() != $("#moteur_datePickerDeb").attr("data-defaut")){ 1420 $(idDivRel).addClass('dateDebSelected'); 1421 } 1422 else{ 1423 $(idDivRel).removeClass('dateDebSelected'); 1424 } 1425 } 1426 }); 1427 } 1428 1429 })(jQuery); 1430 } 1431 1432 /** recherche par référence **/ 1433 if($("moteur_divRechercheExpress")){ 1434 // guillaume : la fonction est reportée dans une vraie fonction en bas du fichier 1435// window.setListeByRefSelect = function(li){ 1436// $("moteur_inptRechercheExpress").value=li.getAttribute("ref"); 1437// if($("inpt_referenceHidden")){ 1438// $("inpt_referenceHidden").value = li.getAttribute("ident"); 1439// } 1440// jQuery("form input, form select").not("[type=submit]").each(function(){ 1441// if(jQuery(this).attr("id")!="moteur_inptRechercheExpress" && jQuery(this).attr("id")!="inpt_referenceHidden"){ 1442// jQuery(this).val(""); 1443// } 1444// }); 1445// } 1446 $("moteur_inptRechercheExpress").onfocus = function(evt){ 1447 $("moteur_inptRechercheExpress").value=""; 1448 if($("inpt_referenceHidden")){ 1449 $("inpt_referenceHidden").value = ""; 1450 } 1451 }; 1452 var type = $("moteur_inptRechercheExpress").getAttribute("data-type"); 1453 var dpt= ""; 1454 if($("moteur_inptRechercheExpress").getAttribute("data-depfiltre")){ 1455 dpt = $("moteur_inptRechercheExpress").getAttribute("data-depfiltre"); 1456 } 1457 var libelleDansAutoCompleteur = ''; 1458 if($("moteur_inptRechercheExpress").getAttribute("data-libelleDansAutoCompleteur")){ 1459 libelleDansAutoCompleteur = 'false'; 1460 } 1461 var gestprod = false; 1462 if (jQuery('#moteur_divRechercheExpress').attr('data-gestprod')==="true"){ 1463 gestprod=true; 1464 } 1465 setAutoCompleterByRef("moteur_inptRechercheExpress","moteur_divLieuAutoCompleteReference",type,'',dpt,libelleDansAutoCompleteur,gestprod); 1466 // TODO : voir si on peut mettre l'autocompleteur de jquery sur la reference (ça sera beaucoup plus simple !!): 1467 if(jQuery('#moteur_divRechercheExpress input[name="linkToFiche"]').length>0){ 1468 // pour pouvoir faire un lien direct vers la fiche, il faut que quand on récupère l'ident choisi dans inpt_referenceHidden, 1469 // on aille chercher le lien vers la fiche 1470 // 219143: si on clicque sur ok sans selectionner d'ident, il faut aller sur la liste 1471 var evenementSubmitSur = '#moteur_divRechercheExpress form'; 1472 if(jQuery(evenementSubmitSur).length == 0){ 1473 //233878 : si je n'ai pas de form à l'interieur, je prend celui à l'exterieur 1474 evenementSubmitSur = jQuery('#moteur_divRechercheExpress').closest('form'); 1475 } 1476 if(jQuery(evenementSubmitSur).length > 0){ 1477 jQuery(evenementSubmitSur).submit(function(event){ 1478 var ident = jQuery('#inpt_referenceHidden').val() || false; 1479 if(ident){ 1480 event.preventDefault; 1481 jQuery.ajax({ 1482 dataType: "json", 1483 url: '/lib_2/ajax/infosDist.php', 1484 data: {INFO:'getLinkToFiche',ident:ident}, 1485 async:false, 1486 success: function(data){ 1487 var link = data.link || false; 1488 if(link){ 1489 document.location.href = link; 1490 } 1491 } 1492 }); 1493 return false;
1494 } 1495 //si j'ai saisi une valeur dans l'autocompléteur, mais n'ai pas cliqué sur la référence, on va sur la liste avec lno= 1496 }); 1497 } 1498 } 1499 } 1500 1501 if(jQuery("#moteur_selectAmbiance").length>0 && jQuery("#inpt_envieDe").length>0){ 1502 jQuery("#moteur_selectAmbiance").change(function(){ 1503 jQuery("#inpt_envieDe").attr("name",jQuery("#moteur_selectAmbiance").val()); 1504 jQuery("#inpt_envieDe").val("o"); 1505 }); 1506 } 1507 1508 if(jQuery(".sp_nbResult").length>0){ 1509 setNbResultByCgi("sp_nbResult"); 1510 } 1511 1512 if(jQuery(".span_elemSimuleListe").length>0){ 1513 jQuery(".span_elemSimuleListe").bind("click",function(){ 1514 var input = jQuery(this).attr("data-input"); 1515 var value = jQuery(this).attr("data-value"); 1516 1517 jQuery("#"+input).attr("value",value); 1518 1519 jQuery(this).parents(".moteur_ulSimuleListe").prev().children(".moteur_spanValueSimuleListe").text(value); 1520 1521 jQuery(this).parents(".moteur_ulSimuleListe").hide(); 1522 }); 1523 } 1524 if(jQuery(".moteur_divSimuleListeContent").length>0){ 1525 jQuery(".moteur_divSimuleListeContent").toggle( 1526 function(){ 1527 jQuery(this).siblings(".moteur_ulSimuleListe").show(); 1528 }, 1529 function(){ 1530 jQuery(this).siblings(".moteur_ulSimuleListe").hide(); 1531 } 1532 ); 1533 } 1534 1535 if(jQuery(".a_choixTypeFede").length>0){ 1536 jQuery(".a_choixTypeFede").click(function(){ 1537 if(jQuery(this).next().is(":hidden")){ 1538 jQuery(this).next().show(); 1539 } 1540 }); 1541 } 1542 1543 1544 // --------- Moteur Multi Critere 1545 if($("moteur_inptRechercheMutli")){ 1546 $("moteur_inptRechercheMutli").onfocus = function(evt){ 1547 jQuery('.ui-drp-fade').click(); 1548 // on ne gère pas l'historique dans le cas du moteur avec lien car ça demande à avoir un formulaire avec toutes les données dedans pour le remplir 1549 if(!$('moteur_divRechercheMultiSansLien')){ 1550 return; 1551 } 1552 // on va chercher l'historique dans le localStorage 1553 var previousSearch = getPreviousSearch(); 1554 if (!previousSearch instanceof Array || previousSearch.length == 0) { 1555 return; 1556 } 1557 1558 var voyageur = ''; 1559 var voyageurs = ''; 1560 var recherchesRecentes = ''; 1561 // on recup les 3 mots clés à utiliser pour la génération de l'historique 1562 var result; 1563 if (sessionStorage['getMotsClesHistorique'] !== undefined) { 1564 result = JSON.parse(sessionStorage['getMotsClesHistorique']); 1565 } else { 1566 jQuery.ajax({ 1567 url: '/lib_2/ajax/infosCGI.php', 1568 type: 'POST', 1569 dataType: 'json', 1570 async: false, 1571 data: {typeInfo: 'getMotsClesHistorique'}, 1572 success: function (r) { 1573 sessionStorage.setItem('getMotsClesHistorique', JSON.stringify(r)); 1574 result = r; 1575 } 1576 }); 1577 } 1578 voyageur = result.voyageur; 1579 voyageurs = result.voyageurs; 1580 recherchesRecentes = result.recherchesRecentes; 1581 1582 jQuery('#moteur_divMultiAutoComplete').hide(); 1583 1584 var htmlHistorique = '<div class="historique">' + '<p class="categorie">' + recherchesRecentes + '</p>' + '<ul class="itea_ul">'; 1585 var selected = 'selected'; 1586 1587 // on parcourt les différentes recherches 1588 for (var i = 0; i < previousSearch.length; i++) { 1589 // transformation du form serialisé en object 1590 var datePassees = false; 1591 var tabCrit = previousSearch[i].split('&'); 1592 console.log('previousSearch tabCrit:',tabCrit); 1593 if(tabCrit.indexOf('lieucgi=') >0 && tabCrit.indexOf('deb=') > 0){ 1594 continue; 1595 } 1596 1597 var tabInfo = new Object(); 1598 for (var j = 0; j < tabCrit.length; j++) { 1599 var couple = tabCrit[j].split('='); 1600 var key = couple[0]; 1601 var value = couple[1]; 1602 1603 if(key === 'lieucgi'){ 1604 // il arrive que le lieu soit deux fois encodé, on le désencode deux fois et on remplace les + par des espaces 1605 tabInfo.valreel = decodeURIComponent(decodeURIComponent(value)).replace(/\+/g, ' '); 1606 }else if(key === 'lno'){ 1607 if(tabInfo.ref === '' || tabInfo.ref === undefined){ 1608 tabInfo.ref = value; 1609 } 1610 }else if(jQuery.inArray(key,['INSEE','DEP','REGION_ADM','REGION_SUP','REGION','INFOTOURFD', 'INFOTOUR']) !== -1){ 1611 tabInfo.cgi = key; 1612 tabInfo.valcgi = value; 1613 }else if(key === 'lnoident'){ 1614 if(tabInfo.lnoident === '' || tabInfo.lnoident === undefined){ 1615 tabInfo.lnoident = value; 1616 } 1617 }else if(key === 'deb'){ // deb, fin et nbp_min sont toujours présent dans le form même si on ne séléctionnep as de valeur pour eux 1618 var objDateDeb = new OBJDate(decodeURIComponent(decodeURIComponent(value))); 1619 var today = new OBJDate(); 1620 if(objDateDeb.estAvant(today.toString()) && !objDateDeb.estEgale(today.toString())){ 1621 datePassees = true; 1622 } 1623 tabInfo.dateDeb = value;// defaut = "" 1624 }else if(key === 'fin'){ 1625 var objDateFin = new OBJDate(decodeURIComponent(decodeURIComponent(value))); 1626 tabInfo.dateFin = value;// defaut = "" 1627 }else if(key === 'nbp_min'){ 1628 tabInfo.nbPers = value;// defaut = "n" 1629 }else if(key === 'urlListe'){ 1630 tabInfo.url = value; // defaut = 'liste' 1631 }else if(key === 'input-drp-arrival-name'){ 1632 tabInfo.stringArrivee = decodeURIComponent(value.replace(/\+/g, ' ')); 1633 }else if(key === 'input-drp-departure-name'){ 1634 tabInfo.stringDepart = decodeURIComponent(value.replace(/\+/g, ' '));; 1635 }else if(key === 'longitude') { 1636 tabInfo.longitude = value; 1637 tabInfo.cgi = 'VILLE_ETRANGER'; 1638 }else if(key === 'latitude') { 1639 tabInfo.latitude = value; 1640 } 1641 } 1642 1643 if(datePassees){ 1644 tabInfo.dateDeb = ''; 1645 tabInfo.dateFin = ''; 1646 tabInfo.stringArrivee = ''; 1647 tabInfo.stringDepart = ''; 1648 } 1649 //on regarde en premier si toutes les info de l'objet sont undefined, ça n'est pas censé arriver,
1649c'est juste une sécurité 1650 //on regarde ensuite si les champs ont tous leur valeur par défaut (pour éviter d'afficher une recherche vide) 1651 if(tabInfo.ref === undefined && tabInfo.valreel === undefined && tabInfo.dateDeb === undefined && tabInfo.dateFin === undefined){ 1652 continue; 1653 }else if(tabInfo.ref === undefined && tabInfo.dateDeb === '' && tabInfo.dateFin === '' && tabInfo.nbPers === 'n'){ 1654 continue; 1655 } 1656 1657 // on mets toutes les infos dans le li même si elles sont vide ou undefined 1658 // on lui ajoute la fonction onclick fillInputsHistoriqueMoteurMulti(this) 1659 // la class selected permet l'highlight et la navigation avec les fleches 1660 htmlHistorique += "<li nbp_min='"+tabInfo.nbPers+"' deb='"+tabInfo.dateDeb+"' fin='"+tabInfo.dateFin+"' stringArrivee='"+tabInfo.stringArrivee+"' stringDepart='"+tabInfo.stringDepart+"' class='"+selected+"' onclick='fillInputsHistoriqueMoteurMulti(this);' data-numLi='"+parseInt(i+1)+"' data-url ='"+ tabInfo.url +"' "; 1661 if(typeof tabInfo.valreel !== 'undefined' && tabInfo.valreel !== "" && tabInfo.valreel !== "undefined"){ 1662 htmlHistorique += ' valreel="'+tabInfo.valreel+'"'; 1663 if(typeof tabInfo.cgi !== 'undefined' && tabInfo.cgi !== ""){ 1664 htmlHistorique += ' cgi="'+decodeURIComponent(decodeURIComponent(tabInfo.cgi))+'" val_cgi="'+tabInfo.valcgi+'" ' ; 1665 }else if(typeof tabInfo.lnoident !== 'undefined' && tabInfo.lnoident !== ""){ 1666 htmlHistorique += ' lnoident="'+tabInfo.lnoident+'"' ; 1667 } 1668 }else if(typeof tabInfo.ref !== 'undefined' && tabInfo.ref !== "" && tabInfo.ref !== "undefined"){ 1669 htmlHistorique += ' ref="'+tabInfo.ref+'" lnoident="'+tabInfo.lnoident+'" ' ; 1670 } 1671 if(typeof tabInfo.longitude !== 'undefined' && typeof tabInfo.latitude !== 'undefined') { 1672 htmlHistorique += ' data-longitude="' + tabInfo.longitude + '" data-latitude="' + tabInfo.latitude + '"'; 1673 } 1674 htmlHistorique += ' >'; 1675 // on génére le premier span, on met soit le lieu soit la ref dedans 1676 htmlHistorique += '<span class="lieu">'; 1677 1678 if(tabInfo.valreel !== undefined && tabInfo.valreel !== "" && tabInfo.valreel !== "undefined"){ 1679 htmlHistorique += tabInfo.valreel; 1680 }else if(typeof tabInfo.ref !== 'undefined' && tabInfo.ref !== "" && tabInfo.ref !== "undefined"){ 1681 htmlHistorique += tabInfo.ref; 1682 } 1683 htmlHistorique +='</span>'; 1684 1685 // on génére le deuxième span, on met les dates dedans 1686 htmlHistorique += '<span class="dates"> '; 1687 1688 if((tabInfo.dateDeb !== undefined && tabInfo.dateDeb !== "") || (tabInfo.dateFin !== undefined && tabInfo.dateFin !== "") ){ 1689 if(tabInfo.dateDeb !== undefined && tabInfo.dateDeb !== "" && tabInfo.stringArrivee !== undefined && tabInfo.stringArrivee !== ""){ 1690 htmlHistorique += '<span class="dateTxt">'+tabInfo.stringArrivee+'</span>'; 1691 htmlHistorique += '<span class="dateFormatDate" style="display:none">'+objDateDeb.toString('dd.mm.yy')+'</span>'; 1692 if(tabInfo.dateFin !== undefined && tabInfo.dateFin !== "" && tabInfo.stringDepart !== undefined && tabInfo.stringDepart !== ""){ // si jamais on ne mets pas de date de fin, on ne mets pas le tiret 1693 htmlHistorique += ' - '; 1694 } 1695 } 1696 if(tabInfo.dateFin !== undefined && tabInfo.dateFin !== "" && tabInfo.stringDepart !== undefined && tabInfo.stringDepart !== ""){ 1697 htmlHistorique += '<span class="dateTxt">'+tabInfo.stringDepart+'</span>'; 1698 htmlHistorique += '<span class="dateFormatDate" style="display:none">'+objDateFin.toString('dd.mm.yy')+'</span>'; 1699 } 1700 } 1701 htmlHistorique +='</span>'; 1702 1703 // on génére le troisième span, on met le nombre de personnes dedans 1704 htmlHistorique += '<span class="voyageurs">'; 1705 if(tabInfo.nbPers !== undefined && tabInfo.nbPers !== "" && tabInfo.nbPers !== "n" && parseInt(tabInfo.nbPers)>0){ 1706 htmlHistorique += tabInfo.nbPers; 1707 if(parseInt(tabInfo.nbPers)>1){ //selon le nombre de personnes, on utilise un des deux mots clés recup par ajax 1708 htmlHistorique += ' '+voyageurs; 1709 }else{ 1710 htmlHistorique += ' '+voyageur; 1711 } 1712 } 1713 htmlHistorique +='</span>'; 1714 1715 htmlHistorique += '</li>'; 1716 if(selected === "selected"){ 1717 selected=""; 1718 } 1719 } 1720 htmlHistorique += '</ul>'; 1721 htmlHistorique += '</div>'; 1722 jQuery('#moteur_divMultiAutoComplete').html(htmlHistorique); 1723 1724 // on gère la navigation avec les flèches, la séléction avec entré et tab, et le changement de classe lors du survol des li 1725 (function($){ 1726 var divChampChoix='moteur_divMultiAutoComplete'; 1727 var moteur = $('#moteur_divMultiAutoComplete'); 1728 var li = $('#'+divChampChoix+' ul>li'); 1729 var liSelected = $('#'+divChampChoix+' ul').find('.selected'); 1730 var next,nextNum; 1731 $(window).keydown(function(e){ 1732 1733 if(e.which === 40){ 1734 li.removeClass('selected'); 1735 nextNum = parseInt(liSelected.attr('data-numLi'))+1; 1736 next = $('#'+divChampChoix+' ul').find("[data-numLi='" + nextNum + "']"); 1737 if(next.length > 0){ 1738 liSelected = next.addClass('selected'); 1739 }else{ 1740 liSelected = li.eq(0).addClass('selected'); 1741 } 1742 if(liSelected.offset().top+liSelected.height()>moteur.offset().top+moteur.height() || liSelected.offset().top<moteur.offset().top){ 1743 moteur.scrollTo(liSelected); 1744 } 1745 }else if(e.which === 38){ 1746 li.removeClass('selected'); 1747 nextNum = parseInt(liSelected.attr('data-numLi'))-1; 1748 next = $('#'+divChampChoix+' ul').find("[data-numLi='" + nextNum + "']"); 1749 if(next.length > 0){ 1750 liSelected = next.addClass('selected'); 1751 }else{
1752 liSelected = li.last().addClass('selected'); 1753 } 1754 if(liSelected.offset().top+liSelected.height()>moteur.offset().top+moteur.height() || liSelected.offset().top<moteur.offset().top){ 1755 moteur.scrollTo(liSelected); 1756 } 1757 }else if(e.which === 13){ 1758 if( $('#'+divChampChoix).is(':visible')){ 1759 e.preventDefault(); 1760 $('#'+divChampChoix+' ul').find('.selected').click(); 1761 return false; 1762 } 1763 } 1764 else if(e.which === 9){ 1765 if( $('#'+divChampChoix).is(':visible')){ 1766 $('#'+divChampChoix+' ul').find('.selected').click(); 1767 } 1768 } 1769 1770 }); 1771 1772 li.on('mouseenter',function(e){ 1773 e.preventDefault(); 1774 li.removeClass('selected'); 1775 $(this).addClass('selected'); 1776 }); 1777 1778 })(jQuery); 1779 1780 1781 1782 jQuery('#moteur_divMultiAutoComplete').show(); 1783 }; 1784 1785 // gère le clic en dehors du moteur, similaire à ITEA_clicOutBody 1786 var zone = "init";//init: on initialise OU on est dans la div 1787 jQuery(".moteurMultiCritere").each(function(){ 1788 jQuery(this).bind("click",function(){ 1789 zone = "init"; 1790 }) 1791 jQuery(this).on("touchstart",function(){ // il faut aussi gérer sur appareils tactiles 1792 zone = "init"; 1793 }) 1794 }); 1795 jQuery("body").bind("click",function(){ 1796 if (zone!="init"){ 1797 if(jQuery('#moteur_divMultiAutoComplete').is(":visible")){ 1798 clickOut_moteur_inptRechercheMutli(); 1799 zone = "init"; 1800 } 1801 } 1802 else{ 1803 zone="out"; 1804 } 1805 }); 1806 jQuery("body").on("touchstart",function(){ // il faut aussi gérer sur appareils tactiles 1807 if (zone!="init"){ 1808 if(jQuery('#moteur_divMultiAutoComplete').is(":visible")){ 1809 clickOut_moteur_inptRechercheMutli(); 1810 jQuery('#moteur_inptRechercheMutli').blur(); 1811 zone = "init"; 1812 } 1813 } 1814 else{ 1815 zone="out"; 1816 } 1817 }); 1818 1819 jQuery('#moteur_inptRechercheMutli').closest('form').on('submit',function(){ 1820 if( 1821 (jQuery("#moteur_inptRechercheMutli").attr('name') === 'lieucgi' && jQuery("#moteur_inptRechercheMutliHidden").attr('name') === 'lnoident') 1822 || 1823 (jQuery("#moteur_inptRechercheMutli").attr('name') === 'lieucgi' && jQuery('input[name="longitude"]').length > 0 && jQuery('input[name="latitude"]').length > 0) 1824 ){ 1825 jQuery("#moteur_inptRechercheMutli").attr("name",""); 1826 } 1827 if (jQuery("#moteur_inptRechercheMutli").attr('name') === 'lno' && jQuery("#moteur_inptRechercheMutli").attr('value') === '') { 1828 jQuery("#moteur_inptRechercheMutli").attr("name", "lieucgi"); 1829 } 1830 var chaine = jQuery(this).serialize(); 1831 setPreviousSearch(chaine); 1832 }); 1833 1834 $("moteur_inptRechercheMutli").onblur = function(evt){ 1835 if($("moteur_inptRechercheMutli").value===""){ 1836 //$("moteur_inptRechercheMutli").value=$("moteur_inptRechercheMutli").getAttribute("title"); // on laisse le placeholder faire son taf en fait. sinon souci avec traducteur auto google. 1837 $("moteur_inptRechercheMutliHidden").value=""; 1838 } 1839 }; 1840 $("moteur_inptRechercheMutli").on("input",function(){ 1841 console.log('moteur_initMoteurCommun input '+jQuery('#moteur_inptRechercheMutli').val()); 1842 if (_timerPourMoteurLieu !== undefined) { 1843 try { 1844 console.log('moteur_initMoteurCommun input clearTimeout _timerPourMoteurLieu'); 1845 clearTimeout(_timerPourMoteurLieu); 1846 } catch (error) { 1847 console.log('moteur_initMoteurCommun input error clearTimeout'); 1848 } 1849 } 1850 1851 var avecLien='true'; 1852 var idDivMoteur = '#moteur_divRechercheMulti'; 1853 if($('moteur_divRechercheMultiSansLien')){ 1854 avecLien = 'false'; 1855 idDivMoteur = '#moteur_divRechercheMultiSansLien'; 1856 } 1857 1858 if(jQuery("#moteur_inptRechercheMutli").val()==''){ 1859 jQuery("#moteur_inptRechercheMutliHidden").val(''); 1860 jQuery("#moteur_inptRechercheMutliHidden").attr('name',''); 1861 } 1862 1863 var priseEnCompteCrits = true; 1864 if(jQuery(idDivMoteur).attr("data-priseEnCompteCriteres") === "fal
1864se"){ 1865 priseEnCompteCrits = false; 1866 } 1867 1868 var avecinfostour = true; 1869 if(jQuery(idDivMoteur).attr("data-avecinfostour") === "false"){ 1870 avecinfostour = false; 1871 } 1872 var avecInseeAffiche = false; 1873 if(jQuery(idDivMoteur).data('avec-insee-affiche') === true){ 1874 avecInseeAffiche = true; 1875 } 1876 var dpt= ""; 1877 if($("moteur_inptRechercheMutli").getAttribute("data-depfiltre")){ 1878 dpt = $("moteur_inptRechercheExpress").getAttribute("data-depfiltre"); 1879 } 1880 var libelleDansAutoCompleteur = ''; 1881 if($("moteur_inptRechercheMutli").getAttribute("data-libelleDansAutoCompleteur")){ 1882 libelleDansAutoCompleteur = 'false'; 1883 } 1884 var gestprod = false; 1885 if (jQuery(idDivMoteur).attr('data-gestprod')==="true"){ 1886 gestprod=true; 1887 } 1888 var avecRegion = true; 1889 if (jQuery(idDivMoteur).attr('data-avecRegion') === "false") { 1890 avecRegion = false; 1891 } 1892 var avecDep = true; 1893 if (jQuery(idDivMoteur).attr('data-avecDep') === "false") { 1894 avecDep = false; 1895 } 1896 var avecMicroRegion = false; 1897 if (jQuery(idDivMoteur).attr('data-avecMicroRegion') === "true") { 1898 avecMicroRegion = true; 1899 } 1900 var nbCommunesAffiche = 3; 1901 if (parseInt(jQuery(idDivMoteur).attr('data-nbCommunesAffiche')) > 0) { 1902 nbCommunesAffiche = parseInt(jQuery(idDivMoteur).attr('data-nbCommunesAffiche')); 1903 } 1904 1905 changeAttrNameBasedOnInputType(); 1906 1907 // on laisse un timer 500 ms pour taper, ensuite on lance l'appel ajax 1908 // si la valeur de l'input est changé alors qu'une req ajax est en cours, on l'annule 1909 _timerPourMoteurLieu = setTimeout(function () { 1910 console.log('moteur_initMoteurCommun setAutocompleteForRechercheMulti input:'+jQuery('#moteur_inptRechercheMutli').val()); 1911 setAutocompleteForRechercheMulti('moteur_inptRechercheMutli', 'moteur_divMultiAutoComplete', '', dpt, libelleDansAutoCompleteur, gestprod, priseEnCompteCrits, avecinfostour, avecInseeAffiche, avecLien, avecRegion, avecDep, avecMicroRegion, nbCommunesAffiche); 1912 }, 200); 1913 1914 }); 1915 jQuery("#moteur_divRechercheMulti, #moteur_divRechercheMultiSansLien").mouseleave(function(){ 1916 jQuery("#moteur_divMultiAutoComplete li").removeClass('selected'); 1917 }); 1918 } 1919 1920 if(jQuery('#divConteneur_dateRangePicker').length > 0){ 1921 initDivDateRangePicker(); 1922 } 1923 1924 if(jQuery('#moteurCapaciteAdultesEtEnfants').length > 0){ 1925 initMoteur_capacite_adultesEtEnfants(); 1926 } 1927 1928 if(jQuery('#moteur_divRechercheMultiParApi').length > 0){ 1929 initMoteurMultiApi(); 1930 } 1931 1932} 1933 1934function changeAttrNameBasedOnInputType() { 1935 // on change le name de l'input selon sa cible, si on cherche un lieu c'est lieucgi et si on cherche une ref c'est lno 1936 var text = jQuery("#moteur_inptRechercheMutli").val(); 1937 if (text.match('^[0-9a-zA-Z]+[0-9]$') !== null) { 1938 jQuery("#moteur_inptRechercheMutli").attr('name', 'lno'); 1939 } else { 1940 jQuery("#moteur_inptRechercheMutli").attr('name', 'lieucgi'); 1941 } 1942} 1943 1944function clickOut_moteur_inptRechercheMutli () { 1945 if(jQuery('#moteur_divMultiAutoComplete .conteneurAutoCompleteur').length > 0) { 1946 if (jQuery(jQuery('#moteur_divMultiAutoComplete .conteneurAutoCompleteur li')[0]).find('a').length == 0) { 1947 jQuery('#moteur_divMultiAutoComplete .conteneurAutoCompleteur li')[0].click(); 1948 } else { 1949 jQuery('#moteur_inptRechercheMutli').val(''); 1950 jQuery('#moteur_inptRechercheMutli').attr('data-valeursaisie', ''); 1951 } 1952 } 1953 jQuery('#moteur_divMultiAutoComplete').hide(); 1954} 1955 1956function moteur_initBoutonsAfficheMasqueCriteres(){ 1957 if(jQuery(".moteur_afficheMasqueCriteres").length>0){ 1958 jQuery(".moteur_afficheMasqueCriteres").each(function(){ 1959 var ul = jQuery(this).attr("data-ul");
1960 var nbAffiche = parseInt(jQuery(this).attr("data-nbaffiche")); 1961 var count = 1; 1962 1963 if (localStorage && localStorage[ul]=="open"){ 1964 jQuery(this).html(jQuery(this).attr("data-lblMasque")); 1965 jQuery("#"+ul).children("li:visible").each(function(){ 1966 if(count>nbAffiche){ 1967 jQuery(this).addClass("elemAreafficher"); 1968 } 1969 count++; 1970 }); 1971 } 1972 else{ 1973 jQuery("#"+ul).children("li:visible").each(function(){ 1974 if(count>nbAffiche){ 1975 jQuery(this).css("display","none"); 1976 jQuery(this).addClass("elemAreafficher"); 1977 } 1978 count++; 1979 }); 1980 } 1981 //on a un ++ en fin de boucle, il faut decrmenter. 1982 count--; 1983 //si count == nbAffiche, le + de critère ne sert à rien 1984 if(count<=nbAffiche){ 1985 jQuery(this).css("display","none"); 1986 } 1987 else{ 1988 if (localStorage && localStorage[ul] == "open"){ 1989 jQuery(this).toggle( 1990 function(){ 1991 jQuery("#"+ul).children(".elemAreafficher").css("display","none"); 1992 jQuery(this).html(jQuery(this).attr("data-lblAffiche")); 1993 if (localStorage){ 1994 localStorage[ul] = "close"; 1995 } 1996 }, 1997 function(){ 1998 jQuery("#"+ul).children(".elemAreafficher").css("display",""); 1999 jQuery(this).html(jQuery(this).attr("data-lblMasque")); 2000 if (localStorage){ 2001 localStorage[ul] = "open"; 2002 } 2003 } 2004 ); 2005 } 2006 else{ 2007 jQuery(this).toggle( 2008 function(){ 2009 jQuery("#"+ul).children(".elemAreafficher").css("display",""); 2010 jQuery(this).html(jQuery(this).attr("data-lblMasque")); 2011 if (localStorage){ 2012 localStorage[ul] = "open"; 2013 } 2014 }, 2015 function(){ 2016 jQuery("#"+ul).children(".elemAreafficher").css("display","none"); 2017 jQuery(this).html(jQuery(this).attr("data-lblAffiche")); 2018 if (localStorage){ 2019 localStorage[ul] = "close"; 2020 } 2021 } 2022 ); 2023 } 2024 } 2025 }); 2026 } 2027} 2028 2029/***** Affichage du message de loading au choix d'un nouveau critère ****/ 2030function moteur_affMessageLoadingMoteur(){ 2031 if($("bodyPage")){ 2032 $("bodyPage").scrollTo(); 2033 2034 //var txt="<img id='imgRechargement' class='img_rechargementSurListe' style='margin:50px auto 0;display:block;' src='/config_v3/imgs_defaut/v5/transparent.gif' />"; 2035 2036 var txt = '<div class="loaderMoteur"><div><div class="cp-spinnerLoader cp-ballsLoader"></div></div></div>'; 2037 2038 // attribuer la classe "hideMeWhenReload" pour masquer une ou plusieurs zones à recharger 2039 if(jQuery(".hideMeWhenReload").length>0){ 2040 jQuery.each(jQuery(".hideMeWhenReload"), function() { 2041 affMsgAttenteParDessusInDiv(jQuery(this).attr('id'),"moteur",txt); 2042 }); 2043 }else affMsgAttenteParDessusInDiv("bodyPage","moteur",txt); 2044 } 2045} 2046 2047/***** clic sur le calendrier de début de séjour ****/ 2048function moteur_clicCalendDateDeb(evt,jour,mois,annee,etat,jrSemaine){ 2049 if($("moteur_imiteCheckBoxPasDate") && $("moteur_imiteCheckBoxPasDate").hasClassName("moteur_imitecheckbox_on")){ 2050 $("moteur_imiteCheckBoxPasDate").addClassName("moteur_imitecheckbox_off"); 2051 $("moteur_imiteCheckBoxPasDate").removeClassName("moteur_imitecheckbox_on"); 2052 } 2053 if($("moteur_imiteCheckBoxPasDate") && $("moteur_imiteCheckBoxPasDate").hasClassName("moteur_imitecheckbox_off")){ 2054 $("moteur_imiteCheckBoxPasDate").addClassName("moteur_imitecheckbox_on"); 2055 $("moteur_imiteCheckBoxPasDate").removeClassName("moteur_imitecheckbox_off"); 2056 } 2057 if($("moteur_inptDateDeb")) $("moteur_inptDateDeb").value=jour+"/"+mois+"/"+annee; 2058 if($('moteur_divCalendrierDebut')) jQuery('#moteur_divCalendrierDebut').hide('fast'); 2059} 2060function moteur_clicCalendDateDebut(evt,jour,mois,annee,etat,jrSemaine){ 2061 if(jQuery("#moteur_CalenddateDeb").length>0){ 2062 jQuery("#moteur_CalenddateDeb").val(jour+"/"+mois+"/"+annee); 2063 var duree = ""; 2064 if(jQuery("#moteur_CalenddateDeb").attr("data-duree")) duree = jQuery("#moteur_CalenddateDeb").attr("data-duree"); 2065 else duree="7"; 2066 var ObjDateDeb = new OBJDate(jour+"/"+mois+"/"+annee); 2067 ObjDateDeb.ajoutJour(duree); 2068 jQuery("#moteur_CalenddateFin").addClass("active").val(ObjDateDeb.toString()); 2069 } 2070 if(jQuery('#moteur_calendrierDebMoteur').length>0) jQuery('#moteur_calendrierDebMoteur').fadeOut(); 2071 if(jQuery("#moteur_CalenddateDebOnChange").length>0){ 2072 jQuery("#moteur_CalenddateDebOnChange").attr('value',jour+"/"+mois+"/"+annee); 2073 // si pas de date de fin 2074 if(jQuery("#moteur_CalenddateFinOnChange").val()==jQuery("#moteur_CalenddateFinOnChange").attr('data-defaut') || jQuery("#moteur_CalenddateFinOnChange").val()==""){ 2075 var ObjDateDeb = new OBJDate(jour+"/"+mois+"/"+annee); 2076 var duree = ""; 2077 if(jQuery("#moteur_CalenddateDebOnChange").attr("data-duree")) duree = jQuery("#moteur_CalenddateDebOnChange").attr("data-duree"); 2078 else duree="7"; 2079 ObjDateDeb.ajoutJour(duree); 2080 jQuery("#moteur_CalenddateFinOnChange").attr('value',ObjDateDeb.toString()); 2081 } 2082 var url = document.location.href 2083 if(jQuery("#moteur_inptUrlListe").length>0 && jQuery("#moteur_inptUrlListe").val()) url += jQuery("#moteur_inptUrlListe").val(); 2084 url = getUrlWithLstParam(url,jQuery("#moteur_CalenddateDebOnChange").attr("name"),jour+"/"+mois+"/"+annee); 2085 url = getUrlWithLstParam(url,jQuery("#moteur_CalenddateFinOnChange").attr("name"),jQuery("#moteur_CalenddateFinOnChange").attr("value")); 2086 document.location.href = url; 2087 moteur_affMessageLoadingMoteur(); 2088 } 2089} 2090function moteur_clicCalendDateFin(evt,jour,mois,annee,etat,jrSemaine){ 2091 if(jQuery("#moteur_CalenddateFin").length>0) jQuery("#moteur_CalenddateFin").val(jour+"/"+mois+"/"+annee); 2092 if(jQuery("#moteur_calendrierFinMoteur").length>0)jQuery("#moteur_calendrierFinMoteur").fadeOut(); 2093 if(jQuery("#moteur_CalenddateFinOnChange").length>0){ 2094 jQuery("#moteur_CalenddateFinOnChange").attr('value',jour+"/"+mois+"/"+annee); 2095 //si pas de date de début 2096 if(jQuery("#moteur_CalenddateDebOnChange").attr('value')==jQuery("#moteur_CalenddateDebOnChange").attr('data-defaut')){ 2097 var ObjDateDeb = new OBJDate(jour+"/"+mois+"/"+annee); 2098 var duree = ""; 2099 if(jQuery("#moteur_CalenddateDebOnChange").attr("data-duree")) duree = jQuery("#moteur_CalenddateDebOnChange").attr("data-duree"); 2100 else duree="7"; 2101 ObjDateDeb.enleveJour(duree); 2102 jQuery("#moteur_CalenddateDebOnChange").attr('value',ObjDateDeb.toString()); 2103 } 2104 2105 var url = document.location.href 2106 if(jQuery("#moteur_inptUrlListe").length>0 && jQuery("#moteur_inptUrlListe").val()) url += jQuery("#moteur_inptUrlListe").val(); 2107 url = getUrlWithLstParam(url,jQuery("#moteur_CalenddateFinOnChange").attr("name"),jour+"/"+mois+"/"+annee); 2108 url = getUrlWithLstParam(url,jQuery("#moteur_CalenddateDebOnChange").attr("name"),jQuery("#moteur_CalenddateDebOnChange").attr("value")); 2109 document.location.href = url; 2110 moteur_affMessageLoadingMoteur(); 2111 2112 } 2113} 2114 2115function setListeByRefSelect(li){ 2116 jQuery("#moteur_inptRechercheExpress").val(jQuery(li).attr("ref")); 2117 if(jQuery("#inpt_referenceHidden").length >0){ 2118 jQuery("#inpt_referenceHidden").val(jQuery(li).attr("ident")); 2119 } 2120 jQuery("form input, form select").not("[type=submit]").each(function(){ 2121 if(jQuery(this).attr("id")!="moteur_inptRechercheExpress" && jQuery(this).attr("id")!="inpt_referenceHidden"){ 2122 jQuery(this).val(""); 2123 } 2124 }); 2125} 2126 2127function setAutocompleteForRechercheMulti(idChampSaisie,divChampChoix,communeDansAutoComplet,departements,libelleDansAutoCompleteur,gestprod,priseEnCompteCrits,avecinfostour,avecInseeAffiche,avecLien,avecRegion,avecDep,avecMicroRegion,nbCommunesAffiche){ 2128 (function($){ 2129 if(typeof(priseEnCompteCrits) === "undefined") priseEnCompteCrits = true; 2130 if(typeof(avecinfostour) === "undefined") avecinfostour = true; 2131 if(typeof(avecInseeAffiche) === "undefined") avecInseeAffiche = false;
2132 if(typeof(avecRegion) === "undefined") avecRegion = true; 2133 if(typeof(avecDep) === "undefined") avecDep = true; 2134 if(typeof(avecMicroRegion) === "undefined") avecMicroRegion = false; 2135 if(typeof(nbCommunesAffiche) === "undefined") nbCommunesAffiche = 3; 2136 var url="/lib_2/ajax/infosCGI.php"; 2137 var valInput = $('#' + idChampSaisie).val(); 2138 var moteur = $('#'+divChampChoix); 2139 if (valInput.length === 0) { 2140 moteur.empty(); 2141 moteur.hide(); 2142 return; 2143 } 2144 var data = {departements : departements, valInput : valInput, typeInfo : 'AUTOCOMPLETEMULTI', avecRegion: avecRegion, avecDep: avecDep, avecMicroRegion: avecMicroRegion, nbCommunesAffiche: nbCommunesAffiche, RETURNLNKTOFICHE:true, avecinfostour: avecinfostour}; 2145 2146 if(communeDansAutoComplet){ 2147 data = {affComm : true }; 2148 } 2149 if(libelleDansAutoCompleteur){ 2150 data = {libelleDansAutoCompleteur : false }; 2151 } 2152 if(gestprod){ 2153 data = {RETURNREFGESTPROD : true }; 2154 } 2155 if(avecLien === 'false'){ 2156 data.TYPEREPONSE = 'JS'; 2157 } 2158 2159 if (_reqAjaxMoteur !== undefined) { 2160 try { 2161 _reqAjaxMoteur.abord(); 2162 } catch (error) { 2163 console.log('setAutocompleteForRechercheMulti error abord'); 2164 } 2165 } 2166 2167 _reqAjaxMoteur = $.ajax({ 2168 url: url, 2169 type: 'GET', 2170 data: data, 2171 beforeSend : function(){ 2172 if(moteur.find('li').length === 0){ 2173 moteur.hide(); 2174 } 2175 }, 2176 success:function(rep){ 2177 moteur.empty(); 2178 moteur.append('<div class="conteneurAutoCompleteur">'+rep+'</div>'); 2179 if(window.moteurInitAutoCompletMultiple){ // fonction définie dans recette fédé 2180 moteurInitAutoCompletMultiple(); 2181 } 2182 2183 $('#'+divChampChoix+' ul>li').each(function(){ 2184 $(this).attr('onClick','onClickLiMoteurAutoCompleteMulti(this,' + avecLien + ')'); 2185 }); 2186 if(rep.length>0){ 2187 moteur.show(); 2188 } 2189 else{ 2190 moteur.hide(); 2191 } 2192 2193 var li = $('#'+divChampChoix+' ul>li'); 2194 var liSelected = $('#'+divChampChoix+' ul').find('.selected'); 2195 $(window).keydown(function(e){ 2196 if(e.which === 40){ 2197 li.removeClass('selected'); 2198 nextNum = parseInt(liSelected.attr('data-numLi'))+1; 2199 next = $('#'+divChampChoix+' ul').find("[data-numLi='" + nextNum + "']"); 2200 if(next.length > 0){ 2201 liSelected = next.addClass('selected'); 2202 }else{ 2203 liSelected = li.eq(0).addClass('selected'); 2204 } 2205 if(liSelected.offset().top+liSelected.height()>moteur.offset().top+moteur.height() || liSelected.offset().top<moteur.offset().top){ 2206 moteur.scrollTo(liSelected); 2207 } 2208 }else if(e.which === 38){ 2209 li.removeClass('selected'); 2210 nextNum = parseInt(liSelected.attr('data-numLi'))-1; 2211 next = $('#'+divChampChoix+' ul').find("[data-numLi='" + nextNum + "']"); 2212 if(next.length > 0){ 2213 liSelected = next.addClass('selected'); 2214 }else{ 2215 liSelected = li.last().addClass('selected'); 2216 } 2217 if(liSelected.offset().top+liSelected.height()>moteur.offset().top+moteur.height() || liSelected.offset().top<moteur.offset().top){ 2218 moteur.scrollTo(liSelected); 2219 } 2220 }else if(e.which === 13){ 2221 if( $('#'+divChampChoix).is(':visible')){ 2222 e.preventDefault(); 2223 $('#'+divChampChoix+' ul').find('.selected').trigger('click'); 2224 return false;
2225 } 2226 } 2227 else if(e.which === 9){ 2228 if( $('#'+divChampChoix).is(':visible')){ 2229 $('#'+divChampChoix+' ul').find('.selected').trigger('click'); 2230 } 2231 } 2232 2233 }); 2234 2235 li.on('mouseenter',function(e){ 2236 e.preventDefault(); 2237 li.removeClass('selected'); 2238 $(this).addClass('selected'); 2239 }); 2240 } 2241 }); 2242 })(jQuery); 2243} 2244 2245function fillInputMoteurRechercheMulti(element){ 2246 (function($) { 2247 $('#moteur_inptLong').attr('name', ''); 2248 $('#moteur_inptLat').attr('name', ''); 2249 $('#moteur_inptRayon').attr('name', ''); 2250 if(typeof $(element).attr('ref')!== 'undefined'){ 2251 $('#moteur_inptRechercheMutli').val($(element).attr('ref')); 2252 var ident = $(element).attr("ident"); 2253 $("#moteur_inptRechercheMutliHidden").attr("name","lnoident"); 2254 $("#moteur_inptRechercheMutliHidden").attr("value",ident); 2255 }else{ 2256 $('#moteur_inptRechercheMutli').val($(element).attr('valreel')); 2257 changeAttrNameBasedOnInputType(); 2258 var cgi = $(element).attr("cgi"); 2259 if (cgi === 'VILLE_ETRANGER'){ 2260 $('#moteur_inptLong').attr('name', 'longitude'); 2261 $('#moteur_inptLong').val($(element).data('longitude')); 2262 $('#moteur_inptLat').attr('name', 'latitude'); 2263 $('#moteur_inptLat').val($(element).data('latitude')); 2264 $('#moteur_inptRayon').attr('name', 'rayon'); 2265 $('#moteur_inptRayon').val('20'); 2266 } else if(typeof cgi !== 'undefined'){ 2267 var val_cgi = $(element).attr("val_cgi"); 2268 $("#moteur_inptRechercheMutliHidden").attr("name",cgi); 2269 $("#moteur_inptRechercheMutliHidden").attr("value",val_cgi); 2270 }else{ 2271 var ident = $(element).attr("ident"); 2272 $("#moteur_inptRechercheMutliHidden").attr("name","lnoident"); 2273 $("#moteur_inptRechercheMutliHidden").attr("value",ident); 2274 } 2275 2276 } 2277 2278 if($(element).attr('data-url').length>0){ 2279 var url = $(element).attr('data-url'); 2280 if(url.split('.').pop().length === 0 || (url.split('.').pop() !== 'html' && url.split('.').pop() !== 'php')){ 2281 url += '.html'; 2282 } 2283 if(url.substring(0, 1) !== '/'){ 2284 url = '/'+url; 2285 } 2286 $('#moteur_inptRechercheMutli').parents('form').attr('action',url); 2287 $('#urlListeHidden').val($(element).attr('data-url')); 2288 } 2289 $('#moteur_divMultiAutoComplete').hide(); 2290 2291 })(jQuery); 2292} 2293 2294function getPreviousSearch(){ 2295 var pastSearches = []; 2296 2297 if(window.localStorage["pastSearches"]) { 2298 pastSearches = JSON.parse(window.localStorage["pastSearches"]); 2299 } 2300 2301 return pastSearches; 2302} 2303 2304function setPreviousSearch(chaine){ 2305 var pastSearches = []; 2306 if(window.localStorage["pastSearches"]){ 2307 pastSearches = JSON.parse(localStorage["pastSearches"]); 2308 for(var i = 0; i < pastSearches.length; i++) { 2309 if(chaine === pastSearches[i]) { 2310 return ; 2311 } 2312 } 2313 } 2314 pastSearches.unshift(chaine); 2315 if(pastSearches.length > 5) { 2316 pastSearches.pop(); 2317 } 2318 2319 window.localStorage["pastSearches"] = JSON.stringify(pastSearches); 2320} 2321 2322function fillInputsHistoriqueMoteurMulti(element){ 2323 (function($){ 2324 2325 if(typeof $(element).attr('valreel') !== 'undefined'){ 2326 var lieu = $(element).attr('valreel'); 2327 var cgi = $(element).attr('cgi'); 2328 var valcgi = $(element).attr('val_cgi'); 2329 }else if( typeof $(element).attr('ref') !== 'undefined' ){ 2330 var ref = $(element).attr('ref'); 2331 } 2332 var lnoident = $(element).attr('lnoident'); 2333 var nbPers = $(element).attr('nbp_min'); 2334 var deb = $(element).attr('deb'); 2335 var fin = $(element).attr('fin'); 2336 var stringArrivee = $(element).attr('stringArrivee'); 2337 var stringDepart = $(element).attr('stringDepart'); 2338 var url = $(element).attr('data-url'); 2339 var valDefaut = jQuery('#moteur_inptRechercheMutli').attr('data-defaut'); 2340 2341 $('#moteur_inptLong').attr('name', ''); 2342 $('#moteur_inptLat').attr('name', ''); 2343 $('#moteur_inptRayon').attr('name', ''); 2344 2345 if(lieu !== undefined && lieu !== 'undefined' && lieu !== ''){ 2346 $('#moteur_inptRechercheMutli').val(decodeURIComponent(decodeURIComponent(lieu)).replace(/\+/g,' ')); 2347 $("#moteur_inptRechercheMutliHidden").attr("name",''); 2348 $("#moteur_inptRechercheMutliHidden").attr("value",''); 2349 if(cgi === 'VILLE_ETRANGER') { 2350 $('#moteur_inptLong').attr('name', 'longitude'); 2351 $('#moteur_inptLong').val($(element).data('longitude')); 2352 $('#moteur_inptLat').attr('name', 'latitude'); 2353 $('#moteur_inptLat').val($(element).data('latitude')); 2354 $('#moteur_inptRayon').attr('name', 'rayon'); 2355 $('#moteur_inptRayon').val('20'); 2356 } else if(cgi !== undefined && cgi !== 'undefined' && cgi !== '' ){ 2357 $("#moteur_inptRechercheMutliHidden").attr("name",cgi); 2358 $("#moteur_inptRechercheMutliHidden").attr("value",valcgi); 2359 }else if(lnoident !== undefined && lnoident !== 'undefined' && lnoident!==''){ 2360 $("#moteur_inptRechercheMutliHidden").attr("name","lnoident"); 2361 $("#moteur_inptRechercheMutliHidden").attr("value",lnoident); 2362 } 2363 }else if(ref !== undefined && ref !== 'undefined' && ref !== ''){ 2364 $('#moteur_inptRechercheMutli').val(ref); 2365 $("#moteur_inptRechercheMutliHidden").attr("name","lnoident"); 2366 $("#moteur_inptRechercheMutliHidden").attr("value",lnoident); 2367 }else{ 2368 $('#moteur_inptRechercheMutli').val(valDefaut); 2369 } 2370 2371 if(deb !== 'undefined' && deb !== ""){ 2372 deb = decodeURIComponent(decodeURIComponent(deb)); 2373 $("#input-drp-start-id").val(deb); 2374 if (stringArrivee !== 'undefined' && stringArrivee !== "") { 2375 $('#input-drp-arrival-id').val(stringArrivee); 2376 if(window.setDateHisto){ // fonction définie dans re
2376cette fédé 2377 setDateHisto(); 2378 } 2379 } 2380 } 2381 else{ 2382 $('#input-drp-arrival-id').val(''); 2383 $("#input-drp-start-id").val(''); 2384 } 2385 2386 if(fin !== 'undefined' && fin !== ""){ 2387 fin = decodeURIComponent(decodeURIComponent(fin)); 2388 $("#input-drp-end-id").val(fin); 2389 if (stringDepart !== 'undefined' && stringDepart !== "") { 2390 $('#input-drp-departure-id').val(stringDepart); 2391 if(window.setDateHisto){ // fonction définie dans recette fédé 2392 setDateHisto(); 2393 } 2394 } 2395 }else{ 2396 $("#input-drp-end-id").val(''); 2397 $('#input-drp-departure-id').val(''); 2398 if(deb !== 'undefined' && deb !== ""){ 2399 $(".drp-end-container").click(); 2400 } 2401 } 2402 2403 if(nbPers !== 'undefined' && nbPers !== "" && nbPers !== "n"){ 2404 $("#moteur_selectDenbp_min").val(parseInt(nbPers)); 2405 if($("#moteurPrincipalCapacite .ui-selectmenu-button").length>0){ 2406 $("#moteur_selectDenbp_min").selectmenu( "refresh" ); 2407 } 2408 }else{ 2409 $("#moteur_selectDenbp_min").val('n'); 2410 if($("#moteurPrincipalCapacite .ui-selectmenu-button").length>0){ 2411 $("#moteur_selectDenbp_min").selectmenu( "refresh" ); 2412 } 2413 } 2414 2415 if(url !== 'undefined' && url !== ""){ 2416 // 336664 2417 var urlDecode = decodeURIComponent(url); 2418 $('#urlListeHidden').val(urlDecode); 2419 if(urlDecode.split('.').pop().length === 0 || (urlDecode.split('.').pop() !== 'html' && urlDecode.split('.').pop() !== 'php')){ 2420 urlDecode += '.html'; 2421 } 2422 if(urlDecode.substring(0, 1) !== '/'){ 2423 urlDecode = '/'+urlDecode; 2424 } 2425 $('#moteur_inptRechercheMutli').parents('form').attr('action',urlDecode); 2426 }else{ 2427 $('#urlListeHidden').val('liste'); 2428 $('#moteur_inptRechercheMutli').parents('form').attr('action','/liste.html'); 2429 } 2430 2431 if(window.setMajMoteurResponsive){ // fonction définie dans recette fédé 2432 setMajMoteurResponsive(); 2433 } 2434 2435 $('#moteur_divMultiAutoComplete').hide(); 2436 })(jQuery); 2437} 2438 2439function initDatePickerMarkup(e) { 2440 (function($){ 2441 $(e).datepicker('widget').find('td').mouseover(function() { 2442 currentDate = new Date($(this).attr('data-year')+"/"+(parseInt($(this).attr('data-month'))+1)+"/"+$(this).text()); 2443 selectedDate = $(e).datepicker('getDate'); 2444 if (selectedDate === null) { 2445 selectedDate = new Date(); 2446 } 2447 allTds = $(this).parents('table.ui-datepicker-calendar').find('td'); 2448 allTds.removeClass('ui-datepicker-mouseover1') 2449 found = false; 2450 if (currentDate < selectedDate) { 2451 for (i = 0; i < allTds.length; i++) { 2452 if (allTds[i] == this) { 2453 found = true; 2454 } 2455 if ($(allTds[i]).hasClass('ui-datepicker-today') || $(allTds[i]).hasClass('ui-datepicker-current-day')) { 2456 break; 2457 } 2458 if (found) { 2459 $(allTds[i]).addClass('ui-datepicker-mouseover1'); 2460 } 2461 } 2462 } else if (currentDate > selectedDate) { 2463 for (i = 0; i < allTds.length; i++) { 2464 if (found) { 2465 $(allTds[i]).addClass('ui-datepicker-mouseover1'); 2466 } 2467 if ($(allTds[i]).hasClass('ui-datepicker-today') || $(allTds[i]).hasClass('ui-datepicker-current-day')) { 2468 found = true; 2469 } 2470 if (allTds[i] == this) { 2471 break; 2472 } 2473 } 2474 } 2475 }); 2476 })(jQuery); 2477} 2478 2479function refreshListeWithCgi(url){ 2480 (function($){ 2481 if(jQuery('#divgmap3').length > 0 && jQuery('#divgmap3').attr('data-cartedeplace') === '1'){ 2482 url = getUrlAvecLstParamsGoogleMaps(url); 2483 } 2484 var params = url.substr(url.indexOf('?')+1); 2485 var baseUrl = url.substr(0,url.indexOf('?')); 2486 var tabParams = params.split('&'); 2487 var tabKey= []; 2488 var html = "<form id='formRechercheListe' action='"+baseUrl+"' method='post' style='display:hidden'>"; 2489 for(var i = 0; i<tabParams.length;i++){ 2490 var couple = tabParams[i].split('='); 2491 var key = couple[0]; 2492 var value = couple[1]; 2493 2494 if(tabKey.indexOf(key) !== -1){ 2495 continue; 2496 } 2497 tabKey.push(key); 2498 2499 html += '<input type="hidden" name="'+key+'" value="'+value+'">'; 2500 } 2501 html += '</form>'; 2502 $('body').append(html); 2503 2504 2505 $('#formRechercheListe').submit(); 2506 moteur_affMessageLoadingMoteur(); 2507 2508 })(jQuery); 2509} 2510 2511 2512function datePicker_gereHover(inputDate){ 2513 (function($){ 2514 if($('#moteur_datePickerDeb').val() && $('#moteur_datePickerDeb').val()!=$("#moteur_datePickerDeb").attr("data-defaut") && inputDate=="dateFin"){ 2515 var dateDeb = new OBJDate($('#moteur_datePickerDeb').val()); 2516 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month):not(.tdCalendJour_arrivee)").live('mouseover',function(){ 2517 2518 var moisHover = parseInt($(this).data('month')) + 1; 2519 var dateFin = new OBJDate($(this).find('a').text()+'/'+moisHover+'/'+$(this).data('year')); 2520 2521 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month)").each(function(){ 2522 var moisTd = parseInt($(this).data('month')) + 1; 2523 var dateTd = new OBJDate($(this).find('a').text()+'/'+moisTd+'/'+$(this).data('year')); 2524 if(dateTd.estComprisEntre(dateDeb,dateFin)){ 2525 $(this).addClass('tdCalendJour_periodeSurvolee'); 2526 } 2527 else{ 2528 $(this).removeClass('tdCalendJour_periodeSurvolee'); 2529 } 2530 }); 2531 2532 if($('#moteurPrincipalDate.dateSelected ').length == 0){ 2533 if($(".ui-datepicker-calendar td.tdCalendJour_periodeSurvolee").length == 0){ 2534 $(".ui-datepicker-calendar td.tdCalendJour_arrivee").addClass('td_debSansHover'); 2535 } 2536 else{ 2537 $(".ui-datepicker-calendar td.tdCalendJour_arrivee").removeClass('td_debSansHover'); 2538 } 2539 } 2540 }); 2541 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month):not(.ui-datepicker-unselectable)").live('mouseleave',function(){ 2542 $(".ui-datepicker-calendar td").each(function(){ 2543 $(this).removeClass('tdCalendJour_periodeSurvolee'); 2544 }); 2545 if($('#moteurPrincipalDate.dateSelected').length == 0){ 2546 if($(".ui-datepicker-calendar td.tdCalendJour_arrivee").length > 0){ 2547 $(".ui-datepicker-calendar td.tdCalendJour_arrivee").addClass('td_debSansHover'); 2548 } 2549 } 2550 }); 2551 } 2552 else{ 2553 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month):not(.tdCalendJour_arrivee)").die('mouseover'); 2554 $(".ui-datepicker-calendar td:not(.ui-datepicker-other-month):not(.ui-datepicker-unselectable)").die('mouseleave'); 2555 } 2556 setTimeout(function(){ 2557 if($('#moteurPrincipalDate.dateSelected').length == 0){ 2558 if($(".ui-datepicker-calendar td.tdCalendJour_arrivee").length > 0){ 2559 $(".ui-datepicker-calendar td.tdCalendJour_arrivee").addClass('td_debSansHover'); 2560 } 2561 } 2562 },0); 2563 })(jQuery); 2564} 2565 2566function datepicker_videDateFin(){ 2567 2568 if(jQuery('#moteur_datePickerDeb').val() != "" && jQuery('#moteur_datePickerFin').val() != "" && jQuery('#moteur_datePickerDeb').val() != jQuery('#moteur_datePickerDeb').attr('data-defaut') && jQuery('#moteur_datePickerFin').val() != jQuery('#moteur_datePickerFin').attr('data-defaut')){
2569 var dateDebut = new OBJDate(jQuery('#moteur_datePickerDeb').val()); 2570 var dateFin = new OBJDate(jQuery('#moteur_datePickerFin').val()); 2571 2572 if(dateFin.estAvantOBJDate(dateDebut)){ 2573 jQuery("#moteur_datePickerFin").datepicker('setDate', null); 2574 jQuery("#moteur_datePickerFin").val(jQuery("#moteur_datePickerFin").attr('data-defaut')); 2575 jQuery("#label_moteur_datePickerFin_externe").css('opacity','0'); 2576 jQuery("#label_moteur_datePickerFin_externe span").each(function(){ 2577 jQuery(this).text(''); 2578 }); 2579 jQuery("#moteurPrincipalDate").removeClass('dateSelected dateFinSelected'); 2580 } 2581 } 2582} 2583 2584function initDivDateRangePicker(){ 2585 2586 var formatDate = jQuery("#divConteneur_dateRangePicker").attr('data-formatDate'); 2587 var maxRange = jQuery("#divConteneur_dateRangePicker").attr('data-maxRange'); 2588 var firstWeekDay = parseInt(jQuery("#divConteneur_dateRangePicker").attr('data-firstWeekDay')); 2589 var clearCross = ''; 2590 2591 var forceDepartureSelection = false; 2592 if(jQuery("#divConteneur_dateRangePicker").attr('data-forcedepartureselection') == 'true'){ 2593 forceDepartureSelection = true; 2594 } 2595 2596 if(jQuery("#divConteneur_dateRangePicker").attr('data-nextmonthimg').length > 0){ 2597 var nextMonthSrc = jQuery("#divConteneur_dateRangePicker").attr('data-nextmonthimg'); 2598 }else{ 2599 var nextMonthSrc = '/imgs_defaut/dateRangePicker/next.svg'; 2600 } 2601 if(jQuery("#divConteneur_dateRangePicker").attr('data-prevmonthimg').length > 0){ 2602 var prevMonthSrc = jQuery("#divConteneur_dateRangePicker").attr('data-prevmonthimg'); 2603 }else{ 2604 var prevMonthSrc = '/imgs_defaut/dateRangePicker/prev.svg'; 2605 } 2606 if(jQuery("#divConteneur_dateRangePicker").attr('data-avecClearCross').length > 0){ 2607 if(jQuery("#divConteneur_dateRangePicker").attr('data-avecClearCross') == 'true'){ 2608 var clearCross = '<div class="ui-drp-clear-cross" ><img src="../../img/css/close.svg" /></div>'; 2609 } 2610 } 2611 2612 jQuery("#divConteneur_dateRangePicker").dateRangePicker({ 2613 maxRange : maxRange, 2614 previousButton : '<img alt="Mois suivant" src="'+prevMonthSrc+'" />', 2615 nextButton : '<img alt="Mois suivant" src="'+nextMonthSrc+'" />', 2616 separator : '<div class="separator"><img src="/imgs_defaut/dateRangePicker/arrow_606060.svg" alt="separator" /></div>', 2617 picto : '', 2618 clearCross: clearCross, 2619 nameStart : 'deb', 2620 nameEnd : 'fin', 2621 dateFormat : formatDate, 2622 readonly : true, 2623 allowPrevious : false, 2624 firstWeekDay : firstWeekDay, 2625 forceDepartureSelection : forceDepartureSelection 2626 },{ 2627 selectedRange : dateRangePickerSelectedRange, 2628 inputsCleared : dateRangePickerInputsCleared, 2629 openingPopup : dateRangePickerOpenPopup, 2630 selectedStart : dateRangePickerSelectedStart 2631 2632 }); 2633 2634} 2635 2636function dateRangePickerSelectedRange(){ 2637 2638 if(window.initClickDrpRangeSelected){ // fonction à définir dans look 2639 initClickDrpRangeSelected(); 2640 } 2641 2642 if(jQuery('#divConteneur_dateRangePicker[data-onchange="true"]').length>0){ 2643 var nameDateDebut = jQuery('#input-drp-start-id').attr('name'); 2644 var valueDateDebut = jQuery('#input-drp-start-id').val(); 2645 var nameDateFin = jQuery('#input-drp-end-id').attr('name'); 2646 var valueDateFin = jQuery('#input-drp-end-id').val(); 2647 2648 moteur_affMessageLoadingMoteur(); 2649 2650 var urlRedirect = window.location.href; 2651 if(window.location.href.indexOf('?')==-1){ 2652 urlRedirect += "?"; 2653 } 2654 else{ 2655 urlRedirect += "&"; 2656 } 2657 urlRedirect += nameDateDebut+"="+valueDateDebut+"&"+nameDateFin+"="+valueDateFin; 2658 if(jQuery('input[name="nbj"]').length>0){
2659 var ObjDateDeb = new OBJDate(jQuery("#input-drp-start-id").val()); 2660 var ObjDateFin = new OBJDate(jQuery("#input-drp-end-id").val()); 2661 var ecartNbj = ObjDateDeb.getNbJourEcartWithOBJDate(ObjDateFin,true); 2662 urlRedirect += "&nbj="+ecartNbj; 2663 } 2664 window.location.href = (urlRedirect); 2665 } 2666} 2667 2668function dateRangePickerInputsCleared() { 2669 if(window.initClickDrpInputsCleared){ // fonction à définir dans look 2670 initClickDrpInputsCleared(); 2671 } 2672 dateRangePickerSelectedRange(); 2673} 2674 2675function dateRangePickerOpenPopup() { 2676 if(window.initDrpOpen_look){ // fonction à définir dans look 2677 initDrpOpen_look(); 2678 } 2679} 2680 2681function dateRangePickerSelectedStart() { 2682 if(window.initDrpStartSelected_look){ // fonction à définir dans look 2683 initDrpStartSelected_look(); 2684 } 2685} 2686 2687function onClickLiMoteurAutoCompleteMulti(element, avecLien){ 2688 (function($){ 2689 fillInputMoteurRechercheMulti(element); 2690 2691 if(window.initClickPropositionLieu){ // fonction définie dans recette fédé 2692 initClickPropositionLieu(); 2693 } 2694 2695 if (avecLien) { 2696 var cgi, value; 2697 if(typeof $(element).attr('ref')!== 'undefined'){ 2698 cgi = 'lnoident'; 2699 value = $(element).attr("ident"); 2700 }else{ 2701 var cgi = $(element).attr("cgi"); 2702 if(typeof cgi !== 'undefined'){ 2703 value = $(element).attr("val_cgi"); 2704 }else{ 2705 cgi = 'lnoident'; 2706 value = $(element).attr("ident"); 2707 } 2708 } 2709 2710 var urlListe = document.location.href; 2711 if($(element).data("url") && $(element).data("url").length>0){ 2712 urlListe = $(element).data("url"); 2713 } 2714 var url = getUrlWithLstParam(urlListe, cgi, value); 2715 // on cherche la distcomm mise dans le formulaire 2716 var inputDistcomm = $('.moteur_inptRechercheMutli').siblings('input[name="distcomm"]'); 2717 if(inputDistcomm !== undefined && inputDistcomm.length > 0){ 2718 url = getUrlWithLstParam(url, 'distcomm',inputDistcomm.val()); 2719 } 2720 // on enlève les paramètres de la carte pour afficher la carte au bon endroit 2721 url = removeParamGoogleMaps(url); 2722 2723 document.location.href = url; 2724 moteur_affMessageLoadingMoteur(); 2725 } 2726 })(jQuery); 2727} 2728 2729function moteur_initRegletteMiniMaxi(){ 2730 if($("moteur_divDudgetreglette")){ 2731 var slider = $("moteur_sliderBudgetregletteContent"); 2732 2733 var valeurMax, valeurMin; 2734 if($("moteur_hiddenPxMaxReglette").value)valeurMax=parseInt($("moteur_hiddenPxMaxReglette").value); 2735 else valeurMax=2500; 2736 if($("moteur_hiddenPxMinReglette").value)valeurMin=parseInt($("moteur_hiddenPxMinReglette").value); 2737 else valeurMin=50; 2738 2739 if($("moteur_hiddenPxMax").value)var valeurEnCourMax = parseInt($("moteur_hiddenPxMax").value); 2740 else var valeurEnCourMax = valeurMax; 2741 if($("moteur_hiddenPxMini").value)var valeurEnCourMin = parseInt($("moteur_hiddenPxMini").value); 2742 else var valeurEnCourMin = valeurMin; 2743 2744 var vals=new Array(); 2745 for (var i=valeurMin;i<=valeurMax;i+=valeurMin) vals.push(i); 2746 2747 var regletteOnchange = true; 2748 if(jQuery("#moteur_divDudgetreglette").attr("data-onchange") == 'false'){ 2749 regletteOnchange = false; 2750 } 2751 2752 //le moteur maxi 2753 new Control.Slider(slider.down('#moteur_sliderBudgetMaxi'), slider, { 2754 range: $R(valeurMin, valeurMax), 2755 sliderValue: valeurEnCourMax, 2756 values: vals, 2757 onSlide: function(value) { 2758 $("spn_budgetInfosPrixMax").innerHTML = value; 2759 jQuery("#moteur_hiddenPxMax").val(value); 2760 }, 2761 onChange: function(value) { 2762 if(regletteOnchange){ 2763 var url = document.location.href; 2764 document.location.href = getUrlWithLstParam(url,"pxmax",value.toString()); 2765 moteur_affMessageLoadingMoteur(); 2766 } 2767 } 2768 }); 2769 //le moteur mini 2770 2771 new Control.Slider(slider.down('#moteur_sliderBudgetMini'), slider, { 2772 range: $R(valeurMin, valeurMax), 2773 sliderValue: valeurEnCourMin, 2774 values: vals, 2775 onSlide: function(value) { 2776 $("spn_budgetInfosPrixMin").innerHTML = value; 2777 jQuery("#moteur_hiddenPxMini").val(value); 2778 }, 2779 onChange: function(value) { 2780 if(regletteOnchange){ 2781 var url = document.location.href; 2782 document.location.href = getUrlWithLstParam(url,"pxmin",value.toString()); 2783 moteur_affMessageLoadingMoteur(); 2784 } 2785 } 2786 }); 2787 } 2788} 2789 2790function setCookieEnregistreCritere(cgi,value){ 2791 var date = new OBJDate(); 2792 date.ajoutJour(30); 2793 var dateExpire = new Date(date.getAnnee(),date.getMois() - 1, date.getJour()); 2794 var cookie = "critereEnregistre_"+cgi;
2795 setCookie(cookie.toUpperCase(),value.toUpperCase(),dateExpire); 2796} 2797 2798function removeCookieEnregistreCritere(cgi){ 2799 var cookie = "critereEnregistre_"+cgi; 2800 var date = new OBJDate(); 2801 date.enleveJour(30); 2802 var dateExpire = new Date(date.getAnnee(),date.getMois() - 1, date.getJour()); 2803 setCookie(cookie.toUpperCase(),'',dateExpire); 2804} 2805 2806/** 2807 * Enlève les paramètres de la carte google map d'une url 2808 * fiche 322629 2809 * @param {String} url 2810 * @returns {String} 2811 */ 2812function removeParamGoogleMaps(url) { 2813 // on recup la partie avant et après le ? 2814 var urlSeule = url.substring(0, url.indexOf("?")); 2815 var cgi = url.substring(url.indexOf("?") + 1, url.length); 2816 2817 // tab des CGI google map à enlever 2818 var tabCgiGM = ['zoom', 'centrex', 'centrey', 'minlat', 'maxlat', 'minlng', 'maxlng']; 2819 2820 // j'ai un tableau de retour pour ne pas perturber l'ordre du for 2821 var tabCgi = cgi.split('&'); 2822 var tabCgiRetour = []; 2823 2824 for (var i = 0; i < tabCgi.length; i++) { 2825 var infosCgi = tabCgi[i].split('='); 2826 // si la clé du cgi n'est pas trouvé avec le indexOf, on garde le cgi 2827 if (tabCgiGM.indexOf(infosCgi[0]) === -1) { 2828 tabCgiRetour.push(tabCgi[i]); 2829 } 2830 } 2831 return urlSeule + '?' + tabCgiRetour.join('&'); 2832} 2833 2834function supprimeCgisDansUrl(url, tabCgisASupprimer) { 2835 // on recup la partie avant et après le ? 2836 var urlSeule = url.substring(0, url.indexOf("?")); 2837 var cgi = url.substring(url.indexOf("?") + 1, url.length); 2838 2839 // j'ai un tableau de retour pour ne pas perturber l'ordre du for 2840 var tabCgi = cgi.split('&'); 2841 var tabCgiRetour = []; 2842 2843 for (var i = 0; i < tabCgi.length; i++) { 2844 var infosCgi = tabCgi[i].split('='); 2845 // si la clé du cgi n'est pas trouvé avec le indexOf, on garde le cgi 2846 if (tabCgisASupprimer.indexOf(infosCgi[0]) === -1) { 2847 tabCgiRetour.push(tabCgi[i]); 2848 } 2849 } 2850 return urlSeule + '?' + tabCgiRetour.join('&'); 2851} 2852 2853function initMoteur_capacite_adultesEtEnfants(){ 2854 2855 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible').click(function(){ 2856 if(jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .simuleInput.opened').length>0){ 2857 fermerMoteur_capacite_adultesEtEnfants(); 2858 } 2859 else{ 2860 ouvrirMoteur_capacite_adultesEtEnfants(); 2861 } 2862 }); 2863 2864 var nbMinAdultes = jQuery('#inputCapaciteAdultesEtEnfants').attr('data-nbminadultes'); 2865 var nbAdultes = jQuery('#inputCapaciteAdultes').val(); 2866 var nbEnfants = jQuery('#inputCapaciteEnfants').val(); 2867 2868 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee a.btn_modifie').click(function () { 2869 ajouterEnleverMoteur_capacite_adultesEtEnfants(jQuery(this), nbMinAdultes); 2870 }); 2871 2872 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee a.btn_enleve').addClass('disabled'); 2873 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .enfant a.btn_ajoute').addClass('disabled'); 2874 2875 if(nbAdultes > 0){ 2876 jQuery('#inputCapaciteAdultes').val(0); 2877 for (var i = 0; i < nbAdultes; i++) { 2878 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneAdultes a.btn_ajoute').get(0).click(); 2879 } 2880 if(nbAdultes == nbMinAdultes){ 2881 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneAdultes a.btn_enleve').addClass('disabled'); 2882 } 2883 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneAdultes a.btn_ajoute').removeClass('disabled'); 2884 } 2885 else{ 2886 if (nbMinAdultes > 0) { 2887 for (var i = 0; i < nbMinAdultes; i++) { 2888 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneAdultes a.btn_ajoute').get(0).click(); 2889 } 2890 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee a.btn_enleve').addClass('disabled'); 2891 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee a.btn_ajoute').removeClass('disabled'); 2892 } 2893 } 2894 if(nbEnfants > 0){ 2895 jQuery('#inputCapaciteEnfants').val(0); 2896 for (var i = 0; i < nbEnfants; i++) { 2897 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneEnfants a.btn_ajoute').get(0).click(); 2898 } 2899 } 2900
2901 var nbp_total = parseInt(jQuery('#inputCapaciteAdultes').val()) + parseInt(jQuery('#inputCapaciteEnfants').val()); 2902 jQuery('[id="inputCapaciteAdultesEtEnfants"]').val(nbp_total); 2903 2904 // event clic bouton "mettre à jour", visible quand param avecboutonmaj:true 2905 if(jQuery('#boutonMettreAJourCapacite').length>0){ 2906 jQuery('#boutonMettreAJourCapacite').click(function(){ 2907 var nameNbpTotal = jQuery('#inputCapaciteAdultesEtEnfants').attr('name'); 2908 var valueNbpTotal = jQuery('#inputCapaciteAdultesEtEnfants').val(); 2909 var nameNbpAdultes = jQuery('#inputCapaciteAdultes').attr('name'); 2910 var valueNbpAdultes = jQuery('#inputCapaciteAdultes').val(); 2911 var nameNbpEnfants = jQuery('#inputCapaciteEnfants').attr('name'); 2912 var valueNbpEnfants = jQuery('#inputCapaciteEnfants').val(); 2913 if (window.location.href.indexOf('?') == -1) { 2914 window.location.href = (window.location.href+"?"+nameNbpTotal+"="+valueNbpTotal+"&"+nameNbpAdultes+"="+valueNbpAdultes+"&"+nameNbpEnfants+"="+valueNbpEnfants); 2915 } else { 2916 window.location.href = (window.location.href+"&"+nameNbpTotal+"="+valueNbpTotal+"&"+nameNbpAdultes+"="+valueNbpAdultes+"&"+nameNbpEnfants+"="+valueNbpEnfants); 2917 } 2918 }); 2919 } 2920 2921} 2922 2923function ouvrirMoteur_capacite_adultesEtEnfants(){ 2924 2925 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .simuleInput').removeClass("closed").addClass('opened'); 2926 jQuery('#moteurCapaciteAdultesEtEnfants').addClass('opened'); 2927 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee').fadeIn(); 2928 2929 if(window.ouvrirMoteur_capacite_adultesEtEnfants_look){ // fonction à définir dans le look 2930 ouvrirMoteur_capacite_adultesEtEnfants_look(); 2931 } 2932 2933} 2934 2935function fermerMoteur_capacite_adultesEtEnfants(){ 2936 2937 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .simuleInput').removeClass("opened").addClass('closed'); 2938 jQuery('#moteurCapaciteAdultesEtEnfants').removeClass('opened'); 2939 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee').fadeOut(); 2940 2941 if(window.fermerMoteur_capacite_adultesEtEnfants_look){ // fonction à définir dans le look 2942 fermerMoteur_capacite_adultesEtEnfants_look(); 2943 } 2944 2945} 2946 2947function ajouterEnleverMoteur_capacite_adultesEtEnfants(elementClique,nbMinAdultes){ 2948 2949 var typePersonne = elementClique.attr('data-typePersonne'); 2950 var typeBouton = elementClique.attr('data-typeBouton'); 2951 var nbMax = jQuery('#moteurCapaciteAdultesEtEnfants #inputCapaciteAdultesEtEnfants').attr('data-nbmax'); 2952 var spanValeurMasque = jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .'+typePersonne+' p .valeur'); 2953 var spanLblMasque = jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .'+typePersonne+' p .lbl'); 2954 var spanLblVisible = jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .plein .lbl.'+typePersonne); 2955 var inputMasque = jQuery('#moteurCapaciteAdultesEtEnfants #inputCapaciteAdultesEtEnfants'); 2956 var inputMasqueAdultes = jQuery('#moteurCapaciteAdultesEtEnfants #inputCapaciteAdultes'); 2957 var inputMasqueEnfants = jQuery('#moteurCapaciteAdultesEtEnfants #inputCapaciteEnfants'); 2958 var valInputMasque = parseInt(inputMasque.attr('value')); 2959 var valInputMasqueAdultes = parseInt(inputMasqueAdultes.attr('value')); 2960 var valInputMasqueEnfants = parseInt(inputMasqueEnfants.attr('value')); 2961 var valueAvant = parseInt(spanValeurMasque.html()); 2962 var valueApres, nbMin; 2963 2964 if(typePersonne == "enfant"){ 2965 nbMin = 0; 2966 } 2967 else{ // donc "adulte" 2968 nbMin = nbMinAdultes; 2969 } 2970 2971 if(typeBouton == "ajoute"){ 2972 if(valueAvant < nbMax && !(typePersonne == "enfant" && valInputMasqueAdultes == 0)){ 2973 valueApres = valueAvant+1; 2974 valInputMasque++; 2975 if (typePersonne == "enfant") { 2976 valInputMasqueEnfants++; 2977 } else { // donc "adulte" 2978 valInputMasqueAdultes++; 2979 } 2980 } 2981 else{ 2982 return; 2983 } 2984 } 2985 else{ // donc "enleve" 2986 if(valueAvant > nbMin){ 2987 valueApres = valueAvant-1; 2988 valInputMasque--; 2989 if (typePersonne == "enfant") { 2990 valInputMasqueEnfants--; 2991 } else { // donc "adulte" 2992 valInputMasqueAdultes--; 2993 } 2994 } 2995 else{ 2996 return; 2997 } 2998 } 2999 inputMasque.attr('value',valInputMasque); 3000 inputMasqueAdultes.attr('value',valInputMasqueAdultes); 3001 inputMasqueEnfants.attr('value',valInputMasqueEnfants); 3002 spanValeurMasque.html(valueApres); 3003 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .simuleInput.plein .val.'+typePersonne).html(valueApres); 3004 3005 if(valInputMasqueAdultes == 0){ 3006 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee a.btn_modifie').addClass('disabled'); 3007 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .adulte a.btn_ajoute').removeClass('disabled'); 3008 } 3009 else if(valueApres == nbMin || valueApres == nbMax){ 3010 elementClique.addClass('disabled'); 3011 } 3012 else{ 3013 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .'+typePersonne+' a.btn_modifie').removeClass('disabled'); 3014 } 3015 3016 if(valueApres == 1){ 3017 if(valueAvant == 2){ 3018 spanLblMasque.html(spanLblMasque.attr('data-singulier')); 3019 spanLblVisible.html(spanLblVisible.attr('data-singulier')); 3020 } 3021 else { 3022 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .vide').hide(); 3023 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .plein').show(); 3024 if (typePersonne == "adulte") { 3025 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .enfant a.btn_ajoute').removeClass('disabled'); 3026 } 3027 } 3028 } 3029 else if(valueApres == 0){ 3030 if(valInputMasque == 0){ 3031 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .plein').hide(); 3032 jQuery('#moteurCapaciteAdultesEtEnfants .partieVisible .vide').show(); 3033 } 3034 if (typePersonne == "adulte") { 3035 // on enlève tous les enfants : 3036 for (var i = valInputMasqueEnfants; i > 0; i--) { 3037 jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .ligneEnfants a.btn_enleve').get(0).click(); 3038 } 3039 } 3040 } 3041 else if(valueApres == nbMax){ 3042 var i = nbMax-1 3043 if(valueAvant == i){ 3044 spanValeurMasque.html(valueApres+' '+jQuery('#moteurCapaciteAdultesEtEnfants .partieMasquee .'+typePersonne+' p').attr('data-etplus')); 3045 } 3046 } 3047 else{ // de 2 à nbMax-1 3048 if(valueAvant == 1){ 3049 spanLblMasque.html(spanLblMasque.attr('data-pluriel')); 3050 spanLblVisible.html(spanLblVisible.attr('data-pluriel')); 3051 } 3052 } 3053 3054} 3055 3056function initMoteurMultiApi(){ 3057 (function($){ 3058 // gère le clic en dehors du moteur, similaire à ITEA_clicOutBody 3059 var zone = "init";//init: on initialise OU on est dans la div 3060 $(".moteurMultiCritereParApi").each(function () { 3061 $(this).bind("click", function () { 3062 zone = "init"; 3063 }); 3064 $(this).on("touchstart", function () { // il faut aussi gérer sur appareils tactiles 3065 zone = "init"; 3066 }); 3067 }); 3068 $("body").bind("click", function () { 3069 if (zone !== "init") { 3070 if ($('#moteur_divMultiParApiAutoComplete').is(":visible")) { 3071 $('#moteur_divMultiParApiAutoComplete').hide(); 3072 zone = "init"; 3073 } 3074 } 3075 else { 3076 zone = "out"; 3077 } 3078 }); 3079 $("body").on("touchstart", function () { // il faut aussi gérer sur appareils tactiles 3080 if (zone !== "init") { 3081 if ($('#moteur_divMultiParApiAutoComplete').is(":visible")) { 3082 $('#moteur_divMultiParApiAutoComplete').hide(); 3083 $('#moteur_inptRechercheMutliParApi').blur(); 3084 zone = "init"; 3085 } 3086 } 3087 else { 3088 zone = "out"; 3089 } 3090 }); 3091 3092 $("#moteur_inptRechercheMutliParApi").on("input",function(){ 3093 clearTimeout($(this).data('timer')); 3094 3095 var avecLien=true;
3096 if($('#moteur_divRechercheMultiParApiSansLien')){ 3097 avecLien = false; 3098 } 3099 3100 // on laisse un timer 200 ms pour taper, ensuite on lance l'appel ajax 3101 // si la valeur de l'input est changé alors qu'une req ajax est en cours, on l'annule 3102 $(this).data('timer', setTimeout(function(){ 3103 console.log('initMoteurMultiApi setAutocompleteForRechercheMulti'); 3104 setAutocompleteForRechercheMultiByApi("moteur_inptRechercheMutliParApi", "moteur_divMultiParApiAutoComplete", avecLien); 3105 },200)); 3106 3107 }); 3108 })(jQuery); 3109} 3110 3111function setAutocompleteForRechercheMultiByApi(idChampSaisie, divChampChoix, avecLien) { 3112 (function ($) { 3113 var url = "/lib_2/ajax/infosCGI.php"; 3114 var valInput = $('#' + idChampSaisie).val(); 3115 var typeReponse = null; 3116 if (!avecLien) { 3117 typeReponse = 'JS'; 3118 } 3119 var moteur = $('#' + divChampChoix); 3120 3121 $.when( 3122 $.ajax(url, {data: {valInput: valInput, typeInfo: 'autocompleteByApi', typeReponse: typeReponse}, dataType : 'html'}), 3123 $.ajax(url, {data: {valInput: valInput, typeInfo: 'autocompleteNomHebs', typeReponse: typeReponse}, dataType : 'html'}) 3124 ).then( 3125 function (dataApi, dataNomHeb) { 3126 var rep = dataApi[0] + dataNomHeb[0]; 3127 3128 moteur.empty(); 3129 moteur.append('<div class="conteneurAutoCompleteur">' + rep + '</div>'); 3130 3131 $('#' + divChampChoix + ' ul>
3131li:not(.heb)').each(function () { 3132 $(this).attr('onClick', 'onClickLiMoteurAutoCompleteApiHere(this)'); 3133 }); 3134 if (rep.length > 0) { 3135 moteur.show(); 3136 } 3137 else { 3138 moteur.hide(); 3139 return; 3140 } 3141 3142 var li = $('#' + divChampChoix + ' ul>li'); 3143 var liSelected = $('#' + divChampChoix + ' ul').find('.selected'); 3144 $(window).keydown(function (e) { 3145 if (e.which === 40) { 3146 li.removeClass('selected'); 3147 nextNum = parseInt(liSelected.attr('data-numLi')) + 1; 3148 next = $('#' + divChampChoix + ' ul').find("[data-numLi='" + nextNum + "']"); 3149 if (next.length > 0) { 3150 liSelected = next.addClass('selected'); 3151 } else { 3152 liSelected = li.eq(0).addClass('selected'); 3153 } 3154 if (liSelected.offset().top + liSelected.height() > moteur.offset().top + moteur.height() || liSelected.offset().top < moteur.offset().top) { 3155 moteur.scrollTo(liSelected); 3156 } 3157 } else if (e.which === 38) { 3158 li.removeClass('selected'); 3159 nextNum = parseInt(liSelected.attr('data-numLi')) - 1; 3160 next = $('#' + divChampChoix + ' ul').find("[data-numLi='" + nextNum + "']"); 3161 if (next.length > 0) { 3162 liSelected = next.addClass('selected'); 3163 } else { 3164 liSelected = li.last().addClass('selected'); 3165 } 3166 if (liSelected.offset().top + liSelected.height() > moteur.offset().top + moteur.height() || liSelected.offset().top < moteur.offset().top) { 3167 moteur.scrollTo(liSelected); 3168 } 3169 } else if (e.which === 13) { 3170 if ($('#' + divChampChoix).is(':visible')) { 3171 e.preventDefault(); 3172 $('#' + divChampChoix + ' ul').find('.selected').click(); 3173 return false; 3174 } 3175 } 3176 else if (e.which === 9) { 3177 if ($('#' + divChampChoix).is(':visible')) { 3178 $('#' + divChampChoix + ' ul').find('.selected').click(); 3179 } 3180 } 3181 3182 }); 3183 3184 li.on('mouseenter', function (e) { 3185 e.preventDefault(); 3186 li.removeClass('selected'); 3187 $(this).addClass('selected'); 3188 }); 3189 }, function (err) { 3190 console.log(err); 3191 } 3192 ); 3193 })(jQuery); 3194} 3195 3196function onClickLiMoteurAutoCompleteApiHere(element){ 3197 (function($){ 3198 var idHere = $(element).attr('data-idhere'); 3199 var rayon = $(element).attr('data-rayon'); 3200 var pays = $(element).attr('data-pays'); 3201 var region = $(element).attr('data-region'); 3202 var dep = $(element).attr('data-dep'); 3203 var commune = $(element).attr('data-commune'); 3204 var lib = $(element).attr('data-valreel'); 3205 $('#idLocationHere').val(idHere); 3206 $('#rayon').val(rayon); 3207 $('#moteur_inptRechercheMutliParApi').val(lib); 3208 resetAndFillChampsLieu(pays, region, dep, commune); 3209 3210 $('#moteur_divMultiParApiAutoComplete').hide(); 3211 $('#moteur_divMultiParApiAutoComplete').empty(); 3212 3213 if($('#inpt_moteurApiHereAvecLien').val()=='true'){ 3214 $('#form_moteurLieuApiHere').submit(); 3215 } 3216 3217 })(jQuery); 3218} 3219 3220function resetAndFillChampsLieu(pays, region, dep, ville){ 3221 (function($){ 3222 $('#pays').val('');
3223 $('#region').val(''); 3224 $('#dep').val(''); 3225 $('#commune').val(''); 3226 if(pays !== undefined){ 3227 $('#pays').val(pays); 3228 } 3229 if(region !== undefined){ 3230 $('#region').val(region); 3231 } 3232 if(dep !== undefined){ 3233 $('#dep').val(dep); 3234 } 3235 if(ville !== undefined){ 3236 $('#commune').val(ville); 3237 } 3238 })(jQuery); 3239}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.