{"version":3,"file":"main.js","mappings":"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","sources":["webpack://wakefly-frontend/webpack/runtime/chunk loaded","webpack://wakefly-frontend/./src/vue/components/LeavingSiteNotice.vue?3077","webpack://wakefly-frontend/./src/vue/components/LeavingSiteNotice.vue?d5cc","webpack://wakefly-frontend/./src/vue/vue.js","webpack://wakefly-frontend/./src/vue/components/LeavingSiteNotice.vue","webpack://wakefly-frontend/./src/scripts/accordion-search.js","webpack://wakefly-frontend/./src/scripts/alert.js","webpack://wakefly-frontend/./src/scripts/animate-on-scroll.js","webpack://wakefly-frontend/./src/scripts/bootstrap-datepicker.js","webpack://wakefly-frontend/./src/scripts/image-caption-toggle.js","webpack://wakefly-frontend/./src/scripts/collapse-prevent-close.js","webpack://wakefly-frontend/./src/scripts/header.js","webpack://wakefly-frontend/./src/scripts/image-modal.js","webpack://wakefly-frontend/./src/scripts/page-scroll.js","webpack://wakefly-frontend/./src/scripts/swiper-config.js","webpack://wakefly-frontend/./src/scripts/video-modal.js","webpack://wakefly-frontend/./src/scripts/utility-navigation-search.js","webpack://wakefly-frontend/webpack/bootstrap","webpack://wakefly-frontend/webpack/runtime/amd options","webpack://wakefly-frontend/webpack/runtime/compat get default export","webpack://wakefly-frontend/webpack/runtime/define property getters","webpack://wakefly-frontend/webpack/runtime/global","webpack://wakefly-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://wakefly-frontend/webpack/runtime/make namespace object","webpack://wakefly-frontend/webpack/runtime/jsonp chunk loading","webpack://wakefly-frontend/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"modal fade\",\n id: \"leavingSiteNoticeModal\",\n tabindex: \"-1\",\n role: \"dialog\",\n \"aria-labelledby\": \"leavingSiteNoticeModalTitle\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_2 = { class: \"modal-dialog modal-dialog-xl modal-dialog-centered modal-dialog-scrollable\" }\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = { class: \"modal-header text-bg-primary\" }\nconst _hoisted_5 = {\n class: \"modal-title\",\n id: \"leavingSiteNoticeModalTitle\"\n}\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"modal-footer\"\n}\nconst _hoisted_8 = [\"href\", \"target\"]\n\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h5\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"title\")\n ]),\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn-close btn-close-white\",\n \"aria-label\": \"Cancel\",\n onClick: _cache[0] || (_cache[0] = (...args) => ($options.cancelClick && $options.cancelClick(...args)))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n ($data.messageType === 'page')\n ? _renderSlot(_ctx.$slots, \"page-message\", { key: 0 }, () => [\n _createTextVNode(\"[Leaving Site Page Message]\")\n ])\n : _createCommentVNode(\"v-if\", true)\n ]),\n ($data.anchor)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-info\",\n onClick: _cache[1] || (_cache[1] = (...args) => ($options.cancelClick && $options.cancelClick(...args)))\n }, [\n _renderSlot(_ctx.$slots, \"cancel\", {}, () => [\n _createTextVNode(\"[Cancel]\")\n ])\n ]),\n _createElementVNode(\"a\", {\n class: \"btn btn-primary\",\n href: $data.anchor.href,\n target: $data.anchor.target,\n \"data-leaving-site-bypass\": \"\",\n onClick: _cache[2] || (_cache[2] = (...args) => ($options.continueClick && $options.continueClick(...args)))\n }, [\n _renderSlot(_ctx.$slots, \"continue\", {}, () => [\n _createTextVNode(\"[Continue]\")\n ])\n ], 8 /* PROPS */, _hoisted_8)\n ]))\n : _createCommentVNode(\"v-if\", true)\n ])\n ])\n ]))\n}","\r\n\r\nimport { Modal } from 'bootstrap';\r\n\r\nexport default {\r\n props: {\r\n domainWhitelist: {\r\n type: Array,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n anchor: null,\r\n modal: null,\r\n messageType: null\r\n }\r\n },\r\n computed: {\r\n },\r\n watch: {\r\n },\r\n created() {\r\n },\r\n mounted() {\r\n this.modal = new Modal(document.getElementById('leavingSiteNoticeModal'));\r\n this.registerClickHandler();\r\n },\r\n methods: {\r\n registerClickHandler() { \r\n window.document.addEventListener('click', e => {\r\n const anchor = e.target.nodeName === 'A' ? e.target : e.target.closest('a');\r\n if (anchor) {\r\n try {\r\n const bypass = anchor.hasAttribute('data-leaving-site-bypass');\r\n if (bypass) {\r\n return;\r\n } else {\r\n const domain = new URL(anchor.href).hostname;\r\n if (!domain || domain === new URL(window.location).hostname || this.domainWhitelist.includes(domain)) {\r\n // Anchor is internal or whitelisted\r\n return;\r\n } else {\r\n // Anchor is external and not whitelisted\r\n this.interceptAnchor(e, anchor, 'page');\r\n return;\r\n }\r\n }\r\n } catch {\r\n // Anchor does not have a valid URL, so don't intervene\r\n return;\r\n }\r\n }\r\n });\r\n },\r\n interceptAnchor(event, anchor, messageType) {\r\n this.anchor = anchor;\r\n this.messageType = messageType\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation(); // Prevent GTM from triggering the link click\r\n this.modal.show();\r\n return;\r\n },\r\n continueClick() {\r\n this.modal.hide();\r\n },\r\n cancelClick() {\r\n this.modal.hide();\r\n }\r\n },\r\n components: {\r\n }\r\n};\r\n","import { createApp } from 'vue'\r\n\r\n/**\r\n * Creates a Vue instance for each element matching the selector.\r\n * @param {string} selector - CSS selector\r\n * @param {Object} options - Vue instance options\r\n * @param {function} setup - Optional setup function to execute on Vue instance\r\n */\r\nfunction createVueInstance(selector, options, setup) {\r\n const elements = Array.from(document.querySelectorAll(selector))\r\n \r\n elements.forEach(element => {\r\n const app = createApp(options)\r\n if (setup) {\r\n setup(app)\r\n }\r\n \r\n app.mount(element)\r\n })\r\n}\r\n\r\n// Import components\r\nimport LeavingSiteNotice from './components/LeavingSiteNotice.vue';\r\n\r\n// Create Vue instances\r\ncreateVueInstance(\r\n '.vue-leaving-site-notice',\r\n {\r\n components: {\r\n LeavingSiteNotice\r\n }\r\n }\r\n);","import { render } from \"./LeavingSiteNotice.vue?vue&type=template&id=fb5596b8\"\nimport script from \"./LeavingSiteNotice.vue?vue&type=script&lang=js\"\nexport * from \"./LeavingSiteNotice.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\WakeflyUmbraco\\\\wwwroot\\\\Frontend\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Collapse } from 'bootstrap'\r\nimport Mark from 'mark.js'\r\n\r\nexport function registerAccordionSearch() {\r\n const accordionSearchForm = document.querySelectorAll('.accordion-search-form')\r\n accordionSearchForm.forEach(f => {\r\n f.addEventListener('submit', submitAccordionSearch)\r\n })\r\n}\r\n\r\nfunction submitAccordionSearch(event) {\r\n event.preventDefault()\r\n const regExpTerm = new RegExp(event.target.querySelector('input[name=\"q\"]')?.value, 'gi')\r\n const accordionId = event.target.dataset.accordionTarget\r\n const accordion = document.querySelector(`.accordion[data-accordion-id=\"${accordionId}\"]`)\r\n\r\n if (accordion) {\r\n const mark = new Mark(accordion)\r\n mark.unmark()\r\n mark.markRegExp(regExpTerm, { element: 'span', className: 'highlight' })\r\n\r\n const collapses = accordion.querySelectorAll('.accordion-collapse')\r\n let matchFound = false\r\n\r\n // Expand the collapses containing the matched text\r\n collapses.forEach(c => {\r\n const bsCollapse = Collapse.getOrCreateInstance(c, { toggle: false })\r\n\r\n if (c.parentElement.textContent.match(regExpTerm)) {\r\n matchFound = true\r\n bsCollapse.show()\r\n } else {\r\n bsCollapse.hide()\r\n }\r\n })\r\n\r\n // Show/hide no results message, and scroll user to first match\r\n const noResultsElement = event.target.querySelector('.accordion-search-form-no-results')\r\n if (matchFound) {\r\n noResultsElement?.classList.add('d-none')\r\n const firstHighlight = accordion.querySelector('.highlight')\r\n if (firstHighlight) {\r\n firstHighlight.scrollIntoView(true)\r\n }\r\n } else {\r\n noResultsElement?.classList.remove('d-none')\r\n }\r\n }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n registerAccordionSearch()\r\n});","function registerAlertItems() {\r\n const currentDate = new Date()\r\n const alerts = document.querySelectorAll('.alert-items > .alert')\r\n\r\n alerts.forEach(alert => {\r\n const alertDismissDays = parseInt(alert.dataset.alertDismissDurationDays)\r\n const alertId = alert.dataset.alertId\r\n const alertDismissButton = alert.querySelector('.alert-dismiss-button')\r\n\r\n alertDismissButton?.addEventListener('click', event => {\r\n if (alertDismissDays === 0) {\r\n // Use session storage for alerts set to dismiss after 0 days\r\n sessionStorage.setItem(`alert-dismiss-${alertId}`, 'session')\r\n } else {\r\n // Use local storage for alerts set to dismiss otherwise, containing date they will no longer be dismissed\r\n const dismissUntilDate = new Date(currentDate)\r\n dismissUntilDate.setDate(currentDate.getDate() + alertDismissDays)\r\n localStorage.setItem(`alert-dismiss-${alertId}`, dismissUntilDate)\r\n }\r\n })\r\n\r\n // If alert is not dismissible or it is not dismissed in either session nor local storage, then show it\r\n const dismissible = alert.dataset.alertDismissible === 'true'\r\n const sessionStorageDismissValue = sessionStorage.getItem(`alert-dismiss-${alertId}`)\r\n const localStorageDismissUntilDate = new Date(localStorage.getItem(`alert-dismiss-${alertId}`))\r\n if (!dismissible || (!sessionStorageDismissValue && localStorageDismissUntilDate < currentDate)) {\r\n alert.classList.add('show')\r\n }\r\n })\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n registerAlertItems()\r\n})","import AOS from 'AOS';\r\n\r\nAOS.init({\r\n easing: 'ease',\r\n duration: 1000,\r\n once: true,\r\n useClassNames: true,\r\n initClassName: false,\r\n animatedClassName: 'aos-animate',\r\n});","/*!\r\n * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)\r\n *\r\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\r\n */\r\n\r\nimport jQuery from 'jquery';\r\n\r\n\r\n(function(factory){\r\n if (typeof define === 'function' && define.amd) {\r\n define(['jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n factory(require('jquery'));\r\n } else {\r\n factory(jQuery);\r\n }\r\n}(function($, undefined){\r\n\tfunction UTCDate(){\r\n\t\treturn new Date(Date.UTC.apply(Date, arguments));\r\n\t}\r\n\tfunction UTCToday(){\r\n\t\tvar today = new Date();\r\n\t\treturn UTCDate(today.getFullYear(), today.getMonth(), today.getDate());\r\n\t}\r\n\tfunction isUTCEquals(date1, date2) {\r\n\t\treturn (\r\n\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\r\n\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\r\n\t\t\tdate1.getUTCDate() === date2.getUTCDate()\r\n\t\t);\r\n\t}\r\n\tfunction alias(method, deprecationMsg){\r\n\t\treturn function(){\r\n\t\t\tif (deprecationMsg !== undefined) {\r\n\t\t\t\t$.fn.datepicker.deprecated(deprecationMsg);\r\n\t\t\t}\r\n\r\n\t\t\treturn this[method].apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\tfunction isValidDate(d) {\r\n\t\treturn d && !isNaN(d.getTime());\r\n\t}\r\n\r\n\tvar DateArray = (function(){\r\n\t\tvar extras = {\r\n\t\t\tget: function(i){\r\n\t\t\t\treturn this.slice(i)[0];\r\n\t\t\t},\r\n\t\t\tcontains: function(d){\r\n\t\t\t\t// Array.indexOf is not cross-browser;\r\n\t\t\t\t// $.inArray doesn't work with Dates\r\n\t\t\t\tvar val = d && d.valueOf();\r\n\t\t\t\tfor (var i=0, l=this.length; i < l; i++)\r\n // Use date arithmetic to allow dates with different times to match\r\n if (0 <= this[i].valueOf() - val && this[i].valueOf() - val < 1000*60*60*24)\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\treturn -1;\r\n\t\t\t},\r\n\t\t\tremove: function(i){\r\n\t\t\t\tthis.splice(i,1);\r\n\t\t\t},\r\n\t\t\treplace: function(new_array){\r\n\t\t\t\tif (!new_array)\r\n\t\t\t\t\treturn;\r\n\t\t\t\tif (!$.isArray(new_array))\r\n\t\t\t\t\tnew_array = [new_array];\r\n\t\t\t\tthis.clear();\r\n\t\t\t\tthis.push.apply(this, new_array);\r\n\t\t\t},\r\n\t\t\tclear: function(){\r\n\t\t\t\tthis.length = 0;\r\n\t\t\t},\r\n\t\t\tcopy: function(){\r\n\t\t\t\tvar a = new DateArray();\r\n\t\t\t\ta.replace(this);\r\n\t\t\t\treturn a;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn function(){\r\n\t\t\tvar a = [];\r\n\t\t\ta.push.apply(a, arguments);\r\n\t\t\t$.extend(a, extras);\r\n\t\t\treturn a;\r\n\t\t};\r\n\t})();\r\n\r\n\r\n\t// Picker object\r\n\r\n\tvar Datepicker = function(element, options){\r\n\t\t$.data(element, 'datepicker', this);\r\n\r\n\t\tthis._events = [];\r\n\t\tthis._secondaryEvents = [];\r\n\r\n\t\tthis._process_options(options);\r\n\r\n\t\tthis.dates = new DateArray();\r\n\t\tthis.viewDate = this.o.defaultViewDate;\r\n\t\tthis.focusDate = null;\r\n\r\n\t\tthis.element = $(element);\r\n\t\tthis.isInput = this.element.is('input');\r\n\t\tthis.inputField = this.isInput ? this.element : this.element.find('input');\r\n\t\tthis.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false;\r\n\t\tif (this.component && this.component.length === 0)\r\n\t\t\tthis.component = false;\r\n\t\tthis.isInline = !this.component && this.element.is('div');\r\n\r\n\t\tthis.picker = $(DPGlobal.template);\r\n\r\n\t\t// Checking templates and inserting\r\n\t\tif (this._check_template(this.o.templates.leftArrow)) {\r\n\t\t\tthis.picker.find('.prev').html(this.o.templates.leftArrow);\r\n\t\t}\r\n\r\n\t\tif (this._check_template(this.o.templates.rightArrow)) {\r\n\t\t\tthis.picker.find('.next').html(this.o.templates.rightArrow);\r\n\t\t}\r\n\r\n\t\tthis._buildEvents();\r\n\t\tthis._attachEvents();\r\n\r\n\t\tif (this.isInline){\r\n\t\t\tthis.picker.addClass('datepicker-inline').appendTo(this.element);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.picker.addClass('datepicker-dropdown dropdown-menu');\r\n\t\t}\r\n\r\n\t\tif (this.o.rtl){\r\n\t\t\tthis.picker.addClass('datepicker-rtl');\r\n\t\t}\r\n\r\n\t\tif (this.o.calendarWeeks) {\r\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear')\r\n\t\t\t\t.attr('colspan', function(i, val){\r\n\t\t\t\t\treturn Number(val) + 1;\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._process_options({\r\n\t\t\tstartDate: this._o.startDate,\r\n\t\t\tendDate: this._o.endDate,\r\n\t\t\tdaysOfWeekDisabled: this.o.daysOfWeekDisabled,\r\n\t\t\tdaysOfWeekHighlighted: this.o.daysOfWeekHighlighted,\r\n\t\t\tdatesDisabled: this.o.datesDisabled\r\n\t\t});\r\n\r\n\t\tthis._allow_update = false;\r\n\t\tthis.setViewMode(this.o.startView);\r\n\t\tthis._allow_update = true;\r\n\r\n\t\tthis.fillDow();\r\n\t\tthis.fillMonths();\r\n\r\n\t\tthis.update();\r\n\r\n\t\tif (this.isInline){\r\n\t\t\tthis.show();\r\n\t\t}\r\n\t};\r\n\r\n\tDatepicker.prototype = {\r\n\t\tconstructor: Datepicker,\r\n\r\n\t\t_resolveViewName: function(view){\r\n\t\t\t$.each(DPGlobal.viewModes, function(i, viewMode){\r\n\t\t\t\tif (view === i || $.inArray(view, viewMode.names) !== -1){\r\n\t\t\t\t\tview = i;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn view;\r\n\t\t},\r\n\r\n\t\t_resolveDaysOfWeek: function(daysOfWeek){\r\n\t\t\tif (!$.isArray(daysOfWeek))\r\n\t\t\t\tdaysOfWeek = daysOfWeek.split(/[,\\s]*/);\r\n\t\t\treturn $.map(daysOfWeek, Number);\r\n\t\t},\r\n\r\n\t\t_check_template: function(tmp){\r\n\t\t\ttry {\r\n\t\t\t\t// If empty\r\n\t\t\t\tif (tmp === undefined || tmp === '') {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\t// If no html, everything ok\r\n\t\t\t\tif ((tmp.match(/[<>]/g) || []).length <= 0) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\t// Checking if html is fine\r\n\t\t\t\tvar jDom = $(tmp);\r\n\t\t\t\treturn jDom.length > 0;\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t_process_options: function(opts){\r\n\t\t\t// Store raw options for reference\r\n\t\t\tthis._o = $.extend({}, this._o, opts);\r\n\t\t\t// Processed options\r\n\t\t\tvar o = this.o = $.extend({}, this._o);\r\n\r\n\t\t\t// Check if \"de-DE\" style date is available, if not language should\r\n\t\t\t// fallback to 2 letter code eg \"de\"\r\n\t\t\tvar lang = o.language;\r\n\t\t\tif (!dates[lang]){\r\n\t\t\t\tlang = lang.split('-')[0];\r\n\t\t\t\tif (!dates[lang])\r\n\t\t\t\t\tlang = defaults.language;\r\n\t\t\t}\r\n\t\t\to.language = lang;\r\n\r\n\t\t\t// Retrieve view index from any aliases\r\n\t\t\to.startView = this._resolveViewName(o.startView);\r\n\t\t\to.minViewMode = this._resolveViewName(o.minViewMode);\r\n\t\t\to.maxViewMode = this._resolveViewName(o.maxViewMode);\r\n\r\n\t\t\t// Check view is between min and max\r\n\t\t\to.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, o.startView));\r\n\r\n\t\t\t// true, false, or Number > 0\r\n\t\t\tif (o.multidate !== true){\r\n\t\t\t\to.multidate = Number(o.multidate) || false;\r\n\t\t\t\tif (o.multidate !== false)\r\n\t\t\t\t\to.multidate = Math.max(0, o.multidate);\r\n\t\t\t}\r\n\t\t\to.multidateSeparator = String(o.multidateSeparator);\r\n\r\n\t\t\to.weekStart %= 7;\r\n\t\t\to.weekEnd = (o.weekStart + 6) % 7;\r\n\r\n\t\t\tvar format = DPGlobal.parseFormat(o.format);\r\n\t\t\tif (o.startDate !== -Infinity){\r\n\t\t\t\tif (!!o.startDate){\r\n\t\t\t\t\tif (o.startDate instanceof Date)\r\n\t\t\t\t\t\to.startDate = this._local_to_utc(this._zero_time(o.startDate));\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\to.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\to.startDate = -Infinity;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (o.endDate !== Infinity){\r\n\t\t\t\tif (!!o.endDate){\r\n\t\t\t\t\tif (o.endDate instanceof Date)\r\n\t\t\t\t\t\to.endDate = this._local_to_utc(this._zero_time(o.endDate));\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\to.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\to.endDate = Infinity;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\to.daysOfWeekDisabled = this._resolveDaysOfWeek(o.daysOfWeekDisabled||[]);\r\n\t\t\to.daysOfWeekHighlighted = this._resolveDaysOfWeek(o.daysOfWeekHighlighted||[]);\r\n\r\n\t\t\to.datesDisabled = o.datesDisabled||[];\r\n\t\t\tif (!$.isArray(o.datesDisabled)) {\r\n\t\t\t\to.datesDisabled = o.datesDisabled.split(',');\r\n\t\t\t}\r\n\t\t\to.datesDisabled = $.map(o.datesDisabled, function(d){\r\n\t\t\t\treturn DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);\r\n\t\t\t});\r\n\r\n\t\t\tvar plc = String(o.orientation).toLowerCase().split(/\\s+/g),\r\n\t\t\t\t_plc = o.orientation.toLowerCase();\r\n\t\t\tplc = $.grep(plc, function(word){\r\n\t\t\t\treturn /^auto|left|right|top|bottom$/.test(word);\r\n\t\t\t});\r\n\t\t\to.orientation = {x: 'auto', y: 'auto'};\r\n\t\t\tif (!_plc || _plc === 'auto')\r\n\t\t\t\t; // no action\r\n\t\t\telse if (plc.length === 1){\r\n\t\t\t\tswitch (plc[0]){\r\n\t\t\t\t\tcase 'top':\r\n\t\t\t\t\tcase 'bottom':\r\n\t\t\t\t\t\to.orientation.y = plc[0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'left':\r\n\t\t\t\t\tcase 'right':\r\n\t\t\t\t\t\to.orientation.x = plc[0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_plc = $.grep(plc, function(word){\r\n\t\t\t\t\treturn /^left|right$/.test(word);\r\n\t\t\t\t});\r\n\t\t\t\to.orientation.x = _plc[0] || 'auto';\r\n\r\n\t\t\t\t_plc = $.grep(plc, function(word){\r\n\t\t\t\t\treturn /^top|bottom$/.test(word);\r\n\t\t\t\t});\r\n\t\t\t\to.orientation.y = _plc[0] || 'auto';\r\n\t\t\t}\r\n\t\t\tif (o.defaultViewDate instanceof Date || typeof o.defaultViewDate === 'string') {\r\n\t\t\t\to.defaultViewDate = DPGlobal.parseDate(o.defaultViewDate, format, o.language, o.assumeNearbyYear);\r\n\t\t\t} else if (o.defaultViewDate) {\r\n\t\t\t\tvar year = o.defaultViewDate.year || new Date().getFullYear();\r\n\t\t\t\tvar month = o.defaultViewDate.month || 0;\r\n\t\t\t\tvar day = o.defaultViewDate.day || 1;\r\n\t\t\t\to.defaultViewDate = UTCDate(year, month, day);\r\n\t\t\t} else {\r\n\t\t\t\to.defaultViewDate = UTCToday();\r\n\t\t\t}\r\n\t\t},\r\n\t\t_applyEvents: function(evs){\r\n\t\t\tfor (var i=0, el, ch, ev; i < evs.length; i++){\r\n\t\t\t\tel = evs[i][0];\r\n\t\t\t\tif (evs[i].length === 2){\r\n\t\t\t\t\tch = undefined;\r\n\t\t\t\t\tev = evs[i][1];\r\n\t\t\t\t} else if (evs[i].length === 3){\r\n\t\t\t\t\tch = evs[i][1];\r\n\t\t\t\t\tev = evs[i][2];\r\n\t\t\t\t}\r\n\t\t\t\tel.on(ev, ch);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_unapplyEvents: function(evs){\r\n\t\t\tfor (var i=0, el, ev, ch; i < evs.length; i++){\r\n\t\t\t\tel = evs[i][0];\r\n\t\t\t\tif (evs[i].length === 2){\r\n\t\t\t\t\tch = undefined;\r\n\t\t\t\t\tev = evs[i][1];\r\n\t\t\t\t} else if (evs[i].length === 3){\r\n\t\t\t\t\tch = evs[i][1];\r\n\t\t\t\t\tev = evs[i][2];\r\n\t\t\t\t}\r\n\t\t\t\tel.off(ev, ch);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_buildEvents: function(){\r\n var events = {\r\n keyup: $.proxy(function(e){\r\n if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)\r\n this.update();\r\n }, this),\r\n keydown: $.proxy(this.keydown, this),\r\n paste: $.proxy(this.paste, this)\r\n };\r\n\r\n if (this.o.showOnFocus === true) {\r\n events.focus = $.proxy(this.show, this);\r\n }\r\n\r\n if (this.isInput) { // single input\r\n this._events = [\r\n [this.element, events]\r\n ];\r\n }\r\n // component: input + button\r\n else if (this.component && this.inputField.length) {\r\n this._events = [\r\n // For components that are not readonly, allow keyboard nav\r\n [this.inputField, events],\r\n [this.component, {\r\n click: $.proxy(this.show, this)\r\n }]\r\n ];\r\n }\r\n\t\t\telse {\r\n\t\t\t\tthis._events = [\r\n\t\t\t\t\t[this.element, {\r\n\t\t\t\t\t\tclick: $.proxy(this.show, this),\r\n\t\t\t\t\t\tkeydown: $.proxy(this.keydown, this)\r\n\t\t\t\t\t}]\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t\tthis._events.push(\r\n\t\t\t\t// Component: listen for blur on element descendants\r\n\t\t\t\t[this.element, '*', {\r\n\t\t\t\t\tblur: $.proxy(function(e){\r\n\t\t\t\t\t\tthis._focused_from = e.target;\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}],\r\n\t\t\t\t// Input: listen for blur on element\r\n\t\t\t\t[this.element, {\r\n\t\t\t\t\tblur: $.proxy(function(e){\r\n\t\t\t\t\t\tthis._focused_from = e.target;\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]\r\n\t\t\t);\r\n\r\n\t\t\tif (this.o.immediateUpdates) {\r\n\t\t\t\t// Trigger input updates immediately on changed year/month\r\n\t\t\t\tthis._events.push([this.element, {\r\n\t\t\t\t\t'changeYear changeMonth': $.proxy(function(e){\r\n\t\t\t\t\t\tthis.update(e.date);\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]);\r\n\t\t\t}\r\n\r\n\t\t\tthis._secondaryEvents = [\r\n\t\t\t\t[this.picker, {\r\n\t\t\t\t\tclick: $.proxy(this.click, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[this.picker, '.prev, .next', {\r\n\t\t\t\t\tclick: $.proxy(this.navArrowsClick, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[this.picker, '.day:not(.disabled)', {\r\n\t\t\t\t\tclick: $.proxy(this.dayCellClick, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[$(window), {\r\n\t\t\t\t\tresize: $.proxy(this.place, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[$(document), {\r\n\t\t\t\t\t'mousedown touchstart': $.proxy(function(e){\r\n\t\t\t\t\t\t// Clicked outside the datepicker, hide it\r\n\t\t\t\t\t\tif (!(\r\n\t\t\t\t\t\t\tthis.element.is(e.target) ||\r\n\t\t\t\t\t\t\tthis.element.find(e.target).length ||\r\n\t\t\t\t\t\t\tthis.picker.is(e.target) ||\r\n\t\t\t\t\t\t\tthis.picker.find(e.target).length ||\r\n\t\t\t\t\t\t\tthis.isInline\r\n\t\t\t\t\t\t)){\r\n\t\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]\r\n\t\t\t];\r\n\t\t},\r\n\t\t_attachEvents: function(){\r\n\t\t\tthis._detachEvents();\r\n\t\t\tthis._applyEvents(this._events);\r\n\t\t},\r\n\t\t_detachEvents: function(){\r\n\t\t\tthis._unapplyEvents(this._events);\r\n\t\t},\r\n\t\t_attachSecondaryEvents: function(){\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis._applyEvents(this._secondaryEvents);\r\n\t\t},\r\n\t\t_detachSecondaryEvents: function(){\r\n\t\t\tthis._unapplyEvents(this._secondaryEvents);\r\n\t\t},\r\n\t\t_trigger: function(event, altdate){\r\n\t\t\tvar date = altdate || this.dates.get(-1),\r\n\t\t\t\tlocal_date = this._utc_to_local(date);\r\n\r\n\t\t\tthis.element.trigger({\r\n\t\t\t\ttype: event,\r\n\t\t\t\tdate: local_date,\r\n\t\t\t\tviewMode: this.viewMode,\r\n\t\t\t\tdates: $.map(this.dates, this._utc_to_local),\r\n\t\t\t\tformat: $.proxy(function(ix, format){\r\n\t\t\t\t\tif (arguments.length === 0){\r\n\t\t\t\t\t\tix = this.dates.length - 1;\r\n\t\t\t\t\t\tformat = this.o.format;\r\n\t\t\t\t\t} else if (typeof ix === 'string'){\r\n\t\t\t\t\t\tformat = ix;\r\n\t\t\t\t\t\tix = this.dates.length - 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tformat = format || this.o.format;\r\n\t\t\t\t\tvar date = this.dates.get(ix);\r\n\t\t\t\t\treturn DPGlobal.formatDate(date, format, this.o.language);\r\n\t\t\t\t}, this)\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tshow: function(){\r\n\t\t\tif (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))\r\n\t\t\t\treturn;\r\n\t\t\tif (!this.isInline)\r\n\t\t\t\tthis.picker.appendTo(this.o.container);\r\n\t\t\tthis.place();\r\n\t\t\tthis.picker.show();\r\n\t\t\tthis._attachSecondaryEvents();\r\n\t\t\tthis._trigger('show');\r\n\t\t\tif ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {\r\n\t\t\t\t$(this.element).blur();\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\thide: function(){\r\n\t\t\tif (this.isInline || !this.picker.is(':visible'))\r\n\t\t\t\treturn this;\r\n\t\t\tthis.focusDate = null;\r\n\t\t\tthis.picker.hide().detach();\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis.setViewMode(this.o.startView);\r\n\r\n\t\t\tif (this.o.forceParse && this.inputField.val())\r\n\t\t\t\tthis.setValue();\r\n\t\t\tthis._trigger('hide');\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tdestroy: function(){\r\n\t\t\tthis.hide();\r\n\t\t\tthis._detachEvents();\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis.picker.remove();\r\n\t\t\tdelete this.element.data().datepicker;\r\n\t\t\tif (!this.isInput){\r\n\t\t\t\tdelete this.element.data().date;\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tpaste: function(e){\r\n\t\t\tvar dateString;\r\n\t\t\tif (e.originalEvent.clipboardData && e.originalEvent.clipboardData.types\r\n\t\t\t\t&& $.inArray('text/plain', e.originalEvent.clipboardData.types) !== -1) {\r\n\t\t\t\tdateString = e.originalEvent.clipboardData.getData('text/plain');\r\n\t\t\t} else if (window.clipboardData) {\r\n\t\t\t\tdateString = window.clipboardData.getData('Text');\r\n\t\t\t} else {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.setDate(dateString);\r\n\t\t\tthis.update();\r\n\t\t\te.preventDefault();\r\n\t\t},\r\n\r\n\t\t_utc_to_local: function(utc){\r\n\t\t\tif (!utc) {\r\n\t\t\t\treturn utc;\r\n\t\t\t}\r\n\r\n\t\t\tvar local = new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000));\r\n\r\n\t\t\tif (local.getTimezoneOffset() !== utc.getTimezoneOffset()) {\r\n\t\t\t\tlocal = new Date(utc.getTime() + (local.getTimezoneOffset() * 60000));\r\n\t\t\t}\r\n\r\n\t\t\treturn local;\r\n\t\t},\r\n\t\t_local_to_utc: function(local){\r\n\t\t\treturn local && new Date(local.getTime() - (local.getTimezoneOffset()*60000));\r\n\t\t},\r\n\t\t_zero_time: function(local){\r\n\t\t\treturn local && new Date(local.getFullYear(), local.getMonth(), local.getDate());\r\n\t\t},\r\n\t\t_zero_utc_time: function(utc){\r\n\t\t\treturn utc && UTCDate(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate());\r\n\t\t},\r\n\r\n\t\tgetDates: function(){\r\n\t\t\treturn $.map(this.dates, this._utc_to_local);\r\n\t\t},\r\n\r\n\t\tgetUTCDates: function(){\r\n\t\t\treturn $.map(this.dates, function(d){\r\n\t\t\t\treturn new Date(d);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tgetDate: function(){\r\n\t\t\treturn this._utc_to_local(this.getUTCDate());\r\n\t\t},\r\n\r\n\t\tgetUTCDate: function(){\r\n\t\t\tvar selected_date = this.dates.get(-1);\r\n\t\t\tif (selected_date !== undefined) {\r\n\t\t\t\treturn new Date(selected_date);\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclearDates: function(){\r\n\t\t\tthis.inputField.val('');\r\n\t\t\tthis.update();\r\n\t\t\tthis._trigger('changeDate');\r\n\r\n\t\t\tif (this.o.autoclose) {\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tsetDates: function(){\r\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\r\n\t\t\tthis.update.apply(this, args);\r\n\t\t\tthis._trigger('changeDate');\r\n\t\t\tthis.setValue();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetUTCDates: function(){\r\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\r\n\t\t\tthis.setDates.apply(this, $.map(args, this._utc_to_local));\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDate: alias('setDates'),\r\n\t\tsetUTCDate: alias('setUTCDates'),\r\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead'),\r\n\r\n\t\tsetValue: function(){\r\n\t\t\tvar formatted = this.getFormattedDate();\r\n\t\t\tthis.inputField.val(formatted);\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tgetFormattedDate: function(format){\r\n\t\t\tif (format === undefined)\r\n\t\t\t\tformat = this.o.format;\r\n\r\n\t\t\tvar lang = this.o.language;\r\n\t\t\treturn $.map(this.dates, function(d){\r\n\t\t\t\treturn DPGlobal.formatDate(d, format, lang);\r\n\t\t\t}).join(this.o.multidateSeparator);\r\n\t\t},\r\n\r\n\t\tgetStartDate: function(){\r\n\t\t\treturn this.o.startDate;\r\n\t\t},\r\n\r\n\t\tsetStartDate: function(startDate){\r\n\t\t\tthis._process_options({startDate: startDate});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tgetEndDate: function(){\r\n\t\t\treturn this.o.endDate;\r\n\t\t},\r\n\r\n\t\tsetEndDate: function(endDate){\r\n\t\t\tthis._process_options({endDate: endDate});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDaysOfWeekDisabled: function(daysOfWeekDisabled){\r\n\t\t\tthis._process_options({daysOfWeekDisabled: daysOfWeekDisabled});\r\n\t\t\tthis.update();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDaysOfWeekHighlighted: function(daysOfWeekHighlighted){\r\n\t\t\tthis._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted});\r\n\t\t\tthis.update();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDatesDisabled: function(datesDisabled){\r\n\t\t\tthis._process_options({datesDisabled: datesDisabled});\r\n\t\t\tthis.update();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tplace: function(){\r\n\t\t\tif (this.isInline)\r\n\t\t\t\treturn this;\r\n\t\t\tvar calendarWidth = this.picker.outerWidth(),\r\n\t\t\t\tcalendarHeight = this.picker.outerHeight(),\r\n\t\t\t\tvisualPadding = 10,\r\n\t\t\t\tcontainer = $(this.o.container),\r\n\t\t\t\twindowWidth = container.width(),\r\n\t\t\t\tscrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),\r\n\t\t\t\tappendOffset = container.offset();\r\n\r\n\t\t\tvar parentsZindex = [0];\r\n\t\t\tthis.element.parents().each(function(){\r\n\t\t\t\tvar itemZIndex = $(this).css('z-index');\r\n\t\t\t\tif (itemZIndex !== 'auto' && Number(itemZIndex) !== 0) parentsZindex.push(Number(itemZIndex));\r\n\t\t\t});\r\n\t\t\tvar zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;\r\n\t\t\tvar offset = this.component ? this.component.parent().offset() : this.element.offset();\r\n\t\t\tvar height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);\r\n\t\t\tvar width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);\r\n\t\t\tvar left = offset.left - appendOffset.left;\r\n\t\t\tvar top = offset.top - appendOffset.top;\r\n\r\n\t\t\tif (this.o.container !== 'body') {\r\n\t\t\t\ttop += scrollTop;\r\n\t\t\t}\r\n\r\n\t\t\tthis.picker.removeClass(\r\n\t\t\t\t'datepicker-orient-top datepicker-orient-bottom '+\r\n\t\t\t\t'datepicker-orient-right datepicker-orient-left'\r\n\t\t\t);\r\n\r\n\t\t\tif (this.o.orientation.x !== 'auto'){\r\n\t\t\t\tthis.picker.addClass('datepicker-orient-' + this.o.orientation.x);\r\n\t\t\t\tif (this.o.orientation.x === 'right')\r\n\t\t\t\t\tleft -= calendarWidth - width;\r\n\t\t\t}\r\n\t\t\t// auto x orientation is best-placement: if it crosses a window\r\n\t\t\t// edge, fudge it sideways\r\n\t\t\telse {\r\n\t\t\t\tif (offset.left < 0) {\r\n\t\t\t\t\t// component is outside the window on the left side. Move it into visible range\r\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\r\n\t\t\t\t\tleft -= offset.left - visualPadding;\r\n\t\t\t\t} else if (left + calendarWidth > windowWidth) {\r\n\t\t\t\t\t// the calendar passes the widow right edge. Align it to component right side\r\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\r\n\t\t\t\t\tleft += width - calendarWidth;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.o.rtl) {\r\n\t\t\t\t\t\t// Default to right\r\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Default to left\r\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// auto y orientation is best-situation: top or bottom, no fudging,\r\n\t\t\t// decision based on which shows more of the calendar\r\n\t\t\tvar yorient = this.o.orientation.y,\r\n\t\t\t\ttop_overflow;\r\n\t\t\tif (yorient === 'auto'){\r\n\t\t\t\ttop_overflow = -scrollTop + top - calendarHeight;\r\n\t\t\t\tyorient = top_overflow < 0 ? 'bottom' : 'top';\r\n\t\t\t}\r\n\r\n\t\t\tthis.picker.addClass('datepicker-orient-' + yorient);\r\n\t\t\tif (yorient === 'top')\r\n\t\t\t\ttop -= calendarHeight + parseInt(this.picker.css('padding-top'));\r\n\t\t\telse\r\n\t\t\t\ttop += height;\r\n\r\n\t\t\tif (this.o.rtl) {\r\n\t\t\t\tvar right = windowWidth - (left + width);\r\n\t\t\t\tthis.picker.css({\r\n\t\t\t\t\ttop: top,\r\n\t\t\t\t\tright: right,\r\n\t\t\t\t\tzIndex: zIndex\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.picker.css({\r\n\t\t\t\t\ttop: top,\r\n\t\t\t\t\tleft: left,\r\n\t\t\t\t\tzIndex: zIndex\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\t_allow_update: true,\r\n\t\tupdate: function(){\r\n\t\t\tif (!this._allow_update)\r\n\t\t\t\treturn this;\r\n\r\n\t\t\tvar oldDates = this.dates.copy(),\r\n\t\t\t\tdates = [],\r\n\t\t\t\tfromArgs = false;\r\n\t\t\tif (arguments.length){\r\n\t\t\t\t$.each(arguments, $.proxy(function(i, date){\r\n\t\t\t\t\tif (date instanceof Date)\r\n\t\t\t\t\t\tdate = this._local_to_utc(date);\r\n\t\t\t\t\tdates.push(date);\r\n\t\t\t\t}, this));\r\n\t\t\t\tfromArgs = true;\r\n\t\t\t} else {\r\n\t\t\t\tdates = this.isInput\r\n\t\t\t\t\t\t? this.element.val()\r\n\t\t\t\t\t\t: this.element.data('date') || this.inputField.val();\r\n\t\t\t\tif (dates && this.o.multidate)\r\n\t\t\t\t\tdates = dates.split(this.o.multidateSeparator);\r\n\t\t\t\telse\r\n\t\t\t\t\tdates = [dates];\r\n\t\t\t\tdelete this.element.data().date;\r\n\t\t\t}\r\n\r\n\t\t\tdates = $.map(dates, $.proxy(function(date){\r\n\t\t\t\treturn DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);\r\n\t\t\t}, this));\r\n\t\t\tdates = $.grep(dates, $.proxy(function(date){\r\n\t\t\t\treturn (\r\n\t\t\t\t\t!this.dateWithinRange(date) ||\r\n\t\t\t\t\t!date\r\n\t\t\t\t);\r\n\t\t\t}, this), true);\r\n\t\t\tthis.dates.replace(dates);\r\n\r\n\t\t\tif (this.o.updateViewDate) {\r\n\t\t\t\tif (this.dates.length)\r\n\t\t\t\t\tthis.viewDate = new Date(this.dates.get(-1));\r\n\t\t\t\telse if (this.viewDate < this.o.startDate)\r\n\t\t\t\t\tthis.viewDate = new Date(this.o.startDate);\r\n\t\t\t\telse if (this.viewDate > this.o.endDate)\r\n\t\t\t\t\tthis.viewDate = new Date(this.o.endDate);\r\n\t\t\t\telse\r\n\t\t\t\t\tthis.viewDate = this.o.defaultViewDate;\r\n\t\t\t}\r\n\r\n\t\t\tif (fromArgs){\r\n\t\t\t\t// setting date by clicking\r\n\t\t\t\tthis.setValue();\r\n\t\t\t\tthis.element.change();\r\n\t\t\t}\r\n\t\t\telse if (this.dates.length){\r\n\t\t\t\t// setting date by typing\r\n\t\t\t\tif (String(oldDates) !== String(this.dates) && fromArgs) {\r\n\t\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t\t\tthis.element.change();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!this.dates.length && oldDates.length) {\r\n\t\t\t\tthis._trigger('clearDate');\r\n\t\t\t\tthis.element.change();\r\n\t\t\t}\r\n\r\n\t\t\tthis.fill();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tfillDow: function(){\r\n if (this.o.showWeekDays) {\r\n\t\t\tvar dowCnt = this.o.weekStart,\r\n\t\t\t\thtml = '';\r\n\t\t\tif (this.o.calendarWeeks){\r\n\t\t\t\thtml += ' ';\r\n\t\t\t}\r\n\t\t\twhile (dowCnt < this.o.weekStart + 7){\r\n\t\t\t\thtml += '';\r\n\t\t\t}\r\n\t\t\thtml += '';\r\n\t\t\tthis.picker.find('.datepicker-days thead').append(html);\r\n }\r\n\t\t},\r\n\r\n\t\tfillMonths: function(){\r\n var localDate = this._utc_to_local(this.viewDate);\r\n\t\t\tvar html = '';\r\n\t\t\tvar focused;\r\n\t\t\tfor (var i = 0; i < 12; i++){\r\n\t\t\t\tfocused = localDate && localDate.getMonth() === i ? ' focused' : '';\r\n\t\t\t\thtml += '' + dates[this.o.language].monthsShort[i] + '';\r\n\t\t\t}\r\n\t\t\tthis.picker.find('.datepicker-months td').html(html);\r\n\t\t},\r\n\r\n\t\tsetRange: function(range){\r\n\t\t\tif (!range || !range.length)\r\n\t\t\t\tdelete this.range;\r\n\t\t\telse\r\n\t\t\t\tthis.range = $.map(range, function(d){\r\n\t\t\t\t\treturn d.valueOf();\r\n\t\t\t\t});\r\n\t\t\tthis.fill();\r\n\t\t},\r\n\r\n\t\tgetClassNames: function(date){\r\n\t\t\tvar cls = [],\r\n\t\t\t\tyear = this.viewDate.getUTCFullYear(),\r\n\t\t\t\tmonth = this.viewDate.getUTCMonth(),\r\n\t\t\t\ttoday = UTCToday();\r\n\t\t\tif (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){\r\n\t\t\t\tcls.push('old');\r\n\t\t\t} else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){\r\n\t\t\t\tcls.push('new');\r\n\t\t\t}\r\n\t\t\tif (this.focusDate && date.valueOf() === this.focusDate.valueOf())\r\n\t\t\t\tcls.push('focused');\r\n\t\t\t// Compare internal UTC date with UTC today, not local today\r\n\t\t\tif (this.o.todayHighlight && isUTCEquals(date, today)) {\r\n\t\t\t\tcls.push('today');\r\n\t\t\t}\r\n\t\t\tif (this.dates.contains(date) !== -1)\r\n\t\t\t\tcls.push('active');\r\n\t\t\tif (!this.dateWithinRange(date)){\r\n\t\t\t\tcls.push('disabled');\r\n\t\t\t}\r\n\t\t\tif (this.dateIsDisabled(date)){\r\n\t\t\t\tcls.push('disabled', 'disabled-date');\r\n\t\t\t}\r\n\t\t\tif ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){\r\n\t\t\t\tcls.push('highlighted');\r\n\t\t\t}\r\n\r\n\t\t\tif (this.range){\r\n\t\t\t\tif (date > this.range[0] && date < this.range[this.range.length-1]){\r\n\t\t\t\t\tcls.push('range');\r\n\t\t\t\t}\r\n\t\t\t\tif ($.inArray(date.valueOf(), this.range) !== -1){\r\n\t\t\t\t\tcls.push('selected');\r\n\t\t\t\t}\r\n\t\t\t\tif (date.valueOf() === this.range[0]){\r\n cls.push('range-start');\r\n }\r\n if (date.valueOf() === this.range[this.range.length-1]){\r\n cls.push('range-end');\r\n }\r\n\t\t\t}\r\n\t\t\treturn cls;\r\n\t\t},\r\n\r\n\t\t_fill_yearsView: function(selector, cssClass, factor, year, startYear, endYear, beforeFn){\r\n\t\t\tvar html = '';\r\n\t\t\tvar step = factor / 10;\r\n\t\t\tvar view = this.picker.find(selector);\r\n\t\t\tvar startVal = Math.floor(year / factor) * factor;\r\n\t\t\tvar endVal = startVal + step * 9;\r\n\t\t\tvar focusedVal = Math.floor(this.viewDate.getFullYear() / step) * step;\r\n\t\t\tvar selected = $.map(this.dates, function(d){\r\n\t\t\t\treturn Math.floor(d.getUTCFullYear() / step) * step;\r\n\t\t\t});\r\n\r\n\t\t\tvar classes, tooltip, before;\r\n\t\t\tfor (var currVal = startVal - step; currVal <= endVal + step; currVal += step) {\r\n\t\t\t\tclasses = [cssClass];\r\n\t\t\t\ttooltip = null;\r\n\r\n\t\t\t\tif (currVal === startVal - step) {\r\n\t\t\t\t\tclasses.push('old');\r\n\t\t\t\t} else if (currVal === endVal + step) {\r\n\t\t\t\t\tclasses.push('new');\r\n\t\t\t\t}\r\n\t\t\t\tif ($.inArray(currVal, selected) !== -1) {\r\n\t\t\t\t\tclasses.push('active');\r\n\t\t\t\t}\r\n\t\t\t\tif (currVal < startYear || currVal > endYear) {\r\n\t\t\t\t\tclasses.push('disabled');\r\n\t\t\t\t}\r\n\t\t\t\tif (currVal === focusedVal) {\r\n\t\t\t\t classes.push('focused');\r\n }\r\n\r\n\t\t\t\tif (beforeFn !== $.noop) {\r\n\t\t\t\t\tbefore = beforeFn(new Date(currVal, 0, 1));\r\n\t\t\t\t\tif (before === undefined) {\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\t} else if (typeof before === 'boolean') {\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\t} else if (typeof before === 'string') {\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.enabled === false) {\r\n\t\t\t\t\t\tclasses.push('disabled');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.classes) {\r\n\t\t\t\t\t\tclasses = classes.concat(before.classes.split(/\\s+/));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.tooltip) {\r\n\t\t\t\t\t\ttooltip = before.tooltip;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\thtml += '' + currVal + '';\r\n\t\t\t}\r\n\r\n\t\t\tview.find('.datepicker-switch').text(startVal + '-' + endVal);\r\n\t\t\tview.find('td').html(html);\r\n\t\t},\r\n\r\n\t\tfill: function(){\r\n\t\t\tvar d = new Date(this.viewDate),\r\n\t\t\t\tyear = d.getUTCFullYear(),\r\n\t\t\t\tmonth = d.getUTCMonth(),\r\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\r\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\r\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\r\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\r\n\t\t\t\ttodaytxt = dates[this.o.language].today || dates['en'].today || '',\r\n\t\t\t\tcleartxt = dates[this.o.language].clear || dates['en'].clear || '',\r\n titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,\r\n todayDate = UTCToday(),\r\n titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate),\r\n\t\t\t\ttooltip,\r\n\t\t\t\tbefore;\r\n\t\t\tif (isNaN(year) || isNaN(month))\r\n\t\t\t\treturn;\r\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\r\n\t\t\t\t\t\t.text(DPGlobal.formatDate(d, titleFormat, this.o.language));\r\n\t\t\tthis.picker.find('tfoot .today')\r\n\t\t\t\t\t\t.text(todaytxt)\r\n .css('display', titleBtnVisible ? 'table-cell' : 'none');\r\n\t\t\tthis.picker.find('tfoot .clear')\r\n\t\t\t\t\t\t.text(cleartxt)\r\n\t\t\t\t\t\t.css('display', this.o.clearBtn === true ? 'table-cell' : 'none');\r\n\t\t\tthis.picker.find('thead .datepicker-title')\r\n\t\t\t\t\t\t.text(this.o.title)\r\n\t\t\t\t\t\t.css('display', typeof this.o.title === 'string' && this.o.title !== '' ? 'table-cell' : 'none');\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\tthis.fillMonths();\r\n\t\t\tvar prevMonth = UTCDate(year, month, 0),\r\n\t\t\t\tday = prevMonth.getUTCDate();\r\n\t\t\tprevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7);\r\n\t\t\tvar nextMonth = new Date(prevMonth);\r\n\t\t\tif (prevMonth.getUTCFullYear() < 100){\r\n nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());\r\n }\r\n\t\t\tnextMonth.setUTCDate(nextMonth.getUTCDate() + 42);\r\n\t\t\tnextMonth = nextMonth.valueOf();\r\n\t\t\tvar html = [];\r\n\t\t\tvar weekDay, clsName;\r\n\t\t\twhile (prevMonth.valueOf() < nextMonth){\r\n\t\t\t\tweekDay = prevMonth.getUTCDay();\r\n\t\t\t\tif (weekDay === this.o.weekStart){\r\n\t\t\t\t\thtml.push('');\r\n\t\t\t\t\tif (this.o.calendarWeeks){\r\n\t\t\t\t\t\t// ISO 8601: First week contains first thursday.\r\n\t\t\t\t\t\t// ISO also states week starts on Monday, but we can be more abstract here.\r\n\t\t\t\t\t\tvar\r\n\t\t\t\t\t\t\t// Start of current week: based on weekstart/current date\r\n\t\t\t\t\t\t\tws = new Date(+prevMonth + (this.o.weekStart - weekDay - 7) % 7 * 864e5),\r\n\t\t\t\t\t\t\t// Thursday of this week\r\n\t\t\t\t\t\t\tth = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),\r\n\t\t\t\t\t\t\t// First Thursday of year, year from thursday\r\n\t\t\t\t\t\t\tyth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5),\r\n\t\t\t\t\t\t\t// Calendar week: ms between thursdays, div ms per day, div 7 days\r\n\t\t\t\t\t\t\tcalWeek = (th - yth) / 864e5 / 7 + 1;\r\n\t\t\t\t\t\thtml.push(''+ calWeek +'');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tclsName = this.getClassNames(prevMonth);\r\n\t\t\t\tclsName.push('day');\r\n\r\n\t\t\t\tvar content = prevMonth.getUTCDate();\r\n\r\n\t\t\t\tif (this.o.beforeShowDay !== $.noop){\r\n\t\t\t\t\tbefore = this.o.beforeShowDay(this._utc_to_local(prevMonth));\r\n\t\t\t\t\tif (before === undefined)\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\telse if (typeof before === 'boolean')\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\telse if (typeof before === 'string')\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\tif (before.enabled === false)\r\n\t\t\t\t\t\tclsName.push('disabled');\r\n\t\t\t\t\tif (before.classes)\r\n\t\t\t\t\t\tclsName = clsName.concat(before.classes.split(/\\s+/));\r\n\t\t\t\t\tif (before.tooltip)\r\n\t\t\t\t\t\ttooltip = before.tooltip;\r\n\t\t\t\t\tif (before.content)\r\n\t\t\t\t\t\tcontent = before.content;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)\r\n\t\t\t\t//Fallback to unique function for older jquery versions\r\n\t\t\t\tif ($.isFunction($.uniqueSort)) {\r\n\t\t\t\t\tclsName = $.uniqueSort(clsName);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclsName = $.unique(clsName);\r\n\t\t\t\t}\r\n\r\n\t\t\t\thtml.push('' + content + '');\r\n\t\t\t\ttooltip = null;\r\n\t\t\t\tif (weekDay === this.o.weekEnd){\r\n\t\t\t\t\thtml.push('');\r\n\t\t\t\t}\r\n\t\t\t\tprevMonth.setUTCDate(prevMonth.getUTCDate() + 1);\r\n\t\t\t}\r\n\t\t\tthis.picker.find('.datepicker-days tbody').html(html.join(''));\r\n\r\n\t\t\tvar monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';\r\n\t\t\tvar months = this.picker.find('.datepicker-months')\r\n\t\t\t\t\t\t.find('.datepicker-switch')\r\n\t\t\t\t\t\t\t.text(this.o.maxViewMode < 2 ? monthsTitle : year)\r\n\t\t\t\t\t\t\t.end()\r\n\t\t\t\t\t\t.find('tbody span').removeClass('active');\r\n\r\n\t\t\t$.each(this.dates, function(i, d){\r\n\t\t\t\tif (d.getUTCFullYear() === year)\r\n\t\t\t\t\tmonths.eq(d.getUTCMonth()).addClass('active');\r\n\t\t\t});\r\n\r\n\t\t\tif (year < startYear || year > endYear){\r\n\t\t\t\tmonths.addClass('disabled');\r\n\t\t\t}\r\n\t\t\tif (year === startYear){\r\n\t\t\t\tmonths.slice(0, startMonth).addClass('disabled');\r\n\t\t\t}\r\n\t\t\tif (year === endYear){\r\n\t\t\t\tmonths.slice(endMonth+1).addClass('disabled');\r\n\t\t\t}\r\n\r\n\t\t\tif (this.o.beforeShowMonth !== $.noop){\r\n\t\t\t\tvar that = this;\r\n\t\t\t\t$.each(months, function(i, month){\r\n var moDate = new Date(year, i, 1);\r\n var before = that.o.beforeShowMonth(moDate);\r\n\t\t\t\t\tif (before === undefined)\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\telse if (typeof before === 'boolean')\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\telse if (typeof before === 'string')\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\tif (before.enabled === false && !$(month).hasClass('disabled'))\r\n\t\t\t\t\t $(month).addClass('disabled');\r\n\t\t\t\t\tif (before.classes)\r\n\t\t\t\t\t $(month).addClass(before.classes);\r\n\t\t\t\t\tif (before.tooltip)\r\n\t\t\t\t\t $(month).prop('title', before.tooltip);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Generating decade/years picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-years',\r\n\t\t\t\t'year',\r\n\t\t\t\t10,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowYear\r\n\t\t\t);\r\n\r\n\t\t\t// Generating century/decades picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-decades',\r\n\t\t\t\t'decade',\r\n\t\t\t\t100,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowDecade\r\n\t\t\t);\r\n\r\n\t\t\t// Generating millennium/centuries picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-centuries',\r\n\t\t\t\t'century',\r\n\t\t\t\t1000,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowCentury\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\tupdateNavArrows: function(){\r\n\t\t\tif (!this._allow_update)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar d = new Date(this.viewDate),\r\n\t\t\t\tyear = d.getUTCFullYear(),\r\n\t\t\t\tmonth = d.getUTCMonth(),\r\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\r\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\r\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\r\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\r\n\t\t\t\tprevIsDisabled,\r\n\t\t\t\tnextIsDisabled,\r\n\t\t\t\tfactor = 1;\r\n\t\t\tswitch (this.viewMode){\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\tfactor *= 10;\r\n\t\t\t\t\t/* falls through */\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tfactor *= 10;\r\n\t\t\t\t\t/* falls through */\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tfactor *= 10;\r\n\t\t\t\t\t/* falls through */\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tprevIsDisabled = Math.floor(year / factor) * factor <= startYear;\r\n\t\t\t\t\tnextIsDisabled = Math.floor(year / factor) * factor + factor > endYear;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\tprevIsDisabled = year <= startYear && month <= startMonth;\r\n\t\t\t\t\tnextIsDisabled = year >= endYear && month >= endMonth;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tthis.picker.find('.prev').toggleClass('disabled', prevIsDisabled);\r\n\t\t\tthis.picker.find('.next').toggleClass('disabled', nextIsDisabled);\r\n\t\t},\r\n\r\n\t\tclick: function(e){\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\r\n\t\t\tvar target, dir, day, year, month;\r\n\t\t\ttarget = $(e.target);\r\n\r\n\t\t\t// Clicked on the switch\r\n\t\t\tif (target.hasClass('datepicker-switch') && this.viewMode !== this.o.maxViewMode){\r\n\t\t\t\tthis.setViewMode(this.viewMode + 1);\r\n\t\t\t}\r\n\r\n\t\t\t// Clicked on today button\r\n\t\t\tif (target.hasClass('today') && !target.hasClass('day')){\r\n\t\t\t\tthis.setViewMode(0);\r\n\t\t\t\tthis._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');\r\n\t\t\t}\r\n\r\n\t\t\t// Clicked on clear button\r\n\t\t\tif (target.hasClass('clear')){\r\n\t\t\t\tthis.clearDates();\r\n\t\t\t}\r\n\r\n\t\t\tif (!target.hasClass('disabled')){\r\n\t\t\t\t// Clicked on a month, year, decade, century\r\n\t\t\t\tif (target.hasClass('month')\r\n\t\t\t\t\t\t|| target.hasClass('year')\r\n\t\t\t\t\t\t|| target.hasClass('decade')\r\n\t\t\t\t\t\t|| target.hasClass('century')) {\r\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\r\n\r\n\t\t\t\t\tday = 1;\r\n\t\t\t\t\tif (this.viewMode === 1){\r\n\t\t\t\t\t\tmonth = target.parent().find('span').index(target);\r\n\t\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\r\n\t\t\t\t\t\tthis.viewDate.setUTCMonth(month);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tmonth = 0;\r\n\t\t\t\t\t\tyear = Number(target.text());\r\n\t\t\t\t\t\tthis.viewDate.setUTCFullYear(year);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode - 1].e, this.viewDate);\r\n\r\n\t\t\t\t\tif (this.viewMode === this.o.minViewMode){\r\n\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setViewMode(this.viewMode - 1);\r\n\t\t\t\t\t\tthis.fill();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.picker.is(':visible') && this._focused_from){\r\n\t\t\t\tthis._focused_from.focus();\r\n\t\t\t}\r\n\t\t\tdelete this._focused_from;\r\n\t\t},\r\n\r\n\t\tdayCellClick: function(e){\r\n\t\t\tvar $target = $(e.currentTarget);\r\n\t\t\tvar timestamp = $target.data('date');\r\n\t\t\tvar date = new Date(timestamp);\r\n\r\n\t\t\tif (this.o.updateViewDate) {\r\n\t\t\t\tif (date.getUTCFullYear() !== this.viewDate.getUTCFullYear()) {\r\n\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (date.getUTCMonth() !== this.viewDate.getUTCMonth()) {\r\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis._setDate(date);\r\n\t\t},\r\n\r\n\t\t// Clicked on prev or next\r\n\t\tnavArrowsClick: function(e){\r\n\t\t\tvar $target = $(e.currentTarget);\r\n\t\t\tvar dir = $target.hasClass('prev') ? -1 : 1;\r\n\t\t\tif (this.viewMode !== 0){\r\n\t\t\t\tdir *= DPGlobal.viewModes[this.viewMode].navStep * 12;\r\n\t\t\t}\r\n\t\t\tthis.viewDate = this.moveMonth(this.viewDate, dir);\r\n\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode].e, this.viewDate);\r\n\t\t\tthis.fill();\r\n\t\t},\r\n\r\n\t\t_toggle_multidate: function(date){\r\n\t\t\tvar ix = this.dates.contains(date);\r\n\t\t\tif (!date){\r\n\t\t\t\tthis.dates.clear();\r\n\t\t\t}\r\n\r\n\t\t\tif (ix !== -1){\r\n\t\t\t\tif (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){\r\n\t\t\t\t\tthis.dates.remove(ix);\r\n\t\t\t\t}\r\n\t\t\t} else if (this.o.multidate === false) {\r\n\t\t\t\tthis.dates.clear();\r\n\t\t\t\tthis.dates.push(date);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.dates.push(date);\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof this.o.multidate === 'number')\r\n\t\t\t\twhile (this.dates.length > this.o.multidate)\r\n\t\t\t\t\tthis.dates.remove(0);\r\n\t\t},\r\n\r\n\t\t_setDate: function(date, which){\r\n\t\t\tif (!which || which === 'date')\r\n\t\t\t\tthis._toggle_multidate(date && new Date(date));\r\n\t\t\tif ((!which && this.o.updateViewDate) || which === 'view')\r\n\t\t\t\tthis.viewDate = date && new Date(date);\r\n\r\n\t\t\tthis.fill();\r\n\t\t\tthis.setValue();\r\n\t\t\tif (!which || which !== 'view') {\r\n\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t}\r\n\t\t\tthis.inputField.trigger('change');\r\n\t\t\tif (this.o.autoclose && (!which || which === 'date')){\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tmoveDay: function(date, dir){\r\n\t\t\tvar newDate = new Date(date);\r\n\t\t\tnewDate.setUTCDate(date.getUTCDate() + dir);\r\n\r\n\t\t\treturn newDate;\r\n\t\t},\r\n\r\n\t\tmoveWeek: function(date, dir){\r\n\t\t\treturn this.moveDay(date, dir * 7);\r\n\t\t},\r\n\r\n\t\tmoveMonth: function(date, dir){\r\n\t\t\tif (!isValidDate(date))\r\n\t\t\t\treturn this.o.defaultViewDate;\r\n\t\t\tif (!dir)\r\n\t\t\t\treturn date;\r\n\t\t\tvar new_date = new Date(date.valueOf()),\r\n\t\t\t\tday = new_date.getUTCDate(),\r\n\t\t\t\tmonth = new_date.getUTCMonth(),\r\n\t\t\t\tmag = Math.abs(dir),\r\n\t\t\t\tnew_month, test;\r\n\t\t\tdir = dir > 0 ? 1 : -1;\r\n\t\t\tif (mag === 1){\r\n\t\t\t\ttest = dir === -1\r\n\t\t\t\t\t// If going back one month, make sure month is not current month\r\n\t\t\t\t\t// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)\r\n\t\t\t\t\t? function(){\r\n\t\t\t\t\t\treturn new_date.getUTCMonth() === month;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// If going forward one month, make sure month is as expected\r\n\t\t\t\t\t// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)\r\n\t\t\t\t\t: function(){\r\n\t\t\t\t\t\treturn new_date.getUTCMonth() !== new_month;\r\n\t\t\t\t\t};\r\n\t\t\t\tnew_month = month + dir;\r\n\t\t\t\tnew_date.setUTCMonth(new_month);\r\n\t\t\t\t// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11\r\n\t\t\t\tnew_month = (new_month + 12) % 12;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// For magnitudes >1, move one month at a time...\r\n\t\t\t\tfor (var i=0; i < mag; i++)\r\n\t\t\t\t\t// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...\r\n\t\t\t\t\tnew_date = this.moveMonth(new_date, dir);\r\n\t\t\t\t// ...then reset the day, keeping it in the new month\r\n\t\t\t\tnew_month = new_date.getUTCMonth();\r\n\t\t\t\tnew_date.setUTCDate(day);\r\n\t\t\t\ttest = function(){\r\n\t\t\t\t\treturn new_month !== new_date.getUTCMonth();\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\t// Common date-resetting loop -- if date is beyond end of month, make it\r\n\t\t\t// end of month\r\n\t\t\twhile (test()){\r\n\t\t\t\tnew_date.setUTCDate(--day);\r\n\t\t\t\tnew_date.setUTCMonth(new_month);\r\n\t\t\t}\r\n\t\t\treturn new_date;\r\n\t\t},\r\n\r\n\t\tmoveYear: function(date, dir){\r\n\t\t\treturn this.moveMonth(date, dir*12);\r\n\t\t},\r\n\r\n\t\tmoveAvailableDate: function(date, dir, fn){\r\n\t\t\tdo {\r\n\t\t\t\tdate = this[fn](date, dir);\r\n\r\n\t\t\t\tif (!this.dateWithinRange(date))\r\n\t\t\t\t\treturn false;\r\n\r\n\t\t\t\tfn = 'moveDay';\r\n\t\t\t}\r\n\t\t\twhile (this.dateIsDisabled(date));\r\n\r\n\t\t\treturn date;\r\n\t\t},\r\n\r\n\t\tweekOfDateIsDisabled: function(date){\r\n\t\t\treturn $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;\r\n\t\t},\r\n\r\n\t\tdateIsDisabled: function(date){\r\n\t\t\treturn (\r\n\t\t\t\tthis.weekOfDateIsDisabled(date) ||\r\n\t\t\t\t$.grep(this.o.datesDisabled, function(d){\r\n\t\t\t\t\treturn isUTCEquals(date, d);\r\n\t\t\t\t}).length > 0\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\tdateWithinRange: function(date){\r\n\t\t\treturn date >= this.o.startDate && date <= this.o.endDate;\r\n\t\t},\r\n\r\n\t\tkeydown: function(e){\r\n\t\t\tif (!this.picker.is(':visible')){\r\n\t\t\t\tif (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker\r\n\t\t\t\t\tthis.show();\r\n\t\t\t\t\te.stopPropagation();\r\n }\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar dateChanged = false,\r\n\t\t\t\tdir, newViewDate,\r\n\t\t\t\tfocusDate = this.focusDate || this.viewDate;\r\n\t\t\tswitch (e.keyCode){\r\n\t\t\t\tcase 27: // escape\r\n\t\t\t\t\tif (this.focusDate){\r\n\t\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\t\tthis.fill();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 37: // left\r\n\t\t\t\tcase 38: // up\r\n\t\t\t\tcase 39: // right\r\n\t\t\t\tcase 40: // down\r\n\t\t\t\t\tif (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;\r\n if (this.viewMode === 0) {\r\n \t\t\t\t\tif (e.ctrlKey){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\r\n\r\n \t\t\t\t\t\tif (newViewDate)\r\n \t\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n \t\t\t\t\t} else if (e.shiftKey){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\r\n\r\n \t\t\t\t\t\tif (newViewDate)\r\n \t\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n \t\t\t\t\t} else if (e.keyCode === 37 || e.keyCode === 39){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');\r\n \t\t\t\t\t} else if (!this.weekOfDateIsDisabled(focusDate)){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');\r\n \t\t\t\t\t}\r\n } else if (this.viewMode === 1) {\r\n if (e.keyCode === 38 || e.keyCode === 40) {\r\n dir = dir * 4;\r\n }\r\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\r\n } else if (this.viewMode === 2) {\r\n if (e.keyCode === 38 || e.keyCode === 40) {\r\n dir = dir * 4;\r\n }\r\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\r\n }\r\n\t\t\t\t\tif (newViewDate){\r\n\t\t\t\t\t\tthis.focusDate = this.viewDate = newViewDate;\r\n\t\t\t\t\t\tthis.setValue();\r\n\t\t\t\t\t\tthis.fill();\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 13: // enter\r\n\t\t\t\t\tif (!this.o.forceParse)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tfocusDate = this.focusDate || this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tif (this.o.keyboardNavigation) {\r\n\t\t\t\t\t\tthis._toggle_multidate(focusDate);\r\n\t\t\t\t\t\tdateChanged = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tthis.setValue();\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t\tif (this.picker.is(':visible')){\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\tif (this.o.autoclose)\r\n\t\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 9: // tab\r\n\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t\tthis.hide();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (dateChanged){\r\n\t\t\t\tif (this.dates.length)\r\n\t\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t\telse\r\n\t\t\t\t\tthis._trigger('clearDate');\r\n\t\t\t\tthis.inputField.trigger('change');\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tsetViewMode: function(viewMode){\r\n\t\t\tthis.viewMode = viewMode;\r\n\t\t\tthis.picker\r\n\t\t\t\t.children('div')\r\n\t\t\t\t.hide()\r\n\t\t\t\t.filter('.datepicker-' + DPGlobal.viewModes[this.viewMode].clsName)\r\n\t\t\t\t\t.show();\r\n\t\t\tthis.updateNavArrows();\r\n this._trigger('changeViewMode', new Date(this.viewDate));\r\n\t\t}\r\n\t};\r\n\r\n\tvar DateRangePicker = function(element, options){\r\n\t\t$.data(element, 'datepicker', this);\r\n\t\tthis.element = $(element);\r\n\t\tthis.inputs = $.map(options.inputs, function(i){\r\n\t\t\treturn i.jquery ? i[0] : i;\r\n\t\t});\r\n\t\tdelete options.inputs;\r\n\r\n\t\tthis.keepEmptyValues = options.keepEmptyValues;\r\n\t\tdelete options.keepEmptyValues;\r\n\r\n\t\tdatepickerPlugin.call($(this.inputs), options)\r\n\t\t\t.on('changeDate', $.proxy(this.dateUpdated, this));\r\n\r\n\t\tthis.pickers = $.map(this.inputs, function(i){\r\n\t\t\treturn $.data(i, 'datepicker');\r\n\t\t});\r\n\t\tthis.updateDates();\r\n\t};\r\n\tDateRangePicker.prototype = {\r\n\t\tupdateDates: function(){\r\n\t\t\tthis.dates = $.map(this.pickers, function(i){\r\n\t\t\t\treturn i.getUTCDate();\r\n\t\t\t});\r\n\t\t\tthis.updateRanges();\r\n\t\t},\r\n\t\tupdateRanges: function(){\r\n\t\t\tvar range = $.map(this.dates, function(d){\r\n\t\t\t\treturn d.valueOf();\r\n\t\t\t});\r\n\t\t\t$.each(this.pickers, function(i, p){\r\n\t\t\t\tp.setRange(range);\r\n\t\t\t});\r\n\t\t},\r\n\t\tclearDates: function(){\r\n\t\t\t$.each(this.pickers, function(i, p){\r\n\t\t\t\tp.clearDates();\r\n\t\t\t});\r\n\t\t},\r\n\t\tdateUpdated: function(e){\r\n\t\t\t// `this.updating` is a workaround for preventing infinite recursion\r\n\t\t\t// between `changeDate` triggering and `setUTCDate` calling. Until\r\n\t\t\t// there is a better mechanism.\r\n\t\t\tif (this.updating)\r\n\t\t\t\treturn;\r\n\t\t\tthis.updating = true;\r\n\r\n\t\t\tvar dp = $.data(e.target, 'datepicker');\r\n\r\n\t\t\tif (dp === undefined) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar new_date = dp.getUTCDate(),\r\n\t\t\t\tkeep_empty_values = this.keepEmptyValues,\r\n\t\t\t\ti = $.inArray(e.target, this.inputs),\r\n\t\t\t\tj = i - 1,\r\n\t\t\t\tk = i + 1,\r\n\t\t\t\tl = this.inputs.length;\r\n\t\t\tif (i === -1)\r\n\t\t\t\treturn;\r\n\r\n\t\t\t$.each(this.pickers, function(i, p){\r\n\t\t\t\tif (!p.getUTCDate() && (p === dp || !keep_empty_values))\r\n\t\t\t\t\tp.setUTCDate(new_date);\r\n\t\t\t});\r\n\r\n\t\t\tif (new_date < this.dates[j]){\r\n\t\t\t\t// Date being moved earlier/left\r\n\t\t\t\twhile (j >= 0 && new_date < this.dates[j]){\r\n\t\t\t\t\tthis.pickers[j--].setUTCDate(new_date);\r\n\t\t\t\t}\r\n\t\t\t} else if (new_date > this.dates[k]){\r\n\t\t\t\t// Date being moved later/right\r\n\t\t\t\twhile (k < l && new_date > this.dates[k]){\r\n\t\t\t\t\tthis.pickers[k++].setUTCDate(new_date);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.updateDates();\r\n\r\n\t\t\tdelete this.updating;\r\n\t\t},\r\n\t\tdestroy: function(){\r\n\t\t\t$.map(this.pickers, function(p){ p.destroy(); });\r\n\t\t\t$(this.inputs).off('changeDate', this.dateUpdated);\r\n\t\t\tdelete this.element.data().datepicker;\r\n\t\t},\r\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead')\r\n\t};\r\n\r\n\tfunction opts_from_el(el, prefix){\r\n\t\t// Derive options from element data-attrs\r\n\t\tvar data = $(el).data(),\r\n\t\t\tout = {}, inkey,\r\n\t\t\treplace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');\r\n\t\tprefix = new RegExp('^' + prefix.toLowerCase());\r\n\t\tfunction re_lower(_,a){\r\n\t\t\treturn a.toLowerCase();\r\n\t\t}\r\n\t\tfor (var key in data)\r\n\t\t\tif (prefix.test(key)){\r\n\t\t\t\tinkey = key.replace(replace, re_lower);\r\n\t\t\t\tout[inkey] = data[key];\r\n\t\t\t}\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction opts_from_locale(lang){\r\n\t\t// Derive options from locale plugins\r\n\t\tvar out = {};\r\n\t\t// Check if \"de-DE\" style date is available, if not language should\r\n\t\t// fallback to 2 letter code eg \"de\"\r\n\t\tif (!dates[lang]){\r\n\t\t\tlang = lang.split('-')[0];\r\n\t\t\tif (!dates[lang])\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t\tvar d = dates[lang];\r\n\t\t$.each(locale_opts, function(i,k){\r\n\t\t\tif (k in d)\r\n\t\t\t\tout[k] = d[k];\r\n\t\t});\r\n\t\treturn out;\r\n\t}\r\n\r\n\tvar old = $.fn.datepicker;\r\n\tvar datepickerPlugin = function(option){\r\n\t\tvar args = Array.apply(null, arguments);\r\n\t\targs.shift();\r\n\t\tvar internal_return;\r\n\t\tthis.each(function(){\r\n\t\t\tvar $this = $(this),\r\n\t\t\t\tdata = $this.data('datepicker'),\r\n\t\t\t\toptions = typeof option === 'object' && option;\r\n\t\t\tif (!data){\r\n\t\t\t\tvar elopts = opts_from_el(this, 'date'),\r\n\t\t\t\t\t// Preliminary otions\r\n\t\t\t\t\txopts = $.extend({}, defaults, elopts, options),\r\n\t\t\t\t\tlocopts = opts_from_locale(xopts.language),\r\n\t\t\t\t\t// Options priority: js args, data-attrs, locales, defaults\r\n\t\t\t\t\topts = $.extend({}, defaults, locopts, elopts, options);\r\n\t\t\t\tif ($this.hasClass('input-daterange') || opts.inputs){\r\n\t\t\t\t\t$.extend(opts, {\r\n\t\t\t\t\t\tinputs: opts.inputs || $this.find('input').toArray()\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata = new DateRangePicker(this, opts);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdata = new Datepicker(this, opts);\r\n\t\t\t\t}\r\n\t\t\t\t$this.data('datepicker', data);\r\n\t\t\t}\r\n\t\t\tif (typeof option === 'string' && typeof data[option] === 'function'){\r\n\t\t\t\tinternal_return = data[option].apply(data, args);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (\r\n\t\t\tinternal_return === undefined ||\r\n\t\t\tinternal_return instanceof Datepicker ||\r\n\t\t\tinternal_return instanceof DateRangePicker\r\n\t\t)\r\n\t\t\treturn this;\r\n\r\n\t\tif (this.length > 1)\r\n\t\t\tthrow new Error('Using only allowed for the collection of a single element (' + option + ' function)');\r\n\t\telse\r\n\t\t\treturn internal_return;\r\n\t};\r\n\t$.fn.datepicker = datepickerPlugin;\r\n\r\n\tvar defaults = $.fn.datepicker.defaults = {\r\n\t\tassumeNearbyYear: false,\r\n\t\tautoclose: false,\r\n\t\tbeforeShowDay: $.noop,\r\n\t\tbeforeShowMonth: $.noop,\r\n\t\tbeforeShowYear: $.noop,\r\n\t\tbeforeShowDecade: $.noop,\r\n\t\tbeforeShowCentury: $.noop,\r\n\t\tcalendarWeeks: false,\r\n\t\tclearBtn: false,\r\n\t\ttoggleActive: false,\r\n\t\tdaysOfWeekDisabled: [],\r\n\t\tdaysOfWeekHighlighted: [],\r\n\t\tdatesDisabled: [],\r\n\t\tendDate: Infinity,\r\n\t\tforceParse: true,\r\n\t\tformat: 'mm/dd/yyyy',\r\n\t\tkeepEmptyValues: false,\r\n\t\tkeyboardNavigation: true,\r\n\t\tlanguage: 'en',\r\n\t\tminViewMode: 0,\r\n\t\tmaxViewMode: 4,\r\n\t\tmultidate: false,\r\n\t\tmultidateSeparator: ',',\r\n\t\torientation: 'auto',\r\n\t\trtl: false,\r\n\t\tstartDate: -Infinity,\r\n\t\tstartView: 0,\r\n\t\ttodayBtn: false,\r\n\t\ttodayHighlight: false,\r\n\t\tupdateViewDate: true,\r\n\t\tweekStart: 0,\r\n\t\tdisableTouchKeyboard: false,\r\n\t\tenableOnReadonly: true,\r\n\t\tshowOnFocus: true,\r\n\t\tzIndexOffset: 10,\r\n\t\tcontainer: 'body',\r\n\t\timmediateUpdates: false,\r\n\t\ttitle: '',\r\n\t\ttemplates: {\r\n\t\t\tleftArrow: '«',\r\n\t\t\trightArrow: '»'\r\n\t\t},\r\n showWeekDays: true\r\n\t};\r\n\tvar locale_opts = $.fn.datepicker.locale_opts = [\r\n\t\t'format',\r\n\t\t'rtl',\r\n\t\t'weekStart'\r\n\t];\r\n\t$.fn.datepicker.Constructor = Datepicker;\r\n\tvar dates = $.fn.datepicker.dates = {\r\n\t\ten: {\r\n\t\t\tdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n\t\t\tdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n\t\t\tdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n\t\t\tmonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\r\n\t\t\tmonthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n\t\t\ttoday: 'Today',\r\n\t\t\tclear: 'Clear',\r\n\t\t\ttitleFormat: 'MM yyyy'\r\n\t\t}\r\n\t};\r\n\r\n\tvar DPGlobal = {\r\n\t\tviewModes: [\r\n\t\t\t{\r\n\t\t\t\tnames: ['days', 'month'],\r\n\t\t\t\tclsName: 'days',\r\n\t\t\t\te: 'changeMonth'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tnames: ['months', 'year'],\r\n\t\t\t\tclsName: 'months',\r\n\t\t\t\te: 'changeYear',\r\n\t\t\t\tnavStep: 1\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tnames: ['years', 'decade'],\r\n\t\t\t\tclsName: 'years',\r\n\t\t\t\te: 'changeDecade',\r\n\t\t\t\tnavStep: 10\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tnames: ['decades', 'century'],\r\n\t\t\t\tclsName: 'decades',\r\n\t\t\t\te: 'changeCentury',\r\n\t\t\t\tnavStep: 100\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tnames: ['centuries', 'millennium'],\r\n\t\t\t\tclsName: 'centuries',\r\n\t\t\t\te: 'changeMillennium',\r\n\t\t\t\tnavStep: 1000\r\n\t\t\t}\r\n\t\t],\r\n\t\tvalidParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,\r\n\t\tnonpunctuation: /[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,\r\n\t\tparseFormat: function(format){\r\n\t\t\tif (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')\r\n return format;\r\n // IE treats \\0 as a string end in inputs (truncating the value),\r\n\t\t\t// so it's a bad format delimiter, anyway\r\n\t\t\tvar separators = format.replace(this.validParts, '\\0').split('\\0'),\r\n\t\t\t\tparts = format.match(this.validParts);\r\n\t\t\tif (!separators || !separators.length || !parts || parts.length === 0){\r\n\t\t\t\tthrow new Error('Invalid date format.');\r\n\t\t\t}\r\n\t\t\treturn {separators: separators, parts: parts};\r\n\t\t},\r\n\t\tparseDate: function(date, format, language, assumeNearby){\r\n\t\t\tif (!date)\r\n\t\t\t\treturn undefined;\r\n\t\t\tif (date instanceof Date)\r\n\t\t\t\treturn date;\r\n\t\t\tif (typeof format === 'string')\r\n\t\t\t\tformat = DPGlobal.parseFormat(format);\r\n\t\t\tif (format.toValue)\r\n\t\t\t\treturn format.toValue(date, format, language);\r\n\t\t\tvar fn_map = {\r\n\t\t\t\t\td: 'moveDay',\r\n\t\t\t\t\tm: 'moveMonth',\r\n\t\t\t\t\tw: 'moveWeek',\r\n\t\t\t\t\ty: 'moveYear'\r\n\t\t\t\t},\r\n\t\t\t\tdateAliases = {\r\n\t\t\t\t\tyesterday: '-1d',\r\n\t\t\t\t\ttoday: '+0d',\r\n\t\t\t\t\ttomorrow: '+1d'\r\n\t\t\t\t},\r\n\t\t\t\tparts, part, dir, i, fn;\r\n\t\t\tif (date in dateAliases){\r\n\t\t\t\tdate = dateAliases[date];\r\n\t\t\t}\r\n\t\t\tif (/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/i.test(date)){\r\n\t\t\t\tparts = date.match(/([\\-+]\\d+)([dmwy])/gi);\r\n\t\t\t\tdate = new Date();\r\n\t\t\t\tfor (i=0; i < parts.length; i++){\r\n\t\t\t\t\tpart = parts[i].match(/([\\-+]\\d+)([dmwy])/i);\r\n\t\t\t\t\tdir = Number(part[1]);\r\n\t\t\t\t\tfn = fn_map[part[2].toLowerCase()];\r\n\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\r\n\t\t\t\t}\r\n\t\t\t\treturn Datepicker.prototype._zero_utc_time(date);\r\n\t\t\t}\r\n\r\n\t\t\tparts = date && date.match(this.nonpunctuation) || [];\r\n\r\n\t\t\tfunction applyNearbyYear(year, threshold){\r\n\t\t\t\tif (threshold === true)\r\n\t\t\t\t\tthreshold = 10;\r\n\r\n\t\t\t\t// if year is 2 digits or less, than the user most likely is trying to get a recent century\r\n\t\t\t\tif (year < 100){\r\n\t\t\t\t\tyear += 2000;\r\n\t\t\t\t\t// if the new year is more than threshold years in advance, use last century\r\n\t\t\t\t\tif (year > ((new Date()).getFullYear()+threshold)){\r\n\t\t\t\t\t\tyear -= 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn year;\r\n\t\t\t}\r\n\r\n\t\t\tvar parsed = {},\r\n\t\t\t\tsetters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],\r\n\t\t\t\tsetters_map = {\r\n\t\t\t\t\tyyyy: function(d,v){\r\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tm: function(d,v){\r\n\t\t\t\t\t\tif (isNaN(d))\r\n\t\t\t\t\t\t\treturn d;\r\n\t\t\t\t\t\tv -= 1;\r\n\t\t\t\t\t\twhile (v < 0) v += 12;\r\n\t\t\t\t\t\tv %= 12;\r\n\t\t\t\t\t\td.setUTCMonth(v);\r\n\t\t\t\t\t\twhile (d.getUTCMonth() !== v)\r\n\t\t\t\t\t\t\td.setUTCDate(d.getUTCDate()-1);\r\n\t\t\t\t\t\treturn d;\r\n\t\t\t\t\t},\r\n\t\t\t\t\td: function(d,v){\r\n\t\t\t\t\t\treturn d.setUTCDate(v);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tval, filtered;\r\n\t\t\tsetters_map['yy'] = setters_map['yyyy'];\r\n\t\t\tsetters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];\r\n\t\t\tsetters_map['dd'] = setters_map['d'];\r\n\t\t\tdate = UTCToday();\r\n\t\t\tvar fparts = format.parts.slice();\r\n\t\t\t// Remove noop parts\r\n\t\t\tif (parts.length !== fparts.length){\r\n\t\t\t\tfparts = $(fparts).filter(function(i,p){\r\n\t\t\t\t\treturn $.inArray(p, setters_order) !== -1;\r\n\t\t\t\t}).toArray();\r\n\t\t\t}\r\n\t\t\t// Process remainder\r\n\t\t\tfunction match_part(){\r\n\t\t\t\tvar m = this.slice(0, parts[i].length),\r\n\t\t\t\t\tp = parts[i].slice(0, m.length);\r\n\t\t\t\treturn m.toLowerCase() === p.toLowerCase();\r\n\t\t\t}\r\n\t\t\tif (parts.length === fparts.length){\r\n\t\t\t\tvar cnt;\r\n\t\t\t\tfor (i=0, cnt = fparts.length; i < cnt; i++){\r\n\t\t\t\t\tval = parseInt(parts[i], 10);\r\n\t\t\t\t\tpart = fparts[i];\r\n\t\t\t\t\tif (isNaN(val)){\r\n\t\t\t\t\t\tswitch (part){\r\n\t\t\t\t\t\t\tcase 'MM':\r\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].months).filter(match_part);\r\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].months) + 1;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'M':\r\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].monthsShort).filter(match_part);\r\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].monthsShort) + 1;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tparsed[part] = val;\r\n\t\t\t\t}\r\n\t\t\t\tvar _date, s;\r\n\t\t\t\tfor (i=0; i < setters_order.length; i++){\r\n\t\t\t\t\ts = setters_order[i];\r\n\t\t\t\t\tif (s in parsed && !isNaN(parsed[s])){\r\n\t\t\t\t\t\t_date = new Date(date);\r\n\t\t\t\t\t\tsetters_map[s](_date, parsed[s]);\r\n\t\t\t\t\t\tif (!isNaN(_date))\r\n\t\t\t\t\t\t\tdate = _date;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn date;\r\n\t\t},\r\n\t\tformatDate: function(date, format, language){\r\n\t\t\tif (!date)\r\n\t\t\t\treturn '';\r\n\t\t\tif (typeof format === 'string')\r\n\t\t\t\tformat = DPGlobal.parseFormat(format);\r\n\t\t\tif (format.toDisplay)\r\n return format.toDisplay(date, format, language);\r\n var val = {\r\n\t\t\t\td: date.getUTCDate(),\r\n\t\t\t\tD: dates[language].daysShort[date.getUTCDay()],\r\n\t\t\t\tDD: dates[language].days[date.getUTCDay()],\r\n\t\t\t\tm: date.getUTCMonth() + 1,\r\n\t\t\t\tM: dates[language].monthsShort[date.getUTCMonth()],\r\n\t\t\t\tMM: dates[language].months[date.getUTCMonth()],\r\n\t\t\t\tyy: date.getUTCFullYear().toString().substring(2),\r\n\t\t\t\tyyyy: date.getUTCFullYear()\r\n\t\t\t};\r\n\t\t\tval.dd = (val.d < 10 ? '0' : '') + val.d;\r\n\t\t\tval.mm = (val.m < 10 ? '0' : '') + val.m;\r\n\t\t\tdate = [];\r\n\t\t\tvar seps = $.extend([], format.separators);\r\n\t\t\tfor (var i=0, cnt = format.parts.length; i <= cnt; i++){\r\n\t\t\t\tif (seps.length)\r\n\t\t\t\t\tdate.push(seps.shift());\r\n\t\t\t\tdate.push(val[format.parts[i]]);\r\n\t\t\t}\r\n\t\t\treturn date.join('');\r\n\t\t},\r\n\t\theadTemplate: ''+\r\n\t\t\t ''+\r\n\t\t\t ''+\r\n\t\t\t ''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+defaults.templates.leftArrow+''+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+defaults.templates.rightArrow+''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t'',\r\n\t\tcontTemplate: '',\r\n\t\tfootTemplate: ''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t''\r\n\t};\r\n\tDPGlobal.template = '
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
';\r\n\r\n\t$.fn.datepicker.DPGlobal = DPGlobal;\r\n\r\n\r\n\t/* DATEPICKER NO CONFLICT\r\n\t* =================== */\r\n\r\n\t$.fn.datepicker.noConflict = function(){\r\n\t\t$.fn.datepicker = old;\r\n\t\treturn this;\r\n\t};\r\n\r\n\t/* DATEPICKER VERSION\r\n\t * =================== */\r\n\t$.fn.datepicker.version = '1.9.0';\r\n\r\n\t$.fn.datepicker.deprecated = function(msg){\r\n\t\tvar console = window.console;\r\n\t\tif (console && console.warn) {\r\n\t\t\tconsole.warn('DEPRECATED: ' + msg);\r\n\t\t}\r\n\t};\r\n\r\n\r\n\t/* DATEPICKER DATA-API\r\n\t* ================== */\r\n\r\n\t$(document).on(\r\n\t\t'focus.datepicker.data-api click.datepicker.data-api',\r\n\t\t'[data-provide=\"datepicker\"]',\r\n\t\tfunction(e){\r\n\t\t\tvar $this = $(this);\r\n\t\t\tif ($this.data('datepicker'))\r\n\t\t\t\treturn;\r\n\t\t\te.preventDefault();\r\n\t\t\t// component click requires us to explicitly show it\r\n\t\t\tdatepickerPlugin.call($this, 'show');\r\n\t\t}\r\n\t);\r\n\t$(function(){\r\n\t\tdatepickerPlugin.call($('[data-provide=\"datepicker-inline\"]'));\r\n\t});\r\n\r\n}));\r\n\r\n// Init datepioker with some parameters to make it better for our use case\r\njQuery('.month-year-picker-input').datepicker({\r\n format: 'mm/yyyy',\r\n startView: 1,\r\n minViewMode: 1,\r\n autoclose: true\r\n});\r\n\r\njQuery(document).ready(function() {\r\n\t// Set month/year value based query string\r\n\tvar urlParams = new URLSearchParams(window.location.search);\r\n\tvar month = urlParams.get('month');\r\n\tvar year = urlParams.get('year');\r\n\tif (month && year) {\r\n\t\t\tjQuery(\".month-year-picker-input\").val(month + \"/\" + year);\r\n\t}\r\n\t\r\n\t// Apply month/year query string when date picker value changes\r\n\tjQuery(\".month-year-picker-input\").change(function () {\r\n\t\tvar monthYearArray = jQuery(this).val().split('/');\r\n\t\tvar month = monthYearArray[0];\r\n\t\tvar year = monthYearArray[1];\r\n\t\tvar url = window.location.href.split('?')[0];\r\n\t\r\n\t\tif (month) {\r\n\t\t\t\twindow.location.href = url + \"?year=\" + year + \"&month=\" + month;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t\twindow.location.href = url;\r\n\t\t}\r\n\t});\r\n});","import 'bootstrap'\r\n\r\nfunction handleImageCaptionToggleEvents() {\r\n const images = document.querySelectorAll('.image-inner-caption-toggle')\r\n\r\n images.forEach((image) => {\r\n const imageCaptionText = image.querySelector('.image-inner-caption-text')\r\n if (imageCaptionText) {\r\n image.addEventListener('focus', (event) => {\r\n showCaptionText(imageCaptionText)\r\n })\r\n image.addEventListener('unfocusout', (event) => {\r\n hideCaptionText(imageCaptionText)\r\n })\r\n image.addEventListener('mouseenter', (event) => {\r\n showCaptionText(imageCaptionText)\r\n })\r\n image.addEventListener('mouseleave', (event) => {\r\n hideCaptionText(imageCaptionText)\r\n })\r\n }\r\n })\r\n}\r\n\r\nfunction showCaptionText(captionText) {\r\n captionText.classList.add('show')\r\n captionText.style.maxHeight = `${captionText.closest('.image-inner').clientHeight}px`\r\n}\r\n\r\nfunction hideCaptionText(captionText) {\r\n captionText.classList.remove('show')\r\n captionText.style.maxHeight = `0px`\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n handleImageCaptionToggleEvents()\r\n})\r\n","// Collapse prevent close data attribute\r\n// Author: Wakefly\r\n// Purpose: To prevent Bootstrap collapse toggles from closing (collapsing) its collapse target on click, apply this data attribute.\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n // When collapse toggle element with [data-collapse-toggle-prevent-close=\"true\"] is clicked\r\n // and the collapse target is already open, then don't close the collapse target\r\n document.querySelectorAll('[data-wf-collapse-toggle-prevent-close=\"true\"]').forEach((elem) => {\r\n let collapseElement = document.querySelector(elem.getAttribute('data-bs-target') || elem.getAttribute('href'));\r\n elem.addEventListener('click', (evt) => {\r\n elem.classList.remove('collapsed')\r\n collapseElement.classList.add('show')\r\n })\r\n })\r\n})","import { Collapse, Offcanvas, Dropdown } from 'bootstrap'\r\n\r\nfunction handleOffcanvasEvents() {\r\n const offcanvasOffsetElement = document.querySelector('header')\r\n const offcanvasButton = document.getElementById('headerOffcanvasButton')\r\n const offcanvas = document.getElementById('headerOffcanvas')\r\n\r\n if (offcanvasOffsetElement && offcanvasButton && offcanvas) {\r\n offcanvas.addEventListener('show.bs.offcanvas', event => {\r\n offcanvasButton.classList.add('offcanvas-open')\r\n let topOffset = offcanvasOffsetElement.getBoundingClientRect().bottom\r\n offcanvas.style.top = `${topOffset}px`\r\n })\r\n\r\n offcanvas.addEventListener('hide.bs.offcanvas', event => {\r\n offcanvasButton.classList.remove('offcanvas-open')\r\n })\r\n }\r\n}\r\n\r\nfunction handleMainNavigationEvents() {\r\n const header = document.querySelector('#header')\r\n const mainNavigationDropdownLinks = document.querySelectorAll('.main-navigation-top-level-item .dropdown .main-navigation-top-level-link')\r\n const dropdowns = []\r\n\r\n mainNavigationDropdownLinks.forEach(mainNavigationDropdownLink => {\r\n let dropdown = Dropdown.getOrCreateInstance(mainNavigationDropdownLink, { toggle: false })\r\n dropdowns.push(dropdown)\r\n })\r\n\r\n for (let i = 0; i < dropdowns.length; i++) {\r\n let dropdownLink = mainNavigationDropdownLinks[i]\r\n let dropdown = dropdowns[i]\r\n\r\n dropdownLink.addEventListener('mouseover', event => {\r\n dropdowns.forEach(d => {\r\n d.hide()\r\n })\r\n dropdown.show()\r\n })\r\n dropdownLink.addEventListener('click', event => {\r\n dropdowns.forEach(d => {\r\n d.hide()\r\n })\r\n dropdown.show()\r\n })\r\n }\r\n\r\n header.addEventListener('mouseleave', event => {\r\n dropdowns.forEach(d => {\r\n d.hide()\r\n })\r\n })\r\n}\r\n\r\nfunction handleKeyboardAndMouseEvents() {\r\n // On escape keypress, collapse all header collapses and dropdowns\r\n const headerCollapses = document.querySelectorAll('header .collapse, .main-navigation-wrapper .collapse')\r\n const headerDropdowns = document.querySelectorAll('.main-navigation-top-level-item .dropdown .main-navigation-top-level-link')\r\n if (headerCollapses) {\r\n document.addEventListener('keydown', (event) => {\r\n if (event?.key === 'Escape' || event?.key === 'Esc') {\r\n headerCollapses.forEach((headerCollapse) => {\r\n const collapse = Collapse.getOrCreateInstance(headerCollapse, { toggle: false })\r\n collapse.hide()\r\n })\r\n headerDropdowns.forEach((headerDropdown) => {\r\n const dropdown = Dropdown.getOrCreateInstance(headerDropdown, { toggle: false })\r\n dropdown.hide()\r\n })\r\n }\r\n })\r\n }\r\n \r\n // On click outside main navigation, close all main navigation collapses\r\n const mainNavigationWrappers = Array.from(document.querySelectorAll('.main-navigation'))\r\n const mainNavigationCollapses = document.querySelectorAll('.main-navigation .collapse')\r\n if (mainNavigationWrappers && mainNavigationCollapses) {\r\n document.addEventListener('click', (event) => {\r\n const clickedMainNavigation = mainNavigationWrappers.some(wrapper => wrapper.contains(event.target))\r\n if (!clickedMainNavigation) {\r\n mainNavigationCollapses.forEach((mainNavigationCollapse) => {\r\n const collapse = Collapse.getOrCreateInstance(mainNavigationCollapse, { toggle: false })\r\n collapse.hide()\r\n })\r\n }\r\n })\r\n }\r\n\r\n // On click outside header and main navigation, close header offcanvas\r\n const header = document.querySelector('header')\r\n const headerOffcanvas = document.querySelector('#headerOffcanvas')\r\n if (header && headerOffcanvas) {\r\n document.addEventListener('click', (event) => {\r\n if (!header.contains(event.target) && !mainNavigationWrappers.some(wrapper => wrapper.contains(event.target))) {\r\n const offcanvasInstance = Offcanvas.getOrCreateInstance(headerOffcanvas, { toggle: false})\r\n offcanvasInstance.hide()\r\n }\r\n })\r\n }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n handleOffcanvasEvents()\r\n handleMainNavigationEvents()\r\n handleKeyboardAndMouseEvents()\r\n});","import 'bootstrap'\r\n\r\nfunction handleImageModalEvents() {\r\n const imageModalElement = document.getElementById('imageModal')\r\n const imageModalContentElement = document.getElementById('imageModalContent')\r\n\r\n if (imageModalElement && imageModalContentElement) {\r\n imageModalElement.addEventListener('show.bs.modal', event => {\r\n const relatedTarget = event.relatedTarget\r\n imageModalContentElement.innerHTML = relatedTarget.innerHTML\r\n })\r\n\r\n imageModalElement.addEventListener('hidden.bs.modal', event => {\r\n imageModalContentElement.innerHTML = '' \r\n })\r\n }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n handleImageModalEvents()\r\n})\r\n","function initializePageScroll() {\r\n const scrollTarget = document.querySelector('body')\r\n const scrollDistance = 100\r\n const scrollClass = 'page-scroll'\r\n const initialClass = 'page-initial'\r\n\r\n document.addEventListener('scroll', (event) => {\r\n updatePageScroll()\r\n })\r\n scrollTarget.classList.remove(initialClass)\r\n updatePageScroll()\r\n\r\n function updatePageScroll() {\r\n if (window.scrollY >= scrollDistance) {\r\n scrollTarget.classList.add(scrollClass)\r\n } else {\r\n scrollTarget.classList.remove(scrollClass)\r\n }\r\n }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n initializePageScroll()\r\n})","import Swiper from 'swiper'\r\nimport { Navigation, Pagination, Scrollbar, EffectFade, EffectCreative, Autoplay } from 'swiper/modules'\r\nSwiper.use([Navigation, Pagination, Scrollbar, EffectFade, EffectCreative, Autoplay])\r\n \r\n// Set default Swiper options\r\nconst defaultSwiperOptions = {\r\n direction: 'horizontal',\r\n slidesPerView: 1,\r\n spaceBetween: 20,\r\n speed: 500,\r\n loop: false,\r\n centeredSlidesBound: true,\r\n centerInsufficientSlides: true,\r\n watchOverflow: true,\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n slideVisibleClass: 'swiper-slide-visible',\r\n a11y: {\r\n prevSlideMessage: 'Previous slide',\r\n nextSlideMessage: 'Next slide',\r\n firstSlideMessage: 'First slide',\r\n lastSlideMessage: 'Last slide'\r\n },\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev'\r\n },\r\n pagination: {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n on: {\r\n init: function(swiper) {\r\n swiper.wf = {}\r\n wfInitializeNavbar(swiper)\r\n wfUpdateActiveNavbarButton(swiper)\r\n wfInitializeBackground(swiper)\r\n wfUpdateActiveBackgroundItem(swiper)\r\n wfInitializeContentSync(swiper)\r\n wfUpdateActiveContentSyncItem(swiper)\r\n wfInitializeNavButtons(swiper)\r\n },\r\n slideChange: function(swiper) {\r\n wfUpdateActiveNavbarButton(swiper)\r\n wfUpdateActiveBackgroundItem(swiper)\r\n wfUpdateActiveContentSyncItem(swiper)\r\n }\r\n }\r\n}\r\n\r\n// Register and initialize Swiper navbar\r\nfunction wfInitializeNavbar(swiperInstance) {\r\n const wfSwiperNavbars = swiperInstance.el.closest('.page-component')?.querySelectorAll('.swiper-navbar')\r\n if (wfSwiperNavbars?.length > 0) {\r\n swiperInstance.wf.SwiperNavbars = wfSwiperNavbars\r\n for (let i = 0; i < swiperInstance.wf.SwiperNavbars.length; i++) {\r\n let allNavbarButtons = swiperInstance.wf.SwiperNavbars[i].querySelectorAll('.swiper-navbar-button')\r\n allNavbarButtons.forEach((b, i) => {\r\n b.addEventListener('click', function() {\r\n swiperInstance.slideTo(i)\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n// If Swiper navbar exists, then mark the current slide's navbar button as active\r\nfunction wfUpdateActiveNavbarButton(swiperInstance) {\r\n if (swiperInstance.wf && swiperInstance.wf.SwiperNavbars) {\r\n for (let i = 0; i < swiperInstance.wf.SwiperNavbars.length; i++) {\r\n let allNavbarButtons = swiperInstance.wf.SwiperNavbars[i].querySelectorAll('.swiper-navbar-button')\r\n let currentNavbarButton = allNavbarButtons.item(swiperInstance.realIndex)\r\n allNavbarButtons.forEach(t => t.classList.remove('swiper-navbar-button-active'))\r\n if (currentNavbarButton) {\r\n currentNavbarButton.classList.add('swiper-navbar-button-active')\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Register and initialize Swiper background\r\nfunction wfInitializeBackground(swiperInstance) {\r\n const wfSwiperBackground = swiperInstance.el.closest('.page-component')?.querySelector('.swiper-background')\r\n if (wfSwiperBackground) {\r\n swiperInstance.wf.SwiperBackground = wfSwiperBackground\r\n }\r\n}\r\n\r\n// If Swiper background exists, then mark the current slide's background item as active\r\nfunction wfUpdateActiveBackgroundItem(swiperInstance) {\r\n if (swiperInstance.wf && swiperInstance.wf.SwiperBackground) {\r\n const allBackgroundItems = swiperInstance.wf.SwiperBackground.querySelectorAll('.swiper-background-item')\r\n const currentBackgroundItem = allBackgroundItems.item(swiperInstance.realIndex)\r\n allBackgroundItems.forEach(t => t.classList.remove('swiper-background-item-active'))\r\n if (currentBackgroundItem) {\r\n currentBackgroundItem.classList.add('swiper-background-item-active')\r\n }\r\n }\r\n}\r\n\r\n// Register and initialize Swiper content sync\r\nfunction wfInitializeContentSync(swiperInstance) {\r\n const wfSwiperContentSync = swiperInstance.el.closest('.page-component')?.querySelectorAll('.swiper-content-sync')\r\n if (wfSwiperContentSync) {\r\n swiperInstance.wf.wfSwiperContentSync = wfSwiperContentSync\r\n }\r\n}\r\n\r\n// If Swiper content sync exists, then mark the current slide's content sync items as active\r\nfunction wfUpdateActiveContentSyncItem(swiperInstance) {\r\n if (swiperInstance.wf && swiperInstance.wf.wfSwiperContentSync) {\r\n swiperInstance.wf.wfSwiperContentSync.forEach(sync => {\r\n const allSyncItems = sync.querySelectorAll('.swiper-content-sync-item')\r\n const currentSyncItem = allSyncItems.item(swiperInstance.realIndex)\r\n allSyncItems.forEach(t => t.classList.remove('active'))\r\n if (currentSyncItem) {\r\n currentSyncItem.classList.add('active')\r\n }\r\n })\r\n }\r\n}\r\n\r\n// Register and initialize nav buttons\r\nfunction wfInitializeNavButtons(swiperInstance) {\r\n const wfSwiperNavPrevButtons = swiperInstance.el.closest('.page-component')?.querySelectorAll('.swiper-nav-button-prev')\r\n const wfSwiperNavNextButtons = swiperInstance.el.closest('.page-component')?.querySelectorAll('.swiper-nav-button-next')\r\n\r\n wfSwiperNavPrevButtons?.forEach(button => {\r\n button.addEventListener('click', function(event) {\r\n swiperInstance.slidePrev()\r\n })\r\n })\r\n\r\n wfSwiperNavNextButtons?.forEach(button => {\r\n button.addEventListener('click', function(event) {\r\n swiperInstance.slideNext()\r\n })\r\n })\r\n}\r\n\r\n// Initializes a Swiper instance on the given element with the provided options\r\nfunction initializeSwiper(wrapperSelector, additionalOptions) {\r\n const wrapperElements = document.querySelectorAll(wrapperSelector)\r\n wrapperElements.forEach((wrapperElement) => {\r\n const swiperElement = wrapperElement.querySelector('.swiper')\r\n const swiperDataOptions = JSON.parse(swiperElement?.dataset.swiper ?? null)\r\n const options = {...defaultSwiperOptions, ...additionalOptions, ...swiperDataOptions }\r\n \r\n // Replace autoplay = true with default autoplay settings\r\n if (options.autoplay) {\r\n options.autoplay = {\r\n delay: 10000\r\n }\r\n }\r\n \r\n // Replace the specific pagination and navigation objects with child elements selected from this wrapper\r\n if (options.pagination) {\r\n options.pagination = {\r\n el: wrapperElement.querySelector(options.pagination.el),\r\n type: options.pagination.type,\r\n clickable: options.pagination.clickable\r\n }\r\n }\r\n if (options.navigation) {\r\n options.navigation = {\r\n prevEl: wrapperElement.querySelector(options.navigation.prevEl),\r\n nextEl: wrapperElement.querySelector(options.navigation.nextEl)\r\n }\r\n }\r\n\r\n const swiper = new Swiper(swiperElement, options)\r\n return swiper\r\n })\r\n}\r\n\r\n// Initialize Swiper instances\r\nexport function initializeSwiperInstances() {\r\n initializeSwiper(\r\n '.carousel',\r\n {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n loop: true,\r\n effect: 'fade',\r\n fadeEffect: {\r\n crossFade: true\r\n }\r\n }\r\n )\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n initializeSwiperInstances()\r\n})","import 'bootstrap'\r\n\r\nfunction handleVideoModalEvents() {\r\n const videoModalElement = document.getElementById('videoModal')\r\n const videoModalContentElement = document.getElementById('videoModalContent')\r\n\r\n if (videoModalElement && videoModalContentElement) {\r\n videoModalElement.addEventListener('show.bs.modal', event => {\r\n const relatedTarget = event.relatedTarget\r\n switch (relatedTarget.dataset.videoHost) {\r\n case 'youtube':\r\n if (relatedTarget.dataset.videoPlaylist === \"true\") {\r\n videoModalContentElement.innerHTML = ``\r\n } else {\r\n videoModalContentElement.innerHTML = ``\r\n }\r\n break\r\n default:\r\n console.warn(`Video host '${relatedTarget.dataset.videoHost}' not supported.`)\r\n break\r\n }\r\n })\r\n\r\n videoModalElement.addEventListener('hidden.bs.modal', event => {\r\n videoModalContentElement.innerHTML = '' \r\n })\r\n }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', (event) => {\r\n handleVideoModalEvents()\r\n})","import $ from 'jquery';\r\n\r\n// When the utility navigation search toggle is clicked,\r\n// hide the toggle element and display the utility navigation search form\r\n\r\nconst $utilityNavigationSearchToggle = $('#utility-navigation-search-toggle');\r\nconst $utilityNavigationSearchForm = $('#utility-navigation-search-form');\r\n\r\n$utilityNavigationSearchToggle.click(function() {\r\n $utilityNavigationSearchToggle.hide();\r\n\r\n $utilityNavigationSearchForm.css({\r\n 'display': 'flex'\r\n });\r\n\r\n $utilityNavigationSearchForm.find('input').focus();\r\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwakefly_frontend\"] = self[\"webpackChunkwakefly_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(77)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","_hoisted_1","class","id","tabindex","role","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","key","_hoisted_8","props","domainWhitelist","type","Array","required","data","anchor","modal","messageType","computed","watch","created","mounted","this","document","getElementById","registerClickHandler","methods","window","addEventListener","e","target","nodeName","closest","hasAttribute","domain","URL","href","hostname","location","includes","interceptAnchor","event","preventDefault","stopPropagation","stopImmediatePropagation","show","continueClick","hide","cancelClick","components","options","LeavingSiteNotice","_ctx","_cache","$props","$setup","$data","$options","_","$slots","onClick","args","from","querySelectorAll","forEach","element","app","mount","submitAccordionSearch","regExpTerm","RegExp","querySelector","value","accordionId","dataset","accordionTarget","accordion","mark","unmark","markRegExp","className","collapses","c","bsCollapse","toggle","parentElement","textContent","match","noResultsElement","classList","add","firstHighlight","scrollIntoView","remove","f","currentDate","Date","alert","alertDismissDays","parseInt","alertDismissDurationDays","alertId","alertDismissButton","sessionStorage","setItem","dismissUntilDate","setDate","getDate","localStorage","dismissible","alertDismissible","sessionStorageDismissValue","getItem","localStorageDismissUntilDate","easing","duration","once","useClassNames","initClassName","animatedClassName","factory","showCaptionText","captionText","style","maxHeight","clientHeight","hideCaptionText","$","undefined","UTCDate","UTC","apply","arguments","UTCToday","today","getFullYear","getMonth","isUTCEquals","date1","date2","getUTCFullYear","getUTCMonth","getUTCDate","alias","method","deprecationMsg","fn","datepicker","deprecated","extras","DateArray","get","i","slice","contains","d","val","valueOf","l","length","splice","replace","new_array","isArray","clear","push","copy","a","extend","Datepicker","_events","_secondaryEvents","_process_options","dates","viewDate","o","defaultViewDate","focusDate","isInput","is","inputField","find","component","hasClass","isInline","picker","DPGlobal","template","_check_template","templates","leftArrow","html","rightArrow","_buildEvents","_attachEvents","addClass","appendTo","rtl","calendarWeeks","attr","Number","startDate","_o","endDate","daysOfWeekDisabled","daysOfWeekHighlighted","datesDisabled","_allow_update","setViewMode","startView","fillDow","fillMonths","update","prototype","constructor","_resolveViewName","view","each","viewModes","viewMode","inArray","names","_resolveDaysOfWeek","daysOfWeek","split","map","tmp","ex","opts","lang","language","defaults","minViewMode","maxViewMode","Math","max","min","multidate","multidateSeparator","String","weekStart","weekEnd","format","parseFormat","_local_to_utc","_zero_time","parseDate","assumeNearbyYear","Infinity","plc","orientation","toLowerCase","_plc","grep","word","test","x","y","year","month","day","_applyEvents","evs","el","ch","ev","on","_unapplyEvents","off","events","keyup","proxy","keyCode","keydown","paste","showOnFocus","focus","click","blur","_focused_from","immediateUpdates","date","navArrowsClick","dayCellClick","resize","place","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","altdate","local_date","_utc_to_local","trigger","ix","formatDate","prop","enableOnReadonly","container","navigator","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","setValue","destroy","dateString","originalEvent","clipboardData","types","getData","utc","local","getTime","getTimezoneOffset","_zero_utc_time","getDates","getUTCDates","selected_date","clearDates","autoclose","setDates","setUTCDates","setUTCDate","formatted","getFormattedDate","join","getStartDate","setStartDate","updateNavArrows","getEndDate","setEndDate","setDaysOfWeekDisabled","setDaysOfWeekHighlighted","setDatesDisabled","calendarWidth","outerWidth","calendarHeight","outerHeight","windowWidth","width","scrollTop","appendOffset","offset","parentsZindex","parents","itemZIndex","css","zIndex","zIndexOffset","parent","height","left","top","removeClass","yorient","right","oldDates","fromArgs","dateWithinRange","updateViewDate","change","fill","showWeekDays","dowCnt","daysMin","append","localDate","monthsShort","setRange","range","getClassNames","cls","todayHighlight","dateIsDisabled","getUTCDay","_fill_yearsView","selector","cssClass","factor","startYear","endYear","beforeFn","classes","tooltip","before","step","startVal","floor","endVal","focusedVal","selected","currVal","noop","enabled","concat","text","startMonth","endMonth","todaytxt","cleartxt","titleFormat","todayDate","titleBtnVisible","todayBtn","weekOfDateIsDisabled","isNaN","clearBtn","title","prevMonth","nextMonth","setUTCFullYear","weekDay","clsName","ws","th","yth","calWeek","content","beforeShowDay","isFunction","uniqueSort","unique","toString","monthsTitle","months","end","eq","beforeShowMonth","that","moDate","beforeShowYear","beforeShowDecade","beforeShowCentury","prevIsDisabled","nextIsDisabled","toggleClass","_setDate","index","setUTCMonth","timestamp","currentTarget","dir","navStep","moveMonth","_toggle_multidate","toggleActive","which","moveDay","newDate","moveWeek","new_month","new_date","mag","abs","moveYear","moveAvailableDate","newViewDate","dateChanged","keyboardNavigation","ctrlKey","shiftKey","children","filter","DateRangePicker","inputs","jquery","keepEmptyValues","datepickerPlugin","call","dateUpdated","pickers","updateDates","opts_from_el","prefix","out","re_lower","opts_from_locale","locale_opts","k","updateRanges","p","updating","dp","keep_empty_values","j","old","option","internal_return","shift","$this","elopts","locopts","toArray","Error","Constructor","en","days","daysShort","validParts","nonpunctuation","toValue","toDisplay","separators","parts","assumeNearby","part","fn_map","m","w","dateAliases","yesterday","tomorrow","filtered","parsed","setters_order","setters_map","yyyy","v","threshold","fparts","match_part","cnt","_date","s","D","DD","M","MM","yy","substring","dd","mm","seps","headTemplate","contTemplate","footTemplate","noConflict","version","msg","console","warn","define","exports","ready","urlParams","URLSearchParams","search","monthYearArray","url","elem","collapseElement","getAttribute","evt","offcanvasOffsetElement","offcanvasButton","offcanvas","topOffset","getBoundingClientRect","bottom","header","mainNavigationDropdownLinks","dropdowns","mainNavigationDropdownLink","dropdown","dropdownLink","handleMainNavigationEvents","headerCollapses","headerDropdowns","headerCollapse","headerDropdown","mainNavigationWrappers","mainNavigationCollapses","some","wrapper","mainNavigationCollapse","headerOffcanvas","handleKeyboardAndMouseEvents","image","imageCaptionText","imageModalElement","imageModalContentElement","relatedTarget","innerHTML","scrollTarget","scrollClass","updatePageScroll","scrollY","initializePageScroll","defaultSwiperOptions","direction","slidesPerView","spaceBetween","speed","loop","centeredSlidesBound","centerInsufficientSlides","watchOverflow","watchSlidesProgress","watchSlidesVisibility","slideVisibleClass","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","navigation","nextEl","prevEl","pagination","clickable","init","swiper","swiperInstance","wfSwiperBackground","wf","wfSwiperNavbars","SwiperNavbars","b","slideTo","wfInitializeNavbar","wfUpdateActiveNavbarButton","SwiperBackground","wfUpdateActiveBackgroundItem","wfSwiperContentSync","wfInitializeContentSync","wfUpdateActiveContentSyncItem","wfSwiperNavPrevButtons","wfSwiperNavNextButtons","button","slidePrev","slideNext","wfInitializeNavButtons","slideChange","allNavbarButtons","currentNavbarButton","item","realIndex","t","allBackgroundItems","currentBackgroundItem","sync","allSyncItems","currentSyncItem","additionalOptions","effect","fadeEffect","crossFade","wrapperElement","swiperElement","swiperDataOptions","JSON","parse","autoplay","delay","videoModalElement","videoModalContentElement","videoHost","videoPlaylist","videoId","$utilityNavigationSearchToggle","$utilityNavigationSearchForm","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","amdO","O","result","chunkIds","priority","notFulfilled","fulfilled","Object","keys","every","r","n","getter","__esModule","definition","defineProperty","enumerable","g","globalThis","Function","obj","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}