{"version":3,"sources":["../src/scripts/lib/maska.js","../src/scripts/inscription/app.js","../src/scripts/inscription/compte.js","../src/scripts/inscription/confirmation.js","../src/scripts/inscription/connexion.js","../src/scripts/inscription/coordoonnees.js","../src/scripts/inscription/options.js","../src/scripts/inscription/paiement.js","../src/scripts/inscription/passager.js","../src/scripts/inscription/utilities.js","../src/scripts/inscription/voyageurs.js"],"names":["e","t","exports","_typeof","module","define","amd","globalThis","self","Maska","TypeError","n","length","r","enumerable","configurable","writable","Object","defineProperty","key","value","a","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","o","arguments","forEach","getOwnPropertyDescriptors","defineProperties","i","s","u","l","p","JSON","parse","escape","replace","RegExp","split","pattern","sort","map","pop","test","c","repeat","f","v","transform","uppercase","toLocaleUpperCase","lowercase","toLocaleLowerCase","HTMLInputElement","querySelector","prototype","toString","call","m","directive","k","h","#","X","S","A","!","*","d","this","Error","preprocessor","tokens","_opts","mask","_el","document","querySelectorAll","inputEvent","updateValue","target","init","dataset","setTimeout","maskInited","addEventListener","beforeInput","removeEventListener","type","match","validity","badInput","maskRawValue","dispatch","selectionEnd","inputType","charAt","activeElement","setSelectionRange","data","isNaN","preventDefault","dispatchEvent","createEvent","initEvent","WeakMap","has","oldValue","Array","isArray","stringify","set","window","Vue","use","create","install","maska","defaults","btnOption","getElementById","btnInscription","selectors","fieldsList","fieldClass","fieldClassName","fieldActiveClassName","fieldErrorClassName","classValidation","storageNameRecap","dataAttributeBlockRecap","utilities","regexMail","regexTel","testRegex","regex","champ","Inscription","config","_classCallCheck","_objectSpread","_createClass","entete","recap","console","table","url","fetch","method","headers","Content-Type","body","then","res","text","html","innerHTML","concat","commons","tooltip","error","selector","id","submitBtn","form","submitButton","requestSubmit","submit","el","field","parentNode","classList","contains","remove","steps","li","step","add","page","_step","etapes","_iterator","_createForOfIteratorHelper","done","etape","err","_goToEntete","msgPagePaiement","isStepPrev","parseInt","urlStep","pageStep","$","_confirmBackPopup","location","href","trigger","path","msg","modalPopup","callback","close","element","dataStorageRecap","sessionStorage","getItem","_initStateRecap","_getStateRecap","newValue","getAttribute","setAttribute","obj","nameBlock","readmoreBlock","_updateStateRecap","btnPDF","loader","loading","urlPdf","modalFicheTechnique","codeProduit","isSuisse","settingsApp","modules","componentTooltip","component","require","stateRecap","setItem","storageStateRecap","undefined","readmore","prevData","val","myHeaders","Headers","myInit","mode","cache","overrideStyles","items","popupModal","loaded","btnValidation","_checkDataFt","listener","_sendFT","ajax","pdf","async","serialize","success","alert","complete","btn","idEmail","idForm","event","utilitiesInscription","emailIsGood","checkForm","Compte","_Inscription","_super","_inherits","_createSuper","formulaire","Formulaire","objSelectors","btnConnexionCompte","dataRequired","dqeObj","server","license","single","zip","city","compl","street","local","country","_get","_getPrototypeOf","moduleIndicatifTel","tel","indicatifTel","initialize","dqe","_maskInput","_isFormValid","launchModale","Register","isCallback","selectindicatif","box","parentElement","_boxInput","selectindicatifPays","options","selectedIndex","indicatifTelephonique","indicatifNumerique","slice","innerText","token","register","coord","message","connexion","Confirmation","Connexion","btnCreationCompte","inputEmailCompte","inputPwdCompte","LogOn","required","GoToRegister","toggleSection","style","display","elCreation","elConnexion","fieldsError","idHide","toShow","toggleSectionToShow","toHide","toggleSectionToHide","helpers","hide","show","creation","includes","tunnelApp","app","inputCreationCompte","isInit","_events","input","formElement","_getDataForm","eventsList","_i","_eventsList","closest","nextElementSibling","Coordonnees","passager","passagerInscription","listPax","pax","deletePax","isTravelOnlyAdult","btnsAdd","btnAdd","newPax","onsubmit","_changementTypePassager","inputPaxDateNaissance","liberte","liberteChangementNbrePassagerModal","saisieControleModal","formulaireCheck","arrayAllPax","nom","prenom","controleSaisieCoordonnesDoublons","modale","inputHiddenSuivant","createElement","name","append","idButtonCancel","tagName","btnHtml","messageDoublonNomSaisie","libellebouton","formIsOk","every","bool","popupModificationNbrePassagers","title","texte","popupDevis","devis","nbPax","stopGo","_poursuiteInscriptionIndiv","response","msgInfoVoyageurs","adultOnly","eventAddNewPassager","_modalChoixNewVoyageur","_templating","Options","configOptions","idBtnOption","idModalAnnulation","idBareme","idModalDroitsVoyageurs","idDroitsVoyageurs","idBtnValidation","isOption","MajSelectedAssurance","eventChangeAssurance","hasOptionsSingle","eventChangechambre","MajChambreSingle","eventsShowInfosSpecifiques","fieldsFormRequired","eventsShowInfosNepal","_eventChangeCivilite","_loop","arrayOfinputPax","clePax","j","onChangeTraveler","textareaChambre","textareaDemandeSpecifique","onInsertRepartition","numeroDossierCrypte","onInsertDemandeSpecifique","cle","_validateDate","checkBirthDate","_checkDate","DateNaissance","dateformat","Val_date","Aujourdhui","Date","Separateur","DateJs","substring","array","_loop2","_step$value","_slicedToArray","valeur","_launchModal","template","firstChild","textContent","trim","content","radios","_assuranceUpdate","_step2","_iterator2","radio","idOptionSingle","_chambreUpdate","checked","codeAssurance","dateDepart","numdossier","_postRequest","isChecked","demandeSingle","indexOf","onerror","errorMsg","lineNumber","errorObj","objectConfig","ErreurJs","Paiement","choixCB","acompteValue","montant","acompte","montantMax","Math","round","montantMin","changeCarteCredit","nbCarte","deviseAffiche","_switchCard","arrayBtnInfos","modalInfoPaiement","btnDisplayPaiment","_toConsumableArray","children","sib","formCBPaybox","onclick","montant2","initPaiementCB","controleMulticarte","backCBPaiement","min","max","montant1","Number","isInteger","idTemplate","titleModale","nbEssaiPaybox","nbEssai3Dsecure","isMulticarte","PaiementCarte1Ok","arrayIdTypePaiement","montantCarte2","accomptePredefini","numdossierCrypte","emailContact","isCarte1","isCarte2","nomTitulaire","newCodeProduit","_verifierDonnee","devise","typeLibelleMttAPayer","numeroDossier","verifierDonnee","dataPax","indexPassager","erreur","_EnregistrePassagers","nbAdultes","_changeNbrePassager","_loadInfosVoyageur","_setMaskNaissance","buttons","typePassagerSuppl","once","btnDeletePax","Promise","resolve","reject","typepassager","nbAdo","nbEnfant","nbBebe","paxDelete","elements","utilitaire","blockSelectPassagers","blockSelectPassagersId","selectsPassagers","codeTypeCircuit","property","changeNbPassagers","index","_LoadNombreVoyageur","eventChangeNbrePassager","jqXHR","textStatus","nbPaxIsOdd","arr","isFormIsComplete","str","URLSearchParams","FormData","x","y","z","replaceAll","reduce","selectCivilite","_toggleFieldNomUsage","civilite","selectorParent","_this","goToContinue","continueToInscriptionIndiv","ibBlock","blockContainer","clone","importNode","appendChild","Voyageurs","poseOption","eventClickInscription","popupNoChildrens","_isFamilyTravelers","isFamily","hasChildrenTravelers","_submitForm","idListSelectChildren","nbreChildren"],"mappings":"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","file":"static/scripts/inscription.js.map","sourcesContent":["/*!\r\n * maska v1.5.0\r\n * (c) 2019-2021 Alexander Shabunevich\r\n * Released under the MIT License.\r\n */\r\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).Maska={})}(this,(function(e){\"use strict\";function t(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:s,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return u(t).length>1?l(t)(e,t,n,r):p(e,t,n,r)}function u(e){try{return JSON.parse(e)}catch(t){return[e]}}function l(e){var t=u(e).sort((function(e,t){return e.length-t.length}));return function(e,r,a){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=t.map((function(t){return p(e,t,a,!1)})),i=s.pop();for(var u in t)if(n(i,t[u],a))return p(e,t[u],a,o);return\"\"};function n(e,t,n){for(var r in n)n[r].escape&&(t=t.replace(new RegExp(r+\".{1}\",\"g\"),\"\"));return t.split(\"\").filter((function(e){return n[e]&&n[e].pattern})).length>=e.length}}function p(e,t,n){for(var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=0,o=0,s=\"\",i=\"\";a1&&void 0!==arguments[1]?arguments[1]:{};if(t(this,e),!n)throw new Error(\"Maska: no element for mask\");if(null!=a.preprocessor&&\"function\"!=typeof a.preprocessor)throw new Error(\"Maska: preprocessor must be a function\");if(a.tokens)for(var i in a.tokens)a.tokens[i]=o({},a.tokens[i]),a.tokens[i].pattern&&v(a.tokens[i].pattern)&&(a.tokens[i].pattern=new RegExp(a.tokens[i].pattern));this._opts={mask:a.mask,tokens:o(o({},s),a.tokens),preprocessor:a.preprocessor},this._el=v(n)?document.querySelectorAll(n):n.length?n:[n],this.inputEvent=function(e){return r.updateValue(e.target,e)},this.init()}var r,a,u;return r=e,(a=[{key:\"init\",value:function(){for(var e=this,t=function(t){var n=f(e._el[t]);!e._opts.mask||n.dataset.mask&&n.dataset.mask===e._opts.mask||(n.dataset.mask=e._opts.mask),setTimeout((function(){return e.updateValue(n)}),0),n.dataset.maskInited||(n.dataset.maskInited=!0,n.addEventListener(\"input\",e.inputEvent),n.addEventListener(\"beforeinput\",e.beforeInput))},n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=document.createEvent(\"Event\");return n.initEvent(e,!0,!0),t&&(n.inputType=t),n}(e,n&&n.inputType||null))}}])&&n(r.prototype,a),u&&n(r,u),e}();var h,k=(h=new WeakMap,function(e,t){t.value&&(h.has(e)&&!function(e){return!(v(e.value)&&e.value===e.oldValue||Array.isArray(e.value)&&JSON.stringify(e.value)===JSON.stringify(e.oldValue)||e.value&&e.value.mask&&e.oldValue&&e.oldValue.mask&&e.value.mask===e.oldValue.mask)}(t)||h.set(e,new d(e,function(e){var t={};return e.mask?(t.mask=Array.isArray(e.mask)?JSON.stringify(e.mask):e.mask,t.tokens=e.tokens?o({},e.tokens):{},t.preprocessor=e.preprocessor):t.mask=Array.isArray(e)?JSON.stringify(e):e,t}(t.value))))});function m(e){e.directive(\"maska\",k)}\"undefined\"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(m),e.create=function(e,t){return new d(e,t)},e.default=m,e.install=m,e.mask=i,e.maska=k,e.tokens=s,Object.defineProperty(e,\"__esModule\",{value:!0})}));\r\n","const defaults = {\r\n\tbtnOption: document.getElementById('btnOption'),\r\n\tbtnInscription: document.getElementById('btnInscription'),\r\n\tselectors: {\r\n\t\tfieldsList: '.field__select, .field__input, .field__textarea',\r\n\t\tfieldClass: '.field',\r\n\t\tfieldClassName: 'field',\r\n\t\tfieldActiveClassName: 'form-field--is-active',\r\n\t\t//\t\tfieldFilledClassName: 'form-field--is-filled',\r\n\t\tfieldErrorClassName: 'form-field--is-error',\r\n\t\tclassValidation: 'field-validation-error'\r\n\t},\r\n\tstorageNameRecap: 'recap',\r\n\tdataAttributeBlockRecap: 'data-readmore',\r\n\tutilities: {\r\n\t\tregexMail: /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\\.[a-z]{2,4}$/,\r\n\t\tregexTel: /^((\\+\\d{1,3}(-| )?\\(?\\d\\)?(-| )?\\d{1,5})|(\\(?\\d{2,6}\\)?))(-| )?(\\d{3,4})(-| )?(\\d{4})(( x| ext)\\d{1,5}){0,1}$/,\r\n\t\ttestRegex: function (regex, champ) {\r\n\t\t\tif (!regex.test(champ)) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nclass Inscription {\r\n\tconstructor(config) {\r\n\t\t/// On surcharge {config} par {defaults}\r\n\t\t/// les propriétés de {defaults} ne sont ajoutées que si elles n'existent pas\r\n\t\tthis.config = {\r\n\t\t\t...defaults,\r\n\t\t\t...config\r\n\t\t};\r\n\t}\r\n\r\n\tinitialize() {\r\n\t\tthis.entete();\r\n\t\tthis.recap();\r\n\t}\r\n\r\n\tdebug() {\r\n\t\tconsole.table(this.config);\r\n\t}\r\n\r\n\t/// Function utilisée pour des requêtes serveur\r\n\t/// (mise à jour passagers, recap...)\r\n\t_postRequest(url, data) {\r\n\t\tlet self = this;\r\n\r\n\t\tfetch(url, {\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t\t},\r\n\t\t\t\tbody: JSON.stringify(data)\r\n\t\t\t}).then(res => {\r\n\t\t\t\treturn res.text();\r\n\t\t\t}).then(html => {\r\n\t\t\t\tdocument.getElementById('recapVoyage').innerHTML = html;\r\n\t\t\t}).then(() => {\r\n\t\t\t\t// Comme on a rechargé tout le block, on relance les functions utilisées dans le recap du voyage\r\n\t\t\t\tlet recap = document.getElementById('recapVoyage');\r\n\t\t\t\tself.recap(recap.querySelectorAll(`[${self.config.dataAttributeBlockRecap}]`));\r\n\t\t\t\ttypeof commons.tooltip === 'function' && commons.tooltip();\r\n\t\t\t})\r\n\t\t\t.catch(error => console.error(error));\r\n\t}\r\n\r\n\t///\r\n\t///\r\n\t/// Form\r\n\t// form() {\r\n\t// \tlet self = this;\r\n\t// \t//document.addEventListener('DOMContentLoaded', function () {\r\n\t// \tself._formAnimation();\r\n\t// \t//});\r\n\t// }\r\n\r\n\t// /// Gestion de l'état des champs (focus, actif, rempli...)\r\n\t// _formAnimation() {\r\n\t// \tlet self = this;\r\n\t// \tlet selectors = self.config.selectors;\r\n\r\n\t// \t[].forEach.call(\r\n\t// \t\tdocument.querySelectorAll(selectors.fieldsList),\r\n\t// \t\t(el) => {\r\n\r\n\t// \t\t\tel.onchange = () => {\r\n\t// \t\t\t\tel.value != '' && self._animationField(el, false);\r\n\t// \t\t\t}\r\n\t// \t\t\tel.onblur = () => {\r\n\t// \t\t\t\tself._animationField(el, false);\r\n\t// \t\t\t}\r\n\t// \t\t\tel.oninput = () => {\r\n\t// \t\t\t\tself._animationField(el, false);\r\n\t// \t\t\t}\r\n\t// \t\t\tel.onfocus = () => {\r\n\t// \t\t\t\tself._animationField(el, 'focus');\r\n\t// \t\t\t\tself._callbackFocus(el);\r\n\t// \t\t\t}\r\n\t// \t\t\tel.onanimationstart = () => {\r\n\t// \t\t\t\t//console.log(el.value)\r\n\t// \t\t\t\tself._animationField(el, true);\r\n\t// \t\t\t}\r\n\r\n\t// \t\t\tif (el.localName === 'select') {\r\n\t// \t\t\t\tself._animationField(el, false);\r\n\t// \t\t\t} else if (self._placeholderActive(`#${el.id}`)) {\r\n\t// \t\t\t\tself._animationField(el, false);\r\n\t// \t\t\t} else {\r\n\t// \t\t\t\tel.value != '' && self._animationField(el, false);\r\n\t// \t\t\t}\r\n\t// \t\t}\r\n\t// \t);\r\n\t// }\r\n\r\n\r\n\t/// UTILITIES\r\n\t/// permet de détécter si un input a un placeholder\r\n\t_placeholderActive(selector) {\r\n\t\treturn !!document.querySelector(selector + ':placeholder-shown');\r\n\t}\r\n\r\n\t/// Utility : submit du form\r\n\t_submitForm(id, submitBtn) {\r\n\t\tlet form = document.getElementById(id);\r\n\t\tlet submitButton = form.querySelector(`#${submitBtn}`);\r\n\r\n\t\tif (form.requestSubmit) {\r\n\t\t\tif (submitButton) {\r\n\t\t\t\tform.requestSubmit(submitButton);\r\n\t\t\t} else {\r\n\t\t\t\tform.requestSubmit();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tform.submit();\r\n\t\t}\r\n\t}\r\n\r\n\t/// Utility : toggle state du btn de validation\r\n\t// _stateValidButton(isValid, btn) {\r\n\t// \tif (isValid) {\r\n\t// \t\tbtn.classList.remove('is-disabled');\r\n\t// \t} else {\r\n\t// \t\tbtn.classList.add('is-disabled');\r\n\t// \t}\r\n\t// }\r\n\r\n\t/// Gestion de l'animation du label au focus et au blur\r\n\t// _animationField(el, active) {\r\n\t// \tlet self = this;\r\n\t// \tlet selectors = self.config.selectors;\r\n\t// \tconst formField = el.parentNode;\r\n\r\n\t// \tif (active) {\r\n\t// \t\tformField.classList.remove(selectors.fieldActiveClassName);\r\n\t// \t\tformField.classList.add(selectors.fieldFilledClassName);\r\n\t// \t} else if (active === 'focus') {\r\n\t// \t\tformField.classList.add(selectors.fieldActiveClassName)\r\n\t// \t} else {\r\n\t// \t\tformField.classList.remove(selectors.fieldActiveClassName)\r\n\r\n\t// \t\tif (el.value === '') {\r\n\t// \t\t\tself._placeholderActive(`#${el.id}`) ? formField.classList.add(selectors.fieldFilledClassName) :\r\n\t// \t\t\t\tformField.classList.remove(selectors.fieldFilledClassName);\r\n\t// \t\t\tif (el.localName === 'select') {\r\n\t// \t\t\t\tel.options[el.selectedIndex].text === '--' ? formField.classList.add(selectors.fieldFilledClassName) :\r\n\t// \t\t\t\t\tformField.classList.remove(selectors.fieldFilledClassName);\r\n\t// \t\t\t}\r\n\t// \t\t} else {\r\n\t// \t\t\tformField.classList.add(selectors.fieldFilledClassName);\r\n\t// \t\t}\r\n\t// \t}\r\n\t// }\r\n\r\n\t/// Au cas où le champ soit en erreur,\r\n\t/// au focus, on retire l'erreur\r\n\t_callbackFocus(el) {\r\n\t\tlet self = this;\r\n\t\tlet selectors = self.config.selectors;\r\n\r\n\t\tconst field = el.parentNode.classList.contains(selectors.fieldClassName) ? el.parentNode : el.parentNode.parentNode;\r\n\t\tfield.classList.remove(selectors.fieldErrorClassName);\r\n\t}\r\n\r\n\r\n\t///\r\n\t///\r\n\t/// Gestion du block étapes\r\n\tentete() {\r\n\t\tlet self = this;\r\n\r\n\t\tlet steps = document.querySelector('.steps');\r\n\r\n\t\tif (steps === null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tlet li = steps.querySelectorAll('.steps-segment');\r\n\t\tli[config.step - 1].classList.add('is-active');\r\n\t\tfor (var i = 0; i < config.step - 1; i++) {\r\n\t\t\tli[i].classList.add('is-complete');\r\n\t\t}\r\n\t\t/*\r\n\t\t\t\tlet info = li[config.step - 1].getBoundingClientRect();\r\n\r\n\t\t\t\tif (document.body.getBoundingClientRect().width < 768) {\r\n\t\t\t\t\tli.forEach(function (el) {\r\n\t\t\t\t\t\tlet left = `50% - 12px - ${info.left}px - ${info.width}px / 2`; // On centre le
  • : 50% - PaddingRight - MarginLeftUl - positionLeftLi - moitiéWidthLi\r\n\t\t\t\t\t\tel.style.left = `calc(${left})`;\r\n\t\t\t\t\t});\r\n\t\t\t\t}*/\r\n\r\n\t\t/// On bloque le retour arrière sur les pages de confirmation\r\n\t\tif (config.page != 'confirmation') {\r\n\t\t\t/// On ne garde que les
  • qui ont un attribut data-step\r\n\t\t\tlet etapes = [];\r\n\t\t\tfor (let etape of li) {\r\n\t\t\t\tif (etape.dataset.step != null) {\r\n\t\t\t\t\tetapes.push(etape)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tetapes.forEach(function (el) {\r\n\t\t\t\tel.addEventListener('click', function (e) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tself._goToEntete(el);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t// Gestion retour à une page précédente depuis le steps\r\n\t// @TODO gerer submit sans jQuery\r\n\t_goToEntete(el) {\r\n\t\tlet self = this;\r\n\t\tlet msgPagePaiement = \"Vous êtes en train de réaliser une opération importante. Êtes-vous sûrs de vouloir quitter la page ?\";\r\n\r\n\t\tlet etape = this.config.step;\r\n\t\t// On vérifie que l'on clique bien sur une étape précédente\r\n\t\tlet isStepPrev = parseInt(el.dataset.step) < etape;\r\n\r\n\t\tif (isStepPrev) {\r\n\t\t\tlet url = el.dataset.urlStep;\r\n\t\t\tif (document.getElementById('HiddenUrlEnteteClick') !== null) {\r\n\t\t\t\tdocument.getElementById('HiddenUrlEnteteClick').value = url;\r\n\t\t\t}\r\n\r\n\t\t\tswitch (el.dataset.pageStep) {\r\n\t\t\tcase \"nb_voyageurs\":\r\n\t\t\t\tif (etape == 2 && this.config.page == 'coordonnees')\r\n\t\t\t\t\t$(\"#infosCoordonneesForm\").submit();\r\n\t\t\t\telse if (etape == 3)\r\n\t\t\t\t\t$(\"#optionsForm\").submit();\r\n\t\t\t\telse if (etape == 4) {\r\n\t\t\t\t\tself._confirmBackPopup(msgPagePaiement, 'voyageurs', url);\r\n\t\t\t\t} else\r\n\t\t\t\t\twindow.location.href = url;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"coordonnees_voyageurs\":\r\n\t\t\t\tif (etape == 3) {\r\n\t\t\t\t\t$('[name=\"precedent\"]').trigger('click');\r\n\t\t\t\t} else if (etape == 4) {\r\n\t\t\t\t\tself._confirmBackPopup(msgPagePaiement, 'coordonnées', url);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"options-assurances\":\r\n\t\t\t\tif (etape == 4) {\r\n\t\t\t\t\tself._confirmBackPopup(msgPagePaiement, 'options', url);\r\n\t\t\t\t}\r\n\t\t\t\tif (etape == 2 && config.path === \"relance\") {\r\n\t\t\t\t\tself._confirmBackPopup(msgPagePaiement, 'Votre voyage', url);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tconsole.error(`Le nom de page \"${el.dataset.pageStep}\" est inconnu.`)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/// Appel d'une modale en cas de retour arrière\r\n\t_confirmBackPopup(msg, page, url) {\r\n\t\tmodalPopup.callback = function () {\r\n\t\t\tdocument.getElementById('popupValidButton').classList.remove('btn--action');\r\n\t\t\tdocument.getElementById('popupValidButton').addEventListener('click', function () {\r\n\t\t\t\twindow.location.href = url;\r\n\t\t\t})\r\n\t\t\tdocument.getElementById('popupCancelButton').addEventListener('click', function () {\r\n\t\t\t\tmodalPopup.close();\r\n\t\t\t})\r\n\t\t}\r\n\t\tmodalPopup.callback();\r\n\t\tmodalPopup.init(msg, 'Voulez-vous vraiment quitter la page ?', 'Annuler', `Revenir à la page ${page}`)\r\n\t}\r\n\r\n\t///\r\n\t///\r\n\t/// Toggle blocks du récapitulatif\r\n\trecap(element) {\r\n\t\tlet self = this;\r\n\t\tlet el = element || document.querySelectorAll(`[${self.config.dataAttributeBlockRecap}]`);\r\n\t\tlet dataStorageRecap = window.sessionStorage.getItem(self.config.storageNameRecap);\r\n\t\t/// Si aucun élément n'est enregistré\r\n\t\t/// On enregistre l'état des éléments\r\n\t\tif (dataStorageRecap === null) {\r\n\t\t\tself._initStateRecap(el)\r\n\t\t}\r\n\t\t/// Sinon on met à jour la colonne récap\r\n\t\telse {\r\n\t\t\tself._getStateRecap(el, dataStorageRecap);\r\n\t\t}\r\n\r\n\t\t/// Événement click sur un block\r\n\t\tel.forEach(element => {\r\n\t\t\telement.addEventListener('click', function (el) {\r\n\t\t\t\tlet newValue = !JSON.parse(el.target.getAttribute(self.config.dataAttributeBlockRecap));\r\n\t\t\t\tel.target.setAttribute(self.config.dataAttributeBlockRecap, newValue);\r\n\t\t\t\tlet obj = {};\r\n\t\t\t\tlet nameBlock = el.target.dataset.readmoreBlock;\r\n\t\t\t\tobj[nameBlock] = newValue;\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tself._updateStateRecap(obj)\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.error(e)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tlet btnPDF = document.getElementById('btnModalPDF');\r\n\t\tif (config.page != 'tunnel' && btnPDF !== null) {\r\n\t\t\tbtnPDF.addEventListener('click', function (el) {\r\n\t\t\t\tcommons.loader.loading();\r\n\t\t\t\tlet url = el.target.dataset.urlPdf;\r\n\t\t\t\tself.modalFicheTechnique(url + config.codeProduit);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif(this.config.isSuisse) {\r\n\t\t\tsettingsApp.modules.componentTooltip.then((e) => {\r\n\t\t\t\tlet component = require('components/tooltip');\r\n\t\t\t\tnew component()\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\t/// On enregistre dans un sessionStorage\r\n\t/// l'état d'ouverture des blocks du récap\r\n\t_initStateRecap(element) {\r\n\t\tlet self = this;\r\n\t\tlet stateRecap = {};\r\n\r\n\t\telement.forEach(el => {\r\n\t\t\tlet id = el.dataset.readmoreBlock;\r\n\t\t\tstateRecap[id] = JSON.parse(el.getAttribute(self.config.dataAttributeBlockRecap));\r\n\t\t});\r\n\t\twindow.sessionStorage.setItem(self.config.storageNameRecap, JSON.stringify(stateRecap));\r\n\t}\r\n\r\n\t/// On récupère l'état d'ouverture des blocks du récap\r\n\t/// depuis le sessionStorage\r\n\t_getStateRecap(element, storageStateRecap) {\r\n\t\tlet self = this;\r\n\r\n\t\telement.forEach(el => {\r\n\t\t\tlet id = el.dataset.readmoreBlock;\r\n\t\t\tlet value = JSON.parse(storageStateRecap)[id] === undefined ? el.dataset.readmore : JSON.parse(storageStateRecap)[id];\r\n\t\t\tel.setAttribute(self.config.dataAttributeBlockRecap, value);\r\n\t\t});\r\n\t}\r\n\r\n\t/// On ouvre / ferme le block récap\r\n\t/// on enregistre le nouvel état dans sessionStorage\r\n\t_updateStateRecap(value) {\r\n\t\tlet self = this;\r\n\t\tlet prevData = JSON.parse(sessionStorage.getItem(self.config.storageNameRecap));\r\n\r\n\t\tObject.keys(value).forEach(function (val) {\r\n\t\t\tprevData[val] = value[val];\r\n\t\t})\r\n\t\tsessionStorage.setItem(self.config.storageNameRecap, JSON.stringify(prevData));\r\n\t}\r\n\r\n\t/// Uniquement sur les pages de relance\r\n\tmodalFicheTechnique(url) {\r\n\t\tlet self = this;\r\n\t\tvar myHeaders = new Headers();\r\n\t\tvar myInit = {\r\n\t\t\tmethod: 'GET',\r\n\t\t\theaders: myHeaders,\r\n\t\t\tmode: 'cors',\r\n\t\t\tcache: 'default'\r\n\t\t};\r\n\r\n\t\tfetch(url, myInit).then(res => {\r\n\t\t\treturn res.text();\r\n\t\t}).then(data => {\r\n\t\t\tmodalPopup.overrideStyles = false;\r\n\t\t\tmodalPopup.init(\"\", \"Demande de fiche technique\");\r\n\t\t\tdocument.querySelector(modalPopup.items.popupModal).classList.add('modal--ficheTechnique');\r\n\t\t\tdocument.getElementById('popupContent').innerHTML = data;\r\n\t\t\tcommons.loader.loaded();\r\n\t\t}).then(el => {\r\n\t\t\tlet btnValidation = document.getElementById('btnDemandeFT');\r\n\t\t\tself._checkDataFt(btnValidation);\r\n\t\t\t/// On n'ajoute qu'une seule fois le listener\r\n\t\t\tif (document.querySelector('.modal--ficheTechnique').dataset.listener === undefined) {\r\n\t\t\t\tdocument.querySelector('.modal--ficheTechnique').addEventListener('click', function (el) {\r\n\t\t\t\t\tself._sendFT(el);\r\n\t\t\t\t\tdocument.querySelector('.modal--ficheTechnique').setAttribute('data-listener', true);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).catch(error => console.error(error));\r\n\t}\r\n\r\n\t_sendFT(el) {\r\n\t\tlet self = this;\r\n\t\tif (el.target.id === 'btnDemandeFT') {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: config.url.pdf,\r\n\t\t\t\tasync: false,\r\n\t\t\t\ttype: 'POST',\r\n\t\t\t\tdata: $('#DemandeFiche').serialize(),\r\n\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t$('#popupContent').html(data);\r\n\t\t\t\t},\r\n\t\t\t\terror: function () {\r\n\t\t\t\t\talert('Une erreur est survenue lors de l\\'envoi de la fiche technique');\r\n\t\t\t\t},\r\n\t\t\t\tcomplete: function () {\r\n\t\t\t\t\tlet btnValidation = document.getElementById('btnDemandeFT');\r\n\t\t\t\t\tbtnValidation !== null && self._checkDataFt(btnValidation);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t///\r\n\t/// check email demande FT\r\n\t_checkDataFt(btn, idEmail = 'Email', idForm = 'DemandeFiche', event = 'focusout') {\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\t\tlet emailIsGood = utilities.checkForm(idForm, idEmail);\r\n\r\n\t\tdocument.getElementById(idEmail).addEventListener(event, function () {\r\n\t\t\temailIsGood = utilities.checkForm(idForm, idEmail);\r\n\t\t});\r\n\t}\r\n}","/// Ce script est également appelé\r\n/// sur la page de création spontanée de l'espace client\r\nclass Compte extends Inscription {\r\n\r\n\t/// Il s'agit de la fonction appelée sur chacune des pages du tunnel\r\n\tinitialize() {\r\n\t\tlet self = this;\r\n\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\t\tconst formulaire = new Formulaire(config.form);\r\n\r\n\t\tlet objSelectors = {\r\n\t\t\tform: document.getElementById('RegisterForm'),\r\n\t\t\tidForm: 'RegisterForm',\r\n\t\t\tbtnConnexionCompte: document.getElementById('goToCoord')\r\n\t\t}\r\n\t\tlet dataRequired = ['Civilite', \"Nom\", \"Prenom\", \"DateNaissance\", \"Pays\", \"NumeroLibelleVoie\", \"CodePostal\", \"Ville\", \"Email\", \"Password\"];\r\n\r\n\t\tlet dqeObj = {\r\n\t\t\tserver: \"jsonp\",\r\n\t\t\tlicense: \"TERDAV\",\r\n\t\t\tsingle: \"#NumeroLibelleVoie\",\r\n\t\t\tzip: \"#CodePostal\",\r\n\t\t\tcity: \"#Ville\",\r\n\t\t\tcompl: \"#ComplementImmeuble\",\r\n\t\t\tstreet: \"#NumeroLibelleVoie\",\r\n\t\t\tlocal: \"#Adresse4\",\r\n\t\t\tcountry: \"#Pays\"\r\n\t\t}\r\n\r\n\t\t/// On lance les fonctions génériques (récap, tunnel)\r\n\t\t/// uniquement sur le tunnel d'achat (et non sur account/creation)\r\n\t\tif (this.config.path === 'tunnel') {\r\n\t\t\tsuper.initialize();\r\n\t\t} else if (this.config.page === 'creation') {\r\n\t\t\tobjSelectors.btnConnexionCompte = document.getElementById('goToEspaceClient');\r\n\t\t} else if (this.config.page === 'password') {\r\n\t\t\tdataRequired = ['Email']\r\n\t\t\tobjSelectors = {\r\n\t\t\t\tform: document.getElementById('LightPasswordRenew'),\r\n\t\t\t\tidForm: 'LightPasswordRenew',\r\n\t\t\t\tbtnConnexionCompte: document.getElementById('btnValider')\r\n\t\t\t}\r\n\t\t} else if (this.config.page === 'passwordactivation') {\r\n\t\t\tdataRequired = ['Password', 'ConfirmPassword']\r\n\t\t\tobjSelectors = {\r\n\t\t\t\tform: document.getElementById('PasswordActivation'),\r\n\t\t\t\tidForm: 'PasswordActivation',\r\n\t\t\t\tbtnConnexionCompte: document.getElementById('btnvalider')\r\n\t\t\t}\r\n\t\t}\r\n\t\t/// Création d'un espace client dans le tunnel d'achat\r\n\t\t/// Création spontanée d'un espace client\r\n\t\tif (this.config.page === 'creation') {\r\n\t\t\tsettingsApp.modules.moduleIndicatifTel.then(() => {\r\n\t\t\t\tconst tel = require(`modules/indicatifTelephonique`);\r\n\t\t\t\tlet indicatifTel = new tel();\r\n\t\t\t\tindicatifTel.initialize();\r\n\t\t\t});\r\n\t\t\t//this.indicatifTelephonique(false, null);\r\n\t\t\t//!this.config.IsCreated && this.indicatifPays();\r\n\t\t\tformulaire.dqe('RegisterForm', dqeObj);\r\n\t\t\t//this.complementTel();\r\n\t\t\tutilities._maskInput('#DateNaissance');\r\n\t\t\tformulaire.initialize(objSelectors.idForm);\r\n\r\n\t\t\tdocument.querySelector('[data-form-submit]').addEventListener('click', function (e) {\r\n\t\t\t\tif (formulaire._isFormValid(document.getElementById('RegisterForm'))) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tformulaire.launchModale(self.Register);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t//super._formAnimation();\r\n\r\n\t\tutilities.initialize();\r\n\r\n\t\t// let arrayId2 = ['password', 'passwordactivation'];\r\n\t\t// if (arrayId2.includes(config.page)) {\r\n\t\t// \tself._setValidBtn(dataRequired, objSelectors);\r\n\t\t// \tobjSelectors.form.addEventListener(\"input\", function () {\r\n\t\t// \t\tself._setValidBtn(dataRequired, objSelectors);\r\n\r\n\t\t// \t\tif (config.page === 'passwordactivation') {\r\n\t\t// \t\t\tlet isValid = document.getElementById(dataRequired[0]).value === document.getElementById(dataRequired[1]).value;\r\n\t\t// \t\t\tif (isValid) {\r\n\t\t// \t\t\t\tobjSelectors.btnConnexionCompte.classList.remove('is-disabled');\r\n\t\t// \t\t\t} else {\r\n\t\t// \t\t\t\tobjSelectors.btnConnexionCompte.classList.add('is-disabled');\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\t\t// }\r\n\t}\r\n\r\n\t/// On met à jour le bouton de validation\r\n\t// _setValidBtn(data, el) {\r\n\t// \tconst utilities = new utilitiesInscription(config);\r\n\t// \tlet isValid = utilities.checkForm(el.idForm, data);\r\n\r\n\t// \tif (isValid) {\r\n\t// \t\tel.btnConnexionCompte.classList.remove('is-disabled');\r\n\t// \t} else {\r\n\t// \t\tel.btnConnexionCompte.classList.add('is-disabled');\r\n\t// \t}\r\n\t// }\r\n\r\n\tindicatifTelephonique(isCallback, value) {\r\n\r\n\t\tlet self = this;\r\n\t\tlet selectindicatif = document.querySelectorAll('.select--indicatif');\r\n\r\n\t\tselectindicatif.forEach(function (el) {\r\n\t\t\tlet box = el.parentElement.querySelector('.box-input');\r\n\t\t\tif (isCallback) {\r\n\t\t\t\tel.value = value;\r\n\t\t\t\tself._boxInput(el, box)\r\n\t\t\t} else {\r\n\t\t\t\tel.addEventListener('change', function (element) {\r\n\t\t\t\t\tself._boxInput(element.target, box)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tindicatifPays() {\r\n\t\tlet self = this;\r\n\t\tlet selectindicatifPays = document.getElementById('Pays');\r\n\r\n\t\tselectindicatifPays.addEventListener('change', function () {\r\n\t\t\tlet value = this.options[this.selectedIndex].value;\r\n\t\t\tself.indicatifTelephonique(true, value)\r\n\t\t});\r\n\t}\r\n\r\n\t_boxInput(el, box) {\r\n\t\tlet text = el.options[el.selectedIndex].text;\r\n\t\tif (text != '----' && text != '--') {\r\n\t\t\tlet value = text.split('(');\r\n\t\t\tlet indicatifNumerique = value[1].slice(0, -1);\r\n\t\t\tif (box != null) {\r\n\t\t\t\tbox.innerText = indicatifNumerique;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tbox.innerText = '';\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tRegister() {\r\n\t\tvar token = $('[name=__RequestVerificationToken]').val();\r\n\t\tvar headers = {};\r\n\t\theaders[\"__RequestVerificationToken\"] = token;\r\n\t\t//$('#erreurEmaildejaExistant').html(\"\");\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: config.url.register,\r\n\t\t\tasync: false,\r\n\t\t\ttype: 'POST',\r\n\t\t\theaders: headers,\r\n\t\t\tdata: $('#RegisterForm').serialize(),\r\n\t\t\tsuccess: function (data) {\r\n\t\t\t\tif (data == 1) {\r\n\r\n\t\t\t\t\t// succes creation espace client via tunnel achat\r\n\t\t\t\t\twindow.location.href = config.url.coord;\r\n\t\t\t\t} else if (data == 2) {\r\n\t\t\t\t\t// le mail existe deja en base, on le redirige vers la connexion\r\n\r\n\t\t\t\t\tlet message = `Il existe déjà un espace client associé à cette adresse email. Si vous êtes le propriétaire de cet espace, cliquer ici pour vous connecter.`;\r\n\t\t\t\t\t$('#erreurEmaildejaExistant').html(message);\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t$(\"#creation-compte\").html(data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}","class Confirmation extends Inscription {\r\n\t/// Il s'agit de la fonction appelée sur chacune des pages du tunnel\r\n\tinitialize() {\r\n\t\tsuper.initialize();\r\n\t}\r\n}","/// Ce script est également appelé\r\n/// sur les pages /EspaceClient/account/*\r\n\r\nclass Connexion extends Inscription {\r\n\t/// Il s'agit de la fonction appelée sur chacune des pages du tunnel\r\n\tinitialize() {\r\n\t\tlet self = this;\r\n\t\tlet objSelectors = {\r\n\t\t\tbtnConnexionCompte: document.getElementById('goToCoordonnees'),\r\n\t\t\tbtnCreationCompte: document.getElementById('goToCreationCompte'),\r\n\t\t\tinputEmailCompte: document.getElementById('email'),\r\n\t\t\tinputPwdCompte: document.getElementById('password')\r\n\t\t}\r\n\r\n\t\tconst formulaire = new Formulaire(config.form);\r\n\r\n\t\t/// on conditionne le lancement des fonctions spécifiques au tunnel\r\n\t\tif (this.config.path === 'tunnel') {\r\n\t\t\t/// On lance les fonctions génériques liées à la class Inscription\r\n\t\t\tsuper.initialize();\r\n\r\n\t\t\tformulaire.initialize('RegisterForm');\r\n\t\t\tformulaire.initialize('LogOnForm');\r\n\r\n\t\t\tdocument.getElementById('goToCoordonnees').addEventListener('click', function (e) {\r\n\r\n\t\t\t\t//if (document.getElementById('LogOnForm').checkValidity()) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tself.LogOn();\r\n\t\t\t\t//}\r\n\t\t\t})\r\n\r\n\t\t\tdocument.getElementById('goToCreationCompte').addEventListener('click', function (e) {\r\n\t\t\t\tdocument.getElementById('EmailCreation').required = true;\r\n\r\n\t\t\t\t//if (document.getElementById('EmailCreation').validity.valid) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tself.GoToRegister();\r\n\t\t\t\t//}\r\n\r\n\t\t\t})\r\n\r\n\t\t\tself.toggleSection('connexionLogin');\r\n\r\n\t\t\t//document.addEventListener('DOMContentLoaded', function () {\r\n\r\n\t\t\t//\tself.signin();\r\n\t\t\t//});\r\n\r\n\r\n\t\t\tdocument.getElementById('lienConnectezvous').addEventListener('click', function (e) {\r\n\t\t\t\tdocument.querySelector('#EmailCreation + .field-validation-error').style.display = 'none';\r\n\r\n\t\t\t\tlet elCreation = document.getElementById('connexionCreation');\r\n\t\t\t\telCreation.classList.remove('is-error');\r\n\r\n\t\t\t})\r\n\r\n\t\t\tdocument.getElementById('lienCreerUnCompte').addEventListener('click', function (e) {\r\n\t\t\t\tdocument.querySelector('#email + .field-validation-error').style.display = 'none';\r\n\t\t\t\tdocument.querySelector('#password + .field-validation-error').style.display = 'none';\r\n\r\n\t\t\t\tlet elConnexion = document.getElementById('connexionLogin');\r\n\t\t\t\telConnexion.querySelectorAll('.field').forEach(el => el.classList.remove('is-error'));\r\n\r\n\t\t\t})\r\n\r\n\t\t} else if (this.config.path === 'espaceClient/account') {\r\n\t\t\tif (this.config.page === 'logon') {\r\n\t\t\t\tformulaire.initialize('LogOnConnecForm');\r\n\r\n\t\t\t\tobjSelectors.btnConnexionCompte = document.getElementById('btnseconnecterec');\r\n\r\n\t\t\t\tlet fieldsError = document.querySelectorAll('.field-validation-error');\r\n\t\t\t\tfieldsError.forEach(el => {\r\n\t\t\t\t\tif (el.innerText !== '') {\r\n\t\t\t\t\t\tel.parentElement.classList.add('form-field--is-error')\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/// cas du remplissage des champs avec des identifiants enregistrés\r\n\t\t/// champ creation compte dans tunnel\r\n\t\twindow.addEventListener('selectionchange', event => {\r\n\t\t\tif (event.target.id === 'password') {\r\n\t\t\t\tif (document.querySelector('#password + .field-validation-error') !== null) {\r\n\t\t\t\t\tdocument.querySelector('#password + .field-validation-error').style.display = 'none';\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleSection(idHide) {\r\n\t\tlet blockHide = document.getElementById(idHide);\r\n\r\n\t\tdocument.querySelectorAll('.account--link button').forEach(el => {\r\n\t\t\tel.addEventListener('click', function (e) {\r\n\t\t\t\tlet toShow = document.getElementById(e.target.dataset.toggleSectionToShow),\r\n\t\t\t\t\ttoHide = document.getElementById(e.target.dataset.toggleSectionToHide);\r\n\t\t\t\thelpers.hide(toHide);\r\n\t\t\t\thelpers.show(toShow);\r\n\r\n\t\t\t\t/// On change le type des buttons\r\n\t\t\t\t// blockHide.querySelector('[data-form-submit]').type = 'button';\r\n\t\t\t\t// toShow.querySelector('[data-form-submit]').type = 'submit';\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\tGoToRegister() {\r\n\r\n\t\t//var token = $('[name=__RequestVerificationToken]').val();\r\n\t\t//var headers = {};\r\n\t\t//headers[\"__RequestVerificationToken\"] = token;\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: config.url.GoToRegister,\r\n\t\t\tasync: false,\r\n\t\t\ttype: 'POST',\r\n\t\t\t//headers: headers,\r\n\t\t\tdata: $('#RegisterForm').serialize(),\r\n\t\t\tsuccess: function (data) {\r\n\r\n\t\t\t\tswitch (data) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\twindow.location.href = config.url.creation;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\tvar url = config.url.connexion;\r\n\r\n\t\t\t\t\tif (url.includes(\"/inscription/connexion\")) {\r\n\t\t\t\t\t\twindow.location.href = url;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\r\n\t\t\t\t\t$(\"#connexion\").html(data);\r\n\t\t\t\t\tlet elCreation = document.getElementById('connexionCreation'),\r\n\t\t\t\t\t\telConnexion = document.getElementById('connexionLogin');\r\n\r\n\t\t\t\t\thelpers.hide(elConnexion);\r\n\t\t\t\t\thelpers.show(elCreation);\r\n\r\n\t\t\t\t\ttunnelApp.initialize();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tLogOn() {\r\n\r\n\t\t//var token = $('[name=__RequestVerificationToken]').val();\r\n\t\t//var headers = {};\r\n\t\t//headers[\"__RequestVerificationToken\"] = token;\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: config.url.LogOn,\r\n\t\t\tasync: false,\r\n\t\t\ttype: 'POST',\r\n\t\t\t//headers: headers,\r\n\t\t\tdata: $('#LogOnForm').serialize(),\r\n\t\t\tsuccess: function (data) {\r\n\r\n\t\t\t\tswitch (data) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\twindow.location.href = config.url.coord;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\tvar url = config.url.connexion;\r\n\r\n\t\t\t\t\tif (url.includes(\"/inscription/connexion\")) {\r\n\t\t\t\t\t\twindow.location.href = url;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\r\n\t\t\t\t\t$(\"#connexion\").html(data);\r\n\t\t\t\t\tlet elCreation = document.getElementById('connexionCreation'),\r\n\t\t\t\t\t\telConnexion = document.getElementById('connexionLogin');\r\n\r\n\t\t\t\t\thelpers.hide(elCreation);\r\n\t\t\t\t\thelpers.show(elConnexion);\r\n\r\n\t\t\t\t\tnew app(); // password\r\n\t\t\t\t\ttunnelApp.initialize();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsignin() {\r\n\t\tlet self = this;\r\n\t\tlet btnCreationCompte = document.getElementById('goToCreationCompte');\r\n\t\tlet inputCreationCompte = document.getElementById('EmailCreation');\r\n\t\tlet isInit = true; /// pour ne pas mettre le champ en erreur au load de la page\r\n\r\n\t\t/// On gère le focusIn et le focusOut\r\n\t\tself._events(inputCreationCompte, btnCreationCompte, isInit, 'RegisterForm');\r\n\r\n\t}\r\n\r\n\t/// @Event\r\n\t/// Gestion des focus des champs emails et password\r\n\t_events(input, btn, isInit, formElement) {\r\n\t\tlet self = this;\r\n\t\tconst regexMail = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\\.[a-z]{2,4}$/;\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\t\tutilities._getDataForm(formElement);\r\n\r\n\r\n\t\t///\tOn met à jour le btn de validation et les champs d'erreur\r\n\t\tlet eventsList = ['focusin', 'input', 'keyup'];\r\n\t\tfor (let event of eventsList) {\r\n\t\t\tinput.addEventListener(event, (event) => {\r\n\t\t\t\tevent.target.closest('.field').classList.remove('form-field--is-error');\r\n\t\t\t\tif (event.target.nextElementSibling != null) {\r\n\t\t\t\t\tevent.target.nextElementSibling.innerHTML = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/// @Boolean\r\n\t/// Teste si le champ est correctement rempli et renvoie true|false\r\n\t_isValid(input, isInit) {\r\n\t\tlet value = input.value;\r\n\t\tif (!isInit) {\r\n\t\t\tif (input.type === 'email') {\r\n\t\t\t\tif (this.config.utilities.testRegex(this.config.utilities.regexMail, value)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet msg = 'Votre email est incorrect';\r\n\t\t\t\t\tinput.closest('.field').classList.add('form-field--is-error');\r\n\t\t\t\t\tif (input.nextElementSibling != null) {\r\n\t\t\t\t\t\tinput.nextElementSibling.innerHTML = msg;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (value === '') {\r\n\t\t\t\tlet msg = 'Ce champ ne peut pas être vide';\r\n\t\t\t\tinput.closest('.field').classList.add('form-field--is-error');\r\n\t\t\t\tif (input.nextElementSibling != null) {\r\n\t\t\t\t\tinput.nextElementSibling.innerHTML = msg;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n}","class Coordonnees extends Inscription {\r\n\t/// Il s'agit de la fonction appelée sur chacune des pages du tunnel\r\n\tinitialize() {\r\n\r\n\t\t/// Variables et classes\r\n\t\tlet self = this;\r\n\r\n\t\tconst passager = new passagerInscription(config);\r\n\t\tconst formulaire = new Formulaire(config.form);\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\r\n\t\tlet btn = document.getElementById('valideCoordonnees');\r\n\t\tlet form = document.getElementById('infosCoordonneesForm');\r\n\t\tlet listPax = document.querySelectorAll('.coordonnees__pax');\r\n\r\n\r\n\t\t/// Initialisation des functions\r\n\t\tsuper.initialize();\r\n\t\t//super.form();\r\n\t\tthis.pax();\r\n\t\tformulaire.initialize('infosCoordonneesForm');\r\n\r\n\t\t///\r\n\t\t/// Events\r\n\r\n\t\t// Add or delete Pax\r\n\t\tpassager.deletePax(self.config.isTravelOnlyAdult);\r\n\r\n\t\tlet btnsAdd = document.querySelectorAll('.btn--addTraveler');\r\n\t\tfor (let btnAdd of btnsAdd) {\r\n\t\t\tbtnAdd.addEventListener('click', function () {\r\n\t\t\t\tself.newPax(self.config.isTravelOnlyAdult);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\t// Formulaire, mask champ date de naissance et btn de validation\r\n\t\t//form.onsubmit = self._changementTypePassager();\r\n\t\tform.onsubmit = self._changementTypePassager();\r\n\r\n\t\tfor (var i = 0; i < listPax.length; i++) {\r\n\t\t\tlet inputPaxDateNaissance = document.getElementById(`Inscription_ColInfoVoyageur_${i}__DateNaissance`);\r\n\t\t\tutilities._maskInput(inputPaxDateNaissance);\r\n\t\t}\r\n\r\n\t\t// Cas liberté\r\n\t\tif (config.liberte) {\r\n\t\t\tbtn.addEventListener('click', function (e) {\r\n\t\t\t\tself.liberteChangementNbrePassagerModal(btn, formulaire, form, e);\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t/// Contrôle doublon\r\n\t\t\tbtn.addEventListener('click', function (e) {\r\n\t\t\t\tself.saisieControleModal(btn, formulaire, form, e);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/// @Modal\r\n\t/// On vérifie la saisie des coordonnées voyageurs\r\n\t/// => contrôle des éléments saisie\r\n\tsaisieControleModal(btn, formulaireCheck, form, e) {\r\n\t\tlet obj = {};\r\n\r\n\t\t//btn.addEventListener('click', function (e) {\r\n\t\tlet arrayAllPax = [];\r\n\t\te.preventDefault();\r\n\t\t/// On vérifie que le formulaire est ok avant de vérifier les doublons dans la saisie\r\n\t\tif (formulaireCheck._isFormValid(form)) {\r\n\t\t\t/// On parcourt la liste des pax\r\n\t\t\tfor (var i = 0; i < document.querySelectorAll('.coordonnees__pax').length; i++) {\r\n\t\t\t\tlet nom = document.getElementById(`Inscription_ColInfoVoyageur_${i}__Nom`).value;\r\n\t\t\t\tlet prenom = document.getElementById(`Inscription_ColInfoVoyageur_${i}__Prenom`).value;\r\n\t\t\t\tobj = formulaireCheck.controleSaisieCoordonnesDoublons(nom, prenom, '', `Inscription_ColInfoVoyageur_${i}__NomUsage`);\r\n\r\n\t\t\t\t/// Si le test de controle de saisie renvoie un message\r\n\t\t\t\t/// alors le formulaire est erroné et on empêche la soumission\r\n\t\t\t\tif (obj.modale) {\r\n\t\t\t\t\t// Fonction appelée lorsque l'on souhaite confirmer les données saisies\r\n\t\t\t\t\tmodalPopup.callback = function () {\r\n\t\t\t\t\t\tif (form.requestSubmit) {\r\n\t\t\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').requestSubmit(btn);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlet inputHiddenSuivant = document.createElement('input');\r\n\t\t\t\t\t\t\tinputHiddenSuivant.type = 'hidden';\r\n\t\t\t\t\t\t\tinputHiddenSuivant.name = e.target.name;\r\n\t\t\t\t\t\t\tinputHiddenSuivant.value = e.target.value;\r\n\t\t\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').append(inputHiddenSuivant);\r\n\t\t\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').submit();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tmodalPopup.close();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (document.getElementById(modalPopup.items.idButtonCancel).tagName === 'A') {\r\n\t\t\t\t\t\tlet btnHtml = '';\r\n\t\t\t\t\t\tdocument.getElementById(modalPopup.items.idButtonCancel).parentElement.innerHTML = btnHtml;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmodalPopup.init(obj.messageDoublonNomSaisie, \"\", \"Corriger\", obj.libellebouton);\r\n\r\n\t\t\t\t\tarrayAllPax.push(false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tarrayAllPax.push(true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst formIsOk = arrayAllPax.every(bool => bool);\r\n\r\n\t\t\tif (formIsOk) {\r\n\t\t\t\tif (form.requestSubmit) {\r\n\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').requestSubmit(btn);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet inputHiddenSuivant = document.createElement('input');\r\n\t\t\t\t\tinputHiddenSuivant.type = 'hidden';\r\n\t\t\t\t\tinputHiddenSuivant.name = e.target.name;\r\n\t\t\t\t\tinputHiddenSuivant.value = e.target.value;\r\n\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').append(inputHiddenSuivant);\r\n\t\t\t\t\tdocument.getElementById('infosCoordonneesForm').submit();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (form.requestSubmit) {\r\n\t\t\t\tdocument.getElementById('infosCoordonneesForm').requestSubmit(btn);\r\n\t\t\t} else {\r\n\t\t\t\tlet inputHiddenSuivant = document.createElement('input');\r\n\t\t\t\tinputHiddenSuivant.type = 'hidden';\r\n\t\t\t\tinputHiddenSuivant.name = e.target.name;\r\n\t\t\t\tinputHiddenSuivant.value = e.target.value;\r\n\t\t\t\tdocument.getElementById('infosCoordonneesForm').append(inputHiddenSuivant);\r\n\t\t\t\tdocument.getElementById('infosCoordonneesForm').submit();\r\n\t\t\t}\r\n\t\t}\r\n\t\t//});\r\n\t}\r\n\r\n\t/// @Modal\r\n\t/// Sur les circuits liberté, lorsque le nombre de passagers change par rapport à la formule initiale,\r\n\t/// on lance une modale demandant de choisir entre poursuivre l'inscription et demander un devis\r\n\tliberteChangementNbrePassagerModal(btn, formulaire, form, e) {\r\n\t\tlet self = this;\r\n\t\tlet msg = {\r\n\t\t\tpopupModificationNbrePassagers: {\r\n\t\t\t\t'title': 'Votre demande initiale a été modifiée',\r\n\t\t\t\t'texte': `

    Vous avez modifié le nombre de voyageurs par rapport à votre demande initiale.
    Les prix seront actualisés en conséquence.

    `\r\n\t\t\t},\r\n\t\t\tpopupDevis: {\r\n\t\t\t\t'title': 'Demander un devis',\r\n\t\t\t\t'texte': `

    Pour le nombre de personnes que vous venez de renseigner, nous vous proposons de remplir la demande de devis qui suit

    Demande de devis

    Un conseiller Terres d’Aventure prendra contact avec vous très rapidement pour finaliser votre projet.

    `\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//btn.addEventListener('click', function (e) {\r\n\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tlet nbPax = document.getElementById('HiddenNbVoyageurs').value;\r\n\r\n\t\t\tconst utilities = new utilitiesInscription(config);\r\n\t\t\tlet stopGo = utilities._poursuiteInscriptionIndiv(nbPax);\r\n\r\n\t\t\tstopGo.then(function (response) {\r\n\r\n\t\t\t\tif (response) {\r\n\t\t\t\t\tself.saisieControleModal(btn, formulaire, form, e);\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tmodalPopup.init(msg.popupDevis.texte, msg.popupDevis.title);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\t\r\n\t}\r\n\r\n\t_changementTypePassager() {\r\n\t\tdocument.addEventListener('DOMContentLoaded', function () {\r\n\t\t\tlet msgInfoVoyageurs = document.getElementById('HiddeMessageInfoVoyageurs').value;\r\n\r\n\t\t\tif (msgInfoVoyageurs != '') {\r\n\t\t\t\tmodalPopup.overrideStyles = false;\r\n\t\t\t\tmodalPopup.init(\"\", msgInfoVoyageurs);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t}\r\n\r\n\t/// @Event\r\n\t/// Fonction appelée lors de l'ajout d'un passager\r\n\t/// Cas générique : on exécute la requête eventAddNewPassager()\r\n\t/// Cas liberté/Famille : on ouvre une modale pour demander le type souhaité du nouveau passager\r\n\tnewPax(adultOnly) {\r\n\t\tlet self = this;\r\n\t\tconst passager = new passagerInscription(config);\r\n\r\n\t\t// setTimeout(function () {\r\n\t\t// \tcommons.loader.loading();\r\n\t\t// }, 1);\r\n\r\n\t\tif (adultOnly) {\r\n\t\t\tpassager.eventAddNewPassager();\r\n\t\t} else {\r\n\t\t\tself._modalChoixNewVoyageur();\r\n\t\t}\r\n\t}\r\n\r\n\t/// Si l'on est sur un circuit famille ou liberté,\r\n\t/// Une modale est lancée pour choisir le type de passager\r\n\t_modalChoixNewVoyageur() {\r\n\t\tconst passager = new passagerInscription(config);\r\n\r\n\t\tmodalPopup.overrideStyles = false;\r\n\t\tmodalPopup.init(\"\", \"Ajouter un nouveau voyageur\");\r\n\t\tdocument.querySelector(modalPopup.items.popupModal).classList.add('modal--nouveauVoyageur');\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\t\tutilities._templating('modalChoixNewVoyageur', 'popupContent');\r\n\t\tpassager.eventAddNewPassager();\r\n\t}\r\n\r\n\t///\r\n\t/// Pour les pax déjà connus depuis la page voyageur\r\n\t/// On appelle la fonction gérant le message lié à la civilité\r\n\tpax() {\r\n\t\tconst utilities = new utilitiesInscription(config);\r\n\t\tutilities.initialize();\r\n\t}\r\n}","class Options extends Inscription {\r\n\t/// Il s'agit de la fonction appelée sur chacune des pages du tunnel\r\n\tinitialize() {\r\n\r\n\t\t/// On lance les fonctions génériques (récap, tunnel)\r\n\t\tsuper.initialize();\r\n\t\t//super.form();\r\n\r\n\t\tconst utilities = new utilitiesInscription();\r\n\t\tconst formulaire = new Formulaire(config.form);\r\n\r\n\t\tlet configOptions = {\r\n\t\t\tidBtnOption: 'btnOption',\r\n\t\t\tidModalAnnulation: 'modalFraisAnnulation',\r\n\t\t\tidBareme: 'bareme',\r\n\t\t\tidModalDroitsVoyageurs: 'modalDroitsVoyageurs',\r\n\t\t\tidDroitsVoyageurs: 'droitsVoyageurs'\r\n\t\t}\r\n\t\t// ! On n'écrase pas les propriétés déjà définies dans config,\r\n\t\t// on n'ajoute simplement les propriétes de config qui sont null\r\n\t\tconfig = {\r\n\t\t\t...configOptions,\r\n\t\t\t...config\r\n\t\t};\r\n\r\n\t\tlet self = this;\r\n\t\tlet idForm = config.idForm;\r\n\t\t// Cas du button de validation\r\n\t\t// selon que l'on soit sur une inscription ou une pose d'option\r\n\t\tlet idBtnValidation = config.isOption ? config.idBtnOption : config.idBtnValidation;\r\n\t\tlet btn = document.getElementById(idBtnValidation);\r\n\r\n\t\t// On appelle la fonction d'update du montant total lors de la sélection d'une assurance\r\n\t\tconfig.url.MajSelectedAssurance != undefined && this.eventChangeAssurance(this.config.url.MajSelectedAssurance);\r\n\r\n\t\t// On appelle la fonction d'update du montant total lors de la coche d'une chambre single\r\n\t\t// uniquement si elle existe\r\n\t\tconfig.hasOptionsSingle && this.eventChangechambre(this.config.url.MajChambreSingle);\r\n\r\n\t\t// Cas hors pose d'option\r\n\t\t!config.isOption && this.eventsShowInfosSpecifiques([\r\n\t\t\t[config.idModalAnnulation, config.idBareme],\r\n\t\t\t[config.idModalDroitsVoyageurs, config.idDroitsVoyageurs]\r\n\t\t]);\r\n\t\t!config.isOption && config.fieldsFormRequired.includes('validationVolInterieurNepal') && this.eventsShowInfosNepal('modalNepal', 'nepal');\r\n\r\n\t\t// Mise à jour du bouton de validation\r\n\t\tformulaire.initialize(idForm);\r\n\r\n\r\n\t\t// @Ajax\r\n\t\t// Spécificités Relance\r\n\t\t// On vérifie les données des pax en ajax\r\n\t\t// !!!!! RelanceOptionDevis config.path et config.page (paiement.aspx et voyage.aspx)\r\n\t\tif (config.page === 'relance') {\r\n\r\n\t\t\tutilities._eventChangeCivilite();\r\n\r\n\r\n\t\t\tfor (var j = 0; j < config.nbPax; j++) {\r\n\t\t\t\tlet arrayOfinputPax = [];\r\n\t\t\t\tlet clePax = document.getElementById(`fieldsetVoyageur-${j}`).dataset.clePax;\r\n\t\t\t\tarrayOfinputPax.push(`civilite${clePax}`, `nom${clePax}`, `nomUsage${clePax}`, `prenom${clePax}`, `naissance${clePax}`);\r\n\r\n\t\t\t\tutilities._maskInput(`#naissance${clePax}`)\r\n\r\n\t\t\t\t\tfor (var i = 0; i < arrayOfinputPax.length; i++) {\r\n\t\t\t\t\t\tdocument.getElementById(arrayOfinputPax[i]).addEventListener('blur', function (el) {\r\n\t\t\t\t\t\tlet id = el.target.id.split(clePax);\r\n\t\t\t\t\t\tlet value = el.target.value;\r\n\t\t\t\t\t\tlet field = id[0];\r\n\t\t\t\t\t\tlet type = '';\r\n\t\t\t\t\t\tswitch (field) {\r\n\t\t\t\t\t\tcase 'civilite':\r\n\t\t\t\t\t\t\ttype = 'c';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'nom':\r\n\t\t\t\t\t\t\ttype = 'n';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'nomUsage':\r\n\t\t\t\t\t\t\ttype = 'nU';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'prenom':\r\n\t\t\t\t\t\t\ttype = 'p';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'naissance':\r\n\t\t\t\t\t\t\ttype = 'd';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tconsole.error(`Sorry, we are out of ${field}.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.onChangeTraveler(clePax, type, value)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Prestations\r\n\t\t\tlet textareaChambre = document.getElementById('repartitionchambre');\r\n\t\t\tlet textareaDemandeSpecifique = document.getElementById('demandespecifique');\r\n\r\n\t\t\tif (textareaChambre !== null) {\r\n\t\t\t\ttextareaChambre.addEventListener('blur', function () {\r\n\t\t\t\t\tself.onInsertRepartition(config.numeroDossierCrypte, config.url.onInsertRepartition)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (textareaDemandeSpecifique !== null) {\r\n\t\t\t\ttextareaDemandeSpecifique.addEventListener('blur', function () {\r\n\t\t\t\t\tself.onInsertDemandeSpecifique(config.numeroDossierCrypte, config.url.onInsertDemandeSpecifique)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/// @Event\r\n\t/// validation serveur coordonnée pax sur les pages de relance\r\n\tonChangeTraveler(cle, type, value) {\r\n\t\tlet self = this;\r\n\t\tif(type!= \"nU\")\r\n\t\t\tdocument.getElementById(`${type}_${cle}`).style.display = 'none';\r\n\r\n\t\tlet error = true;\r\n\t\tif (type === 'd') {\r\n\t\t\terror = self._validateDate(value, type, cle);\r\n\t\t} else {\r\n\t\t\terror = false;\r\n\t\t}\r\n\t\tif ((value != \"\" && value != \"0\")) {\r\n\t\t\tif (error == false) {\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\turl: config.url.onChangeTraveler,\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tcle: cle,\r\n\t\t\t\t\t\ttype: type,\r\n\t\t\t\t\t\tvalue: value\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\tcache: true,\r\n\t\t\t\t\tasync: true, ///important!appel syncrone\r\n\t\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t\tif (data == \"ok\") {\r\n\t\t\t\t\t\t\tdocument.getElementById(`${type}_${cle}`).style.display = 'block';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function (data) {\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdocument.getElementById(`${type}_${cle}`).style.display = 'block';\r\n\t\t}\r\n\t}\r\n\r\n\t_validateDate(checkBirthDate, type, cle) {\r\n\r\n\t\tlet self = this;\r\n\t\tif (!self._checkDate(checkBirthDate, type, cle)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t_checkDate(DateNaissance, type, cle) {\r\n\t\tvar dateformat = /^(0?[1-9]|[12][0-9]|3[01])[\\/\\-](0?[1-9]|1[012])[\\/\\-]\\d{4}$/;\r\n\t\tvar Val_date = DateNaissance;\r\n\t\tvar Aujourdhui = new Date(); /*Stocke la date du jour au format date javascript*/\r\n\r\n\t\tif (!Val_date.match(dateformat)) {\r\n\r\n\t\t\tdocument.getElementById(`${type}_${cle}`).innerHTML = '* Veuillez saisir une date
    au format JJ/MM/AAAA.';\r\n\t\t\tdocument.getElementById(`d_${cle}`).style.display = 'block';\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tvar Separateur = new RegExp(\"[^0-9]\", \"g\");\r\n\t\t\tvar DateJs = Val_date.replace(Separateur, \"\");\r\n\t\t\tDateJs = new Date(DateJs.substring(4, 8), DateJs.substring(2, 4) - 1, DateJs.substring(0, 2));\r\n\t\t\tif (DateJs > Aujourdhui) {\r\n\t\t\t\tdocument.getElementById(`d_${cle}`).innerHTML = 'La date de naissance ne peut pas
    être postérieure à la date du jour.';\r\n\t\t\t\tdocument.getElementById(`d_${cle}`).style.display = 'block';\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\t/// @Event\r\n\t/// => Modales infos spec\r\n\teventsShowInfosSpecifiques(array) {\r\n\t\tlet self = this;\r\n\t\tfor (let [cle, valeur] of array) {\r\n\t\t\tdocument.getElementById(cle).addEventListener('click', function (el) {\r\n\t\t\t\tself._launchModal(el, valeur);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t/// @Event\r\n\t/// => Modale info vol Népal\r\n\teventsShowInfosNepal(btn, template) {\r\n\t\tlet self = this;\r\n\t\tdocument.getElementById(btn).addEventListener('click', function (el) {\r\n\t\t\tself._launchModal(el, template);\r\n\t\t});\r\n\t}\r\n\t/// Set Content & title de la modale\r\n\t_launchModal(element, template) {\r\n\t\tlet title = element.target.dataset.title || element.target.parentElement.firstChild.textContent.trim();\r\n\t\tlet content = document.getElementById(template).innerHTML;\r\n\t\tmodalPopup.init(content, title);\r\n\t}\r\n\r\n\t/// @Event check assurance\r\n\t/// => update montant recap\r\n\teventChangeAssurance(url) {\r\n\t\tlet self = this;\r\n\t\tlet radios = document.querySelectorAll('[name=\"assurance\"]');\r\n\r\n\t\tfor (var i = 0; i < radios.length; i++) {\r\n\t\t\tradios[i].addEventListener('change', function (el) {\r\n\t\t\t\tself._assuranceUpdate(url, el.target.value);\r\n\t\t\t\tfor (let radio of radios) {\r\n\t\t\t\t\tradio.parentElement.querySelector('button').dataset.readmore = false;\r\n\t\t\t\t}\r\n\t\t\t\tel.target.parentElement.querySelector('button').dataset.readmore = true;\r\n\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\t/// @Event check chambre single\r\n\t/// => update montant recap\r\n\teventChangechambre(url) {\r\n\t\tlet self = this;\r\n\r\n\t\tdocument.getElementById(config.idOptionSingle).addEventListener('change', function (el) {\r\n\t\t\tself._chambreUpdate(url, el.target.checked)\r\n\t\t})\r\n\t}\r\n\r\n\t/// @Ajax\r\n\t/// Function appelée dans eventChangeAssurance()\r\n\t_assuranceUpdate(url, codeAssurance) {\r\n\t\tlet self = this;\r\n\t\tlet data = {\r\n\t\t\tcodeProduit: config.codeProduit,\r\n\t\t\tdateDepart: config.dateDepart,\r\n\t\t\tvaleur: codeAssurance,\r\n\t\t\tcle: config.numeroDossierCrypte\r\n\t\t}\r\n\t\tif (config.page === 'relance') {\r\n\t\t\tdata.numdossier = config.numeroDossierCrypte;\r\n\t\t}\r\n\r\n\t\tself._postRequest(url, data);\r\n\t}\r\n\r\n\t/// @Ajax\r\n\t/// Function appelée dans eventChangechambre()\r\n\t_chambreUpdate(url, isChecked) {\r\n\t\tlet self = this;\r\n\t\tlet data = {\r\n\t\t\tcodeProduit: config.codeProduit,\r\n\t\t\tdateDepart: config.dateDepart,\r\n\t\t\tdemandeSingle: JSON.stringify(isChecked), // on envoie une string et non un boolean\r\n\t\t\tcle: config.numeroDossierCrypte\r\n\t\t}\r\n\r\n\t\tself._postRequest(url, data);\r\n\t}\r\n\t/// @Ajax\r\n\t/// Function appelée sur les pages de relance\r\n\t/// lorsque l'utilisateur tape dans