{"version":3,"sources":["webpack/bootstrap","./node_modules/moment/locale sync ^\\.\\/.*$","./wwwroot/Src/js/Shared/Common.js","./wwwroot/Src/js/Shared/CustomUnobtrusive.js","./wwwroot/Src/js/Shared/CustomValidator.js","./wwwroot/Src/js/Shared/FormatScreen.js","./wwwroot/Src/js/Shared/GlobalVars.js","./wwwroot/Src/js/Shared/Navigation.js","./wwwroot/Src/js/Shared/PageUtils.js","./wwwroot/Src/js/Shared/RendezVous.js","./wwwroot/Src/js/Shared/Utils.js","./wwwroot/Src/js/Shared/init.js","./wwwroot/Src/js/vendor/mdb.js","webpack:///./wwwroot/Src/less/Site.less?d762","./wwwroot/Src/less/Vendors.css","webpack:///./wwwroot/src/scss/vendor/main.scss?020c","util (ignored)","buffer (ignored)","webpack:///buffer (ignored)?7258","webpack:///buffer (ignored)?552b","webpack:///buffer (ignored)?3d70","webpack:///buffer (ignored)?4293","webpack:///util (ignored)?1eba","webpack:///util (ignored)?1dde","webpack:///util (ignored)?1e64","webpack:///buffer (ignored)?e218","webpack:///buffer (ignored)?785b","crypto (ignored)","webpack:///util (ignored)?add1","webpack:///util (ignored)?7f35"],"names":["window","toastr","moment","GlobalNav","CryptoJS","require","axios","PerfectScrollbar","jQuery","validator","unobtrusive","adapters","addBool","RegisterFormSubmit","patternTelephoneValide","isTelephoneValide","telephone","test","document","getElementById","value","classList","add","$","setDefaults","onfocusout","element","valid","errorClass","validClass","highlight","parent","hasClass","css","addClass","find","hide","unhighlight","removeClass","is","show","addMethod","param","length","result","email","val","jsonData","JSON","stringify","ajax","url","type","async","dataType","contentType","success","results","error","cancelButton","TelephoneBureau","TelephoneBureauValide","PosteBureau","spanCtrl","msgError","getAttribute","remove","text","name","CurrentLanguage","replace","on","e","target","form","id","closest","off","AjustSize","FormatMobile","FormatDesktop","designVer","RightPanelPos","RDVPanelPos","FilterPanelPos","LeftMenuHeight","SizePageRDV","AjustAppPosCookieConsent","scrollLeft","LeftButtonsHeight","CheckSize","LeftNavCloseMobile","tooltip","LeftNavCloseDesktop","totalHeight","parseInt","height","width","DesktopBreakpoint","detailHeight","NoRDVBtn","leftBorder","outerWidth","DesktopSideMenuOpen","maskPos","hourrange","headerHeight","rdvBtnHeight","bottomControlOpen","wt","position","top","wh","Pos","offsetLeft","bottomMenuH","screenHeight","Array","TabletBreakpoint","push","Math","max","apply","outerHeight","h","LeftNavWhenOpen","CalRdv","CurrentSelectedDay","RDVDispo","CalCurrentDate","ServerOK","currentCodeCollecte","deferredPrompt","ignore_onbeforeunload","gaRDV3","gaRDV4","currentPos","myAddress","gotPos","distances","markers","marker","filterApplied","currentFilterDate","currentFilterWeek","currentLocation","currentTypeCol","allCollectes","colDistCalc","ActiveCol","ActiveRDV","filterResult","currentType","currentTypeFormat","typeColor","loaderTimeOut","fromMyRDVCancel","googleAutocomplete","selectedLocation","noDispoForMonth","collecteObjToValidate","collecteValidationResult","clicked","calInitDone","viewIntervalStart","targetElement","querySelector","ProprieteCollecte","nom","format","CloseLogout","velocity","translateX","OpenLogout","CloseLeftNav","sideNav","NavBack","history","back","ShowConditions","isApple","bodyScrollLock","enableBodyScroll","modal","disableBodyScroll","UpdatePrefComplete","call","IsSessionExpired","CancelLoader","LBLSaveRappel","SUCCESSTitle","location","href","ShowOptions","ShowLoader","complete","attr","LBLRappel","ShowRDVSection","div","getRappelPreferencesAsync","then","data","empty","append","Inputmask","placeholder","showMaskOnFocus","showMaskOnHover","mask","telephoneCellulaire","addEventListener","event","keyCode","SaveReminderRappelPanel","preventDefault","returnValue","saveButton","rappelSMSNum","setAttribute","style","display","SaveReminder","RappelMediaID","RappelPeriodeID","ERRSaveEmail","ERRTitle","ERRSaveSMS","telephoneCellulaireValide","focus","CloseColDetail","ev","undefined","parents","OpenColDetail","col","titre","dateDebut","dateFin","typeCol","multiId","NoShowRDVBtn","now","sunday","clone","weekday","saturday","WeekStartDate","WeekEndDate","SelectWeek","toLowerCase","load","dist","x","code","OpenRDV","SetCollectePref","Analytics","setCodeCollectePrefereAsync","clearCollecteCache","tab","FindActiveTab","RenderTab","IsDonorChecked","prop","EnableRappelPeriode","DesactiverMomentsRappels","AfficherOuCacherSectionDemanderCellulaire","veille","jourMeme","troisJoursAvant","disabled","verifierCellulaire","sectionCellulaire","contains","_x","_getRappelPreferencesAsync","arguments","_asyncToGenerator","regeneratorRuntime","mark","_callee","httpRequestUrl","wrap","_callee$","_context","prev","next","encodeURI","abrupt","get","response","Promise","resolve","console","log","status","reject","stop","_x2","_x3","_setCodeCollectePrefereAsync","_callee2","codeCollecte","_callee2$","_context2","put","encodeURIComponent","headers","RequestVerificationToken","CloseFilter","CloseFilterSelectDate","cancelRendezVousAsync","_cancelRendezVousAsync","RendezVousId","ReturnToCal","LBLTakeRDV","CloseRDV","AfficherCalendrier","section","ShowRangeResult","HideRangeResult","CancelRDV","RDVId","desuet","CancelConfirmed","options","onHidden","item","typeFR","RDVCanceled","SuccessMsg","clearPWACache","caches","keys","cacheNames","forEach","cacheName","Storage","sessionStorage","removeItem","setCookie","key","days","cryptedValue","AES","encrypt","expires","Date","setTime","getTime","cookie","toUTCString","getCookie","keyValue","match","bytes","decrypt","toString","enc","Utf8","callStatus","PingServer","ServerOnline","Reconnect","ctl","clearTimeout","screenW","leftLoader","ceil","setTimeout","click","el","dataset","cookieString","clearArray","arr","pop","sentenceCase","str","letter","toUpperCase","trim","urlParam","RegExp","exec","eventCategory","eventAction","eventLabel","GAActive","dataLayer","AnalyticsPageView","title","GASendComment","r1","r2","r3","commentType","AndroidPWABtnCreation","btnPWA","explainer","parseHTML","TXTPWAExplainer","textContent","featuresheader","LBLPWATitle","installbuttontext","LBLPWAInstall","prevent_double_click","datepicker","_updateDatepicker_original","_updateDatepicker","inst","afterShow","_get","input","beforeShow","today","html","ready","jsVersion","AppVersion","ResetCache","first","closeOnClick","showOverlay","sideNavScrollbar","ps","body","handleNetworkChange","navigator","onLine","closeButton","debug","newestOnTop","progressBar","positionClass","preventDuplicates","onclick","showDuration","hideDuration","timeOut","extendedTimeOut","showEasing","hideEasing","showMethod","hideMethod","ajaxStart","ajaxComplete","resize","donorNo","JsBarcode","displayValue","marginTop","background","toggleClass","siblings","LBLDatePlaceHolder","removeAttr","DateFormat","DayNames","MonthNames","showOn","dateFormat","monthNames","dayNamesMin","showMonthAfterYear","changeYear","changeMonth","yearRange","buttonImage","cal","a","prepend","onSelect","onClose","blur","AddBtn","addBtn","prompt","userChoice","choiceResult","outcome","PageRun","serviceWorker","getRegistrations","registrations","_iterator","_createForOfIteratorHelper","_step","s","n","done","registration","active","scriptURL","indexOf","unregister","err","f","register","registrationError","Resetcache","pathname","rdvParams","rdvVal","TextDecoder","decode","base64ToBytes","split","date","rdvDate","base64","binString","atob","Uint8Array","from","m","codePointAt","global","bsCustomFileInput"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA,4CAA4C,8SAA8S;QAC1V;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"js/main1.4.3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"PageConditions\":\"PageConditions\",\"PageEval\":\"PageEval\",\"PageMaintenance\":\"PageMaintenance\",\"PageMeConnecter\":\"PageMeConnecter\",\"PageMesRDV~PageOuDonner\":\"PageMesRDV~PageOuDonner\",\"PageMesRDV\":\"PageMesRDV\",\"PageOuDonner\":\"PageOuDonner\",\"PagePuisJeDonner\":\"PagePuisJeDonner\",\"PageTypeDon\":\"PageTypeDon\"}[chunkId]||chunkId) + \"1.4.3.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendors~main\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","\r\n\r\nimport 'jquery';\r\nimport toastr from 'toastr';\r\nwindow.toastr = toastr;\r\n\r\nimport 'bootstrap';\r\n\r\n\r\nimport \"../vendor/mdb\";\r\nimport 'crypto-js';\r\n\r\nimport moment from 'moment';\r\nwindow.moment = moment;\r\nimport '@pwabuilder/pwainstall'\r\nimport \"datatables.net\";\r\nimport 'jquery-ui-bundle';\r\nimport 'jsbarcode';\r\nimport 'fullcalendar';\r\nimport 'jquery-validation';\r\nimport 'jquery-validation-unobtrusive';\r\nimport 'jquery-ajax-unobtrusive';\r\n\r\n// Import de la librairie des masques de saisies (utilisé dans init.js)\r\nimport Inputmask from 'inputmask';\r\n\r\nimport \"popper.js\";\r\nimport 'fullcalendar';\r\n\r\n//Importation des variables globales paratgées par less, Javascript et Core\r\nimport GlobalNav from './GlobalNav.json';\r\nwindow.GlobalNav = GlobalNav;\r\n\r\nwindow.CryptoJS = require(\"crypto-js\");\r\nwindow.axios = require(\"axios\");\r\nwindow.PerfectScrollbar = require('perfect-scrollbar').default;\r\n\r\n\r\nimport './GlobalVars';\r\nimport './FormatScreen';\r\nimport './Navigation';\r\nimport './CustomUnobtrusive';\r\nimport './CustomValidator';\r\nimport './PageUtils';\r\nimport './RendezVous';\r\nimport './Utils';\r\nimport './init';\r\n","\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkboxtrue\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"pwcheckinscription\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkpostalcodeformat\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkphoneformat\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkmobilephoneformat\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkworkphoneformat\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"pwcheck\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"checkr\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"donorcp\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"donornumber\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"donorbirth\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"datecheck\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"emailcheck\");\r\n\r\njQuery.validator.unobtrusive.adapters.addBool(\"mdbrequired\");","//Variable set à la soumission du formulaire d'inscription pour ne valider l'existance du courriel à la soumission seulement\r\nwindow.RegisterFormSubmit = false;\r\n\r\n// pattern regex pour valider un numéro de téléphone\r\nvar patternTelephoneValide = /\\(([0-9]{3})\\)([ ])([0-9]{3})([-])([0-9]{4})/;\r\n\r\n/**\r\n * vérifier le téléphone est dans un format valide\r\n * @param {any} telephone Numéro de téléphone\r\n */\r\nfunction isTelephoneValide(telephone) {\r\n\treturn patternTelephoneValide.test(telephone);\r\n}\r\n\r\n/**\r\n * Bout de code nécessaire pour la page préférence de communication\r\n */\r\nvar telephone = document.getElementById(\"TelephoneCellulaire\");\r\n\r\nif (telephone != null && isTelephoneValide(telephone.value)) {\r\n\ttelephone.classList.add(\"complet\");\r\n}\r\n\r\n$.validator.setDefaults({\r\n\t//Permet la validation de chaque champ a la perte du focus\r\n\tonfocusout: function (element) {\r\n\t\t//Valider tous les champs seulement si ce n'est pas suite à la soumission du formulaire d'inscription\r\n\t\tif (!RegisterFormSubmit) {\r\n\t\t\t$(element).valid();\r\n\t\t} else {\r\n\t\t\t//Reset de la variable après soumission\r\n\t\t\tRegisterFormSubmit = false;\r\n\t\t}\r\n\t},\r\n\terrorClass: \"invalid\",\r\n\tvalidClass: \"valid\",\r\n\r\n\t//Le helptext est caché quand on est dans le champs et qu'on tape les premiers caractères\r\n\thighlight: function (element, errorClass, validClass) {\r\n\t\t//Pour les controles MDBootstrap on ne change pa la bordure\r\n\t\tif (!$(element).parent().hasClass(\"md-form\")) {\r\n\t\t\t$(element).css(\"border-bottom\", \"2px solid #ED1B24\");\r\n\t\t} else {\r\n\t\t\t$(element).addClass(\"invalid\");\r\n\t\t}\r\n\r\n\t\tif ($(element).parent().hasClass(\"w-100\")) {\r\n\t\t\t$(element).parent().parent().find(\"small\").hide();\r\n\t\t} else {\r\n\t\t\t$(element).parent().find(\"small\").hide();\r\n\t\t}\r\n\t},\r\n\t//Helptext montré à la sortie du champ\r\n\tunhighlight: function (element, errorClass, validClass) {\r\n\t\t//Pour les controles MDBootstrap on ne change pas la bordure\r\n\t\tif (!$(element).parent().hasClass(\"md-form\")) {\r\n\t\t\tif ($(element).hasClass(\"bg-blue\")) {\r\n\t\t\t\t$(element).css(\"border-bottom\", \"1px solid lightgray\");\r\n\t\t\t} else {\r\n\t\t\t\t$(element).css(\"border-bottom\", \"1px solid #555555\");\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$(element).removeClass(\"invalid\");\r\n\t\t}\r\n\r\n\t\tif ($(element).parent().hasClass(\"w-100\")) {\r\n\t\t\tif (!$(element).parent().parent().find(\".PswBox\").is(\":visible\")) {\r\n\t\t\t\t$(element).parent().parent().find(\"small\").show();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (!$(element).parent().find(\".PswBox\").is(\":visible\")) {\r\n\t\t\t\t$(element).parent().find(\"small\").show();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n});\r\n\r\n//Control MDB Champ requis\r\njQuery.validator.addMethod(\"mdbrequired\", function (value, element, param) {\r\n\tif (value.length == 0) {\r\n\t\t$(element).removeClass(\"valid\").addClass(\"invalid\");\r\n\t} else {\r\n\t\t$(element).removeClass(\"invalid\").addClass(\"valid\");\r\n\t}\r\n\r\n\treturn value;\r\n});\r\n\r\n//Validation des checkbox\r\njQuery.validator.addMethod(\"checkboxtrue\", function (value, element, param) {\r\n\treturn value;\r\n});\r\n\r\n//Validation si le email existe dans la bd\r\njQuery.validator.addMethod(\"emailcheck\", function (value, element, param) {\r\n\tvar result = true;\r\n\r\n\t//On valide le format du courriel avant de lancer la requête\r\n\tif (/\\S+@\\S+\\.\\S+/.test(value)) {\r\n\t\tvar email = $(\"#RegisterForm\").find(\"div #Email\").val();\r\n\r\n\t\tvar jsonData = JSON.stringify(email);\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: \"/api/account/emailused/?email=\" + email,\r\n\r\n\t\t\ttype: \"GET\",\r\n\t\t\tasync: false,\r\n\t\t\tdataType: \"json\",\r\n\t\t\tcontentType: \"application/json; charset=utf-8\",\r\n\t\t\tsuccess: function (results) {\r\n\t\t\t\tif (results != null) {\r\n\t\t\t\t\tif (results) {\r\n\t\t\t\t\t\tresult = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tresult = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: function (error) {\r\n\t\t\t\tresult = true;\r\n\t\t\t},\r\n\t\t});\r\n\t} else {\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn result;\r\n});\r\n\r\n//Validation du code postal dans la page des renseignements personnels\r\njQuery.validator.addMethod(\"checkpostalcodeformat\", function (\r\n\tvalue,\r\n\telement,\r\n\tparam\r\n) {\r\n\tif (\r\n\t\t(/^.{7}$/.test(value) &&\r\n\t\t\t/^[A-Za-z]\\d[A-Za-z][ ]?\\d[A-Za-z]\\d$/.test(value)) ||\r\n\t\t/^$/.test(value)\r\n\t) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n});\r\n\r\n//Validation des numéros de téléphone domicile, travail et cellulaire dans la page des renseignements personnels\r\njQuery.validator.addMethod(\"checkphoneformat\", function (\r\n\tvalue,\r\n\telement,\r\n\tparam\r\n) {\r\n\tvar cancelButton = document.getElementById(\"cancelButton\");\r\n\r\n\tif (cancelButton.value == \"cancel\") {\r\n\t\treturn true;\r\n\t} else if (isTelephoneValide(value) || /^$/.test(value)) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n});\r\n\r\n//Validation du numero de téléphone cellulaire dans la page \"Mes préférences de communication\"\r\njQuery.validator.addMethod(\"checkmobilephoneformat\", function (\r\n\tvalue,\r\n\telement,\r\n\tparam\r\n) {\r\n\treturn isTelephoneValide(value);\r\n});\r\n\r\n//Validation du poste pour le téléphone de travail\r\njQuery.validator.addMethod(\"checkworkphoneformat\", function (\r\n\tvalue,\r\n\telement,\r\n\tparam\r\n) {\r\n\t// section pour telephone de bureau\r\n\tvar TelephoneBureau = document.getElementById(\"TelephoneBureau\");\r\n\tvar TelephoneBureauValide = isTelephoneValide(TelephoneBureau.value);\r\n\tvar PosteBureau = document.getElementById(\"PosteBureau\");\r\n\tvar cancelButton = document.getElementById(\"cancelButton\");\r\n\tvar spanCtrl = $('span[data-valmsg-for=\"PosteBureau\"]');\r\n\tspanCtrl.css(\"font-family\", \"'oswald'\");\r\n\tvar msgError = PosteBureau.getAttribute(\"data-val-checkworkphoneformat\");\r\n\r\n\tif (cancelButton.value == \"cancel\") {\r\n\t\treturn true;\r\n\t} else if (TelephoneBureauValide) {\r\n\t\tPosteBureau.classList.remove(\"invalid\");\r\n\t\tspanCtrl.text(\"\");\r\n\t\treturn true;\r\n\t} else if (/^$/.test(TelephoneBureau.value)) {\r\n\t\tif (!/^$/.test(PosteBureau.value)) {\r\n\t\t\tPosteBureau.classList.add(\"invalid\");\r\n\r\n\t\t\t//Affiche le message d'erreur et rend la ligne rouge\r\n\t\t\tspanCtrl.text(msgError);\r\n\r\n\t\t\tif (element.name == \"PosteBureau\") {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tPosteBureau.classList.remove(\"invalid\");\r\n\t\t\tspanCtrl.text(\"\");\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t} else if (!TelephoneBureauValide) {\r\n\t\tif (!/^$/.test(PosteBureau.value)) {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tif (element.name == \"PosteBureau\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t} else {\r\n\t\tPosteBureau.classList.add(\"invalid\");\r\n\t\t//Affiche le message d'erreur et rend la ligne rouge\r\n\t\tspanCtrl.text(msgError);\r\n\t\treturn false;\r\n\t}\r\n});\r\n\r\n//Validation des mots de passes dans l'inscription\r\njQuery.validator.addMethod(\"pwcheckinscription\", function (\r\n\tvalue,\r\n\telement,\r\n\tparam\r\n) {\r\n\tif (\r\n\t\t/^[A-Za-z0-9\\d !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) &&\r\n\t\t/[a-z]/.test(value) &&\r\n\t\t/[A-Z]/.test(value) &&\r\n\t\t/\\d/.test(value) &&\r\n\t\tvalue.length >= 8 &&\r\n\t\t!/[%]/.test(value) &&\r\n\t\t!/[<]/.test(value) &&\r\n\t\t!/[>]/.test(value)\r\n\t) {\r\n\t\treturn true;\r\n\t}\r\n});\r\n\r\n//Validation des mots de passes\r\njQuery.validator.addMethod(\"pwcheck\", function (value, element, param) {\r\n\tif (\r\n\t\t/^[A-Za-z0-9\\d !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) &&\r\n\t\t/[a-z]/.test(value) &&\r\n\t\t/[A-Z]/.test(value) &&\r\n\t\t/\\d/.test(value) &&\r\n\t\tvalue.length >= 8\r\n\t) {\r\n\t\treturn true;\r\n\t}\r\n});\r\n\r\n//Validation des champs contre les robots\r\njQuery.validator.addMethod(\"checkr\", function (value, element, param) {\r\n\treturn value;\r\n});\r\n\r\n//Validation du code postal si la case donneur est cochée\r\njQuery.validator.addMethod(\"donorcp\", function (value, element, param) {\r\n\treturn value;\r\n});\r\n\r\n//Validation de la date de naissance si le donneur est coché\r\njQuery.validator.addMethod(\"donorbirth\", function (value, element, param) {\r\n\tif (CurrentLanguage == \"EN\") {\r\n\t\treturn /^\\s*(3[01]|[12][0-9]|0?[1-9])\\-(1[012]|0?[1-9])\\-((?:19|20)\\d{2})\\s*$/.test(\r\n\t\t\tvalue\r\n\t\t);\r\n\t} else {\r\n\t\treturn /^(?:(?:0?[13578]|1[02])|(?:0?[469]|11)(?!\\/31)|(?:0?2)(?:(?!\\/3[01]|\\/29\\/(?:(?:0[^48]|[13579][^26]|[2468][^048])00|(?:\\d{2}(?:0[^48]|[13579][^26]|[2468][^048]))))))\\/(?:0?[1-9]|[12][0-9]|3[01])\\/\\d{4}$/.test(\r\n\t\t\tvalue.replace(\"-\", \"/\").replace(\"-\", \"/\")\r\n\t\t);\r\n\t}\r\n});\r\n\r\n//Validation du numéro de donneur si le donneur est coché\r\njQuery.validator.addMethod(\"donornumber\", function (value, element, param) {\r\n\treturn value;\r\n});\r\n\r\n//Validation de la date\r\njQuery.validator.addMethod(\"datecheck\", function (value, element, param) {\r\n\treturn value;\r\n});\r\n\r\n//Fait apparaitre une boite de critères pour les mots de passe\r\n//les critères sont validés un à un et un indicateur montre le critère en succès ou non\r\n$(\"input[type=password]\").on(\"focus\", function (e) {\r\n\t//Pour ne pas que cette fonction interfere avec les champs type mot de passe qui n'on pas besoin de la boite de critère ex. confirmation de psw\r\n\tif ($(e.target).hasClass(\"NoPswBox\")) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t//Cette fonction n'est affiché que pour le formulaire d'inscription\r\n\tif (\r\n\t\te.target.form.id == \"RegisterForm\" ||\r\n\t\te.target.form.id == \"ResetPswForm\" ||\r\n\t\te.target.form.id == \"ChnPswForm\"\r\n\t) {\r\n\t\t//Cache le helptext et les erreurs pour ensuite montrer la boite de critères\r\n\r\n\t\t$(e.target).closest(\".md-form\").find(\"small\").hide();\r\n\t\t$(e.target).closest(\".md-form\").find(\"span.field-validation-error\").hide();\r\n\t\t$(e.target).closest(\".md-form\").find(\".PswBox\").show();\r\n\r\n\t\t//A chaque touche on valide les critères pour afficher le statut\r\n\t\t$(e.target).on(\"keyup\", function (e) {\r\n\t\t\t//Minimum de 8 caractères\r\n\t\t\tif ($(e.target).val().length >= 8) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".MinLength span\")\r\n\t\t\t\t\t.removeClass(\"text-danger\")\r\n\t\t\t\t\t.removeClass(\"fa-times\")\r\n\t\t\t\t\t.addClass(\"text-success\")\r\n\t\t\t\t\t.addClass(\"fa-check\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".MinLength span\")\r\n\t\t\t\t\t.removeClass(\"text-success\")\r\n\t\t\t\t\t.removeClass(\"fa-check\")\r\n\t\t\t\t\t.addClass(\"text-danger\")\r\n\t\t\t\t\t.addClass(\"fa-times\");\r\n\t\t\t}\r\n\r\n\t\t\t//Contient au moins une minuscule\r\n\t\t\tif (/[a-z]/.test($(e.target).val())) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Lower span\")\r\n\t\t\t\t\t.removeClass(\"text-danger\")\r\n\t\t\t\t\t.removeClass(\"fa-times\")\r\n\t\t\t\t\t.addClass(\"text-success\")\r\n\t\t\t\t\t.addClass(\"fa-check\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Lower span\")\r\n\t\t\t\t\t.removeClass(\"text-success\")\r\n\t\t\t\t\t.removeClass(\"fa-check\")\r\n\t\t\t\t\t.addClass(\"text-danger\")\r\n\t\t\t\t\t.addClass(\"fa-times\");\r\n\t\t\t}\r\n\r\n\t\t\t//Contient au moins une majuscule\r\n\t\t\tif (/[A-Z]/.test($(e.target).val())) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Upper span\")\r\n\t\t\t\t\t.removeClass(\"text-danger\")\r\n\t\t\t\t\t.removeClass(\"fa-times\")\r\n\t\t\t\t\t.addClass(\"text-success\")\r\n\t\t\t\t\t.addClass(\"fa-check\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Upper span\")\r\n\t\t\t\t\t.removeClass(\"text-success\")\r\n\t\t\t\t\t.removeClass(\"fa-check\")\r\n\t\t\t\t\t.addClass(\"text-danger\")\r\n\t\t\t\t\t.addClass(\"fa-times\");\r\n\t\t\t}\r\n\r\n\t\t\t//Contient au moins un chiffre\r\n\t\t\tif (/\\d/.test($(e.target).val())) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Digit span\")\r\n\t\t\t\t\t.removeClass(\"text-danger\")\r\n\t\t\t\t\t.removeClass(\"fa-times\")\r\n\t\t\t\t\t.addClass(\"text-success\")\r\n\t\t\t\t\t.addClass(\"fa-check\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Digit span\")\r\n\t\t\t\t\t.removeClass(\"text-success\")\r\n\t\t\t\t\t.removeClass(\"fa-check\")\r\n\t\t\t\t\t.addClass(\"text-danger\")\r\n\t\t\t\t\t.addClass(\"fa-times\");\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\t/[%]/.test($(e.target).val()) ||\r\n\t\t\t\t/[<]/.test($(e.target).val()) ||\r\n\t\t\t\t/[>]/.test($(e.target).val())\r\n\t\t\t) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Nocar span\")\r\n\t\t\t\t\t.removeClass(\"text-success\")\r\n\t\t\t\t\t.removeClass(\"fa-check\")\r\n\t\t\t\t\t.addClass(\"text-danger\")\r\n\t\t\t\t\t.addClass(\"fa-times\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".Nocar span\")\r\n\t\t\t\t\t.removeClass(\"text-danger\")\r\n\t\t\t\t\t.removeClass(\"fa-times\")\r\n\t\t\t\t\t.addClass(\"text-success\")\r\n\t\t\t\t\t.addClass(\"fa-check\");\r\n\t\t\t}\r\n\r\n\t\t\t//Toutes les conditions OK, on met la boite verte\r\n\t\t\tif (\r\n\t\t\t\t/^[A-Za-z0-9\\d !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(\r\n\t\t\t\t\t$(e.target).val()\r\n\t\t\t\t) &&\r\n\t\t\t\t/[a-z]/.test($(e.target).val()) &&\r\n\t\t\t\t/[A-Z]/.test($(e.target).val()) &&\r\n\t\t\t\t/\\d/.test($(e.target).val()) &&\r\n\t\t\t\t$(e.target).val().length >= 8 &&\r\n\t\t\t\t!/[%]/.test($(e.target).val()) &&\r\n\t\t\t\t!/[<]/.test($(e.target).val()) &&\r\n\t\t\t\t!/[>]/.test($(e.target).val())\r\n\t\t\t\t// /^[A-Za-z0-9\\d !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(\r\n\t\t\t\t// \t$(e.target).val()\r\n\t\t\t\t// ) &&\r\n\t\t\t\t// /[a-z]/.test($(e.target).val()) &&\r\n\t\t\t\t// /[A-Z]/.test($(e.target).val()) &&\r\n\t\t\t\t// /\\d/.test($(e.target).val()) &&\r\n\t\t\t\t// $(e.target).val().length >= 8\r\n\t\t\t) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".PswBox\")\r\n\t\t\t\t\t.removeClass(\"PswBoxRed\")\r\n\t\t\t\t\t.addClass(\"PswBoxGreen\");\r\n\t\t\t} else {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.closest(\".md-form\")\r\n\t\t\t\t\t.find(\".PswBox\")\r\n\t\t\t\t\t.removeClass(\"PswBoxGreen\")\r\n\t\t\t\t\t.addClass(\"PswBoxRed\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\n//A la sortie du champ on montre le helptext et les erreurs si il y en as, on cache la boite et on désactive l'événement sur la saisie des touches\r\n$(\"input[type=password]\").on(\"focusout\", function (e) {\r\n\t$(e.target).closest(\".md-form\").find(\"small\").show();\r\n\t$(e.target).closest(\".md-form\").find(\"span.field-validation-error\").show();\r\n\t$(e.target).closest(\".md-form\").find(\".PswBox\").hide();\r\n\t$(e.target).off(\"keyup\", function (e) {});\r\n});\r\n","\r\n/**\r\n * Pour vérifier la règle CSS qui détermine si on est en résolution mobile ou desktop/tablette\r\n * selon la résolution on lance la fonction appropriée\r\n */\r\nfunction AjustSize() {\r\n\r\n if ($(\"#checkSize\").css(\"float\") == \"none\") {\r\n FormatMobile();\r\n } else {\r\n FormatDesktop();\r\n }\r\n\r\n //Les version avec le nouveau thème on besoin d'ajuster les différents panneaux selon la résolution\r\n if (designVer == '1.1') {\r\n RightPanelPos();\r\n RDVPanelPos();\r\n FilterPanelPos();\r\n LeftMenuHeight();\r\n SizePageRDV();\r\n AjustAppPosCookieConsent();\r\n\r\n //EvalSlide = $('#Evalslider-container').width();\r\n $('#Evalslider-container').scrollLeft(0);\r\n\r\n }\r\n\r\n}\r\nwindow.AjustSize = AjustSize;\r\n\r\n/**\r\n * Ajuste la hauteur de la section de la barre de gauche\r\n */\r\nfunction LeftButtonsHeight() {\r\n\r\n $('.leftBtnContainer').css('height', '100%');\r\n\r\n}\r\nwindow.LeftButtonsHeight = LeftButtonsHeight;\r\n\r\n/**\r\n * Vérifie encore la règle et retourne le mode d'affichage\r\n */\r\nfunction CheckSize() {\r\n if ($(\"#checkSize\").css(\"float\") == \"none\") {\r\n return 'mobile';\r\n } else {\r\n return 'desktop';\r\n }\r\n}\r\nwindow.CheckSize = CheckSize;\r\n\r\n/**\r\n * Fonction pour formatter en mode mobile\r\n */\r\nfunction FormatMobile() {\r\n\r\n\r\n $('.mode-desktop').hide();\r\n $('#mySidenav').css('width', LeftNavCloseMobile);\r\n $('#mySidenav').css('display', 'none');\r\n $('#mySidenav [data-toggle=\"tooltip\"]').tooltip('disable');\r\n $('#topMenu').hide();\r\n}\r\nwindow.FormatMobile = FormatMobile;\r\n\r\n/**\r\n * Fonction pour formatter en mode desktop\r\n */\r\nfunction FormatDesktop() {\r\n\r\n $('.mode-desktop').show();\r\n $('#mySidenav').css('width', LeftNavCloseDesktop);\r\n $('#mySidenav').css('display', 'block');\r\n $('#mySidenav [data-toggle=\"tooltip\"]').tooltip('enable');\r\n $('#topMenu').show();\r\n\r\n}\r\nwindow.FormatDesktop = FormatDesktop;\r\n\r\n\r\n\r\n/**\r\n * Positionne le panneau latéral droit selon la résolution\r\n */\r\nfunction RightPanelPos() {\r\n\r\n //Pour le calcul de la hauteur\r\n var totalHeight = parseInt($(window).height(), 10);\r\n\r\n //En desktop le panneau latéral de droite s'ouvre à partir de la fin du max de l'affichage desktop (1280px)\r\n //on calcule la position selon le coté droit du contenant de l,application\r\n //le masque de fond occupe la fin du panneau jusqu'a la limite de l'écran de droite\r\n if ($(window).width() > parseInt(GlobalNav.DesktopBreakpoint, 10)) {\r\n\r\n //hauteur du panneau = hauteur total de la fenetre - (hauteur de l'entete - hauteur des boutons du bas)\r\n var detailHeight = totalHeight - 105;\r\n\r\n if (NoRDVBtn) {\r\n\r\n $('.rightPanelContainer').css('padding-bottom', '90px');\r\n } else {\r\n $('.rightPanelContainer').css('padding-bottom', '0px');\r\n }\r\n\r\n //applique la hauteur au panneau\r\n $('.rightPanelContainer').height(detailHeight + 'px');\r\n\r\n //largeur total du contenant de l'application - largeur du panneau latéral = marge de gauche pour positionner le panneau\r\n var leftBorder = $('.AppMainContainer').outerWidth() - parseInt(GlobalNav.DesktopSideMenuOpen, 10) + 18;\r\n\r\n //calcul pour positionner le masque de droite, il sera afficher par dessus le restant de l'espace entre le contenant de l'application et la fin de l'écran\r\n var maskPos = parseInt($('.AppMainContainer').outerWidth(), 10) + 18;\r\n $('.rightPanelMask').css('left', maskPos);\r\n $('.rightPanel').css('left', leftBorder);\r\n $('.rightPanelMask').width('100%');\r\n\r\n //En mobile, le panneau occupe tout l'écran et on remonte les boutons au dessus du menu du bas\r\n } else {\r\n\r\n //hauteur du panneau = hauteur total de la fenetre - (hauteur de l'entete - hauteur des boutons du bas)\r\n var detailHeight = totalHeight - 155;\r\n\r\n if (NoRDVBtn) {\r\n\r\n $('.rightPanelContainer').css('padding-bottom', '90px');\r\n } else {\r\n $('.rightPanelContainer').css('padding-bottom', '0px');\r\n }\r\n\r\n //applique la hauteur au panneau\r\n $('.rightPanelContainer').height(detailHeight + 'px');\r\n\r\n $('.rightPanel').css('left', 'unset');\r\n $('.rightPanel').css('right', '0');\r\n $('.rightPanelMask').css('right', '0');\r\n $('.rightPanelMask').hide();\r\n\r\n }\r\n\r\n}\r\nwindow.RightPanelPos = RightPanelPos;\r\n\r\n/**\r\n * Ajustement de la position et de la hauteur du panneau des rdv\r\n * @param {boolean} hourrange Utilisé avec l'affichage des heures\r\n */\r\nfunction RDVPanelPos(hourrange) {\r\n\r\n //Pour le calcul de la hauteur\r\n var totalHeight = parseInt($(window).height(), 10); //hauteur totale de l'écran\r\n var headerHeight = parseInt($('.rdvPanelDetailHeader').height(), 10); //hauteur de l'entête\r\n var rdvBtnHeight = 80; //hauteur du div contenant les bouton dans le bas du panneau\r\n\r\n //En desktop le panneau latéral de droite s'ouvre à partir de la fin du max de l'affichage desktop (1280px)\r\n //on calcule la position selon le coté droit du contenant de l,application\r\n //le masque de fond occupe la fin du panneau jusqu'a la limite de l'écran de droite\r\n if ($(window).width() > parseInt(GlobalNav.DesktopBreakpoint, 10)) {\r\n\r\n if (bottomControlOpen) {\r\n rdvBtnHeight = 0;\r\n\r\n } else {\r\n rdvBtnHeight = 65;\r\n }\r\n\r\n var detailHeight = (totalHeight - 108) + rdvBtnHeight;\r\n\r\n $('.rdvPanelContainer').height(detailHeight + 'px');\r\n\r\n //largeur total du contenant de l'application - largeur du panneau latéral = marge de gauche pour positionner le panneau\r\n var leftBorder = $('.AppMainContainer').outerWidth() - parseInt(GlobalNav.DesktopSideMenuOpen, 10) + 18;\r\n\r\n //calcul pour positionner le masque de droite, il sera afficher par dessus le restant de l'espace entre le contenant de l'application et la fin de l'écran\r\n var maskPos = $('.AppMainContainer').outerWidth() + 18;\r\n\r\n //Ajuste les marges selon les calculs\r\n $('.rdvPanelMask').css('left', maskPos);\r\n $('.rdvPanel').css('left', leftBorder);\r\n $('.rdvPanelMask').width('100%');\r\n\r\n if ($('#rdvCalendar > * .fc-unselectable').length > 0) {\r\n var wt = $('#rdvCalendar > * .fc-unselectable').position().top;\r\n var wh = $('#rdvCalendar > * .fc-unselectable').height();\r\n\r\n }\r\n\r\n if (NoRDVBtn) {\r\n $('.rightPanelRDVBtn').hide();\r\n\r\n }\r\n\r\n //En mobile, le panneau occupe tout l'écran, mais il faut réduire la hauteur du au menu du bas\r\n } else {\r\n\r\n // $('.calLegend').css('left', '0');\r\n if ($('#rdvCalendar > * .fc-unselectable').length > 0) {\r\n var Pos = $('#rdvCalendar')[0].offsetLeft;\r\n var wt = $('#rdvCalendar > * .fc-unselectable').position().top;\r\n var wh = $('#rdvCalendar > * .fc-unselectable').height();\r\n\r\n }\r\n\r\n var bottomMenuH = $('.bottomBtnContainer').height();\r\n\r\n if (bottomControlOpen) {\r\n // $('.rdvPanelRDVBtn').css('bottom', bottomMenuH + 'px');\r\n } else {\r\n rdvBtnHeight = rdvBtnHeight - 34;\r\n }\r\n\r\n var detailHeight = totalHeight - 158;\r\n\r\n if (hourrange) {\r\n detailHeight = detailHeight + 69;\r\n }\r\n\r\n $('.rdvPanelContainer').height(detailHeight + 'px');\r\n\r\n\r\n $('.rdvPanel').css('left', 'unset');\r\n $('.rdvPanel').css('right', '0');\r\n $('.rdvPanelMask').css('right', '0');\r\n\r\n //Le masque n'est pas nécessaire en mobile puisque tout l'espace est occupé par l'app\r\n $('.rdvPanelMask').hide();\r\n\r\n if (NoRDVBtn) {\r\n $('.rightPanelRDVBtn').hide();\r\n }\r\n\r\n }\r\n\r\n}\r\nwindow.RDVPanelPos = RDVPanelPos;\r\n\r\n/**\r\n * Ajustement de la position et de la hauteur du panneau des filtres\r\n */\r\nfunction FilterPanelPos() {\r\n\r\n //Pour le calcul de la hauteur\r\n var totalHeight = parseInt($(window).height(), 10); //hauteur totale de l'écran\r\n var rdvBtnHeight = 80; //hauteur du div contenant les bouton dans le bas du panneau\r\n\r\n //En desktop le panneau latéral de droite s'ouvre à partir de la fin du max de l'affichage desktop (1280px)\r\n //on calcule la position selon le coté droit du contenant de l,application\r\n //le masque de fond occupe la fin du panneau jusqu'a la limite de l'écran de droite\r\n if ($(window).width() > parseInt(GlobalNav.DesktopBreakpoint, 10)) {\r\n\r\n //largeur total du contenant de l'application - largeur du panneau latéral = marge de gauche pour positionner le panneau\r\n var leftBorder = $('.AppMainContainer').outerWidth() - parseInt(GlobalNav.DesktopSideMenuOpen, 10) + 18;\r\n\r\n //calcul pour positionner le masque de droite, il sera afficher par dessus le restant de l'espace entre le contenant de l'application et la fin de l'écran\r\n var maskPos = $('.AppMainContainer').outerWidth() + 18;\r\n\r\n //Ajuste les marges selon les calculs\r\n $('.filterPanelMask').css('left', maskPos);\r\n $('.filterPanel').css('left', leftBorder);\r\n $('.filterPanelMask').width('100%');\r\n\r\n //En mobile, le panneau occupe tout l'écran, mais il faut réduire la hauteur du au menu du bas\r\n } else {\r\n\r\n $('.filterPanel').css('left', 'unset');\r\n $('.filterPanel').css('right', '0');\r\n $('.filterPanelMask').css('right', '0');\r\n $('.filterPanelMask').hide();\r\n\r\n }\r\n\r\n}\r\nwindow.FilterPanelPos = FilterPanelPos;\r\n\r\n/**\r\n * Ajustement de la hauteur du menu de gauche\r\n */\r\nfunction LeftMenuHeight() {\r\n\r\n //Matrice qui va contenir toutes les possibilités de hauteur\r\n var screenHeight = new Array();\r\n\r\n //Ajustement seulement en mode desktop\r\n if ($(window).width() > parseInt(GlobalNav.TabletBreakpoint, 10)) {\r\n\r\n screenHeight.push(parseInt($(window).height(), 10)); //hauteur de la fenêtre du browser\r\n screenHeight.push(parseInt($('.AppMainContainer').height(), 10)); //hauteur du div de l'application\r\n\r\n if ($('.lastCard').length) {\r\n screenHeight.push($('.lastCard').position().top + 444); //si on est dans la page ou donner, la hauteur calculé selon la position de la dernière carte\r\n }\r\n\r\n if ($('.RDVLastCard').length) {\r\n screenHeight.push($('.RDVLastCard').position().top + 444); //si on est dans la page mes dons, la hauteur calculé selon la position de la dernière carte\r\n }\r\n\r\n }\r\n\r\n if ($('.DONSLastCard').length) {\r\n screenHeight.push($('.DONSLastCard').position().top + 244); //si on est dans la page mes dons, la hauteur calculé selon la position de la dernière carte\r\n screenHeight.push($('#mesDonFooter').position().top + 244);\r\n }\r\n\r\n //On prend la hauteur maximale dans la matrice pour fixer la hauteur de la bande bleu de gauche\r\n var totalHeight = Math.max(...screenHeight);\r\n\r\n $('.leftBtnContainer').outerHeight(totalHeight + 'px');\r\n if ($('.DONSLastCard').length) {\r\n totalHeight = totalHeight - 135;\r\n }\r\n $('.mesDONSContainer').outerHeight(totalHeight + 'px');\r\n\r\n}\r\nwindow.LeftMenuHeight = LeftMenuHeight;\r\n\r\n\r\n/**\r\n * ajuste la hauteur de la page des RDV\r\n */\r\nfunction SizePageRDV() {\r\n\r\n //Ajustement seulement en mode desktop\r\n if ($(window).width() > parseInt(GlobalNav.TabletBreakpoint, 10)) {\r\n\r\n if ($('.RDVLastCard').length) {\r\n var h = $('.RDVLastCard').position().top + $('.RDVLastCard').height();\r\n\r\n $('.mesRDVContainer').height(h + 'px');\r\n }\r\n\r\n }\r\n\r\n}\r\nwindow.SizePageRDV = SizePageRDV;","\r\nwindow.LeftNavWhenOpen = '350'; //Largeur du menu ouvert\r\nwindow.LeftNavCloseDesktop = '59px'; //Largeur du menu fermé en desktop\r\nwindow.LeftNavCloseMobile = '0'; //Largeur du menu en mobile\r\nwindow.CalRdv = new Array(); //Matrice qui contient les plages horaires du calendrier des rendez-vous\r\nwindow.CurrentSelectedDay = {}; //Jour sélectionné dans le calendrier\r\nwindow.RDVDispo = {}; //Matrice contenant les disponibilités de rendez-vous\r\nwindow.CalCurrentDate = {}; //Date courante du calendrier des RDV\r\nwindow.ServerOK = false; //Serveur en ligne ou non\r\nwindow.currentCodeCollecte = {}; //Code de collecte actif\r\nwindow.deferredPrompt = {}; //utilisé dans la mécanique d'ajout sur homescreen de Android\r\nwindow.ignore_onbeforeunload = false; //Va permettre d'ignore l'événement beforeonload qui affiche le loader dans certains cas, exemple les liens tel: ou mail:\r\nwindow.gaRDV3 = false; //indicateur pour l'étape 3 de la prise de RDV de Google Analytics qui ne doit être déclenché qu'une seule fois\r\nwindow.gaRDV4 = false; //indicateur pour l'étape 4 de la prise de RDV de Google Analytics qui ne doit être déclenché qu'une seule fois\r\nwindow.currentPos = {}; //position actuelle de l'utilisateur\r\nwindow.myAddress = {}; //Adresse pour centrer la carte des collectes\r\nwindow.gotPos = false; //Flag si on a la position de l'utilisateur\r\nwindow.distances = []; //Matrices qui contient les distances des collectes de la position actuelle de l'utilisateur\r\nwindow.markers = []; //Matrice qui contiens les marqueurs de carte des collectes\r\nwindow.marker = {}; //objet marqueur pour la création des marqueurs pour la carte des collectes\r\nwindow.filterApplied = {}; //config du filtre de collecte appliqué\r\nwindow.currentFilterDate = {}; //date active du filtre des collecte\r\nwindow.currentFilterWeek = {}; //semaine active du filtre des collectes\r\nwindow.currentLocation = {}; //localisation active du filtre des collectes\r\nwindow.currentTypeCol = {}; //type de collecte actif\r\nwindow.allCollectes = []; //Les infos de toutes les collectes à afficher\r\nwindow.colDistCalc = 0; //indicateur du nombre de distance calculée (de la localisation)\r\nwindow.bottomControlOpen = false; //indique si le panneau de controle des boutons du panneau latéral de droite est ouvert ou non \r\nwindow.ActiveCol = {}; //collecte active\r\nwindow.ActiveRDV = {}; //rendez-vous actif dans le cas d'une modification\r\nwindow.filterResult = false; //Si la distance la collecte est plus petite que la distance du filtre pour affichage des marqueurs dans la carte\r\nwindow.currentType = 'sang'; //type de don actif\r\nwindow.currentTypeFormat = 'liste'; //type d'affichage des collectes actif\r\nwindow.typeColor = 'white'; //couleur selon le type de collecte\r\nwindow.loaderTimeOut = {}; //Timeout de l'indicateur de chargement\r\nwindow.fromMyRDVCancel = false; //indique si la demande d'annulation d'un RDV proviens de la page \"Mes RDV\"\r\nwindow.googleAutocomplete = {}; //objet Google d'auto complétion des adresses\r\nwindow.selectedLocation = ''; //emplacement choisi par l'utilisateur\r\nwindow.noDispoForMonth = true; //indique si aucune dispo pour le mois sélectionné\r\nwindow.collecteObjToValidate = []; //matrice de la liste des collectes à valider au chargement du cache\r\nwindow.collecteValidationResult = true; //résultat de la validation de la liste des collectes\r\nwindow.clicked = false; //flag pour empêcher le double click\r\n//window.calUpdateRunning = false; //indique si le calcul du calendrier est en cours\r\nwindow.calInitDone = false; //indique si le calendrier est initialisé\r\nwindow.viewIntervalStart = {}; //La date de la période visible du calendrier\r\n\r\n\r\nwindow.NoRDVBtn = false; //Indique si le bouton prendre un rdv est visible dans le détail de la collecte\r\nwindow.targetElement = document.querySelector(\"#MainAppContainer\");\r\n\r\nwindow.ProprieteCollecte = [\r\n {\r\n nom: 'accesDonneur',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'afficherAdresse',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'annule',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'arrondissement',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'codeCollecte',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'collecteComplete',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'collecteMultiJourID',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'collectePrefere',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'coordonnéesComplet',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'dateDebut',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'dateFin',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'displayCulture',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'distance',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'emplacement',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'emplacementPorteEtageLocal',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'firstCenter',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'halteGarderie',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'id',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'imageFile',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'latitude',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'lieu',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'listCollecteHeure',\r\n format: 'object'\r\n },\r\n {\r\n nom: 'longitude',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'mapLink',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'municipalite',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'municipaliteProvinceCP',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'stationnement',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'stationnementDonneur',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'stationnementDonneurTarif',\r\n format: 'number'\r\n },\r\n {\r\n nom: 'telephoneAfficher',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'telephoneClickToCall',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'titre',\r\n format: 'string'\r\n },\r\n {\r\n nom: 'transportCommun',\r\n format: 'boolean'\r\n },\r\n {\r\n nom: 'typeCollecte',\r\n format: 'number'\r\n },\r\n {\r\n nom: 'typeCollecteRendezVous',\r\n format: 'number'\r\n },\r\n {\r\n nom: 'typeDon',\r\n format: 'number'\r\n }\r\n\r\n\r\n];\r\n\r\n\r\n\r\n","\r\n/**\r\n * Ferme le panneau de déconnexion\r\n */\r\nfunction CloseLogout() {\r\n\r\n $(\"#logoutBack\").css('display', 'none');\r\n $('.logoutContainer').velocity({\r\n translateX: '-100%'\r\n });\r\n}\r\nwindow.CloseLogout = CloseLogout;\r\n\r\n\r\n/**\r\n * Ouvre le panneau de deconnexion\r\n */\r\nfunction OpenLogout() {\r\n\r\n //Ferme la navigation au besoin pour montrer le panneau de déconnexion au même endroit\r\n CloseLeftNav();\r\n\r\n //Si le masque de fond n'est pas déjà présent, on l'affiche\r\n if ($(\"#ModalBack\").css('display') == 'none' && $('#sidenav-overlay').length == 0) {\r\n $(\"#logoutBack\").css('display', 'block');\r\n }\r\n\r\n //Slide le panneau de déconnexion\r\n $('.logoutContainer').velocity({\r\n translateX: '0px'\r\n });\r\n}\r\nwindow.OpenLogout = OpenLogout;\r\n\r\n/**\r\n * Ferme la navigation de gauche\r\n */\r\nfunction CloseLeftNav() {\r\n\r\n //Retire le masque de fond\r\n $('#sidenav-overlay').remove();\r\n //Slide à fermé\r\n $('#slide-out').velocity({\r\n translateX: '-100%'\r\n });\r\n\r\n $('.burgerMenu').sideNav('hide');\r\n\r\n}\r\nwindow.CloseLeftNav = CloseLeftNav;\r\n\r\n/**\r\n * Retour à la page précédente\r\n */\r\nfunction NavBack() {\r\n\r\n window.history.back();\r\n\r\n}\r\nwindow.NavBack = NavBack;\r\n","/**\r\n * \r\n * Routines utilisées pour des pages spécifiques\r\n * \r\n * \r\n * */\r\n\r\n/**\r\n * affiche le modal des conditions\r\n */\r\nfunction ShowConditions() {\r\n\r\n //Réactive le bodyscroll pour la fenetre des conditions\r\n if (isApple) {\r\n try {\r\n bodyScrollLock.enableBodyScroll(targetElement);\r\n } catch (e) {\r\n\r\n }\r\n\r\n }\r\n\r\n $('#ConditionsModal').modal('show');\r\n\r\n $('#ConditionsButtons').on('click', function () {\r\n\r\n //désactive le bodyscroll\r\n if (isApple)\r\n {\r\n try\r\n {\r\n bodyScrollLock.disableBodyScroll(targetElement);\r\n } catch (e)\r\n {\r\n\r\n }\r\n\r\n }\r\n\r\n $('#ConditionsModal').modal('hide');\r\n\r\n });\r\n\r\n}\r\nwindow.ShowConditions = ShowConditions;\r\n\r\n/**\r\n * Lancé quand les préférences ont été exécuté pour vérifier si la session est expiré\r\n * @param {any} call\r\n */\r\nfunction UpdatePrefComplete(call) {\r\n\r\n if (!IsSessionExpired(call))\r\n {\r\n CancelLoader();\r\n toastr.success(LBLSaveRappel, SUCCESSTitle);\r\n window.location.href = '/mes-preferences';\r\n }\r\n}\r\nwindow.UpdatePrefComplete = UpdatePrefComplete;\r\n\r\n\r\n// pattern regex pour valider un numéro de téléphone\r\nvar patternTelephoneValide = /\\(([0-9]{3})\\)([ ])([0-9]{3})([-])([0-9]{4})/;\r\n/**\r\n * vérifier le téléphone est dans un format valide\r\n * @param {any} telephone Numéro de téléphone\r\n * doublon dans le fichier CustomValidator.js car \r\n */\r\nfunction isTelephoneValide(telephone)\r\n{\r\n return patternTelephoneValide.test(telephone);\r\n}\r\n\r\n/**\r\n * Affiche le panneau de droite avec les options de rappel\r\n * @param {any} url url à charger après l'exécution\r\n */\r\nfunction ShowOptions(url) {\r\n\r\n ShowLoader();\r\n\r\n //Formattage du panneau latéral droit qui contiendra les options de rappel\r\n $('.rightPanel').velocity({\r\n translateX: '+100%'\r\n }, {\r\n complete: function (e) {\r\n\r\n RightPanelPos();\r\n $('.rightPanelControl1').hide();\r\n $('.rightPanelControl2').attr('style', 'display:flex !important');\r\n $('#rightPanelHeaderText').text(LBLRappel);\r\n $('.rightPanel').hide();\r\n ShowRDVSection('hide');\r\n\r\n //On cible le panneau latéral droit\r\n var div = $('.rightPanelContainer');\r\n\r\n // Charger la vue partielle\r\n getRappelPreferencesAsync(url).then(function (data) {\r\n\r\n // Charger le html\r\n div.empty();\r\n div.append(data);\r\n\r\n //Affiche le masque de fond\r\n $(\"#logoutBack\").css('display', 'block');\r\n\r\n //Affiche le panneau\r\n $('.rightPanel').css('display', 'inline-block');\r\n\r\n //Appliquer le mask du téléphone à nouveau\r\n Inputmask(\r\n {\r\n \"mask\": \"(999) 999-9999\",\r\n placeholder: \" \",\r\n showMaskOnFocus: false,\r\n showMaskOnHover: false\r\n }\r\n\r\n ).mask('.TelInputMask');\r\n\r\n var telephoneCellulaire = document.getElementById(\"TelephoneCellulaire\");\r\n\r\n // Vérifie si nous avons deja un numéro de téléphone \r\n var telephone = document.getElementById(\"TelephoneCellulaire\");\r\n\r\n if (isTelephoneValide(telephone.value)) {\r\n telephone.classList.add(\"complet\");\r\n }\r\n else {\r\n telephoneCellulaire.classList.remove(\"complet\");\r\n telephoneCellulaire.classList.add(\"invalid\");\r\n }\r\n\r\n // Empêcher la touche Enter de bypasser la vérification cellulaire\r\n telephoneCellulaire.addEventListener('keydown', function () {\r\n if (event.keyCode == 13) {\r\n if (!SaveReminderRappelPanel()) {\r\n event.preventDefault();\r\n event.returnValue = false;\r\n }\r\n }\r\n });\r\n\r\n //Appliquer la verification jquerry du format du cellulaire a nouveau\r\n //Validation des numero de téléphone et cellulaire\r\n telephoneCellulaire.classList.remove(\"invalid\");\r\n telephoneCellulaire.addEventListener('keyup', function () {\r\n\r\n var spanCtrl = $('span[data-valmsg-for=\"TelephoneCellulaire\"]')\r\n var msgError = telephoneCellulaire.getAttribute(\"data-val-checkmobilephoneformat\");\r\n var saveButton = document.getElementById(\"saveRightPanel\");\r\n var rappelSMSNum = document.getElementById(\"RappelSMSNum\");\r\n\r\n //Affiche le message d'erreur et rend la ligne rouge\r\n spanCtrl.text('');\r\n telephoneCellulaire.classList.remove(\"invalid\");\r\n saveButton.setAttribute(\"form\", \"formOptions\");\r\n rappelSMSNum.style.display = \"block\";\r\n\r\n if (!(isTelephoneValide(telephoneCellulaire.value)) /*&& RappelMediaID.value == 'SMS'*/) {\r\n\r\n //rend le button d'enregistrement inactif\r\n saveButton.setAttribute(\"form\", \"\");\r\n telephoneCellulaire.classList.add(\"invalid\");\r\n rappelSMSNum.style.display = \"none\";\r\n\r\n //Affiche le message d'erreur et rend la ligne rouge\r\n spanCtrl.text(msgError);\r\n }\r\n });\r\n\r\n $('.rightPanel').velocity({\r\n translateX: '0px'\r\n });\r\n\r\n CancelLoader();\r\n\r\n });\r\n }\r\n });\r\n}\r\nwindow.ShowOptions = ShowOptions;\r\n\r\n/**\r\n * Vérifie si la sauvegarde du type de rappel est correct dans la page de préférences de communication\r\n * @param {any} RappelMediaID Type de rappel\r\n * @param {any} RappelPeriodeID Période de rappel\r\n */\r\nfunction SaveReminder(RappelMediaID, RappelPeriodeID) {\r\n\r\n var telephoneCellulaire = document.getElementById(\"TelephoneCellulaire\");\r\n\r\n // Empêcher un rappel par courriel (105) le jour même (102)\r\n if (RappelMediaID.value == 105 && RappelPeriodeID.value == 102) {\r\n toastr.error(ERRSaveEmail, ERRTitle);\r\n return false;\r\n }\r\n // Empêcher un rappel par SMS (106), le jour même (102) dont le numéro de téléphone est valide\r\n else if (RappelMediaID.value == 106 && RappelPeriodeID.value == 102 && isTelephoneValide(telephoneCellulaire.value)) {\r\n toastr.error(ERRSaveSMS, ERRTitle);\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\nwindow.SaveReminder = SaveReminder;\r\n\r\n/**\r\n * Vérifie si la sauvegarde du type de rappel est correct dans la page des rendez-vous du donneur\r\n */\r\nfunction SaveReminderRappelPanel() {\r\n\r\n var telephoneCellulaire = document.getElementById(\"TelephoneCellulaire\");\r\n var telephoneCellulaireValide = isTelephoneValide(telephoneCellulaire.value);\r\n var spanCtrl = $('span[data-valmsg-for=\"TelephoneCellulaire\"]')\r\n var msgError = telephoneCellulaire.getAttribute(\"data-val-checkmobilephoneformat\");\r\n var saveButton = document.getElementById(\"saveRightPanel\");\r\n var rappelSMSNum = document.getElementById(\"RappelSMSNum\");\r\n\r\n var RappelMediaID = $('input[name=\"RappelMediaID\"]:checked').val();\r\n var RappelPeriodeID = $('input[name=\"RappelPeriodeID\"]:checked').val();\r\n\r\n // Empêcher un rappel par courriel (105) le jour même (102)\r\n if (RappelMediaID == 105 && RappelPeriodeID == 102)\r\n {\r\n toastr.error(ERRSaveEmail, ERRTitle);\r\n\r\n return false;\r\n }\r\n // Empêcher un rappel par SMS (106), le jour même (102) dont le numéro de téléphone est valide\r\n else if (RappelMediaID == 106 && RappelPeriodeID == 102 && telephoneCellulaireValide)\r\n {\r\n toastr.error(ERRSaveSMS, ERRTitle);\r\n\r\n return false;\r\n }\r\n // Empêche un rappel par SMS (106) dont le numéro de téléphone n'est pas valide.\r\n else if (RappelMediaID == 106 && !telephoneCellulaireValide) {\r\n\r\n // Empêcher le sauvegarde\r\n saveButton.setAttribute(\"form\", \"\");\r\n\r\n // Indiquer que le cellulaire n'est pas valide\r\n telephoneCellulaire.classList.add(\"invalid\");\r\n rappelSMSNum.style.display = \"none\";\r\n spanCtrl.text(msgError);\r\n telephoneCellulaire.focus();\r\n\r\n return false;\r\n }\r\n else\r\n {\r\n return true;\r\n }\r\n \r\n}\r\nwindow.SaveReminderRappelPanel = SaveReminderRappelPanel;\r\n\r\n/**\r\n * Ferme le panneau latéral de droite\r\n * @param {Event} ev Object event\r\n */\r\nfunction CloseColDetail(ev) {\r\n\r\n //Si on as un événement, c'est du à un clic dans l'écran\r\n //si ca provient du panneau de droite on sort sinon on ferme le panneau\r\n if (ev != undefined) {\r\n\r\n if ($(ev.target).parents('.rightPanel').length) {\r\n return false;\r\n }\r\n }\r\n\r\n $(\"#logoutBack\").css('display', 'none');\r\n\r\n $('.rightPanel').velocity({\r\n translateX: '+100%'\r\n }, {\r\n complete: function (e) {\r\n $('.rightPanel').hide();\r\n }\r\n });\r\n\r\n}\r\nwindow.CloseColDetail = CloseColDetail;\r\n\r\n/**\r\n * Lorsqu'on clique sur un bouton pour afficher le détail d'un collecte dans Mes RDV et Ou Donner\r\n * @param {any} col Code de collecte\r\n * @param {any} type Type de don\r\n * @param {any} titre Titre de la collecte\r\n * @param {any} dateDebut Date de début \r\n * @param {any} dateFin Date de fin (plus utilisée)\r\n * @param {any} typeCol Type de collecte\r\n * @param {any} multiId Identifiant du multi jour\r\n * @param {any} NoShowRDVBtn Détermine si le bouton pour pendre un rendez-vous est affiché\r\n */\r\nfunction OpenColDetail(col, type, titre, dateDebut, dateFin, typeCol, multiId, NoShowRDVBtn) {\r\n\r\n //Active le loader\r\n ShowLoader();\r\n\r\n //On met lasemaine en cours par défaut\r\n var now = moment();\r\n\r\n //on prend le dimanche de la semaine précédente\r\n var sunday = now.clone().add(-1, 'week').weekday(7).format('YYYY-MM-DD');\r\n\r\n //Le samedi de la semaine courante\r\n var saturday = now.clone().weekday(6).format('YYYY-MM-DD');\r\n\r\n //On applique la semaine courante dans le filtre par defaut\r\n filterApplied.WeekStartDate = sunday;\r\n filterApplied.WeekEndDate = saturday;\r\n\r\n //Selectionne la semaine 1 par défaut\r\n SelectWeek(1);\r\n\r\n //Trouve la couleur a appliqué selon le type de don\r\n typeColor = 'white';\r\n\r\n switch (type.toLowerCase()) {\r\n case 'sang':\r\n typeColor = '#ED1B24';\r\n break;\r\n case 'plaquettes':\r\n typeColor = '#FF7802';\r\n break;\r\n case 'plasma':\r\n typeColor = '#FFCC00';\r\n break;\r\n default:\r\n }\r\n\r\n //On cible le panneau latéral droit\r\n var div = $('.rightPanelContainer');\r\n\r\n //On charge la vue partielle dans le DIV obtenu\r\n div.load('/collecte/GetCollecteByCodePartial?collecteMultiJourID=' + multiId + '&typeFamillePrelevement=' + type, function () {\r\n\r\n //On cherche dans la matrice des distances si on a la collecte\r\n var dist = distances.find(x => x.code == col);\r\n\r\n //Si on l'a on affiche la distance\r\n if (dist != undefined) {\r\n $('#listDetailDistance').text(dist.dist);\r\n }\r\n\r\n $('.rightPanelControl2').attr('style', 'display:none !important');\r\n $('.rightPanelControl1').show();\r\n\r\n $('#ColDetailTakeRDV').off('click');\r\n\r\n $('#ColDetailTakeRDV').on('click', function () {\r\n CloseColDetail();\r\n OpenRDV(col, titre, type, dateDebut, typeCol, multiId);\r\n\r\n });\r\n\r\n //Affiche le masque de fond\r\n $(\"#logoutBack\").css('display', 'block');\r\n\r\n if (NoShowRDVBtn == true) {\r\n\r\n NoRDVBtn = true;\r\n $('.rightPanelRDVBtn').attr('style', 'display: none !important;');\r\n\r\n } else {\r\n NoRDVBtn = false;\r\n\r\n $('.rightPanelRDVBtn').css('display', 'flex');\r\n }\r\n\r\n //Ajuste la panneau latéral droit selon la résolution\r\n RightPanelPos();\r\n\r\n //Affiche le panneau\r\n $('.rightPanel').css('display', 'inline-block');\r\n $('.rightPanel').velocity({\r\n translateX: '0px'\r\n });\r\n\r\n CancelLoader();\r\n\r\n });\r\n\r\n}\r\nwindow.OpenColDetail = OpenColDetail;\r\n\r\n/**\r\n * Met la collecte préféré quand un utilisateur clique sur le bouton favori\r\n * @param {any} code Code de collecte\r\n * @param {any} format Format carte ou liste\r\n * @param {any} type Type de don\r\n */\r\nfunction SetCollectePref(code, format, type) {\r\n\r\n //si le format est vide on le trouve en regardant si le bouton liste est actif\r\n if (format == '') {\r\n if ($('.listBtn').hasClass('active')) {\r\n format = 'liste';\r\n } else {\r\n format = 'carte';\r\n }\r\n }\r\n\r\n Analytics('gaEvent', 'rendez-vous', 'centre favori', code);\r\n\r\n // Assigner le code de collecte préféré\r\n setCodeCollectePrefereAsync(code, type).then(function (data) {\r\n\r\n // Vider la cache, sinon on ne verra pas le code de collecte favori\r\n clearCollecteCache();\r\n\r\n //On recharge l'onglet une pour voir le résultat de la collecte favorite\r\n var tab = FindActiveTab();\r\n\r\n RenderTab(tab, format);\r\n\r\n CloseColDetail();\r\n \r\n })\r\n\r\n}\r\nwindow.SetCollectePref = SetCollectePref;\r\n\r\n\r\n/**\r\n * Permet d'activer/désactiver les champs d'info donneur dans la page d'inscription si on clique\r\n * sur la case à cocher \"Je suis un donneur\"\r\n * */\r\nfunction IsDonorChecked() {\r\n\r\n if ($('.IsDonorCheckBox').prop('checked')) {\r\n $('.RegisterDonorField').prop('disabled', false);\r\n $('.HQRegister .ui-datepicker-trigger').css('display', 'block');\r\n } else {\r\n $('.RegisterDonorField').prop('disabled', true);\r\n $('.HQRegister .ui-datepicker-trigger').css('display', 'none');\r\n $('.RegisterDonorField').val('');\r\n }\r\n\r\n}\r\nwindow.IsDonorChecked = IsDonorChecked;\r\n\r\n\r\n/**\r\n * Permet d'activer ou désactiver les options de période de communication dans l'écran de préférence et le panneau de rappel\r\n * @param {any} RappelMediaID Type de rappel\r\n */\r\nfunction EnableRappelPeriode(RappelMediaID) {\r\n\r\n switch (RappelMediaID) {\r\n\r\n // Courriel\r\n case 'RadioRappelMedia105':\r\n // Activer ou désactiver les moments de rappel de rendez-vous\r\n DesactiverMomentsRappels(false, true, false);\r\n\r\n // Cacher la section qui demande le SMS\r\n AfficherOuCacherSectionDemanderCellulaire(false);\r\n break;\r\n\r\n // SMS\r\n case 'RadioRappelMedia106':\r\n // Activer ou désactiver les moments de rappel de rendez-vous\r\n DesactiverMomentsRappels(false, true, false);\r\n\r\n // Afficher la section qui demande le SMS\r\n AfficherOuCacherSectionDemanderCellulaire(true);\r\n\r\n // Retire la class invalid du champ cellulaire pour la premiere fois\r\n document.getElementById(\"TelephoneCellulaire\").classList.remove(\"invalid\");\r\n\r\n break;\r\n\r\n // Aucun\r\n case 'RadioRappelMedia999':\r\n // Activer ou désactiver les moments de rappel de rendez-vous\r\n DesactiverMomentsRappels(true, true, true);\r\n\r\n // Masquer la section qui demande le SMS\r\n AfficherOuCacherSectionDemanderCellulaire(false);\r\n break;\r\n\r\n // Téléphone et autre\r\n default:\r\n // Activer ou désactiver les moments de rappel de rendez-vous\r\n DesactiverMomentsRappels(false, false, false);\r\n\r\n // Masquer la section qui demande le SMS\r\n AfficherOuCacherSectionDemanderCellulaire(false);\r\n break;\r\n }\r\n}\r\nwindow.EnableRappelPeriode = EnableRappelPeriode;\r\n\r\n/**\r\n * Activer ou désactiver les moments de rappel de rendez-vous\r\n * @param {any} veille Détermine si le rappel la veille doit être actif\r\n * @param {any} jourMeme Détermine si le rappel le jour même doit être actif\r\n * @param {any} troisJoursAvant Détermine si le rappel trois jours avant doit être actif\r\n */\r\nfunction DesactiverMomentsRappels(veille, jourMeme, troisJoursAvant) {\r\n // LaVeille\r\n document.getElementById(\"RadioRappelPeriode101\").disabled = veille;\r\n // LeJourMeme\r\n document.getElementById(\"RadioRappelPeriode102\").disabled = jourMeme;\r\n // TroisJoursAvant\r\n document.getElementById(\"RadioRappelPeriode103\").disabled = troisJoursAvant;\r\n}\r\nwindow.DesactiverMomentsRappels = DesactiverMomentsRappels;\r\n\r\n/**\r\n * Afficher ou cacher la section qui demande le cellulaire au donneur si SMS activé et cellulaire invalide\r\n * @param {any} verifierCellulaire Si le numéro de cellulaire pourrait être affiché (vrai ou faux)\r\n */\r\nfunction AfficherOuCacherSectionDemanderCellulaire(verifierCellulaire) {\r\n\r\n //montrer la section qui demande le cellulaire pour le SMS\r\n var sectionCellulaire = document.getElementById(\"numberSMS\");\r\n var telephoneCellulaire = document.getElementById(\"TelephoneCellulaire\");\r\n var saveButton = document.getElementById(\"saveRightPanel\"); \r\n\r\n // Afficher la section si cellulaire incomplet\r\n if (verifierCellulaire && !telephoneCellulaire.classList.contains(\"complet\")) { \r\n sectionCellulaire.style.display = \"block\"; // afficher\r\n saveButton.setAttribute(\"form\", \"\"); // Empêcher la sauvegarde\r\n telephoneCellulaire.classList.add(\"invalid\");\r\n }\r\n else {\r\n sectionCellulaire.style.display = \"none\"; // cacher\r\n saveButton.setAttribute(\"form\", \"formOptions\"); // permettre la sauvegarde\r\n }\r\n}\r\nwindow.AfficherOuCacherSectionDemanderCellulaire = AfficherOuCacherSectionDemanderCellulaire;\r\n\r\n/**\r\n * Retourne les préférences de rappel dans le panneau d'option\r\n * @param {any} url : url à charger après exécution, à retourner avec le modèle\r\n */\r\nasync function getRappelPreferencesAsync(url) {\r\n\r\n let httpRequestUrl = '/api/preference/GetRappelPreferences?url=' + encodeURI(url);\r\n\r\n return axios.get(httpRequestUrl)\r\n\r\n .then(function (response) {\r\n return Promise.resolve(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n if (error.response) {\r\n if (error.response.status = 203) {\r\n window.location.href = '/user/mustbeloggedin';\r\n }\r\n }\r\n return Promise.reject(error);\r\n });\r\n}\r\nwindow.getRappelPreferencesAsync = getRappelPreferencesAsync;\r\n\r\n/**\r\n * Permet d'assigner un code de collecte préféré\r\n * @param {any} code : Code de collecte préféré\r\n * @param {any} type : Retourne de l'informatin comme le type de prélèvement et si c'est en mode détail\r\n */\r\nasync function setCodeCollectePrefereAsync(codeCollecte, type) {\r\n\r\n ShowLoader();\r\n\r\n let httpRequestUrl = '/api/collecte/setcodecollecteprefere';\r\n\r\n return axios.put(httpRequestUrl, {\r\n codeCollecte: encodeURIComponent(codeCollecte),\r\n type: type\r\n },\r\n {\r\n headers: {\r\n RequestVerificationToken: $(\"[name='__RequestVerificationToken']\").val()\r\n }\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n CancelLoader();\r\n return Promise.resolve(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n if (error.response) {\r\n if (error.response.status = 203) {\r\n window.location.href = '/user/mustbeloggedin';\r\n }\r\n }\r\n return Promise.reject(error);\r\n });\r\n\r\n}\r\nwindow.setCodeCollectePrefereAsync = setCodeCollectePrefereAsync;\r\n\r\n/**\r\n * Ferme le panneau des filtres\r\n * @param {Event} ev Evénement de l'objet\r\n */\r\nfunction CloseFilter(ev) {\r\n\r\n //Si on a un événement, c'est dû à un clic dans l'écran\r\n //si ça provient du panneau de droite on sort sinon on ferme le panneau\r\n if (ev != undefined) {\r\n\r\n if ($(ev.target).parents('.rightPanel').length) {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n CloseFilterSelectDate();\r\n\r\n $(\"#logoutBack\").css('display', 'none');\r\n $('.filterPanel').velocity({\r\n translateX: '+100%'\r\n });\r\n\r\n}\r\nwindow.CloseFilter = CloseFilter;","/**\r\n * Annule le rendez-vous et remet la plage disponible\r\n * @param {any} rendezVousId : identifiant du rendez-vous\r\n */\r\nasync function cancelRendezVousAsync(RendezVousId) {\r\n\r\n let httpRequestUrl = '/api/rendezvous/cancelrendezvous';\r\n\r\n return axios.put(httpRequestUrl,\r\n {\r\n RendezVousId: RendezVousId\r\n },\r\n {\r\n headers: {\r\n RequestVerificationToken: $(\"[name='__RequestVerificationToken']\").val()\r\n }\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n return Promise.resolve(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n if (error.response) {\r\n if (error.response.status = 203) {\r\n window.location.href = '/user/mustbeloggedin';\r\n }\r\n }\r\n return Promise.reject(error);\r\n });\r\n\r\n}\r\nwindow.cancelRendezVousAsync = cancelRendezVousAsync;\r\n\r\n\r\n/**\r\n * Retour au panneau du calendrier\r\n */\r\nfunction ReturnToCal() {\r\n\r\n $('#rdvTitle').text(LBLTakeRDV);\r\n $('#rdvBack').off('click');\r\n $('#rdvBack').on('click', function () {\r\n\r\n CloseRDV();\r\n });\r\n\r\n AfficherCalendrier();\r\n\r\n}\r\nwindow.ReturnToCal = ReturnToCal;\r\n\r\n/**\r\n * Affiche les différents composants des RDV\r\n * @param {any} section Section à afficher\r\n */\r\nfunction ShowRDVSection(section) {\r\n\r\n switch (section) {\r\n\r\n case 'calendar': //calendrier\r\n $('.rdvPanelContainer').css('background-color', 'white');\r\n $('#rdvCalendarContainer').show();\r\n $('.rangeContainer').hide();\r\n $('.hoursContainer').hide();\r\n $('.rdvPanelRDVBtn').hide();\r\n $('.rdvSelectDate').css('display', 'flex');\r\n $('.rdvSelectHour').hide().removeClass('d-flex');\r\n bottomControlOpen = false;\r\n RDVPanelPos(true);\r\n break;\r\n case 'hourrange': //liste des plages d'heures\r\n $('.rdvPanelContainer').css('background-color', 'white');\r\n $('#rdvCalendarContainer').hide();\r\n $('.rangeContainer').show();\r\n $('.hoursContainer').hide()\r\n $('.RDVNoRDV').hide();\r\n $('.rdvPanelRDVBtn').hide();\r\n bottomControlOpen = false;\r\n RDVPanelPos(true);\r\n break;\r\n case 'hourselect': //Liste des heures\r\n $('.rdvPanelContainer').css('background-color', 'white');\r\n $('#rdvCalendarContainer').hide();\r\n $('.rangeContainer').hide();\r\n $('.hoursContainer').show();\r\n $('.rdvPanelRDVBtn').show();\r\n $('.rdvSelectDate').hide().removeClass('d-flex');\r\n $('.rdvSelectHour').css('display', 'flex');\r\n bottomControlOpen = true;\r\n RDVPanelPos(false);\r\n break;\r\n case 'hide': //cache tout\r\n $('.rdvPanelContainer').css('background-color', 'white');\r\n $('#rdvCalendarContainer').hide();\r\n $('.rangeContainer').hide();\r\n $('.hoursContainer').hide();\r\n $('.rdvPanelRDVBtn').hide();\r\n $('.rdvSelectDate').hide().removeClass('d-flex');\r\n $('.rdvSelectHour').hide().removeClass('d-flex');\r\n $('.rdvPanel').hide();\r\n $('.rightPanelRDVBtn').hide();\r\n bottomControlOpen = false;\r\n RDVPanelPos();\r\n break;\r\n default:\r\n $('.rdvPanelContainer').css('background-color', 'white');\r\n $('#rdvCalendarContainer').hide();\r\n $('.rangeContainer').show();\r\n $('.hoursContainer').hide();\r\n $('.rdvPanelRDVBtn').hide();\r\n bottomControlOpen = false;\r\n RDVPanelPos();\r\n $('.RDVNoRDV').show();\r\n }\r\n\r\n}\r\nwindow.ShowRDVSection = ShowRDVSection;\r\n\r\n/**\r\n * Affiche le résultat des plages d'heures\r\n */\r\nfunction ShowRangeResult() {\r\n\r\n RightPanelPos(true);\r\n\r\n $('.RDVRangeHeader').show();\r\n $('.RDVNoRDV').hide();\r\n $('.View1Day').hide();\r\n $('.rdvPanelContainer').css('padding-bottom', '100px').css('background-color', 'white');\r\n $('.rangeContainer').show();\r\n $('.rdvPanelRDVBtn').hide();\r\n}\r\nwindow.ShowRangeResult = ShowRangeResult;\r\n\r\n/**\r\n * Cache le résultat des plages d'heures\r\n */\r\nfunction HideRangeResult() {\r\n\r\n RightPanelPos();\r\n\r\n $('.RDVRangeHeader').hide();\r\n $('.rdvPanelContainer').css('padding-bottom', '0px').css('background-color', 'white');\r\n $('.RDVNoRDV').show();\r\n $('.rangeContainer').hide();\r\n $('.rdvPanelRDVBtn').show();\r\n}\r\nwindow.HideRangeResult = HideRangeResult;\r\n\r\n\r\n\r\n/**\r\n * Annulation d'un rendez-vous\r\n * @param {any} RDVId Id du rdv\r\n * @param {any} nom Nom de la collecte du rdv a annuler\r\n * @param {any} type Type de don\r\n * @param {boolean} desuet desuet S'il s'agit d'un rdv désuet\r\n * @param {any} typeCol Type de collecte\r\n */\r\nfunction CancelRDV(RDVId, nom, type, desuet, typeCol) {\r\n\r\n if (!desuet) {\r\n $(\"#mi-modal\").modal('show');\r\n\r\n Analytics('gaEvent', 'rendez-vous', 'annulation de rendez-vous', 'intention d\\'annulation');\r\n\r\n $(\"#modal-btn-si\").on(\"click\", function () {\r\n CancelConfirmed(RDVId, nom, type, desuet, typeCol)\r\n });\r\n\r\n\r\n $(\"#modal-btn-no\").on(\"click\",\r\n function () {\r\n $(\"#mi-modal\").modal('hide');\r\n });\r\n } else {\r\n CancelConfirmed(RDVId, nom, type, desuet);\r\n return;\r\n }\r\n\r\n}\r\nwindow.CancelRDV = CancelRDV;\r\n\r\n/**\r\n * Confirmation de l'annulation d'un RDV\r\n * @param {any} RDVId Id du rdv\r\n * @param {any} nom Nom de la collecte du rdv a annuler\r\n * @param {any} type Type de don\r\n * @param {boolean} desuet S'il s'agit d'un rdv désuet\r\n */\r\nfunction CancelConfirmed(RDVId, nom, type, desuet, typeCol) {\r\n\r\n $(\"#mi-modal\").modal('hide');\r\n\r\n cancelRendezVousAsync(RDVId).then(function (data) {\r\n\r\n if (data = 'true') {\r\n\r\n toastr.options = {\r\n \"positionClass\": \"toast-top-center\",\r\n \"timeOut\": \"1000\"\r\n };\r\n toastr.options.onHidden = function (item) {\r\n\r\n var typeFR;\r\n\r\n switch (type.toLowerCase()) {\r\n case 'blood':\r\n typeFR = 'sang';\r\n break;\r\n case 'platelets':\r\n typeFR = 'plaquettes';\r\n break;\r\n\r\n default:\r\n typeFR = type;\r\n }\r\n\r\n\r\n if (typeCol == '3') {\r\n Analytics('gaEvent', 'rendez-vous', 'annulation de rendez-vous | collecte mobile | ' + typeFR, 'confirmer l\\'annulation | ' + nom);\r\n } else {\r\n Analytics('gaEvent', 'rendez-vous', 'annulation de rendez-vous | ' + typeFR, 'confirmer l\\'annulation | ' + nom);\r\n }\r\n\r\n\r\n\r\n if (desuet) {\r\n window.location.replace('/ou-donner');\r\n } else {\r\n window.location.replace('/mes-rendez-vous');\r\n }\r\n\r\n }\r\n\r\n toastr.success(RDVCanceled, SuccessMsg);\r\n\r\n } else {\r\n location.href = '/StatusCode/500';\r\n }\r\n\r\n });\r\n\r\n}\r\nwindow.CancelConfirmed = CancelConfirmed;","/**\r\n * \r\n * Routines utilitaires\r\n * \r\n * \r\n */\r\n\r\n\r\n/**\r\n * Libère la cache PWA\r\n */\r\nfunction clearPWACache() {\r\n\r\n caches.keys().then(cacheNames => {\r\n cacheNames.forEach(cacheName => {\r\n caches.delete(cacheName);\r\n });\r\n });\r\n\r\n}\r\nwindow.clearPWACache = clearPWACache;\r\n\r\n/**\r\n * Vide les stockage des collectes locaux\r\n * */\r\nfunction clearCollecteCache() {\r\n if (typeof (Storage) !== \"undefined\") {\r\n\r\n sessionStorage.removeItem('collectesListSang');\r\n sessionStorage.removeItem('collectesListPlasma');\r\n sessionStorage.removeItem('collectesListPlaquettes');\r\n }\r\n\r\n}\r\nwindow.clearCollecteCache = clearCollecteCache;\r\n\r\n/**\r\n * Créé un cookie\r\n * @param {any} key Id du cookie\r\n * @param {any} value Valeur à stocker\r\n * @param {any} days Durée de validité en jours\r\n */\r\nfunction setCookie(key, value, days) {\r\n\r\n var cryptedValue = CryptoJS.AES.encrypt(value, 'Z3D0nn3');\r\n\r\n var expires = new Date();\r\n if (days) {\r\n expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));\r\n document.cookie = key + '=' + cryptedValue + ';secure;samesite=strict;expires=' + expires.toUTCString();\r\n } else {\r\n document.cookie = key + '=' + cryptedValue + ';path=/';\r\n }\r\n}\r\nwindow.setCookie = setCookie;\r\n\r\n\r\n/**\r\n * Lit un cookie\r\n * @param {any} key Id du cookie à lire\r\n */\r\nfunction getCookie(key) {\r\n var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\r\n var cryptedValue = keyValue ? keyValue[2] : null;\r\n\r\n if (cryptedValue != null) {\r\n var bytes = CryptoJS.AES.decrypt(cryptedValue.toString(), 'Z3D0nn3');\r\n return bytes.toString(CryptoJS.enc.Utf8);\r\n\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\nwindow.getCookie = getCookie;\r\n\r\n/**\r\n * Vérifie si la session est encore active\r\n * @param {any} callStatus Code recu pour vérifier si la session est active\r\n */\r\nfunction IsSessionExpired(callStatus) {\r\n\r\n if (callStatus != null) {\r\n //Si la session est expirée, on recois un code 203 et on redirige\r\n //a la page de reconnexion\r\n if (callStatus.status == 203) {\r\n window.location.href = '/user/mustbeloggedin';\r\n return true;\r\n }\r\n } else {\r\n window.location.href = '/statuscode/500';\r\n return true;\r\n }\r\n\r\n return false;\r\n\r\n}\r\nwindow.IsSessionExpired = IsSessionExpired;\r\n\r\n/**\r\n * \r\n * Fait une requête au serveur pour vérifier si on est online après l'utilisation de navigator.online\r\n * navigator.online n'est pas suffisant pour s'assurer que l'application est online, exemple, on as une connexion wi-fi mais pas authentifiée, donc pas d'Internet, mais une connexion est valide\r\n * */\r\nfunction PingServer() {\r\n //Fonctionne mais pour une utilisation future\r\n ServerOnline(true);\r\n\r\n}\r\nwindow.PingServer = PingServer;\r\n\r\n\r\n/**\r\n * Actions si l'application est online ou non\r\n * @param {any} status Statu du serveur\r\n */\r\nfunction ServerOnline(status) {\r\n if (status) {\r\n ServerOK = true;\r\n console.log(\"online\");\r\n\r\n } else {\r\n ServerOK = false;\r\n console.log(\"offline\");\r\n //Redirige vers la page offline\r\n window.location.href = '/offline.html';\r\n }\r\n}\r\nwindow.ServerOnline = ServerOnline;\r\n\r\n/**\r\n * Si le serveur revient en ligne on redirige\r\n */\r\nfunction Reconnect() {\r\n if (ServerOK) {\r\n //Redirige sur la page d'accueil si serveur dispo\r\n // window.location.href = '/user/welcome';\r\n }\r\n}\r\nwindow.Reconnect = Reconnect;\r\n\r\n/**\r\n * Affiche le loader pour un formulaire valide\r\n * @param {any} ctl Objet d'ou est appelé la fonction\r\n */\r\nfunction ShowLoader(ctl) {\r\n\r\n window.clearTimeout(loaderTimeOut);\r\n\r\n if (ctl == undefined) {\r\n\r\n var screenW = $('.AppMainContainer').outerWidth();\r\n var leftLoader = Math.ceil(screenW / 2);\r\n $('#WaitModalManual').css('left', leftLoader + 'px');\r\n\r\n $('#ModalBack').show();\r\n $('#WaitModalManual').show();\r\n\r\n loaderTimeOut = window.setTimeout(CancelLoader, 45000);\r\n\r\n } else {\r\n //Avant de montrer le loader. il faut vérifié si cela viens d'une form et qu'elle est valide sinon\r\n //le loader apparait par dessus les messages d'erreurs, ne disparait pas et bloque la saisie\r\n if ($(ctl)[0].form != undefined) {\r\n\r\n if ($($(ctl)[0].form).valid()) {\r\n var screenW = $('.AppMainContainer').outerWidth();\r\n var leftLoader = Math.ceil(screenW / 2);\r\n $('#WaitModalManual').css('left', leftLoader + 'px');\r\n $('#ModalBack').show();\r\n $('#WaitModalManual').show();\r\n loaderTimeOut = window.setTimeout(CancelLoader, 45000);\r\n }\r\n\r\n } else {\r\n var screenW = $('.AppMainContainer').outerWidth();\r\n var leftLoader = Math.ceil(screenW / 2);\r\n $('#WaitModalManual').css('left', leftLoader + 'px');\r\n $('#ModalBack').show();\r\n $('#WaitModalManual').show();\r\n loaderTimeOut = window.setTimeout(CancelLoader, 45000);\r\n }\r\n }\r\n\r\n}\r\nwindow.ShowLoader = ShowLoader;\r\n\r\n/** \r\n *\r\n *Ferme le loader après un timeout pour éviter qu'il reste visible dans certains cas\r\n *Ex. En mode app sur Android, si on laisse l'app dormante, quand on reviens le loader est affiché et l'application est bloquée\r\n */\r\nfunction CancelLoader() {\r\n window.clearTimeout(loaderTimeOut);\r\n\r\n $('#ModalBack').hide();\r\n $('#WaitModalManual').hide();\r\n}\r\nwindow.CancelLoader = CancelLoader;\r\n\r\n/** \r\n * Enregistre le consentement aux cookies\r\n */\r\n(function () {\r\n\r\n $(\"#cookieConsent button[data-cookie-string]\").click(function (el) {\r\n\r\n document.cookie = el.target.dataset.cookieString;\r\n $('#cookieConsent').hide();\r\n AjustAppPosCookieConsent();\r\n\r\n });\r\n\r\n})();\r\n\r\n/** \r\n * Enregistre le consentement aux cookies\r\n * Utilisé aussi dans formatscreen.js\r\n */\r\nfunction AjustAppPosCookieConsent() {\r\n\r\n if ($('#cookieConsent').css('display') == 'block') {\r\n $('.AppMainContainer').css('margin-top', '85px');\r\n $('.AppMainContainer').css('margin-top', '85px');\r\n } else {\r\n $('.AppMainContainer').css('margin-top', '0px');\r\n }\r\n\r\n}\r\nwindow.AjustAppPosCookieConsent = AjustAppPosCookieConsent;\r\n\r\n/**\r\n * Vide une matrice\r\n * @param {any} arr Matrie à vider\r\n */\r\nfunction clearArray(arr) {\r\n while (arr.length > 0) {\r\n arr.pop();\r\n }\r\n};\r\nwindow.clearArray = clearArray;\r\n\r\n/**\r\n * Convertion d'une chaine en majuscule\r\n * @param {any} str Chaine de caractère à convertir\r\n */\r\nfunction sentenceCase(str) {\r\n return str.replace(/[a-z]/i, function (letter) {\r\n\r\n return letter.toUpperCase();\r\n\r\n }).trim();\r\n}\r\nwindow.sentenceCase = sentenceCase;\r\n\r\n\r\n//Parse le URL pour obtenir les paramètres ex. $.urlParam('ville') retourne le montreal dans l'URL MyApp.com?ville=montreal\r\n$.urlParam = function (name) {\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if (results == null) {\r\n return null;\r\n }\r\n else {\r\n return results[1] || 0;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Pour enregistrer les événement Google analytics\r\n * @param {any} event Événement déclenché\r\n * @param {any} eventCategory Catégorie\r\n * @param {any} eventAction Action à enregistrer\r\n * @param {any} eventLabel Texte de l'action\r\n */\r\nfunction Analytics(event, eventCategory, eventAction, eventLabel) {\r\n\r\n if (GAActive) {\r\n window.dataLayer = window.dataLayer || [];\r\n dataLayer.push({\r\n 'event': event,\r\n 'eventCategory': eventCategory,\r\n 'eventAction': eventAction,\r\n 'eventLabel': eventLabel\r\n });\r\n }\r\n\r\n}\r\nwindow.Analytics = Analytics;\r\n\r\n/**\r\n * Pour enregistrer les événement Google analytics\r\n * @param {any} event Événement déclenché\r\n * @param {any} url URL de la page\r\n * @param {any} title Titre\r\n */\r\nfunction AnalyticsPageView(event, url, title) {\r\n\r\n if (GAActive) {\r\n window.dataLayer = window.dataLayer || [];\r\n dataLayer.push({\r\n 'event': event,\r\n 'virtualPageURL': url,\r\n 'virtualPageTitle': title\r\n });\r\n }\r\n\r\n}\r\nwindow.AnalyticsPageView = AnalyticsPageView;\r\n\r\n/**\r\n * Envoi d'un commentaire\r\n */\r\nfunction GASendComment() {\r\n\r\n var r1 = $('#ComRadio-0').prop('checked');\r\n var r2 = $('#ComRadio-1').prop('checked');\r\n var r3 = $('#ComRadio-2').prop('checked');\r\n\r\n var commentType = '';\r\n\r\n if (r1) {\r\n commentType = 'Commentaire'\r\n }\r\n if (r2) {\r\n commentType = 'Question'\r\n }\r\n if (r3) {\r\n commentType = 'Soutien technique'\r\n }\r\n\r\n if (commentType != '' && $('#NousJoindreForm').valid()) {\r\n Analytics('gaEvent', 'nous joindre', 'formulaire de contact', 'formulaire envoyer | ' + commentType);\r\n ShowLoader();\r\n }\r\n\r\n}\r\nwindow.GASendComment = GASendComment;\r\n\r\n/**\r\n * Fait la création d'un bouton d'installation pour PWa dans Android\r\n */\r\nfunction AndroidPWABtnCreation() {\r\n\r\n const btnPWA = document.getElementById(\"btnPWA\");\r\n\r\n btnPWA.explainer = $.parseHTML(TXTPWAExplainer)[0].textContent;\r\n btnPWA.featuresheader = $.parseHTML(LBLPWATitle)[0].textContent;;\r\n btnPWA.installbuttontext = $.parseHTML(LBLPWAInstall)[0].textContent;;\r\n\r\n}\r\nwindow.AndroidPWABtnCreation = AndroidPWABtnCreation;\r\n\r\n/**\r\n * Ferme le panneau des RDV\r\n * @param {Event} ev Événement de l'objet\r\n */\r\nfunction CloseRDV(ev) {\r\n\r\n //Si on as un événement, c'est du à un clic dans l'écran\r\n //si ca provient du panneau de droite on sort sinon on ferme le panneau\r\n if (ev != undefined) {\r\n\r\n if ($(ev.target).parents('.rightPanel').length) {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n $(\"#logoutBack\").css('display', 'none');\r\n $('.rdvPanel').velocity({\r\n translateX: '+100%'\r\n }, {\r\n complete: function (e) {\r\n\r\n }\r\n });\r\n\r\n}\r\nwindow.CloseRDV = CloseRDV;\r\n\r\n/**\r\n * Empêche un double click\r\n */\r\nfunction prevent_double_click() {\r\n clicked = true;\r\n setTimeout(function () {\r\n clicked = false;\r\n }, 1000);\r\n}\r\nwindow.prevent_double_click = prevent_double_click;\r\n\r\n","import { moment } from \"fullcalendar\";\r\n\r\n/**\r\n * Ajoute la méthode afterShow au datepicker, requis pour valider le champs à la sortie du calendrier\r\n */\r\n$(function () {\r\n\t$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\r\n\t$.datepicker._updateDatepicker = function (inst) {\r\n\t\t$.datepicker._updateDatepicker_original(inst);\r\n\t\tvar afterShow = this._get(inst, \"afterShow\");\r\n\t\tif (afterShow) afterShow.apply(inst.input ? inst.input[0] : null); // trigger custom callback\r\n\t};\r\n\t$(\"#datepicker\").datepicker({\r\n\t\tbeforeShow: function (input, inst) {\r\n\t\t\tvar today = $(\".ui-datepicker-today\");\r\n\t\t\tif (today.length) {\r\n\t\t\t\t$(\".message-before\").append(today.find(\"a\").html() + \"
\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\".message-before\").append(\r\n\t\t\t\t\t\"Today DOM element is not rendered yet.
\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\tafterShow: function (inst) {\r\n\t\t\tvar today = $(\".ui-datepicker-today\");\r\n\t\t\tif (today.length) {\r\n\t\t\t\t$(\".message-after\").append(today.find(\"a\").html() + \"
\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\".message-after\").append(\r\n\t\t\t\t\t\"Today DOM element should be already rendered.
\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t});\r\n});\r\n\r\n/**\r\n * Lorsque la page est chargée, appliquer les masques de saisies, reset de la cache et autre\r\n */\r\n$(document).ready(function () {\r\n\t//Récupère le cookie de la derniêre version\r\n\tvar jsVersion = getCookie(\"AppVersionJs\");\r\n\r\n\t//Si il est vide, c'est une première connection avec cette version\r\n\t//on créé le cookie et on reset le cache\r\n\tif (jsVersion == null) {\r\n\t\tsetCookie(\"AppVersionJs\", AppVersion, 365);\r\n\t\tResetCache();\r\n\t} else {\r\n\t\t//Si la version est différente du cookie de la dernière version on reset le cache\r\n\t\tif (jsVersion != AppVersion) {\r\n\t\t\tsetCookie(\"AppVersionJs\", AppVersion, 365);\r\n\t\t\tResetCache();\r\n\t\t}\r\n\t}\r\n\r\n\t// Empêcher la touche \"enter\" d'être appuyée lorsque le loader est actif\r\n\t$(\"body\")\r\n\t\t.first()\r\n\t\t.on(\"keypress\", function (event) {\r\n\t\t\t// Si la touche \"enter\" est appuyée\r\n\t\t\tif (window.event.keyCode == 13) {\r\n\t\t\t\t// Si le loader est visible\r\n\t\t\t\tif ($(\"#ModalBack\").is(\":visible\")) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t//Init du panneau de déconnexion pour les pages avec le nouveau thème\r\n\t// utilisé puisque les pages de profil sont encore avec le vieux theme\r\n\tif (designVer == \"1.1\") {\r\n\t\t$(\".logoutContainer\").velocity(\r\n\t\t\t{\r\n\t\t\t\ttranslateX: \"-100%\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcomplete: function (e) {\r\n\t\t\t\t\t$(\".logoutContainer\").show();\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\t//Config du menu de gauche (permet de cliquer n'importe ou pour le fermer)\r\n\t\t$(\".burgerMenu\").sideNav({\r\n\t\t\tcloseOnClick: true,\r\n\t\t\tshowOverlay: true,\r\n\t\t});\r\n\t\t//MDBootstrap menu utilisé pour le menu de gauche\r\n\t\tvar sideNavScrollbar = document.querySelector(\".custom-scrollbar\");\r\n\t\tvar ps = new PerfectScrollbar(sideNavScrollbar);\r\n\t}\r\n\r\n\t//On inscrit les statistiques GA pour les boutons des menus\r\n\t$(\".ganavbutton\").on(\"click\", function () {\r\n\t\tvar title = $(this).attr(\"data-ga\");\r\n\r\n\t\tif ($(this).attr(\"href\") == \"/ma-carte\") {\r\n\t\t\tAnalytics(\r\n\t\t\t\t\"gaEvent\",\r\n\t\t\t\t\"rendez-vous\",\r\n\t\t\t\t\"scanner carte de donneur\",\r\n\t\t\t\t\"intention de scanner ma carte\"\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif ($(this).hasClass(\"MonProfilButton\")) {\r\n\t\t\ttitle = \"Mon profil |\" + title;\r\n\t\t}\r\n\r\n\t\tif ($(this).hasClass(\"MenuPlus\")) {\r\n\t\t\ttitle = \"Menu Plus |\" + title;\r\n\t\t}\r\n\r\n\t\tif (CheckSize() == \"mobile\") {\r\n\t\t\tAnalytics(\"gaEvent\", \"navigation\", \"menu mobile\", title);\r\n\t\t\tif ($(this).attr(\"href\") == \"/ou-donner\") {\r\n\t\t\t\tAnalytics(\r\n\t\t\t\t\t\"gaEvent\",\r\n\t\t\t\t\t\"rendez-vous\",\r\n\t\t\t\t\t\"prise de rendez-vous\",\r\n\t\t\t\t\t\"intention de prise de rendez-vous depuis le menu mobile\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tAnalytics(\"gaEvent\", \"navigation\", \"menu desktop\", title);\r\n\t\t\tif ($(this).attr(\"href\") == \"/ou-donner\") {\r\n\t\t\t\tAnalytics(\r\n\t\t\t\t\t\"gaEvent\",\r\n\t\t\t\t\t\"rendez-vous\",\r\n\t\t\t\t\t\"prise de rendez-vous\",\r\n\t\t\t\t\t\"intention de prise de rendez-vous depuis le menu desktop\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t$(\"#aideAccordion .btn-collapse-accordion\").on(\"click\", function () {\r\n\t\tvar title = $(this).attr(\"data-ga\");\r\n\r\n\t\tAnalytics(\"gaEvent\", \"faq\", \"question affichée\", title);\r\n\t});\r\n\r\n\t////Empêche que le focus se déplace sur le body si on scroll au travers du menu du bas\r\n\t////ceci donne l'impression que l'écran est gelé, en fait c'est le body qui scroll en dessous et on ne le vois pas\r\n\t$(\".HQBottomNav\").on(\"touchmove\", function (e) {\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$(\"body\").on(\"touchmove\", function (e) {\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$(\"html\").on(\"touchmove\", function (e) {\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t//Ignore l'événement beforeonload pour les liens mailto\r\n\t$(\"a[href^=mailto]\").on(\"click\", function () {\r\n\t\tignore_onbeforeunload = true;\r\n\t});\r\n\r\n\t//Ignore l'événement beforeonload pour les liens tel\r\n\t$(\"a[href^=tel]\").on(\"click\", function () {\r\n\t\tignore_onbeforeunload = true;\r\n\t});\r\n\r\n\t//Quand on quitte la page, on affiche le loader sauf si l'événement est annulé pour un type de lien\r\n\t//on stocke aussi l'URL pour un retour en arrière\r\n\t$(window).on(\"beforeunload\", function (e) {\r\n\t\tif (!ignore_onbeforeunload) {\r\n\t\t\tShowLoader();\r\n\t\t}\r\n\t\tignore_onbeforeunload = false;\r\n\t});\r\n\r\n\t//Permet de corriger un problème de scroll sur mobile (remplace )\r\n\tdocument.body.addEventListener(\"touchstart\", function (e) {}, false);\r\n\r\n\t//Permet de vérifier si on est online ou non\r\n\twindow.addEventListener(\"load\", () => {\r\n\t\tfunction handleNetworkChange(event) {\r\n\t\t\tif (navigator.onLine) {\r\n\t\t\t\tPingServer();\r\n\t\t\t} else {\r\n\t\t\t\tServerOnline(false);\r\n\t\t\t}\r\n\t\t}\r\n\t\twindow.addEventListener(\"online\", handleNetworkChange);\r\n\t\twindow.addEventListener(\"offline\", handleNetworkChange);\r\n\t});\r\n\r\n\tif (navigator.onLine) {\r\n\t\tPingServer();\r\n\t} else {\r\n\t\tServerOnline(false);\r\n\t}\r\n\r\n\t//Ajustement de l'entête du menu\r\n\t$(\".snavIconContainer\").css(\"min-width\", LeftNavWhenOpen + \"px\");\r\n\r\n\t//Options des toasts\r\n\ttoastr.options = {\r\n\t\tcloseButton: false,\r\n\t\tdebug: false,\r\n\t\tnewestOnTop: false,\r\n\t\tprogressBar: false,\r\n\t\tpositionClass: \"toast-bottom-center\",\r\n\t\tpreventDuplicates: false,\r\n\t\tonclick: null,\r\n\t\tshowDuration: \"3000\",\r\n\t\thideDuration: \"1000\",\r\n\t\ttimeOut: \"5000\",\r\n\t\textendedTimeOut: \"1000\",\r\n\t\tshowEasing: \"swing\",\r\n\t\thideEasing: \"linear\",\r\n\t\tshowMethod: \"fadeIn\",\r\n\t\thideMethod: \"fadeOut\",\r\n\t};\r\n\r\n\t//Montre le loader pendant les opérations ajax\r\n\t$(document).ajaxStart(function () {\r\n\t\tShowLoader();\r\n\t});\r\n\r\n\t$(document).ajaxComplete(function () {\r\n\t\tsetTimeout(CancelLoader, 1000);\r\n\t});\r\n\r\n\t//Ajustement initial du mode Mobile ou desktop\r\n\tAjustSize();\r\n\r\n\t//Ajustement si on redimenssione la fenêtre\r\n\t$(window).resize(AjustSize);\r\n\r\n\t//Si le numéro de donneur est présent, on peut afficher le code à barre\r\n\tif (typeof donorNo !== \"undefined\") {\r\n\t\tJsBarcode(\"#donorBarCode\", donorNo, {\r\n\t\t\tdisplayValue: false,\r\n\t\t\theight: 150,\r\n\t\t\tmarginTop: 50,\r\n\t\t\tbackground: \"white\",\r\n\t\t\twidth: 3,\r\n\t\t});\r\n\t}\r\n\t//rdvSubject = $('#rdvCalendarSubject').val();\r\n\t//rdvSubjectDetail = $('#rdvCalendarDetail').val();\r\n\r\n\t//Config des icone \"oeil\" des mot de passe pour cacher/montrer le mot de passe\r\n\t$(\".PswEyeContainer\").click(function () {\r\n\t\t$(this).find(\".toggle-password\").toggleClass(\"hidepassword showpassword\");\r\n\r\n\t\tif (CurrentLanguage == \"EN\") {\r\n\t\t\tif ($(this).find(\".EyeText\").text() == \"Afficher\") {\r\n\t\t\t\t$(this).find(\".EyeText\").text(\"Cacher\");\r\n\t\t\t} else {\r\n\t\t\t\t$(this).find(\".EyeText\").text(\"Afficher\");\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ($(this).find(\".EyeText\").text() == \"Show\") {\r\n\t\t\t\t$(this).find(\".EyeText\").text(\"Hide\");\r\n\t\t\t} else {\r\n\t\t\t\t$(this).find(\".EyeText\").text(\"Show\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar input = $(this).siblings(\"input\");\r\n\r\n\t\tif (input.attr(\"type\") == \"password\") {\r\n\t\t\tinput.attr(\"type\", \"text\");\r\n\t\t} else {\r\n\t\t\tinput.attr(\"type\", \"password\");\r\n\t\t}\r\n\t});\r\n\r\n\t//Activation des tooltips\r\n\t$('[data-toggle=\"tooltip\"]').tooltip();\r\n\r\n\tInputmask({\r\n\t\tmask: \"99-99-9999\",\r\n\t\tplaceholder: LBLDatePlaceHolder,\r\n\t\tshowMaskOnFocus: true,\r\n\t\tshowMaskOnHover: false,\r\n\t}).mask(\".DateInputMask\");\r\n\r\n\t//Masque de saisie\r\n\t//Code postal\r\n\tInputmask({\r\n\t\tmask: \"a9a 9a9\",\r\n\t\tplaceholder: \" \",\r\n\t\tshowMaskOnFocus: false,\r\n\t\tshowMaskOnHover: false,\r\n\t}).mask(\".CPInputMask\");\r\n\r\n\t//Téléphone\r\n\tInputmask({\r\n\t\tmask: \"(999) 999-9999\",\r\n\t\tplaceholder: \" \",\r\n\t\tshowMaskOnFocus: false,\r\n\t\tshowMaskOnHover: false,\r\n\t}).mask(\".TelInputMask\");\r\n\r\n\t//Numéro de donneur\r\n\tInputmask({\r\n\t\tmask: \"9999999\",\r\n\t\tplaceholder: \" \",\r\n\t\tshowMaskOnFocus: true,\r\n\t\tshowMaskOnHover: false,\r\n\t}).mask(\".DonneurInputMask\");\r\n\r\n\t//Retire les attributs im-insert mis par inputmask car ils ne sont pas valide en HTML5\r\n\t$(\"input[im-insert='true']\").removeAttr(\"im-insert\");\r\n\r\n\t// Préparer les format des datepicker en fonction de la langue\r\n\tvar DateFormat;\r\n\tvar DayNames;\r\n\tvar MonthNames;\r\n\tif (CurrentLanguage == \"EN\") {\r\n\t\tDateFormat = \"dd-mm-yy\";\r\n\t\tDayNames = [\"Di\", \"Lu\", \"Ma\", \"Me\", \"Je\", \"Ve\", \"Sa\"];\r\n\t\tMonthNames = [\r\n\t\t\t\"Janvier\",\r\n\t\t\t\"Février\",\r\n\t\t\t\"Mars\",\r\n\t\t\t\"Avril\",\r\n\t\t\t\"Mai\",\r\n\t\t\t\"Juin\",\r\n\t\t\t\"Juillet\",\r\n\t\t\t\"Août\",\r\n\t\t\t\"Septembre\",\r\n\t\t\t\"Octobre\",\r\n\t\t\t\"Novembre\",\r\n\t\t\t\"Décembre\",\r\n\t\t];\r\n\t} else {\r\n\t\tDateFormat = \"mm-dd-yy\";\r\n\t\tDayNames = [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"];\r\n\t\tMonthNames = [\r\n\t\t\t\"January\",\r\n\t\t\t\"February\",\r\n\t\t\t\"March\",\r\n\t\t\t\"April\",\r\n\t\t\t\"May\",\r\n\t\t\t\"June\",\r\n\t\t\t\"July\",\r\n\t\t\t\"August\",\r\n\t\t\t\"September\",\r\n\t\t\t\"October\",\r\n\t\t\t\"November\",\r\n\t\t\t\"December\",\r\n\t\t];\r\n\t}\r\n\r\n\t//Active les datepickers\r\n\t$(\".JQDatePicker\").datepicker({\r\n\t\tshowOn: \"button\",\r\n\t\tdateFormat: DateFormat,\r\n\t\tmonthNames: MonthNames,\r\n\t\tdayNamesMin: DayNames,\r\n\t\tshowMonthAfterYear: true,\r\n\t\tchangeYear: true,\r\n\t\tchangeMonth: true,\r\n\t\tyearRange: \"-100:+0\",\r\n\t\tbuttonImage: \"/dist/img/Calendar-25px.png\",\r\n\t\tbeforeShow: function (input, cal) {\r\n\t\t\tvar a = 1;\r\n\r\n\t\t\t$(input).parent().prepend($(input).datepicker(\"widget\"));\r\n\r\n\t\t\t$(input).parent().find(\"label\").addClass(\"md-jqdatepicker\");\r\n\t\t},\r\n\t\tonSelect: function (input, cal) {},\r\n\t\tafterShow: function (input, cal) {},\r\n\t\tonClose: function (input, cal) {\r\n\t\t\t$(cal)[0].input[0].focus();\r\n\t\t\t$(cal)[0].input[0].blur();\r\n\t\t\t$(cal)[0].input[0].focus();\r\n\t\t},\r\n\t});\r\n\r\n\t//Permet de fermer les masque de loader si on clique ailleurs dans l'écran\r\n\t$(\"#logoutBack\").click(function (e) {\r\n\t\tCloseColDetail(e);\r\n\t\tCloseRDV(e);\r\n\t\tCloseLogout(e);\r\n\t\tCloseFilter(e);\r\n\t});\r\n\r\n\t$(\"#sidenav-overlay\").click(function (e) {\r\n\t\tCloseColDetail(e);\r\n\t\tCloseRDV(e);\r\n\t\tCloseLogout(e);\r\n\t\tCloseFilter(e);\r\n\t});\r\n\r\n\tvar AddBtn = $(\".add-button\");\r\n\r\n\tif (AddBtn.length > 0) {\r\n\t\tvar addBtn = AddBtn[0];\r\n\t\t//Ajoute un événement pour pouvoir ajouter l'application au home screen avec Android\r\n\t\twindow.addEventListener(\"beforeinstallprompt\", (e) => {\r\n\t\t\t// Prevent Chrome 67 and earlier from automatically showing the prompt\r\n\t\t\te.preventDefault();\r\n\t\t\t// Stash the event so it can be triggered later.\r\n\t\t\tdeferredPrompt = e;\r\n\r\n\t\t\taddBtn.addEventListener(\"click\", (e) => {\r\n\t\t\t\t// Show the prompt\r\n\t\t\t\tdeferredPrompt.prompt();\r\n\t\t\t\t// Wait for the user to respond to the prompt\r\n\t\t\t\tdeferredPrompt.userChoice.then((choiceResult) => {\r\n\t\t\t\t\tif (choiceResult.outcome === \"accepted\") {\r\n\t\t\t\t\t\tconsole.log(\"User accepted the A2HS prompt\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log(\"User dismissed the A2HS prompt\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdeferredPrompt = null;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t//Lancement des pages selon le URL pour s'assurer que les pages ont fini de charger avant de lancer les JavaScript\r\n\tPageRun();\r\n});\r\n\r\n/**\r\n * Supprime le service-worker et les caches\r\n * */\r\nfunction ResetCache() {\r\n\tif (\"serviceWorker\" in navigator) {\r\n\t\tnavigator.serviceWorker.getRegistrations().then(function (registrations) {\r\n\t\t\tfor (let registration of registrations) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tregistration.active.scriptURL.indexOf(\"/dist/service-worker.js\") != -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tregistration.unregister();\r\n\t\t\t\t\tconsole.log(\"New version detected, service-worker unregistered\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tcaches\r\n\t\t\t.keys()\r\n\t\t\t.then((cacheNames) => {\r\n\t\t\t\tcacheNames.forEach((cacheName) => {\r\n\t\t\t\t\tcaches.delete(cacheName);\r\n\t\t\t\t});\r\n\t\t\t\tconsole.log(\"New version detected, cache flushed\");\r\n\t\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tnavigator.serviceWorker\r\n\t\t\t\t\t.register(\"/dist/service-worker.js\")\r\n\t\t\t\t\t.then((registration) => {\r\n\t\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t\t\"SW registered following version change: \",\r\n\t\t\t\t\t\t\tregistration\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((registrationError) => {\r\n\t\t\t\t\t\tconsole.log(\"SW registration version failed: \", registrationError);\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n}\r\nwindow.Resetcache = ResetCache;\r\n\r\n/**\r\n * Lancement de script selon le URL\r\n */\r\nfunction PageRun() {\r\n\tvar url = window.location.pathname;\r\n\r\n\t//if (url.toLowerCase().indexOf('/prendre-rendez-vous') != -1) {\r\n\t// PageRDV();\r\n\t//}\r\n\r\n\t// Active ou désactive les champs du donneur si la case à cocher IsDonor est cochée\r\n\tif (url.toLowerCase().indexOf(\"/account/register\") != -1) {\r\n\t\tIsDonorChecked();\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/ou-donner\") != -1) {\r\n\t\timport(/* webpackChunkName: \"PageOuDonner\"*/ \"../PageOuDonner/index.js\");\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/puis-je-donner\") != -1) {\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"PagePuisJeDonner\"*/ \"../PagePuisJeDonner/index.js\"\r\n\t\t);\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/evaluer-application\") != -1) {\r\n\t\timport(/* webpackChunkName: \"PageEval\"*/ \"../PageEval/index.js\");\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/mes-rendez-vous\") != -1) {\r\n\t\timport(/* webpackChunkName: \"PageMesRDV\"*/ \"../PageMesRDV/index.js\");\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/mes-dons\") != -1) {\r\n\t\tLeftMenuHeight();\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/me-connecter\") != -1) {\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"PageMeConnecter\"*/ \"../PageMeConnecter/index.js\"\r\n\t\t);\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/type-de-don\") != -1) {\r\n\t\timport(/* webpackChunkName: \"PageTypeDon\"*/ \"../PageTypeDon/index.js\");\r\n\t}\r\n\t//Création d'un bouton d'installation pour PWA Android seulement\r\n\tif (url.toLowerCase().indexOf(\"/ajouter-ecran-accueil\") != -1) {\r\n\t\tAndroidPWABtnCreation();\r\n\t}\r\n\r\n\tif (url.toLowerCase().indexOf(\"/maintenance\") != -1) {\r\n\t\timport(\r\n\t\t\t/* webpackChunkName: \"PageMaintenance\"*/ \"../PageMaintenance/index.js\"\r\n\t\t);\r\n\t}\r\n\r\n\tif (\r\n\t\turl.toLowerCase().indexOf(\"/conditions-utilisation-et-confidentialite\") !=\r\n\t\t-1\r\n\t) {\r\n\t\timport(/* webpackChunkName: \"PageConditions\"*/ \"../PageCondition/index.js\");\r\n\t}\r\n\r\n\t//On teste si on a un message de prise de rdv par le site web\r\n\t//si oui in affiche le modal\r\n\r\n\tif ($.urlParam(\"rdv\") != null) {\r\n\t\tvar rdvParams = $.urlParam(\"rdv\");\r\n\t\ttry {\r\n\t\t\tvar rdvVal = new TextDecoder()\r\n\t\t\t\t.decode(base64ToBytes(rdvParams))\r\n\t\t\t\t.split(\"&\");\r\n\t\t\tvar code = rdvVal[0].split(\"=\")[1];\r\n\t\t\tvar date = rdvVal[1].split(\"=\")[1];\r\n\t\t\tvar type = rdvVal[2].split(\"=\")[1].toLowerCase();\r\n\t\t\tif (\r\n\t\t\t\tcode.length == 5 &&\r\n\t\t\t\t(type == \"plasma\" || type == \"sang\" || type == \"plaquette\" || type == \"plaquettes\")\r\n\t\t\t) {\r\n\t\t\t\t//$(\"#infoRdvText\").text(\r\n\t\t\t\t//\t\"Vous avez pris rendez-vous par le site web d'Héma-Québec, pour continuer vous devez vous connecter à notre application ou créer un compte.\"\r\n\t\t\t\t//);\r\n\t\t\t\tvar rdvDate = moment(date, \"YYYYMMDD-HHmm\");\r\n\t\t\t\tif (rdvDate > Date.now()) {\r\n\t\t\t\t\t$(\"#infoRdvModal\").modal(\"show\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('#rdvok').addClass('d-none');\r\n\t\t\t\t\t$('#rdvTitleOk').addClass('d-none');\r\n\t\t\t\t\t$('#rdvbadtoken').removeClass('d-none');\r\n\t\t\t\t\t$('#rdvTitleError').removeClass('d-none');\r\n\t\t\t\t\t//affiche token invalide\r\n\t\t\t\t\t$(\"#infoRdvModal\").modal(\"show\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\t$('#rdvok').addClass('d-none');\r\n\t\t\t$('#rdvTitleOk').addClass('d-none');\r\n\t\t\t$('#rdvbadtoken').removeClass('d-none');\r\n\t\t\t$('#rdvTitleError').removeClass('d-none');\r\n\t\t\t//affiche token invalide\r\n\t\t\t$(\"#infoRdvModal\").modal(\"show\");\r\n\t\t}\r\n\t}\r\n}\r\nwindow.PageRun = PageRun;\r\n\r\nfunction base64ToBytes(base64) {\r\n\tconst binString = atob(base64);\r\n\treturn Uint8Array.from(binString, (m) => m.codePointAt(0));\r\n}\r\nwindow.base64ToBytes = base64ToBytes;\r\n","import \"localcopy-mdbootstrap-pro/src/js/free/forms-free\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/free/scrolling-navbar\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/free/treeview\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/free/wow\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/buttons\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/cards\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/character-counter\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/chips\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/collapsible\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/dropdown/dropdown\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/dropdown/dropdown-searchable\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/file-input\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/material-select/material-select\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/material-select/material-select-view\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/material-select/material-select-view-renderer\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/mdb-autocomplete\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/picker\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/picker-date\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/picker-time\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/preloading\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/range-input\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/sidenav\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/sidenav2\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/smooth-scroll\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/pro/sticky\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons-pro/chat\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons-pro/multi-range\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons-pro/simple-charts\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons-pro/steppers\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons-pro/timeline\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/datatables\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/datatables-select\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/datatables-select2\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/datatables2\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/imagesloaded.pkgd.min\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/jquery.zmd.hierarchical-display\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/masonry.pkgd.min\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/addons/rating\";\r\n//import \"localcopy-mdbootstrap-pro/src/js/vendor/free/chart\";\r\n//import \"localcopy-mdbootstrap-pro/src/js/vendor/free/chartjs-datalabels\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/free/enhanced-modals\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/free/jquery.easing\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/free/velocity\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/free/waves\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/jarallax\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/jarallax-video\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/jquery.sticky\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/lightbox\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/ofi\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/picker\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/picker-date\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/picker-date-time\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/picker-time\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/scrollbar\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/scrolling-navbar\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/vector-map\";\r\nimport \"localcopy-mdbootstrap-pro/src/js/vendor/pro/vector-map-world-mill\";\r\n\r\nglobal.bsCustomFileInput = require(\"localcopy-mdbootstrap-pro/src/js/vendor/free/bs-custom-file-input\");\r\nwindow.toastr = require(\"localcopy-mdbootstrap-pro/src/js/vendor/pro/toastr\");\r\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}