1$(document).ready(function () { 2 loadImgSliderMobilePos2(); 3 init_affichage_ajout_panier(); 4 initChoixTarifsNDate(); 5 if (yaDateAGererBureauITEA()) { 6 transformePrixAPartirDeByAjax(); 7 } else { 8 $('a#bureauPrintSelectionPDF').removeAttr('disabled'); 9 $('a#bureauPrintSelectionPDF i.loader').remove(); 10 } 11 if (yaInseeAGererBureauITEA()) { 12 transformeDistanceByAjax(); 13 } 14 if(typeof foncQdFini_initListe === 'function'){ 15 foncQdFini_initListe(); 16 } 17 if(typeof leaflet_initMapListe === 'function'){ 18 if($(window).width() <= 1024) { 19 return; // la carte se charge uniquement si on la demande (pour alléger les chargements) : cf. bouton '.accesCarteResponsive' 20 } 21 leaflet_loadLeafletAssets('getParamsGoogleMap', 'classique'); 22 } 23 refreshUrlLienFiche(); 24}); 25 26function refreshUrlLienFiche() { 27 (function ($) { 28 var paramValues = {}; 29 var tabParamAPasser = ['deb', 'fin', 'nbj', 'nbp_min', 'nbp_adultes', 'nbp_enfants', 'nbp_bebes', 'nb_chiens', 'nb_chats', 'OPE', 'ORI']; 30 var urlParams = new URLSearchParams(window.location.search); 31 if (urlParams.has('CHECKDISPOPARTIEL')) { 32 tabParamAPasser.splice(0, 2); 33 } 34 tabParamAPasser.forEach(function (param) { 35 var values = urlParams.getAll(param); 36 var filteredValues = values.filter(function (value) { 37 return value !== null && value !== undefined && value !== ''; 38 }); 39 if (filteredValues.length === 1) { 40 paramValues[param] = filteredValues[0]; 41 } else if (filteredValues.length > 1) { 42 paramValues[param] = filteredValues.pop(); 43 } 44 }); 45 $('a.urlLienFiche').each(function (index, lien) { 46 var base = $(lien).attr('href').split('?')[0];
47 $(lien).attr('href', base + '?' + $.param(paramValues)); 48 }); 49 })($); 50} 51 52function getUrlWithLstParam(urlBase,cgi, valeur){ 53 //console.trace("getUrlWithLstParam"); 54 cgi=cgi.toLowerCase(); 55 valeur=valeur.toLowerCase(); 56 urlBase = String (urlBase); 57 var reg_exp = RegExp("page=[0-9]+", "gi"); 58 urlBase = urlBase.replace (reg_exp, ""); 59 60 var reg_exp = RegExp("&&", "gi"); 61 urlBase = urlBase.replace (reg_exp, "&"); 62 63 if($('#divgmap3').length > 0 && $('#divgmap3').attr('data-cartedeplace') === '1'){ 64 urlBase = getUrlAvecLstParamsGoogleMaps(urlBase); 65 } 66 67 //on verifie que le cgi n'est pas déjà présent 68 if(urlBase.match(cgi+"=")){ 69 //on fait un traitement différent si le paramètre est en fin de chaine ou pas 70 if(urlBase.match(cgi+"=.*?&")){ 71 var reg_exp = RegExp(cgi+"=.*?&", "gi"); 72 urlBase = urlBase.replace (reg_exp, cgi+"="+valeur+"&"); 73 } 74 // fiche 220922 : 75 // je modifie le traitement :on faisait un else ici, sauf que 76 // si on a deux fois le cgi (un au début des params et un à la fin de l'url), 77 // on ne traite pas toutes les occurences, c'est le cas lorsqu'on veut définir un distcomm par défaut dans un moteur. 78 // 222985 : il se peut qu'il n'y ai aucue valeur, on met * et pas + dans la regex 79 if(urlBase.match(cgi+"=[^&]*")){ 80 var reg_exp = RegExp(cgi+"=[^&]*", "gi"); 81 urlBase = urlBase.replace (reg_exp,cgi+"="+valeur); 82 } 83 }else{ 84 //s'il y a déjà une chaine de caractère on ajoute à la fin 85 if(!urlBase.match("\\?"))urlBase+="?"; 86 else urlBase+="&"; 87 urlBase+=cgi+"="+valeur; 88 } 89 90 return urlBase; 91} 92 93function refreshListeWithCgi(url){ 94 (function($){ 95 if($('#divgmap3').length > 0 && $('#divgmap3').attr('data-cartedeplace') === '1'){ 96 url = getUrlAvecLstParamsGoogleMaps(url); 97 } 98 var params = url.substr(url.indexOf('?')+1); 99 var baseUrl = url.substr(0,url.indexOf('?')); 100 var tabParams = params.split('&'); 101 var tabKey= []; 102 var html = "<form id='formRechercheListe' action='"+baseUrl+"' method='post' style='display:hidden'>"; 103 for(var i = 0; i<tabParams.length;i++){ 104 var couple = tabParams[i].split('='); 105 var key = couple[0]; 106 var value = couple[1]; 107 108 if(tabKey.indexOf(key) !== -1){ 109 continue; 110 } 111 tabKey.push(key); 112 113 html += '<input type="hidden" name="'+key+'" value="'+value+'">'; 114 } 115 html += '</form>'; 116 $('body').append(html); 117 118 119 $('#formRechercheListe').submit(); 120 moteur_affMessageLoadingMoteur(); 121 122 })($); 123} 124 125function getUrlAvecLstParamsGoogleMaps(urlBase) { 126 var valCgiGM = {}; 127 var tabCgiGM = ['zoom', 'centrex', 'centrey', 'minlat', 'maxlat', 'minlng', 'maxlng']; 128 if (_leafletMap !== undefined) { 129 var bounds = _leafletMap.getBounds(); 130 valCgiGM.zoom = _leafletMap.getZoom(); 131 valCgiGM.minlat = bounds.getSouth(); 132 valCgiGM.maxlat = bounds.getNorth(); 133 valCgiGM.minlng = bounds.getWest(); 134 valCgiGM.maxlng = bounds.getEast(); 135 } else if (window.gmap !== undefined) { 136 var gmap = $('#divgmap3').gmap('get', 'map'); 137 valCgiGM.zoom = gmap.getZoom();
138 valCgiGM.minlat = gmap.getBounds().getSouthWest().lat(); 139 valCgiGM.maxlat = gmap.getBounds().getNorthEast().lat(); 140 valCgiGM.minlng = gmap.getBounds().getSouthWest().lng(); 141 valCgiGM.maxlng = gmap.getBounds().getNorthEast().lng(); 142 } 143 valCgiGM.centrex = (parseFloat(valCgiGM.maxlat) + parseFloat(valCgiGM.minlat)) / 2; 144 valCgiGM.centrey = (parseFloat(valCgiGM.maxlng) + parseFloat(valCgiGM.minlng)) / 2; 145 $(tabCgiGM).each(function (cgi) { 146 if (valCgiGM[cgi] == undefined) { 147 return; 148 } 149 if(urlBase.match(cgi+"=.*?&")){ 150 var reg_exp = RegExp(cgi+"=.*?&", "gi"); 151 urlBase = urlBase.replace (reg_exp, cgi+"="+valCgiGM[cgi]+"&"); 152 }else{ 153 if (!urlBase.match("\\?")) { 154 urlBase += '?'; 155 } else { 156 urlBase += '&'; 157 } 158 urlBase += cgi + '=' + valCgiGM[cgi]; 159 } 160 }); 161 return urlBase; 162} 163 164function format_nb(valeur, decimal, separateur) { 165 var deci = Math.round(Math.pow(10, decimal) * (Math.abs(valeur) - Math.floor(Math.abs(valeur)))); 166 var val = Math.floor(Math.abs(valeur)); 167 if ((decimal == 0) || (deci == Math.pow(10, decimal))) { 168 val = Math.floor(Math.abs(valeur)); 169 deci = 0; 170 } 171 var val_format = val + ""; 172 var nb = val_format.length; 173 for (var i = 1; i < 4; i++) { 174 if (val >= Math.pow(10, (3 * i))) { 175 val_format = val_format.substring(0, nb - (3 * i)) + separateur + val_format.substring(nb - (3 * i)); 176 } 177 } 178 if (decimal > 0) { 179 var decim = ""; 180 for (var j = 0; j < (decimal - deci.toString().length); j++) { 181 decim += "0"; 182 } 183 deci = decim + deci.toString(); 184 val_format = val_format + "." + deci; 185 } 186 if (parseFloat(valeur) < 0) { 187 val_format = "-" + val_format; 188 } 189 return val_format; 190} 191 192function gaTrack(url) { 193 if (window.pageTracker) 194 window.pageTracker.push(['_trackPageview', url]); 195 if (window.pageTrackerItea) 196 window.pageTrackerItea.push(['_trackPageview', url]); 197} 198 199function getCoord(e, c) { 200 // pour touchstart et touchend 201 return /touch/.test(e.type) ? (e.originalEvent || e).changedTouches[0]['page' + c] : e['page' + c]; 202} 203 204function init_affichage_ajout_panier(){ 205 $('.li_elemListe.li_elemListe_dansPanier .a_ajoutPanier').addClass('a_dansPanier'); 206} 207 208function refreshListeAvecQueProp(queProp,accs){ 209 $(".iteaListeArboDiv").each(function(elt){ 210 refreshListe(null,{ 211 "cgis":"QUEPROP="+queProp+"&ACC="+accs, 212 "saveCrits":false, 213 "arboDiv":elt.getAttribute("arbodiv"), 214 "idDiv":elt.getAttribute("id") 215 }); 216 }); 217} 218 219function refreshListe(ok,params){ 220 var typeInfo,idDiv,idPageArboDiv=""; 221 if (params && params.idDiv)idDiv=params.idDiv 222 if (!idDiv)idDiv="divLst_generale"; 223 if (params && params.arboDiv)idPageArboDiv=params.arboDiv; 224 if (params && params.typeInfo)typeInfo=params.typeInfo; 225 else typeInfo="visu_structAllId"; 226 227 228 var url="/lib_2/ajax/contenuFenetre.php"; 229 var sending="element=objProd&"; 230 sending+="typeInfo="+typeInfo+"--"+idPageArboDiv+"&"; 231 sending+=getInfoSession("PHPSESSID"); 232 sending+="&CGISCUR="+escape(getQueryString()); 233 234 if (params && params.cgis)sending+="&CGIS="+escape(params.cgis); 235 if (params && params.saveCrits)sending+="&SAVECRIT=O"; 236 if (params && params.avecGestionPage==false)sending+="&PAGINATION=N"; 237 else sending+="&PAGINATION=O"; 238 239 affUrlInDiv(idDiv,url,sending,"aucun",function(retour){ 240 checkPageSiAfficheVraiPrixDansListe(); 241 if(window.gmap)window.gmap.reload(); 242 checkPageSiDivForChargePrixInLst(); 243 effAttenteMoteur(params.classDivMoteur); 244 gereAffichageTriParPrix(); 245 if(window.onRefreshList)onRefreshList(); 246 }); 247} 248 249function checkPageSiAfficheVraiPrixDansListe(){ 250 $(".itea_divLstPrix1StructAjax").each(function(elt){ 251 //console.log("ckp >"+elt.getAttribute("ident")) 252 var deb=elt.getAttribute("deb");if (!deb)return; 253 var url="/lib_2/ajax/infosDist.php"; 254 var sending="info=REQ4&ident="+elt.getAttribute("ident")+"&deb="+deb+"&nbj="+elt.getAttribute("nbj")+"&dpt="+elt.getAttribute("dpt"); 255 appelAjaxToFunc(url,sending,function(reponse){ 256 if (reponse){ 257 var objParentCourant = elt.parentNode; 258 var firstChild=elt.children; 259 //on verifie si la div pour le libelle avant le prix est déja présente 260 //si elle est déjà présente, pas la peine de le re-ajouter. 261 262 if(firstChild[0]){ 263 if(firstChild[0] && !firstChild[0].hasClassName("span_lst_libelle_avant_prix")){ 264 htmlSpanAvantPrix="<span class='span_lst_libelle_avant_prix'></span>"; 265 }else { 266 if(firstChild[0] && firstChild[0].hasClassName("span_lst_libelle_avant_prix")) 267 htmlSpanAvantPrix="<span class='span_lst_libelle_avant_prix_vous_aimerez_aussi span_lst_libelle_avant_prix'></span>"; 268 else htmlSpanAvantPrix=""; 269 } 270 } 271 eval("var infosPrix="+reponse); 272 if (infosPrix && infosPrix.prix_promo>0 && parseInt(infosPrix.prix_promo)!=parseInt(infosPrix.prix_normal)){ 273 if(elt.hasClassName("prixArrondi")) html="<span class='prixListeAvantPromo'>
273"+parseInt(Math.round(infosPrix.prix_normal))+" €</span>"; 274 else html="<span class='prixListeAvantPromo'>"+infosPrix.prix_normal+" €</span>"; 275 if(elt.hasClassName("prixArrondi")) html+="<span class='prixListePromo'>" +parseInt(Math.round(infosPrix.prix_promo))+" €</span>"; 276 else html+="<span class='prixListePromo'>" +infosPrix.prix_promo+" €</span>"; 277 }else { 278 if(elt.hasClassName("prixArrondi")) html="<strong><span class='prixListeNormal'>"+parseInt(Math.round(infosPrix.prix_normal))+" €</span></strong>"; 279 else html="<span class='prixListeNormal'>"+infosPrix.prix_normal+" €</span>"; 280 } 281 elt.innerHTML=html; 282 283 if(objParentCourant){ 284 firstChild=objParentCourant.children; 285 objParentCourant.innerHTML=htmlSpanAvantPrix+objParentCourant.innerHTML; 286 if(firstChild[0] && firstChild[0].hasClassName("span_lst_libelle_avant_prix_vous_aimerez_aussi")){ 287 chargeMotCleDsDiv(firstChild[0],"LBL_TARIF_SEJOUR_AVANT_VOUS_AIMEREZ"); 288 } 289 else if(firstChild[0] && firstChild[0].hasClassName("span_lst_libelle_avant_prix")){ 290 chargeMotCleDsDiv(firstChild[0],"LBL_TARIF_SEJOUR_AVANT"); 291 } 292 } 293 } 294 }); 295 }); 296} 297 298function checkPageSiDivForChargePrixInLst(){ 299 $(".itea_divForLoadNewPrixInLstForDate").each(function(elt){ 300 if(!elt.getAttribute("deb"))return; 301 var url="lib_2/ajax/infosDist.php"; 302 var sending="info=SETPXINOBJLST&deb="+elt.getAttribute("deb")+"&nbj="+elt.getAttribute("nbj"); 303 appelAjaxToFunc(url,sending,function(reponse){}); 304 }); 305 306 307 $(".itea_divForDispoBaseNatForDate").each(function(elt){ 308 /*** On commence par effacer tous les boutons reserver en ligne des dispogites de la page courante (page 1) ***/ 309 $(".div_bt_reserverDispogiteFNGF").each(function(elt){ 310 elt.style.display="none"; 311 }); 312 313 var url="lib_2/ajax/infosDist.php"; 314 if(!elt.getAttribute("deb"))return; 315 var sending="info=SETDISPOINOBJLSTDBNAT&instance_exe="+elt.getAttribute("instance_exe")+"&instance="+elt.getAttribute("instance")+"&dpt="+elt.getAttribute("dpt")+"&type_gite="+elt.getAttribute("type_gite")+"&id_famille="+elt.getAttribute("id_famille")+"&deb="+elt.getAttribute("deb")+"&nbj="+elt.getAttribute("nbj")+"&ope="+elt.getAttribute("ope"); 316 appelAjaxToFunc(url,sending,function(reponse){ 317 if (reponse){ 318 checkPageAfficheBtResaSiDispogiteResa(); 319 checkPageSiDivForNbResult(); 320 } 321 }); 322 }); 323 324 var tabExec=new Array(); 325 $(".itea_divForPrixBaseNatForDate").each(function(elt){ 326 var url="lib_2/ajax/infosDist.php"; 327 if(!elt.getAttribute("deb"))return; 328 if(tabExec[elt.getAttribute("instance_exe")+"_"+elt.getAttribute("dpt")+"_"+elt.getAttribute("type_gite")+"_"+elt.getAttribute("id_famille")+"_"+elt.getAttribute("deb")+"_"+elt.getAttribute("nbj")]!=true){ 329 var sending="info=SETPXINOBJLSTDBNAT&instance_exe="+elt.getAttribute("instance_exe")+"&instance="+elt.getAttribute("instance")+"&dpt="+elt.getAttribute("dpt")+"&type_gite="+elt.getAttribute("type_gite")+"&id_famille="+elt.getAttribute("id_famille")+"&deb="+elt.getAttribute("deb")+"&nbj="+elt.getAttribute("nbj")+"&ope="+elt.getAttribute("ope")+"&pomxj="+elt.getAttribute("pomxj"); 330 331 tabExec[elt.getAttribute("instance_exe")+"_"+elt.getAttribute("dpt")+"_"+elt.getAttribute("type_gite")+"_"+elt.getAttribute("id_famille")+"_"+elt.getAttribute("deb")+"_"+elt.getAttribute("nbj")]=true; 332 appelAjaxToFunc(url,sending,function(reponse){ 333 gereAffichageTriParPrix(reponse); 334 }); 335 } 336 }); 337} 338 339function effAttenteMoteur(classMoteur){ 340 $('.'+classMoteur).each(function(elt){ 341 effaceMsgAttenteParDessus("_moteur"); 342 }); 343} 344 345function gereAffichageTriParPrix(result){ 346 if(result=="toutestok" || $('itea_divForPrixOkInObjLst')){ 347 if($('div_liste_critereTriHautAvecImgPrix')){ 348 var obj=$('div_liste_critereTriHautAvecImgPrix'); 349 if(obj.childNodes[0].childNodes[0]){ 350 obj.childNodes[0].childNodes[0].style.visibility="visible"; 351 } 352 } 353 } 354} 355 356function chargeMotCleDsDiv(idDiv,motCle){ 357 if (!window.jsonMotcle)window.jsonMotcle=[]; 358 for (var i=0;i<window.jsonMotcle.length;i++){ 359 if (window.jsonMotcle[i].motcle==motCle){ 360 if ($(idDiv))$(idDiv).innerHTML=window.jsonMotcle[i].content; 361 return; 362 } 363 } 364 var adr="/lib_2/ajax/contenuFenetre.php"; 365 var sending=getInfoSession()+"&element=motCle&typeInfo=motcle&val="+motCle; 366 appelAjaxToFunc(adr,sending,function(reponse){ 367 window.jsonMotcle.push({'motcle':motCle,'content':reponse}); 368 window.jsonMotcle.uniq(); 369 if ($(idDiv))$(idDiv).innerHTML=reponse; 370 }); 371} 372
373function checkPageAfficheBtResaSiDispogiteResa(){ 374 375 /*** Puis on reaffiche ceux nécessaires en fonction des modes de vente trouvés ***/ 376 var url="lib_2/ajax/infosDist.php"; 377 var sending="info=GETIDENTDISPOGITERESERVABLE"; 378 appelAjaxToFunc(url,sending,function(reponse){ 379 if (reponse){ 380 var tabIdentBtAAfficher=new String(reponse).evalJSON(); 381 $A(tabIdentBtAAfficher).each(function(ident){ 382 var bt=$("btResaDispoGite_"+ident); 383 if (bt)bt.style.display="block"; 384 }); 385 } 386 }); 387} 388 389function checkPageSiDivForNbResult(){ 390 if (!getCookie("__sess_") && !getCookie("__sessV5_") && window.foncQdPadCookie){window.foncQdPadCookie();return false;} 391 $(".itea_div_liste_infoNbResultat_ajx").each(function(elt){ 392 var adr="/lib_2/ajax/contenuFenetre.php"; 393 var sending="element=objProd&typeInfo=getNbResult"; 394 sending+="&CGISCUR="+escape(getQueryString()); 395 if(estSurPanier())sending+="&mode=panier"; 396 appelAjaxToFunc(adr,sending,function(reponse){ 397 if (reponse)$(elt).update(reponse); 398 if(window.refreshNbPageInNav)window.refreshNbPageInNav(); 399 }); 400 }); 401 $(".itea_div_liste_infoDetailsNbResultatGestionProp_ajx").each(function(elt){ 402 var adr="/lib_2/ajax/contenuFenetre.php"; 403 var sending="element=objProd&typeInfo=getNbResultDetailsProp"; 404 sending+="&CGISCUR="+escape(getQueryString()); 405 appelAjaxToFunc(adr,sending,function(reponse){ 406 if (reponse)$(elt).update(reponse); 407 }); 408 409 }); 410 411 $('.itea_div_liste_InfoCritCourant').each(function(elt){ 412 var adr="/lib_2/ajax/contenuFenetre.php"; 413 var sending="element=objProd&typeInfo=getInfoCritCourant"; 414 sending+="&CGISCUR="+escape(getQueryString()); 415 if(estSurPanier())sending+="&mode=panier"; 416 elt.innerHTML=""; 417 affMsgAttenteInDiv(elt.id); 418 appelAjaxToFunc(adr,sending,function(reponse){ 419 if (reponse)$(elt).update(reponse); 420 }); 421 }); 422} 423 424function estSurPanier() { 425 return $("#divParametre_TypePage").html(); 426} 427 428function affAttenteListe(idDivGene){ 429 if (!idDivGene) { 430 idDivGene="div_contentListe"; 431 } 432 affMsgAttenteParDessusInDiv(idDivGene); 433} 434 435function refreshNumeroPage(prefix_id_navigPage,numPage,classe,foncQdfini){ 436 var tabSuffPossible=new Array("","_haut","_bas"); 437 var tabTypeNav=new Array("int","num"); 438 for (var i=0;i<tabSuffPossible.length;i++){ 439 for(var j=0;j<2;j++){ 440 var obj=$(prefix_id_navigPage+tabSuffPossible[i]+"_"+tabTypeNav[j]+"_"+numPage); 441 if (obj){ 442 setClassForObj_uniqClass(obj,classe+tabSuffPossible[i]); 443 } 444 } 445 } 446 if(foncQdfini)foncQdfini(numPage); 447} 448 449function setClassForObj_uniqClass(obj, classe) { 450 if (obj) { 451 var classAvant = obj.getAttribute("class"); 452 var objs = $("." + classe); 453 /*** On transforme les autres objet ayant la meme classe ***/ 454 for (var i = 0; i < objs.length; i++) 455 setClassForObj(objs[i], classAvant); 456 setClassForObj(obj, classe); 457 } 458} 459 460function showResaInPopIn(addr, sending,w,h,titreDiv){ 461 if(!w || !h){ 462 w=parseInt(window.innerWidth)*0.9; 463 h=parseInt(window.innerHeight)*0.9; 464 if (!w)w=800; 465 if (!h)h=600; 466 } 467 468 var html_init="<iframe src='"+addr+"?"+sending+"' name='frame_resa' frameborder='0' id='frame_resa' width='"+w+"' height='100%'>\n\ 469 <img src=/config_v3/imgs_defaut/loading/roue16x16.gif /><br />\n\ 470 </iframe>"; 471 472 afficheDivAvecTransparenceAbsolue(html_init,w,h,'',titreDiv); 473} 474 475function afficheDivAvecTransparenceAbsolue(html,w,h,suffixe,titreDiv){ 476 if (!suffixe || suffixe==undefined)suffixe=""; 477 var hW=getHauteurWindow(); 478 var lW=getLargeurWindow(); 479 if(hW<40) hW=40; 480 if(lW<40) lW=40; 481 if (h>hW)h=hW-70; 482 if (w>lW)w=lW-40; 483 484 var divGene=document.getElementById("divGraph_affFenetre"+suffixe); 485 if (!divGene)divGene=getNewDivToBody("divGraph_affFenetre"+suffixe,"divGraph"+suffixe); 486 divGene.setAttribute("style",""); 487 //divGene.style=null; 488 divGene.style.position="fixed"; 489 $("bodyPage").scrollTo(); 490 divGene.style.zIndex="900000"; 491 divGene.style.left="0px"; 492 divGene.style.top="0px"; 493 divGene.style.width="100%"; 494 divGene.style.height="100%"; 495 divGene.style.opacity=0.2; 496 divGene.style.backgroundColor="#000000"; 497 divGene.style.display="block"; 498 499 /*** IE 7 ***/ 500 divGene.style.filter="alpha(opacity=70)"; 501 502 var divMsg=document.getElementById("divGraph_fenetre"+suffixe); 503 if (!divMsg)divMsg=getNewDivToBody("divGraph_fenetre"+suffixe,"divGraph"+suffixe); 504 505 divMsg.setAttribute("style",""); 506 507 divMsg.style.position="fixed"; 508 509 divMsg.style.zIndex="1000000"; 510 divMsg.style.backgroundColor="#FFFFFF"; 511 divMsg.style.width=w+"px"; 512 divMsg.style.height=h+"px"; 513 divMsg.style.opacity=1; 514 divMsg.style.marginLeft="-"+(w/2)+"px"; 515 //divMsg.style.marginTop="-"+(h/2)+"px"; 516 divMsg.style.left="50%"; 517 divMsg.style.top="20px"; 518 divMsg.style.display="block"; 519 520 if(titreDiv)html="<div id='div_btnCloseFrmResa' class='div_headPopin'><p><span class='sp_titrePopin'>"+titreDiv+"</span><a href='#ferme' onClick='effaceDivAvecTransparence();' class='a_fermePopin' title='fermer'><img src='/config_v3/imgs_defaut/v5/fermer-popin.gif' alt='fermer'/></a></p></div>"+html; 521 522 divMsg.innerHTML=unescape(html); 523 524 if (window.Effect)new Effect.Opacity($(divGene), {from: 0.2, to: 0.7}); 525 526 //gestion de la préssion d'une touche d'échapement (ESCAP) 527 Event.observe(document, 'keypress', function(event){ 528 if(event.keyCode == Event.KEY_ESC){ 529 effaceDivAvecTransparence(suffixe); 530 Event.stopObserving(document,'keypress'); 531 } 532 }); 533} 534 535function transformeDistanceByAjax(){ 536 console.log('transformeDistanceByAjax'); 537 var insee = getParamFromURL('insee'); 538 if(!insee){ 539 insee = getParamFromURL('INSEE') 540 } 541 $.ajax('/lib_2/ajax/infosDist.php?INFO=INFOSDISTANCE&INSEE=' + insee).done(function (data, textStatus, jqXHR) { 542 //console.log('transformeDistanceByAjax data', data); 543 if (data['distance'] === undefined) { 544 return; 545 } 546 var nomCommune; 547 if (data['nomCommune'] === '') { 548 nomCommune = getParamFromURL('lieucgi'); 549 } else { 550 nomCommune = data['nomCommune']; 551 } 552 $.each($('span.sp_distanceFromCommune'), function () { 553 var ident = $(this).data('ident'); 554 var avecTemps = $(this).data('avectemps'); 555 var memeCommune = $(this).data('memecommune'); 556 if (data['distance'][ident] === undefined) { 557 return; 558 } 559 console.log('transformeDistanceByAjax ident', data['distance'][ident], ident); 560 var html = '<span class="sp_lblDedistComm"'; 561 if (data['distance'][ident]['distance_route'] !== undefined) { 562 var distanceRouteKm = format_nb(data['distance'][ident]['distance_route'] / 1000, 2); 563 var tempsRouteMin = format_nb(data['distance'][ident]['temps_route'] / 60); 564 html += 'title="en voiture par la route, données OpenStreetMap">'; 565 html += '<i class="fa fa-road" aria-hidden="true"></i> à ' + distanceRouteKm + 'Km'; 566 if(avecTemps){ 567 html += ' (' + tempsRouteMin + 'min)'; 568 } 569 html += ' du centre de ' + nomCommune; 570 } else if (data['distance'][ident]['distance_oiseau'] !== undefined){
571 var distanceVolKm = format_nb(data['distance'][ident]['distance_oiseau'], 2); 572 html += 'title="à vol d oiseau">'; 573 html += '<i class="fa fa-circle-o" aria-hidden="true"></i> à '+distanceVolKm+'Km du centre de ' + nomCommune; 574 } 575 html+= '</span>'; 576 $(this).html(html); 577 $('li.li_elemListe[data-ident="'+ident+'"] p.p_distFromCommune').hide(); 578 }); 579 }); 580} 581 582function transformePrixAPartirDeByAjax(){ 583 // 1117128 584 if (getParamDureeSejourFromUrl() > 28) { 585 return; 586 } 587 console.log('transformePrixAPartirDeByAjax'); 588 $.ajax('/lib_2/ajax/infosDist.php?INFO=INFOSPRIX').done(function( data, textStatus, jqXHR ) { 589 console.log('transformePrixAPartirDeByAjax data',data); 590 $.each($('div.prixAPartirDe'),function() { 591 var ident = $(this).data('ident'); 592 if (data[ident]===undefined) { 593 return; 594 } 595 var prixNormal = data[ident]['prix_normal']; 596 var prixPromo = data[ident]['prix_promo']; 597 console.log('transformePrixAPartirDeByAjax ident', ident, prixNormal, prixPromo); 598 if ($(this).data('classegite') == '1') { 599 $(this).html(getHtmlDivTarifBureauGite(prixNormal, prixPromo)); 600 $(this).addClass('avecPrixSejour'); 601 } 602 if ($(this).data('classechambre') == '1') { 603 $(this).html(getHtmlDivTarifBureauChambre(prixNormal, prixPromo)); 604 $(this).addClass('avecPrixSejour'); 605 } 606 }); 607 $.each($('a.a_BoutonResaBureau'), function () { 608 var ident = $(this).data('ident'); 609 if (data[ident] === undefined) { 610 return; 611 } 612 var planning_vente = data[ident]['planning_vente']; 613 if (planning_vente === undefined) { 614 return; 615 } 616 if(planning_vente.match(/^r+$/)){ 617 $(this).html('Réserver'); 618 return; 619 } 620 if(planning_vente.match(/n/)){ 621 $(this).html('Réserver LD'); 622 } 623 }); 624 }); 625} 626 627function getHtmlDivTarifBureauGite(prixNormal,prixPromo){ 628 return getHtmlDivTarifBureau(prixNormal,prixPromo)+'<span class="span_lst_libelle_apres_prix">pour le séjour</span>'; 629} 630 631function getHtmlDivTarifBureauChambre(prixNormal,prixPromo){ 632 return getHtmlDivTarifBureau(prixNormal,prixPromo)+'<span class="span_lst_libelle_apres_prix">(base 2 pers.)</span>'; 633} 634 635function getHtmlDivTarifBureau(prixNormal,prixPromo){ 636 var html; 637 prixNormal = prixNormal.replace('.00',''); 638 if (prixPromo > 0 && $.isNumeric(prixPromo)) { 639 prixPromo = prixPromo.replace('.00',''); 640 var pourcentagePromo = Math.round(((prixPromo-prixNormal)/prixNormal)*100); 641 html = '<span class="prixListeAvantPromo">' + prixNormal + '<span class="lblEuro"></span></span>'; 642 html += '<span class="prixListePromo">' + prixPromo + '<span class="lblEuro"></span></span>'; 643 html += '<span class="prixListePourcentagePromo" style="display:none;">'+pourcentagePromo+'%</span>'; 644 } else { 645 html = '<span class="prixListeNormal" data-prix="' + prixNormal + '" data-prix-promo="">' + prixNormal + '<span class="lblEuro"></span></span>'; 646 } 647 return html; 648} 649 650function getParamDureeSejourFromUrl() { 651 var nbj = getParamFromURL('duree'); 652 if (nbj === undefined) { 653 nbj = getParamFromURL('nbj'); 654 } 655 if (nbj === undefined) { 656 nbj = getParamFromURL('dureesejour'); 657 } 658 return nbj; 659} 660 661function getParamFromURL(param) { 662 var params = {}, queries, temp, i, l; 663 // Split into key/value pairs 664 queries = window.location.search.replace('?', '').split('&'); 665 // Convert the array of strings into an object 666 for (i = 0, l = queries.length; i < l; i++) { 667 temp = queries[i].split('='); 668 params[temp[0]] = temp[1]; 669 } 670 if (params[param] === undefined) { 671 return undefined; 672 } 673 return decodeURIComponent(params[param]); 674} 675 676function afficheMoteurDates(idSelection,ident) { 677 var html="<div id='divPanier_moteurDate'></div>"; 678 html+="<a id='a_valider' onclick='setDatesPanier("+idSelection+");'>Valider</a>"; 679 html+="<a id='a_retour' onclick='effaceDivAvecTransparence();'>Retour</a>"; 680 afficheDivAvecTransparence(html,400,200); 681 682 var adr="/lib_2/ajax/contenuFenetre.php"; 683 var sending=getInfoSession()+"&element=critere&typeInfo=date&ident="+ident; 684 affUrlInDiv("divPanier_moteurDate",adr,sending); 685} 686 687function setDatesPanier(idSelection){ 688 var adr="/lib_2/ajax/gerePanier.php"; 689 var sending="action=defDatesSelect&idSelect="+idSelection+"&jour="+document.getElementById('jour').value+"&mois="+document.getElementById('mois').value+"&annee="+document.getElementById('annee').value+"&duree="+document.getElementById('duree').value; 690 effaceDivAvecTransparence(); 691 affUrlInDiv("divPanier_visu",adr,sending); 692} 693 694function ajouterAuPanierBoutique(tabParams,quelleReponseAjax,callback) { 695 var retourAjax = quelleReponseAjax || false; 696 var params = tabParams; 697 if(!params.action){ 698 params.action= 'ajoutePanier_v5'; 699 } 700 params.panier_v5= '1'; 701 params.retourAjax= retourAjax; 702 $.ajax({ 703 type: "POST", 704 url: "/lib_2/ajax/gerePanier.php", 705 async: false, 706 dataType:'json', 707 data: params, 708 beforeSend: function () { 709 afficheLoaderGlobal_site(); 710 }, 711 success: function (retour) { 712 if(callback){ 713 (callback)(retour); 714 } 715 }, 716 complete:function(){ 717 effaceLoaderGlobal_site(); 718 } 719 }); 720} 721 722function initChoixTarifsNDate() { 723 if ($('.div_choixTarifAjax').length > 0) { 724 $('.div_choixTarifAjax').each(function () { 725 // TODO : pour chaque div div_choixTarifAjax il faut récupérer le paramétrage, 726 // recréer un objet NDate et appeler la fonction getHTML_choixTarif avec chargementAjax à false 727 var ident = $(this).attr('data-ident'); 728 var avecListeDeroulante = $(this).find('.inpt_choixTarifAvecListe').val(); 729 var avecAccesResa = $(this).find('.inpt_choixTarifAcce
729sResa').val(); 730 var divChoixTarif = $(this); 731 var reload = $(this).find('.inpt_choixTarifReload').val(); 732 $.ajax({ 733 type: 'POST', 734 url: '/lib_2/ajax/infosDist.php', 735 data: {info: "getHTML_choixTarifNDate", ident: ident, avecListeDeroulante: avecListeDeroulante, avecAccesResa: avecAccesResa, reload: reload}, 736 success: function (result) { 737 divChoixTarif.replaceWith(result); 738 $('.viewWithQtipTohide').hide(); 739 if(typeof foncQdFini_initChoixTarifsNDate === 'function'){ 740 foncQdFini_initChoixTarifsNDate(); 741 } 742 initForPanier_v5(); 743 } 744 }); 745 }); 746 } 747} 748 749function setScrollHorizontalOnDiv(idDiv,idUl,params){ 750 if (!$(params.nextButton) || !$(params.prevButton)){ 751 return false; 752 } 753 var btSuiv=$(params.nextButton); 754 var btPrec=$(params.prevButton); 755 var decal; 756 757 if (!params.noResizeToLi){ 758 if ($(idDiv) && $(idUl) && $(idUl).firstChild){ 759 $(idDiv).style.width=$(idUl).firstChild.offsetWidth+'px'; 760 $(idUl).style.padding='0px'; 761 } 762 } 763 //console.trace('effects.js on setScrollHorizontalOnDiv'); 764 btPrec.css('visibility','hidden'); 765 if (btSuiv){ 766 btSuiv.onclick=function (evt){ 767 if (params.decalage){ 768 decal=params.decalage; 769 } else if (params.nbLiDecal){ 770 var unLi=idUl.childNodes[1].offsetLeft; 771 decal=unLi*params.nbLiDecal; 772 } else { 773 decal=$(idDiv).getWidth(); 774 } 775 var posXLastChild=$(idUl).childElements().last().positionedOffset(idUl).left; 776 var posX0=$(idUl).positionedOffset(idDiv).left; 777 var posX1=posXLastChild+$(idUl).childElements().last().getWidth()+posX0; 778 var posFinal=posXLastChild+$(idUl).childElements().last().getWidth(); 779 if (posX1-decal<decal){ 780 decal=posX1-decal; 781 } 782 if(btPrec){ 783 btPrec.style.visibility="visible"; 784 } 785 if(params.scrollSansEffet){ 786 var position = $(idUl).positionedOffset(idDiv).left; 787 $(idUl).style.left = (position + (decal*-1))+"px"; 788 //console.log('effects.js setScrollHorizontalOnDiv btSuiv position:'+position*-1+' posFinal:'+posFinal+' decal: '+decal); 789 if(decal == 0){ 790 btSuiv.style.visibility="hidden"; 791 } 792 if ($(params.ulJumelle)){ 793 $(params.ulJumelle).style.left = $(params.ulJumelle).positionedOffset(idDiv).left + (decal*-1); 794 } 795 }else{ 796 new Effect.Move(idUl, {x: decal*-1, mode: 'relative'}) 797 if ($(params.ulJumelle)){ 798 new Effect.Move(params.ulJumelle, {x: decal*-1, mode: 'relative'}) 799 } 800 } 801 } 802 } 803 if(btPrec){ 804 btPrec.onclick=function(evt){ 805 if (params.decalage){ 806 decal=params.decalage; 807 } else if (params.objDecalage){ 808 decal=params.objDecalage.getWidth(); 809 if (params.multipDecal){ 810 decal*=params.multipDecal; 811 } 812 } else { 813 decal=$(idDiv).getWidth(); 814 } 815 var posX=$(idUl).positionedOffset(idDiv).left; 816 if (posX+decal>0){ 817 decal=posX*-1; 818 } 819 if(btSuiv){ 820 btSuiv.style.visibility="visible"; 821 } 822 if(params.scrollSansEffet){ 823 var position = $(idUl).positionedOffset(idDiv).left; 824 $(idUl).style.left = (position + decal)+"px"; 825 //console.log('effects.js setScrollHorizontalOnDiv btPrec position:'+position+' decal: '+decal); 826 if((position + decal)==0){ 827 btPrec.style.visibility="hidden"; 828 } 829 if ($(params.ulJumelle)){ 830 $(params.ulJumelle).style.left = $(params.ulJumelle).positionedOffset(idDiv).left + decal; 831 } 832 } else { 833 new Effect.Move(idUl, {x: decal, mode: 'relative'}) 834 if ($(params.ulJumelle)){ 835 new Effect.Move(params.ulJumelle, {x: decal, mode: 'relative'}) 836 } 837 } 838 } 839 } 840 return true; 841} 842 843function setNbResultByCgi(classe,obj){ 844 return; 845} 846 847function afficheEnvoiSelectionPourClient(action) { 848 var sending = getInfoSession() + '&element=' + action + "&idcontact=" + $('body').data('idcontact') + "&k=" + $('body').data('k'); 849 $.ajax({ 850 type: 'POST', 851 url: '/lib_2/ajax/contenuFenetre.php', 852 data: sending, 853 success: function (data) { 854 var html = $(data); 855 var titre = $('.input_titre_form', html).val(); 856 afficheDivAvecTransparence('<div id="div_sendMailToFriend"></div>', 650, 600, '', titre); 857 $('#div_sendMailToFriend').html(data); 858 if ($('#inputDateFinEnvoiAmi').length > 0) { 859 $('#inputDateDebEnvoiAmi').datepicker({ 860 minDate: 0, 861 onSelect: function (date) { 862 $('#inputDateFinEnvoiAmi').datepicker({ 863 minDate: date 864 865 }); 866 } 867 }); 868 } 869 if ($('#select_typeCentrale').length > 0) { 870 $('#select_typeCentrale').change(function () { 871 var mail = $(this).find('option:selected').attr('data-mail'); 872 $('#emailDeLaPart').val(mail); 873 }); 874 } 875 if ($('#div_envoiAmisInfosMiniCata').length > 0) { 876 $('#div_envoiAmisInfosMiniCata').click(function () { 877 if ($('#div_saisieInfosClientPourMiniCata').is(':visible')) { 878 $('#div_saisieInfosClientPourMiniCata').hide(); 879 } else { 880 $('#div_saisieInfosClientPourMiniCata').show(); 881 } 882 }); 883 } 884 $('select[name="typeEnvoiMiniCatalogue"]').change(function () { 885 if ($(this).val()) { 886 $('#div_selectModelMailMiniCata').hide('fast'); 887 $('#div_envoiAmiMessage').hide('fast'); 888 $('#emailMessage').attr('disabled', 'disabled'); 889 $('#div_envoiCommentaire').show('fast'); 890 $('#emailCommentaire').removeAttr('disabled'); 891 } 892 else { 893 $('#div_envoiCommentaire').hide('fast'); 894 $('#emailCommentaire').attr('disabled', 'disabled'); 895 $('#div_selectModelMailMiniCata').show('fast'); 896 $('#div_envoiAmiMessage').show('fast'); 897 $('#emailMessage').removeAttr('disabled'); 898 899 } 900 if ($(this).val() == 'HTMLX') { 901 $('#divSelectLienDocHTML').show('fast'); 902 } 903 else { 904 $('#divSelectLienDocHTML').hide('fast'); 905 } 906 }); 907 if ($('input[name="CP"]').length > 0 && $('input[name="ville"]').length > 0) { 908 autocompleteurCpVille($('input[name="CP"]'), $('input[name="ville"]')); 909 } 910 var langue = $("body").attr("data-langue") || 'FRANCAIS'; 911 var tabAValider = []; 912 var mail = new LiveValidation('email1', {validMessage: 'Ok', onlyOnSubmit: true}); 913 addValidateOnLiveValidationEmail(mail, langue, true); 914 tabAValider.push(mail); 915 916 $('#a_validFormMail,#a_validFormEnregistrementSeulement', '#div_sendMailToFriend').click(function () { 917 var seulementEnregistrement = $(this).attr('id') === 'a_validFormEnregistrementSeulement'; 918 var mailClient = new LiveValidation("emailDeLaPart", {validMessage: "Ok", onlyOnSubmit: true}); 919 addValidateOnLiveValidationEmail(mailClient, langue, true); 920 var mailAmi1 = new LiveValidation("email1", {validMessage: "Ok", onlyOnSubmit: true}); 921 var email1Obligatoire = true; 922 if (seulementEnregistrement) { 923 email1Obligatoire = false;
924 } 925 addValidateOnLiveValidationEmail(mailAmi1, langue, email1Obligatoire); 926 var mailAmi2 = new LiveValidation("email2", {validMessage: "Ok", onlyOnSubmit: true}); 927 addValidateOnLiveValidationEmail(mailAmi2, langue, false); 928 var mailAmi3 = new LiveValidation("email3", {validMessage: "Ok", onlyOnSubmit: true}); 929 addValidateOnLiveValidationEmail(mailAmi3, langue, false); 930 if (langue == "FRANCAIS") { 931 if (!$('#prenomDeLaPart').hasClass('optionnel')) { 932 var prenomClient = new LiveValidation("prenomDeLaPart", {validMessage: "Ok", onlyOnSubmit: true}); 933 prenomClient.add(Validate.Presence, {failureMessage: "Champ obligatoire"}); 934 } 935 var message = new LiveValidation("emailMessage", {validMessage: "Ok", onlyOnSubmit: true}); 936 message.add(Validate.Presence, {failureMessage: "Champ obligatoire"}); 937 } else { 938 if (!$('#prenomDeLaPart').hasClass('optionnel')) { 939 var prenomClient = new LiveValidation("prenomDeLaPart", {validMessage: "Ok", onlyOnSubmit: true}); 940 prenomClient.add(Validate.Presence, {failureMessage: "Required field"}); 941 } 942 var message = new LiveValidation("emailMessage", {validMessage: "Ok", onlyOnSubmit: true}); 943 message.add(Validate.Presence, {failureMessage: "Required field"}); 944 } 945 946 var tabAValider = new Array(mailClient, mailAmi1, mailAmi2, mailAmi3, message); 947 // si on a le mini catalogue, on doit mettre un nom fiche 258292 948 if ($('#div_envoiAmisInfosMiniCata').length > 0) { 949 $('#div_saisieInfosClientPourMiniCata').show(); 950 var nom = new LiveValidation('nomPourMiniCatalogue', {validMessage: 'Ok', onlyOnSubmit: true}); 951 nom.add(Validate.Presence, {failureMessage: "Champ obligatoire"}); 952 tabAValider.push(nom); 953 } 954 if (!$('#prenomDeLaPart').hasClass('optionnel')) { 955 tabAValider.push(prenomClient); 956 } 957 LiveValidation.massValidate(tabAValider); 958 959 if ($(".LV_invalid").length == 0) { 960 envoiMailClientSelection(seulementEnregistrement); 961 } 962 if (estSurBureauITEA()) { 963 if ($('#emailRecevoirCopie').prop('checked')) { 964 localStorage.setItem('emailRecevoirCopie', '1'); 965 } else { 966 localStorage.setItem('emailRecevoirCopie', '0'); 967 } 968 var typeEnvoi = $('select[name="typeEnvoiMiniCatalogue"]').val() || ''; 969 localStorage.setItem('typeEnvoiMiniCatalogue', typeEnvoi); 970 var typeLienMiniCata = localStorage.typeLienMiniCata || 'liste'; 971 localStorage.setItem('typeLienMiniCata', typeLienMiniCata); 972 } 973 }); 974 if (estSurBureauITEA()) { 975 // gestion des préférences du localStorage 976 if (localStorage.emailRecevoirCopie === '1') { 977 $('#emailRecevoirCopie').prop('checked', true); 978 } 979 var typeEnvoiMinCata = localStorage.typeEnvoiMiniCatalogue || ''; 980 var option = $('select[name="typeEnvoiMiniCatalogue"] > option[value="' + typeEnvoiMinCata + '"]'); 981 if (option.length > 0) { 982 $('select[name="typeEnvoiMiniCatalogue"]').val(typeEnvoiMinCata); 983 $('select[name="typeEnvoiMiniCatalogue"]').change(); 984 var typeLienMiniCata = localStorage.typeLienMiniCata || 'liste'; 985 $('select[name="typeLienMiniCatalogue"]').val(typeLienMiniCata); 986 } 987 988 initHistoClientMiniCata(); 989 //autocompléteur clients 990 initAutocompleteClientsExistantsMiniCatalogue(); 991 initGestionModelesMailMiniCata(); 992 var dernierModelUtilise = getDernierModelUtilise(); 993 if (dernierModelUtilise.length > 0) { 994 $('#selectModelMailMiniCata').val(dernierModelUtilise).change(); 995 } 996 } 997 } 998 }); 999} 1000 1001function envoiMailClientSelection(seulementEnregistrement) {
1002 var sending = $('#formMailToFriend').serialize(); 1003 if ($('#div_saisieInfosClientPourMiniCata').length > 0) { 1004 var tabInfosClient = getInfosClientPourMiniCata(); 1005 sending += "&tabInfosClient=" + JSON.stringify(tabInfosClient); 1006 } 1007 var url = '/lib_2/ajax/envoiMail.php'; 1008 if (seulementEnregistrement) { 1009 url = '/lib_2/ajax/gerePanier.php'; 1010 sending += '&action=ENREGISTREMENTSELECTIONCLIENT'; 1011 } 1012 1013 $("#div_envoiAmiSubmit").hide(); 1014 $('#a_validFormEnregistrementSeulement').hide(); 1015 $.ajax({ 1016 type: 'POST', 1017 url: url, 1018 data: sending, 1019 success: function (data) { 1020 $('#div_messageEnvoiMail').addClass("messageAffiche"); 1021 $('#div_messageEnvoiMail').html(data); 1022 setHistoClientMiniCata(); 1023 enregistrerDernierModeleUtilise(); 1024 $("#div_sendMailToFriend form *").attr("disabled", "disabled"); 1025 $(".div_messageIntroForm").hide(); 1026 }, 1027 error: function (data) { 1028 $('#div_messageEnvoiMail').html('<p class="alert alert-warning">Il y a eu une erreur lors du traitement de votre demande. Veuillez contacter ITEA.</p>'); 1029 } 1030 }); 1031} 1032 1033function initHistoClientMiniCata() { 1034 var tabCiv = {1: 'M', 2: 'Mme', 3: 'M et Mme', O: ''}; 1035 var tabHistoClient = getHistoClientMiniCata(); 1036 if (tabHistoClient.length > 0) { 1037 tabHistoClient.forEach(function (client) { 1038 var objClient = {}; 1039 client.split('&').forEach(function (key) { 1040 objClient[key.split("=")[0]] = key.split("=")[1]; 1041 }); 1042 var option = '<option data-civilite="' + objClient.civilite + '" data-nom="' + objClient.nom + '" data-prenom="' + objClient.prenom + '" data-adresse1="' + objClient.adresse1 + '" data-adresse2="' + objClient.adresse2 1043 + '" data-cp="' + objClient.CP + '" data-ville="' + objClient.ville + '" data-pays="' + objClient.pays + '" data-teldom="' + objClient.teldom 1044 + '" data-telbur="' + objClient.telbur + '" onclick="fillInfosClientMiniCata(this);" >' + tabCiv[objClient.civilite] + ' ' + objClient.prenom + ' ' + objClient.nom + ' - ' + objClient.ville + '</option>'; 1045 $('#histoClientMiniCata').append(option); 1046 }); 1047 $('#div_histoClientMiniCata').show(); 1048 } else { 1049 $('#div_histoClientMiniCata').hide(); 1050 } 1051} 1052 1053function initAutocompleteClientsExistantsMiniCatalogue() { 1054 var date; 1055 var timeKeyUp; 1056 var xhr; 1057 $('.div_champMiniCatalogue .nom, .div_champMiniCatalogue .prenom, #div_envoiAmiContent #email1, .div_champMiniCatalogue .cp, .div_champMiniCatalogue .teldom').keyup(function () { 1058 if ($('.div_champMiniCatalogue .rpenom').val() != '') { 1059 if ($('.div_champMiniCatalogue .nom').val() == '' && $('#div_envoiAmiContent #email1').val() == '' && $('.div_champMiniCatalogue .cp').val() == '' && $('.div_champMiniCatalogue .teldom').val() == '') { 1060 return false; 1061 } 1062 } 1063 date = new Date(); 1064 timeKeyUp = date.getTime(); 1065 setTimeout(function () { 1066 date = new Date(); 1067 var time = date.getTime(); 1068 var delai = time - timeKeyUp; 1069 if (delai >= 800) { 1070 xhr = lanceAutocompleteClientsMiniCatalogue(); 1071 } 1072 }, 800); 1073 }); 1074 $('.div_champMiniCatalogue .nom, .div_champMiniCatalogue .prenom, #div_envoiAmiContent #email1, .div_champMiniCatalogue .cp, .div_champMiniCatalogue .teldom').keypress(function () { 1075 if (xhr !== undefined) { 1076 xhr.abort(); 1077 } 1078 }); 1079} 1080 1081function initGestionModelesMailMiniCata() { 1082 $('#btnAjoutModeleMailMiniCata').click(function () { 1083 $(this).next('.error').html(''); 1084 var objet = $('#emailObjet').val(); 1085 var mail = $('#emailMessage').val(); 1086 if (objet.length === 0) { 1087 $(this).next('.error').html('Vous n\'avez pas saisi d\'objet !'); 1088 return; 1089 } else if (mail.length === 0) { 1090 $(this).next('.error').html('Le contenu de votre email est vide !'); 1091 return; 1092 } 1093 $.ajax({
1094 url: './ajax/appelsAjax.php', 1095 type: 'POST', 1096 data: { 1097 'mail': mail, 1098 'objet': objet, 1099 'action': 'addNewModeleMailMiniCata' 1100 }, 1101 beforeSend: function (xhr) { 1102 afficheLoaderGlobal_site(); 1103 }, 1104 success: function (data, textStatus, jqXHR) { 1105 if (data === 'KO') { 1106 $(this).next('.error').html('Une erreur s\'est produite !'); 1107 return; 1108 } 1109 var rep = JSON.parse(data); 1110 //TO DO vérifier que l'option n'existe pas déjà dans le select 1111 if ($("#selectModelMailMiniCata option[value='" + rep.value + "']").length === 0) { 1112 $('#selectModelMailMiniCata').append('<option value="' + rep.value + '">' + rep.text + '</option>'); 1113 } 1114 $('#selectModelMailMiniCata').val(rep.value); 1115 }, 1116 complete: function (jqXHR, textStatus) { 1117 effaceLoaderGlobal_site(); 1118 } 1119 }); 1120 1121 }); 1122 1123 $('#supprModeleMailMiniCata').click(function () { 1124 var file = $('#selectModelMailMiniCata').val(); 1125 if (file.length === 0) { 1126 $('#emailObjet').val(""); 1127 $('#emailMessage').val(""); 1128 return; 1129 } 1130 $.ajax({ 1131 url: './ajax/appelsAjax.php', 1132 type: 'POST', 1133 data: { 1134 'file': file, 1135 'action': 'supprModeleMailMiniCata' 1136 }, 1137 beforeSend: function (xhr) { 1138 afficheLoaderGlobal_site(); 1139 }, 1140 success: function (data, textStatus, jqXHR) { 1141 if (data === 'KO') { 1142 $(this).next('.error').html('Une erreur s\'est produite !'); 1143 return; 1144 } 1145 $('#selectModelMailMiniCata option[value="' + file + '"]').remove(); 1146 $('#emailObjet').val(""); 1147 $('#emailMessage').val(""); 1148 setValueMessageMailMiniCata(); // pour éviter de séléctionner un modele qui n'existe plus 1149 }, 1150 complete: function (jqXHR, textStatus) { 1151 effaceLoaderGlobal_site(); 1152 } 1153 }); 1154 }); 1155 1156 $('#selectModelMailMiniCata').change(function () { 1157 var file = $(this).val(); 1158 if (file.length === 0) { 1159 $('#emailObjet').val(""); 1160 setValueMessageMailMiniCata(); 1161 return; 1162 } 1163 $.ajax({ 1164 url: './ajax/appelsAjax.php', 1165 type: 'POST', 1166 data: { 1167 'file': file, 1168 'action': 'getModeleMailMiniCata' 1169 }, 1170 beforeSend: function (xhr) { 1171 afficheLoaderGlobal_site(); 1172 }, 1173 success: function (data, textStatus, jqXHR) { 1174 if (data === 'KO') { 1175 $(this).next('.error').html('Une erreur s\'est produite !'); 1176 return; 1177 } 1178 $('#emailObjet').val(file.replace('.txt', '')); 1179 setValueMessageMailMiniCata(data); 1180 }, 1181 complete: function (jqXHR, textStatus) { 1182 effaceLoaderGlobal_site(); 1183 } 1184 }); 1185 }); 1186 1187 $('#emailMessage').redactor({ 1188 lang: 'fr', 1189 emptyHtml: "<br/>", 1190 buttons: ['html', '|', 'formatting', '|', 'bold', 'italic', 'deleted', '|', 'underline', '|', 1191 'unorderedlist', 'orderedlist', '|', 1192 'link', '|', 1193 'fontcolor', '|', 'alignment'], 1194 minHeight: 250, 1195 }); 1196} 1197 1198function getDernierModelUtilise() { 1199 return window.localStorage["dernierModeleUtilise"] || ''; 1200} 1201 1202function setHistoClientMiniCata() { 1203 var chaine = "civilite=" + $('select[name="civilite"]').val() + "&"; 1204 chaine += $('#div_saisieInfosClientPourMiniCata input').serialize(); 1205 var pastSearches = []; 1206 if (window.localStorage["histoClientMiniCata"]) { 1207 pastSearches = JSON.parse(localStorage["histoClientMiniCata"]); 1208 for (var i = 0; i < pastSearches.length; i++) { 1209 if (chaine === pastSearches[i]) { 1210 return; 1211 } 1212 } 1213 } 1214 pastSearches.unshift(chaine); 1215 if (pastSearches.length > 5) { 1216 pastSearches.pop(); 1217 } 1218 window.localStorage["histoClientMiniCata"] = JSON.stringify(pastSearches); 1219} 1220 1221function enregistrerDernierModeleUtilise(valueDernierModele) { 1222 var dernierModele = valueDernierModele || $('#selectModelMailMiniCata').val() || ''; 1223 window.localStorage["dernierModeleUtilise"] = dernierModele; 1224} 1225 1226function getHistoClientMiniCata() { 1227 var pastSearches = []; 1228 if (window.localStorage["histoClientMiniCata"]) { 1229 pastSearches = JSON.parse(window.localStorage["histoClientMiniCata"]); 1230 } 1231 return pastSearches; 1232} 1233 1234function lanceAutocompleteClientsMiniCatalogue() { 1235 var nom = $('.div_champMiniCatalogue .nom').val(); 1236 var prenom = $('.div_champMiniCatalogue .prenom').val(); 1237 var mail = $('#div_envoiAmiContent #email1').val(); 1238 var cp = $('.div_champMiniCatalogue .cp').val(); 1239 var tel = $('.div_champMiniCatalogue .teldom').val();
1240 var url = './ajax/appelsAjax.php'; 1241 var data = { nom, prenom, mail, cp, tel, action: 'getHTML_listeClientsForAutocomplete' }; 1242 var xhr; 1243 if (nom.length>=3 || prenom.length>=4 || mail.length>=4 || cp.length>=2 || tel.length>=6) { 1244 xhr = $.ajax({ 1245 type: 'POST', 1246 url: url, 1247 data: data, 1248 beforeSend: function(){ 1249 $('#div_autocompleteClients').show(); 1250 $('#div_sendMailToFriend #div_saisieInfosClientPourMiniCata .div_saisieInfosClient').css('width','40%'); 1251 $('#div_autocompleteClientsResults').html('<img src="/config_v3/imgs_defaut/loading/loader.gif" />'); 1252 }, 1253 success: function(result){ 1254 $('#div_autocompleteClientsResults').html(result); 1255 $('#div_autocompleteClients').show(); 1256 initChargeClientExistant(); 1257 }, 1258 }); 1259 } else { 1260 $('#div_autocompleteClients').hide(); 1261 $('#div_sendMailToFriend #div_saisieInfosClientPourMiniCata .div_saisieInfosClient').css('width','50%'); 1262 $('#div_autocompleteClientsResults').html(''); 1263 } 1264 return xhr; 1265} 1266 1267function setValueMessageMailMiniCata(value) { 1268 var message = value || ""; 1269 $('#div_envoiAmiMessage .div_contentEnvoiAmi').empty(); 1270 var textarea = '<textarea type="text" id="emailMessage" name="liste2Ami_message">' + message + '</textarea>'; 1271 $('#div_envoiAmiMessage .div_contentEnvoiAmi').append(textarea); 1272 $('#emailMessage').redactor({ 1273 lang: 'fr', 1274 emptyHtml: "<br/>", 1275 buttons: ['html', '|', 'formatting', '|', 'bold', 'italic', 'deleted', '|', 'underline', '|', 1276 'unorderedlist', 'orderedlist', '|', 1277 'link', '|', 1278 'fontcolor', '|', 'alignment'], 1279 minHeight: 250, 1280 }); 1281} 1282 1283function initChargeClientExistant(){ 1284 $('.li_autocompleteurClient').click(function(){ 1285 // TODO : vérifier que tous les champs ont été chargés, si ce n'est pas le cas il faut faire une requête AJAX pour avoir le détail 1286 // Dans tous les cas on a ces 4 champs 1287 var nom = $(this).find('.inpt_autocompleteClient.nomClient').val(); 1288 var prenom = $(this).find('.inpt_autocompleteClient.prenomClient').val(); 1289 var mail = $(this).find('.inpt_autocompleteClient.mailClient').val(); 1290 var instance = $(this).find('.inpt_autocompleteClient.instance').val(); 1291 var civilite; var CP = ''; var ville = ''; var adresse1 = ''; var adresse2 = ''; 1292 var telDom = ''; var telBur = ''; var mdp = ''; var pays = ''; 1293 var numeroClient = ''; var identClientNat = '';var mdpNationalExistant; 1294 var commentaireClient = ''; 1295 if ($(this).find('.inpt_autocompleteClient.villeClient').length===0 && instance.length>0 && $('#div_saisieInfosClientPourMiniCata').length===0) { 1296 // TODO : appel AJAX pour récupérer détail 1297 $.ajax({ 1298 type: 'POST', 1299 url: urlAJAX, 1300 async: false, 1301 data: {type: 'getDetailClient', nom: nom, prenom: prenom, mail: mail, instance: instance}, 1302 success: function(result){ 1303 var tabResult = XMLToArray(result); 1304 civilite = tabResult.civilite; 1305 CP = tabResult.code_postal; 1306 ville = tabResult.ville; 1307 adresse1 = tabResult.adresse; 1308 adresse2 = tabResult.lieu_dit; 1309 telDom = tabResult.tel1; 1310 telBur = tabResult.tel2; 1311 mdp = tabResult.mdp; 1312 pays = tabResult.pays || ''; 1313 numeroClient = tabResult.numeroClient; 1314 identClientNat = tabResult.identClientnat; 1315 commentaireClient = tabResult.commentaire || ''; 1316 } 1317 }); 1318 } else { 1319 civilite = $(this).find('.inpt_autocompleteClient.civilite').val(); 1320 CP = $(this).find('.inpt_autocompleteClient.CPClient').val(); 1321 ville = $(this).find('.inpt_autocompleteClient.villeClient').val(); 1322 adresse1 = $(this).find('.inpt_autocompleteClient.adresse1Client').val(); 1323 adresse2 = $(this).find('.inpt_autocompleteClient.adresse2Client').val(); 1324 telDom = $(this).find('.inpt_autocompleteClient.tel1Client').val(); 1325 telBur = $(this).find('.inpt_autocompleteClient.tel2Client').val(); 1326 mdp = $(this).find('.inpt_autocompleteClient.mdp').val(); 1327 pays = $(this).find('.inpt_autocompleteClient.pays').val() || ''; 1328 numeroClient = $(this).find('.inpt_autocompleteClient.numeroClient').val(); 1329 if ($(this).find('.inpt_autocompleteClient.identClientNat').length>0) { 1330 identClientNat = $(this).find('.inpt_autocompleteClient.identClientNat').val(); 1331 mdpNationalExistant = $(this).find('.inpt_autocompleteClient.mdpNationalExistant').val(); 1332 } 1333 commentaireClient = $(this).find('.inpt_autocompleteClient.commentaireClient').val() || ''; 1334 } 1335 1336 // TODO : récupérer les infos des champs cachés et remplir le formulaire 1337 $('#select_civiliteClient, .div_champMiniCatalogue .civilite').val(civilite); 1338 $('#inpt_nomClient, .div_champMiniCatalogue .nom').val(nom); 1339 $('#inpt_prenomClient, .div_champMiniCatalogue .prenom').val(prenom); 1340 $('#inpt_cpClient, .div_champMiniCatalogue .cp').val(CP); 1341 $('#inpt_villeClient, .div_champMiniCatalogue .ville').val(ville); 1342 $('#inpt_mailClient').val(mail); 1343 $('#div_envoiAmiContent #email1').val(mail); //pour le mini-catalogue 1344 $('#inpt_adresse1Client, .div_champMiniCatalogue .adresse1').val(adresse1); 1345 $('#inpt_adresse2Client, .div_champMiniCatalogue .adresse2').val(adresse2); 1346 $('#inpt_telDomClient, .div_champMiniCatalogue .teldom').val(telDom); 1347 $('#inpt_telBurClient, .div_champMiniCatalogue .telbur').val(telBur); 1348 $('#inpt_mdpClient, .div_champMiniCatalogue .mdp').val(mdp); 1349 $('#inpt_numeroClient').val(numeroClient); 1350 if(estResaBureauGestloc()){ 1351 $('#inpt_commentaireClientPourCentrale').text(commentaireClient); 1352 } 1353 $('#inpt_identClientNat').val(identClientNat); 1354 if (identClientNat && identClientNat.length>0) { 1355 $('.ipt_clientExistant').attr('disabled', true); 1356 $('#div_saisieClientEmail .i_helperInfoBulle').show(); 1357 var htmlAlerte = "<div class='row'><strong><i class='fa fa-exclamation-triangle' aria-hidden='true'></i></strong>" + 1358 " Ce client possède un compte client National"; 1359 if(estSurBureauITEA()){ 1360 htmlAlerte += "<input class='btn btn-primary pull-right' type='button' value='Modifier les coordonnées' onclick='actionBtnDelierCptNat(this);'>"; 1361 } 1362 htmlAlerte += "</div>"; 1363 $('#alerte_inputsClientDisabled').html(htmlAlerte); 1364 $('#alerte_inputsClientDisabled').show(); 1365 } else { 1366 $('.ipt_clientExistant').attr('disabled', false); 1367 $('#div_saisieClientEmail .i_helperInfoBulle').hide(); 1368 $('#alerte_inputsClientDisabled').hide(); 1369 } 1370 1371 $('#inpt_mdpNationalExistant').val(mdpNationalExistant); 1372 if(pays){ 1373 $('option',$('#select_pays')).attr('selected',false); 1374 $('option[data-code="'+pays+'"]',$('#select_pays')).attr('selected',true); 1375 $('.div_champMiniCatalogue .pays').val(pays); // Vincent 312116 1376 } 1377 //On valide les champs 1378 validFormulaire(); 1379 checkChampsImportants(); 1380 }); 1381} 1382 1383function validFormulaire(){ 1384 // Fonction appelée si on a un objClient en session, il faut pouvoir afficher les msgs 1385 // du plugin de validation de formulaire (LiveValidation) 1386 var tabAValider = []; 1387 tabAValider = getTabChampAValider(); 1388 LiveValidation.massValidate(tabAValider); 1389} 1390 1391function checkChampsImportants(){ 1392 if ($('#inpt_adresse1Client').val()=='') { 1393 $('#div_msgInfosChampsSaisis p.adresse').show(); 1394 } else { 1395 $('#div_msgInfosChampsSaisis p.adresse').hide(); 1396 } 1397 if ($('#inpt_telDomClient').val()=='') { 1398 $('#div_msgInfosChampsSaisis p.tel').show(); 1399 } else { 1400 $('#div_msgInfosChampsSaisis p.tel').hide(); 1401 } 1402 if ($('#inpt_mailClient').val()=='') { 1403 $('#div_msgInfosChampsSaisis p.mail').show(); 1404 } else { 1405 $('#div_msgInfosChampsSaisis p.mail').hide(); 1406 } 1407 if ($('#div_msgInfosChampsSaisis .p_msgInfosChampsSaisis:visible').length==0) { 1408 $('#div_msgInfosChampsSaisis').hide(); 1409 } else { 1410 $('#div_msgInfosChampsSaisis').show(); 1411 } 1412} 1413 1414function toggleAffichageCarteResponsive() { 1415 chargeCarteResponsive(); 1416 $('#content').toggleClass('carteVisible'); 1417} 1418 1419function chargeCarteResponsive() { 1420 if($('#divgmap3>*').length > 0) { 1421 return; 1422 } 1423 leaflet_loadLeafletAssets('getParamsGoogleMap', 'classique'); 1424}
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.