{"version":3,"sources":["webpack:///./node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js"],"names":["$","undefined","UTCDate","Date","UTC","apply","arguments","UTCToday","today","getFullYear","getMonth","getDate","isUTCEquals","date1","date2","getUTCFullYear","getUTCMonth","getUTCDate","alias","method","deprecationMsg","fn","datepicker","deprecated","this","isValidDate","d","isNaN","getTime","extras","DateArray","get","i","slice","contains","val","valueOf","l","length","remove","splice","replace","new_array","isArray","clear","push","copy","a","extend","Datepicker","element","options","data","_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","show","prototype","constructor","_resolveViewName","view","each","viewModes","viewMode","inArray","names","_resolveDaysOfWeek","daysOfWeek","split","map","tmp","match","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","_events","_secondaryEvents","_applyEvents","evs","el","ch","ev","on","_unapplyEvents","off","events","keyup","proxy","e","keyCode","keydown","paste","showOnFocus","focus","click","blur","_focused_from","target","immediateUpdates","date","navArrowsClick","dayCellClick","window","resize","place","document","hide","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","event","altdate","local_date","_utc_to_local","trigger","type","ix","formatDate","prop","enableOnReadonly","container","navigator","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","setValue","destroy","dateString","originalEvent","clipboardData","types","getData","setDate","preventDefault","utc","local","getTimezoneOffset","_zero_utc_time","getDates","getUTCDates","selected_date","clearDates","autoclose","setDates","args","setUTCDates","setUTCDate","formatted","getFormattedDate","join","getStartDate","setStartDate","updateNavArrows","getEndDate","setEndDate","setDaysOfWeekDisabled","setDaysOfWeekHighlighted","setDatesDisabled","calendarWidth","outerWidth","calendarHeight","outerHeight","visualPadding","windowWidth","width","scrollTop","appendOffset","offset","parentsZindex","parents","itemZIndex","css","zIndex","zIndexOffset","parent","height","left","top","removeClass","yorient","parseInt","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","todayBtn","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","stopPropagation","_setDate","index","setUTCMonth","timestamp","currentTarget","dir","navStep","moveMonth","_toggle_multidate","toggleActive","which","moveDay","newDate","moveWeek","new_month","new_date","mag","abs","moveYear","moveAvailableDate","weekOfDateIsDisabled","newViewDate","dateChanged","keyboardNavigation","ctrlKey","shiftKey","children","filter","DateRangePicker","inputs","jquery","keepEmptyValues","datepickerPlugin","call","dateUpdated","pickers","updateDates","opts_from_el","prefix","out","RegExp","re_lower","_","key","opts_from_locale","locale_opts","k","updateRanges","p","updating","dp","keep_empty_values","j","old","option","internal_return","Array","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","applyNearbyYear","threshold","filtered","parsed","setters_order","setters_map","yyyy","v","fparts","match_part","cnt","_date","s","D","DD","M","MM","yy","substring","dd","mm","seps","headTemplate","contTemplate","footTemplate","noConflict","version","msg","console","warn"],"mappings":"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","file":"13.bundle.min.js?2.22.17.58a9f31f.1678743775824","sourcesContent":["/*!\n * Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)\n *\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n\n(function(factory){\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n factory(require('jquery'));\n } else {\n factory(jQuery);\n }\n}(function($, undefined){\n\tfunction UTCDate(){\n\t\treturn new Date(Date.UTC.apply(Date, arguments));\n\t}\n\tfunction UTCToday(){\n\t\tvar today = new Date();\n\t\treturn UTCDate(today.getFullYear(), today.getMonth(), today.getDate());\n\t}\n\tfunction isUTCEquals(date1, date2) {\n\t\treturn (\n\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\n\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\n\t\t\tdate1.getUTCDate() === date2.getUTCDate()\n\t\t);\n\t}\n\tfunction alias(method, deprecationMsg){\n\t\treturn function(){\n\t\t\tif (deprecationMsg !== undefined) {\n\t\t\t\t$.fn.datepicker.deprecated(deprecationMsg);\n\t\t\t}\n\n\t\t\treturn this[method].apply(this, arguments);\n\t\t};\n\t}\n\tfunction isValidDate(d) {\n\t\treturn d && !isNaN(d.getTime());\n\t}\n\n\tvar DateArray = (function(){\n\t\tvar extras = {\n\t\t\tget: function(i){\n\t\t\t\treturn this.slice(i)[0];\n\t\t\t},\n\t\t\tcontains: function(d){\n\t\t\t\t// Array.indexOf is not cross-browser;\n\t\t\t\t// $.inArray doesn't work with Dates\n\t\t\t\tvar val = d && d.valueOf();\n\t\t\t\tfor (var i=0, l=this.length; i < l; i++)\n // Use date arithmetic to allow dates with different times to match\n if (0 <= this[i].valueOf() - val && this[i].valueOf() - val < 1000*60*60*24)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\t\t\tremove: function(i){\n\t\t\t\tthis.splice(i,1);\n\t\t\t},\n\t\t\treplace: function(new_array){\n\t\t\t\tif (!new_array)\n\t\t\t\t\treturn;\n\t\t\t\tif (!$.isArray(new_array))\n\t\t\t\t\tnew_array = [new_array];\n\t\t\t\tthis.clear();\n\t\t\t\tthis.push.apply(this, new_array);\n\t\t\t},\n\t\t\tclear: function(){\n\t\t\t\tthis.length = 0;\n\t\t\t},\n\t\t\tcopy: function(){\n\t\t\t\tvar a = new DateArray();\n\t\t\t\ta.replace(this);\n\t\t\t\treturn a;\n\t\t\t}\n\t\t};\n\n\t\treturn function(){\n\t\t\tvar a = [];\n\t\t\ta.push.apply(a, arguments);\n\t\t\t$.extend(a, extras);\n\t\t\treturn a;\n\t\t};\n\t})();\n\n\n\t// Picker object\n\n\tvar Datepicker = function(element, options){\n\t\t$.data(element, 'datepicker', this);\n\t\tthis._process_options(options);\n\n\t\tthis.dates = new DateArray();\n\t\tthis.viewDate = this.o.defaultViewDate;\n\t\tthis.focusDate = null;\n\n\t\tthis.element = $(element);\n\t\tthis.isInput = this.element.is('input');\n\t\tthis.inputField = this.isInput ? this.element : this.element.find('input');\n\t\tthis.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;\n\t\tif (this.component && this.component.length === 0)\n\t\t\tthis.component = false;\n\t\tthis.isInline = !this.component && this.element.is('div');\n\n\t\tthis.picker = $(DPGlobal.template);\n\n\t\t// Checking templates and inserting\n\t\tif (this._check_template(this.o.templates.leftArrow)) {\n\t\t\tthis.picker.find('.prev').html(this.o.templates.leftArrow);\n\t\t}\n\n\t\tif (this._check_template(this.o.templates.rightArrow)) {\n\t\t\tthis.picker.find('.next').html(this.o.templates.rightArrow);\n\t\t}\n\n\t\tthis._buildEvents();\n\t\tthis._attachEvents();\n\n\t\tif (this.isInline){\n\t\t\tthis.picker.addClass('datepicker-inline').appendTo(this.element);\n\t\t}\n\t\telse {\n\t\t\tthis.picker.addClass('datepicker-dropdown dropdown-menu');\n\t\t}\n\n\t\tif (this.o.rtl){\n\t\t\tthis.picker.addClass('datepicker-rtl');\n\t\t}\n\n\t\tif (this.o.calendarWeeks) {\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear')\n\t\t\t\t.attr('colspan', function(i, val){\n\t\t\t\t\treturn Number(val) + 1;\n\t\t\t\t});\n\t\t}\n\n\t\tthis._process_options({\n\t\t\tstartDate: this._o.startDate,\n\t\t\tendDate: this._o.endDate,\n\t\t\tdaysOfWeekDisabled: this.o.daysOfWeekDisabled,\n\t\t\tdaysOfWeekHighlighted: this.o.daysOfWeekHighlighted,\n\t\t\tdatesDisabled: this.o.datesDisabled\n\t\t});\n\n\t\tthis._allow_update = false;\n\t\tthis.setViewMode(this.o.startView);\n\t\tthis._allow_update = true;\n\n\t\tthis.fillDow();\n\t\tthis.fillMonths();\n\n\t\tthis.update();\n\n\t\tif (this.isInline){\n\t\t\tthis.show();\n\t\t}\n\t};\n\n\tDatepicker.prototype = {\n\t\tconstructor: Datepicker,\n\n\t\t_resolveViewName: function(view){\n\t\t\t$.each(DPGlobal.viewModes, function(i, viewMode){\n\t\t\t\tif (view === i || $.inArray(view, viewMode.names) !== -1){\n\t\t\t\t\tview = i;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn view;\n\t\t},\n\n\t\t_resolveDaysOfWeek: function(daysOfWeek){\n\t\t\tif (!$.isArray(daysOfWeek))\n\t\t\t\tdaysOfWeek = daysOfWeek.split(/[,\\s]*/);\n\t\t\treturn $.map(daysOfWeek, Number);\n\t\t},\n\n\t\t_check_template: function(tmp){\n\t\t\ttry {\n\t\t\t\t// If empty\n\t\t\t\tif (tmp === undefined || tmp === \"\") {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// If no html, everything ok\n\t\t\t\tif ((tmp.match(/[<>]/g) || []).length <= 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// Checking if html is fine\n\t\t\t\tvar jDom = $(tmp);\n\t\t\t\treturn jDom.length > 0;\n\t\t\t}\n\t\t\tcatch (ex) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t_process_options: function(opts){\n\t\t\t// Store raw options for reference\n\t\t\tthis._o = $.extend({}, this._o, opts);\n\t\t\t// Processed options\n\t\t\tvar o = this.o = $.extend({}, this._o);\n\n\t\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t\t// fallback to 2 letter code eg \"de\"\n\t\t\tvar lang = o.language;\n\t\t\tif (!dates[lang]){\n\t\t\t\tlang = lang.split('-')[0];\n\t\t\t\tif (!dates[lang])\n\t\t\t\t\tlang = defaults.language;\n\t\t\t}\n\t\t\to.language = lang;\n\n\t\t\t// Retrieve view index from any aliases\n\t\t\to.startView = this._resolveViewName(o.startView);\n\t\t\to.minViewMode = this._resolveViewName(o.minViewMode);\n\t\t\to.maxViewMode = this._resolveViewName(o.maxViewMode);\n\n\t\t\t// Check view is between min and max\n\t\t\to.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, o.startView));\n\n\t\t\t// true, false, or Number > 0\n\t\t\tif (o.multidate !== true){\n\t\t\t\to.multidate = Number(o.multidate) || false;\n\t\t\t\tif (o.multidate !== false)\n\t\t\t\t\to.multidate = Math.max(0, o.multidate);\n\t\t\t}\n\t\t\to.multidateSeparator = String(o.multidateSeparator);\n\n\t\t\to.weekStart %= 7;\n\t\t\to.weekEnd = (o.weekStart + 6) % 7;\n\n\t\t\tvar format = DPGlobal.parseFormat(o.format);\n\t\t\tif (o.startDate !== -Infinity){\n\t\t\t\tif (!!o.startDate){\n\t\t\t\t\tif (o.startDate instanceof Date)\n\t\t\t\t\t\to.startDate = this._local_to_utc(this._zero_time(o.startDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.startDate = -Infinity;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (o.endDate !== Infinity){\n\t\t\t\tif (!!o.endDate){\n\t\t\t\t\tif (o.endDate instanceof Date)\n\t\t\t\t\t\to.endDate = this._local_to_utc(this._zero_time(o.endDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.endDate = Infinity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\to.daysOfWeekDisabled = this._resolveDaysOfWeek(o.daysOfWeekDisabled||[]);\n\t\t\to.daysOfWeekHighlighted = this._resolveDaysOfWeek(o.daysOfWeekHighlighted||[]);\n\n\t\t\to.datesDisabled = o.datesDisabled||[];\n\t\t\tif (!$.isArray(o.datesDisabled)) {\n\t\t\t\to.datesDisabled = o.datesDisabled.split(',');\n\t\t\t}\n\t\t\to.datesDisabled = $.map(o.datesDisabled, function(d){\n\t\t\t\treturn DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);\n\t\t\t});\n\n\t\t\tvar plc = String(o.orientation).toLowerCase().split(/\\s+/g),\n\t\t\t\t_plc = o.orientation.toLowerCase();\n\t\t\tplc = $.grep(plc, function(word){\n\t\t\t\treturn /^auto|left|right|top|bottom$/.test(word);\n\t\t\t});\n\t\t\to.orientation = {x: 'auto', y: 'auto'};\n\t\t\tif (!_plc || _plc === 'auto')\n\t\t\t\t; // no action\n\t\t\telse if (plc.length === 1){\n\t\t\t\tswitch (plc[0]){\n\t\t\t\t\tcase 'top':\n\t\t\t\t\tcase 'bottom':\n\t\t\t\t\t\to.orientation.y = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'left':\n\t\t\t\t\tcase 'right':\n\t\t\t\t\t\to.orientation.x = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^left|right$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.x = _plc[0] || 'auto';\n\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^top|bottom$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.y = _plc[0] || 'auto';\n\t\t\t}\n\t\t\tif (o.defaultViewDate instanceof Date || typeof o.defaultViewDate === 'string') {\n\t\t\t\to.defaultViewDate = DPGlobal.parseDate(o.defaultViewDate, format, o.language, o.assumeNearbyYear);\n\t\t\t} else if (o.defaultViewDate) {\n\t\t\t\tvar year = o.defaultViewDate.year || new Date().getFullYear();\n\t\t\t\tvar month = o.defaultViewDate.month || 0;\n\t\t\t\tvar day = o.defaultViewDate.day || 1;\n\t\t\t\to.defaultViewDate = UTCDate(year, month, day);\n\t\t\t} else {\n\t\t\t\to.defaultViewDate = UTCToday();\n\t\t\t}\n\t\t},\n\t\t_events: [],\n\t\t_secondaryEvents: [],\n\t\t_applyEvents: function(evs){\n\t\t\tfor (var i=0, el, ch, ev; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t} else if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.on(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_unapplyEvents: function(evs){\n\t\t\tfor (var i=0, el, ev, ch; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t} else if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.off(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_buildEvents: function(){\n var events = {\n keyup: $.proxy(function(e){\n if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)\n this.update();\n }, this),\n keydown: $.proxy(this.keydown, this),\n paste: $.proxy(this.paste, this)\n };\n\n if (this.o.showOnFocus === true) {\n events.focus = $.proxy(this.show, this);\n }\n\n if (this.isInput) { // single input\n this._events = [\n [this.element, events]\n ];\n }\n // component: input + button\n else if (this.component && this.inputField.length) {\n this._events = [\n // For components that are not readonly, allow keyboard nav\n [this.inputField, events],\n [this.component, {\n click: $.proxy(this.show, this)\n }]\n ];\n }\n\t\t\telse {\n\t\t\t\tthis._events = [\n\t\t\t\t\t[this.element, {\n\t\t\t\t\t\tclick: $.proxy(this.show, this),\n\t\t\t\t\t\tkeydown: $.proxy(this.keydown, this)\n\t\t\t\t\t}]\n\t\t\t\t];\n\t\t\t}\n\t\t\tthis._events.push(\n\t\t\t\t// Component: listen for blur on element descendants\n\t\t\t\t[this.element, '*', {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}],\n\t\t\t\t// Input: listen for blur on element\n\t\t\t\t[this.element, {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t);\n\n\t\t\tif (this.o.immediateUpdates) {\n\t\t\t\t// Trigger input updates immediately on changed year/month\n\t\t\t\tthis._events.push([this.element, {\n\t\t\t\t\t'changeYear changeMonth': $.proxy(function(e){\n\t\t\t\t\t\tthis.update(e.date);\n\t\t\t\t\t}, this)\n\t\t\t\t}]);\n\t\t\t}\n\n\t\t\tthis._secondaryEvents = [\n\t\t\t\t[this.picker, {\n\t\t\t\t\tclick: $.proxy(this.click, this)\n\t\t\t\t}],\n\t\t\t\t[this.picker, '.prev, .next', {\n\t\t\t\t\tclick: $.proxy(this.navArrowsClick, this)\n\t\t\t\t}],\n\t\t\t\t[this.picker, '.day:not(.disabled)', {\n\t\t\t\t\tclick: $.proxy(this.dayCellClick, this)\n\t\t\t\t}],\n\t\t\t\t[$(window), {\n\t\t\t\t\tresize: $.proxy(this.place, this)\n\t\t\t\t}],\n\t\t\t\t[$(document), {\n\t\t\t\t\t'mousedown touchstart': $.proxy(function(e){\n\t\t\t\t\t\t// Clicked outside the datepicker, hide it\n\t\t\t\t\t\tif (!(\n\t\t\t\t\t\t\tthis.element.is(e.target) ||\n\t\t\t\t\t\t\tthis.element.find(e.target).length ||\n\t\t\t\t\t\t\tthis.picker.is(e.target) ||\n\t\t\t\t\t\t\tthis.picker.find(e.target).length ||\n\t\t\t\t\t\t\tthis.isInline\n\t\t\t\t\t\t)){\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t];\n\t\t},\n\t\t_attachEvents: function(){\n\t\t\tthis._detachEvents();\n\t\t\tthis._applyEvents(this._events);\n\t\t},\n\t\t_detachEvents: function(){\n\t\t\tthis._unapplyEvents(this._events);\n\t\t},\n\t\t_attachSecondaryEvents: function(){\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis._applyEvents(this._secondaryEvents);\n\t\t},\n\t\t_detachSecondaryEvents: function(){\n\t\t\tthis._unapplyEvents(this._secondaryEvents);\n\t\t},\n\t\t_trigger: function(event, altdate){\n\t\t\tvar date = altdate || this.dates.get(-1),\n\t\t\t\tlocal_date = this._utc_to_local(date);\n\n\t\t\tthis.element.trigger({\n\t\t\t\ttype: event,\n\t\t\t\tdate: local_date,\n\t\t\t\tviewMode: this.viewMode,\n\t\t\t\tdates: $.map(this.dates, this._utc_to_local),\n\t\t\t\tformat: $.proxy(function(ix, format){\n\t\t\t\t\tif (arguments.length === 0){\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t\tformat = this.o.format;\n\t\t\t\t\t} else if (typeof ix === 'string'){\n\t\t\t\t\t\tformat = ix;\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tformat = format || this.o.format;\n\t\t\t\t\tvar date = this.dates.get(ix);\n\t\t\t\t\treturn DPGlobal.formatDate(date, format, this.o.language);\n\t\t\t\t}, this)\n\t\t\t});\n\t\t},\n\n\t\tshow: function(){\n\t\t\tif (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))\n\t\t\t\treturn;\n\t\t\tif (!this.isInline)\n\t\t\t\tthis.picker.appendTo(this.o.container);\n\t\t\tthis.place();\n\t\t\tthis.picker.show();\n\t\t\tthis._attachSecondaryEvents();\n\t\t\tthis._trigger('show');\n\t\t\tif ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {\n\t\t\t\t$(this.element).blur();\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\thide: function(){\n\t\t\tif (this.isInline || !this.picker.is(':visible'))\n\t\t\t\treturn this;\n\t\t\tthis.focusDate = null;\n\t\t\tthis.picker.hide().detach();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.setViewMode(this.o.startView);\n\n\t\t\tif (this.o.forceParse && this.inputField.val())\n\t\t\t\tthis.setValue();\n\t\t\tthis._trigger('hide');\n\t\t\treturn this;\n\t\t},\n\n\t\tdestroy: function(){\n\t\t\tthis.hide();\n\t\t\tthis._detachEvents();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.picker.remove();\n\t\t\tdelete this.element.data().datepicker;\n\t\t\tif (!this.isInput){\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\tpaste: function(e){\n\t\t\tvar dateString;\n\t\t\tif (e.originalEvent.clipboardData && e.originalEvent.clipboardData.types\n\t\t\t\t&& $.inArray('text/plain', e.originalEvent.clipboardData.types) !== -1) {\n\t\t\t\tdateString = e.originalEvent.clipboardData.getData('text/plain');\n\t\t\t} else if (window.clipboardData) {\n\t\t\t\tdateString = window.clipboardData.getData('Text');\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setDate(dateString);\n\t\t\tthis.update();\n\t\t\te.preventDefault();\n\t\t},\n\n\t\t_utc_to_local: function(utc){\n\t\t\tif (!utc) {\n\t\t\t\treturn utc;\n\t\t\t}\n\n\t\t\tvar local = new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000));\n\n\t\t\tif (local.getTimezoneOffset() !== utc.getTimezoneOffset()) {\n\t\t\t\tlocal = new Date(utc.getTime() + (local.getTimezoneOffset() * 60000));\n\t\t\t}\n\n\t\t\treturn local;\n\t\t},\n\t\t_local_to_utc: function(local){\n\t\t\treturn local && new Date(local.getTime() - (local.getTimezoneOffset()*60000));\n\t\t},\n\t\t_zero_time: function(local){\n\t\t\treturn local && new Date(local.getFullYear(), local.getMonth(), local.getDate());\n\t\t},\n\t\t_zero_utc_time: function(utc){\n\t\t\treturn utc && UTCDate(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate());\n\t\t},\n\n\t\tgetDates: function(){\n\t\t\treturn $.map(this.dates, this._utc_to_local);\n\t\t},\n\n\t\tgetUTCDates: function(){\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn new Date(d);\n\t\t\t});\n\t\t},\n\n\t\tgetDate: function(){\n\t\t\treturn this._utc_to_local(this.getUTCDate());\n\t\t},\n\n\t\tgetUTCDate: function(){\n\t\t\tvar selected_date = this.dates.get(-1);\n\t\t\tif (selected_date !== undefined) {\n\t\t\t\treturn new Date(selected_date);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\n\t\tclearDates: function(){\n\t\t\tthis.inputField.val('');\n\t\t\tthis.update();\n\t\t\tthis._trigger('changeDate');\n\n\t\t\tif (this.o.autoclose) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\n\t\tsetDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.update.apply(this, args);\n\t\t\tthis._trigger('changeDate');\n\t\t\tthis.setValue();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetUTCDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.setDates.apply(this, $.map(args, this._utc_to_local));\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDate: alias('setDates'),\n\t\tsetUTCDate: alias('setUTCDates'),\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead'),\n\n\t\tsetValue: function(){\n\t\t\tvar formatted = this.getFormattedDate();\n\t\t\tthis.inputField.val(formatted);\n\t\t\treturn this;\n\t\t},\n\n\t\tgetFormattedDate: function(format){\n\t\t\tif (format === undefined)\n\t\t\t\tformat = this.o.format;\n\n\t\t\tvar lang = this.o.language;\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn DPGlobal.formatDate(d, format, lang);\n\t\t\t}).join(this.o.multidateSeparator);\n\t\t},\n\n\t\tgetStartDate: function(){\n\t\t\treturn this.o.startDate;\n\t\t},\n\n\t\tsetStartDate: function(startDate){\n\t\t\tthis._process_options({startDate: startDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tgetEndDate: function(){\n\t\t\treturn this.o.endDate;\n\t\t},\n\n\t\tsetEndDate: function(endDate){\n\t\t\tthis._process_options({endDate: endDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekDisabled: function(daysOfWeekDisabled){\n\t\t\tthis._process_options({daysOfWeekDisabled: daysOfWeekDisabled});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekHighlighted: function(daysOfWeekHighlighted){\n\t\t\tthis._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDatesDisabled: function(datesDisabled){\n\t\t\tthis._process_options({datesDisabled: datesDisabled});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tplace: function(){\n\t\t\tif (this.isInline)\n\t\t\t\treturn this;\n\t\t\tvar calendarWidth = this.picker.outerWidth(),\n\t\t\t\tcalendarHeight = this.picker.outerHeight(),\n\t\t\t\tvisualPadding = 10,\n\t\t\t\tcontainer = $(this.o.container),\n\t\t\t\twindowWidth = container.width(),\n\t\t\t\tscrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),\n\t\t\t\tappendOffset = container.offset();\n\n\t\t\tvar parentsZindex = [0];\n\t\t\tthis.element.parents().each(function(){\n\t\t\t\tvar itemZIndex = $(this).css('z-index');\n\t\t\t\tif (itemZIndex !== 'auto' && Number(itemZIndex) !== 0) parentsZindex.push(Number(itemZIndex));\n\t\t\t});\n\t\t\tvar zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;\n\t\t\tvar offset = this.component ? this.component.parent().offset() : this.element.offset();\n\t\t\tvar height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);\n\t\t\tvar width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);\n\t\t\tvar left = offset.left - appendOffset.left;\n\t\t\tvar top = offset.top - appendOffset.top;\n\n\t\t\tif (this.o.container !== 'body') {\n\t\t\t\ttop += scrollTop;\n\t\t\t}\n\n\t\t\tthis.picker.removeClass(\n\t\t\t\t'datepicker-orient-top datepicker-orient-bottom '+\n\t\t\t\t'datepicker-orient-right datepicker-orient-left'\n\t\t\t);\n\n\t\t\tif (this.o.orientation.x !== 'auto'){\n\t\t\t\tthis.picker.addClass('datepicker-orient-' + this.o.orientation.x);\n\t\t\t\tif (this.o.orientation.x === 'right')\n\t\t\t\t\tleft -= calendarWidth - width;\n\t\t\t}\n\t\t\t// auto x orientation is best-placement: if it crosses a window\n\t\t\t// edge, fudge it sideways\n\t\t\telse {\n\t\t\t\tif (offset.left < 0) {\n\t\t\t\t\t// component is outside the window on the left side. Move it into visible range\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t\tleft -= offset.left - visualPadding;\n\t\t\t\t} else if (left + calendarWidth > windowWidth) {\n\t\t\t\t\t// the calendar passes the widow right edge. Align it to component right side\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\n\t\t\t\t\tleft += width - calendarWidth;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.o.rtl) {\n\t\t\t\t\t\t// Default to right\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Default to left\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// auto y orientation is best-situation: top or bottom, no fudging,\n\t\t\t// decision based on which shows more of the calendar\n\t\t\tvar yorient = this.o.orientation.y,\n\t\t\t\ttop_overflow;\n\t\t\tif (yorient === 'auto'){\n\t\t\t\ttop_overflow = -scrollTop + top - calendarHeight;\n\t\t\t\tyorient = top_overflow < 0 ? 'bottom' : 'top';\n\t\t\t}\n\n\t\t\tthis.picker.addClass('datepicker-orient-' + yorient);\n\t\t\tif (yorient === 'top')\n\t\t\t\ttop -= calendarHeight + parseInt(this.picker.css('padding-top'));\n\t\t\telse\n\t\t\t\ttop += height;\n\n\t\t\tif (this.o.rtl) {\n\t\t\t\tvar right = windowWidth - (left + width);\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tright: right,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tleft: left,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\t_allow_update: true,\n\t\tupdate: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn this;\n\n\t\t\tvar oldDates = this.dates.copy(),\n\t\t\t\tdates = [],\n\t\t\t\tfromArgs = false;\n\t\t\tif (arguments.length){\n\t\t\t\t$.each(arguments, $.proxy(function(i, date){\n\t\t\t\t\tif (date instanceof Date)\n\t\t\t\t\t\tdate = this._local_to_utc(date);\n\t\t\t\t\tdates.push(date);\n\t\t\t\t}, this));\n\t\t\t\tfromArgs = true;\n\t\t\t} else {\n\t\t\t\tdates = this.isInput\n\t\t\t\t\t\t? this.element.val()\n\t\t\t\t\t\t: this.element.data('date') || this.inputField.val();\n\t\t\t\tif (dates && this.o.multidate)\n\t\t\t\t\tdates = dates.split(this.o.multidateSeparator);\n\t\t\t\telse\n\t\t\t\t\tdates = [dates];\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\n\t\t\tdates = $.map(dates, $.proxy(function(date){\n\t\t\t\treturn DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);\n\t\t\t}, this));\n\t\t\tdates = $.grep(dates, $.proxy(function(date){\n\t\t\t\treturn (\n\t\t\t\t\t!this.dateWithinRange(date) ||\n\t\t\t\t\t!date\n\t\t\t\t);\n\t\t\t}, this), true);\n\t\t\tthis.dates.replace(dates);\n\n\t\t\tif (this.o.updateViewDate) {\n\t\t\t\tif (this.dates.length)\n\t\t\t\t\tthis.viewDate = new Date(this.dates.get(-1));\n\t\t\t\telse if (this.viewDate < this.o.startDate)\n\t\t\t\t\tthis.viewDate = new Date(this.o.startDate);\n\t\t\t\telse if (this.viewDate > this.o.endDate)\n\t\t\t\t\tthis.viewDate = new Date(this.o.endDate);\n\t\t\t\telse\n\t\t\t\t\tthis.viewDate = this.o.defaultViewDate;\n\t\t\t}\n\n\t\t\tif (fromArgs){\n\t\t\t\t// setting date by clicking\n\t\t\t\tthis.setValue();\n\t\t\t\tthis.element.change();\n\t\t\t}\n\t\t\telse if (this.dates.length){\n\t\t\t\t// setting date by typing\n\t\t\t\tif (String(oldDates) !== String(this.dates) && fromArgs) {\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t\t\tthis.element.change();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.dates.length && oldDates.length) {\n\t\t\t\tthis._trigger('clearDate');\n\t\t\t\tthis.element.change();\n\t\t\t}\n\n\t\t\tthis.fill();\n\t\t\treturn this;\n\t\t},\n\n\t\tfillDow: function(){\n if (this.o.showWeekDays) {\n\t\t\tvar dowCnt = this.o.weekStart,\n\t\t\t\thtml = '';\n\t\t\tif (this.o.calendarWeeks){\n\t\t\t\thtml += ' ';\n\t\t\t}\n\t\t\twhile (dowCnt < this.o.weekStart + 7){\n\t\t\t\thtml += '';\n\t\t\t}\n\t\t\thtml += '';\n\t\t\tthis.picker.find('.datepicker-days thead').append(html);\n }\n\t\t},\n\n\t\tfillMonths: function(){\n var localDate = this._utc_to_local(this.viewDate);\n\t\t\tvar html = '';\n\t\t\tvar focused;\n\t\t\tfor (var i = 0; i < 12; i++){\n\t\t\t\tfocused = localDate && localDate.getMonth() === i ? ' focused' : '';\n\t\t\t\thtml += '' + dates[this.o.language].monthsShort[i] + '';\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-months td').html(html);\n\t\t},\n\n\t\tsetRange: function(range){\n\t\t\tif (!range || !range.length)\n\t\t\t\tdelete this.range;\n\t\t\telse\n\t\t\t\tthis.range = $.map(range, function(d){\n\t\t\t\t\treturn d.valueOf();\n\t\t\t\t});\n\t\t\tthis.fill();\n\t\t},\n\n\t\tgetClassNames: function(date){\n\t\t\tvar cls = [],\n\t\t\t\tyear = this.viewDate.getUTCFullYear(),\n\t\t\t\tmonth = this.viewDate.getUTCMonth(),\n\t\t\t\ttoday = UTCToday();\n\t\t\tif (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){\n\t\t\t\tcls.push('old');\n\t\t\t} else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){\n\t\t\t\tcls.push('new');\n\t\t\t}\n\t\t\tif (this.focusDate && date.valueOf() === this.focusDate.valueOf())\n\t\t\t\tcls.push('focused');\n\t\t\t// Compare internal UTC date with UTC today, not local today\n\t\t\tif (this.o.todayHighlight && isUTCEquals(date, today)) {\n\t\t\t\tcls.push('today');\n\t\t\t}\n\t\t\tif (this.dates.contains(date) !== -1)\n\t\t\t\tcls.push('active');\n\t\t\tif (!this.dateWithinRange(date)){\n\t\t\t\tcls.push('disabled');\n\t\t\t}\n\t\t\tif (this.dateIsDisabled(date)){\n\t\t\t\tcls.push('disabled', 'disabled-date');\n\t\t\t}\n\t\t\tif ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){\n\t\t\t\tcls.push('highlighted');\n\t\t\t}\n\n\t\t\tif (this.range){\n\t\t\t\tif (date > this.range[0] && date < this.range[this.range.length-1]){\n\t\t\t\t\tcls.push('range');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(date.valueOf(), this.range) !== -1){\n\t\t\t\t\tcls.push('selected');\n\t\t\t\t}\n\t\t\t\tif (date.valueOf() === this.range[0]){\n cls.push('range-start');\n }\n if (date.valueOf() === this.range[this.range.length-1]){\n cls.push('range-end');\n }\n\t\t\t}\n\t\t\treturn cls;\n\t\t},\n\n\t\t_fill_yearsView: function(selector, cssClass, factor, year, startYear, endYear, beforeFn){\n\t\t\tvar html = '';\n\t\t\tvar step = factor / 10;\n\t\t\tvar view = this.picker.find(selector);\n\t\t\tvar startVal = Math.floor(year / factor) * factor;\n\t\t\tvar endVal = startVal + step * 9;\n\t\t\tvar focusedVal = Math.floor(this.viewDate.getFullYear() / step) * step;\n\t\t\tvar selected = $.map(this.dates, function(d){\n\t\t\t\treturn Math.floor(d.getUTCFullYear() / step) * step;\n\t\t\t});\n\n\t\t\tvar classes, tooltip, before;\n\t\t\tfor (var currVal = startVal - step; currVal <= endVal + step; currVal += step) {\n\t\t\t\tclasses = [cssClass];\n\t\t\t\ttooltip = null;\n\n\t\t\t\tif (currVal === startVal - step) {\n\t\t\t\t\tclasses.push('old');\n\t\t\t\t} else if (currVal === endVal + step) {\n\t\t\t\t\tclasses.push('new');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(currVal, selected) !== -1) {\n\t\t\t\t\tclasses.push('active');\n\t\t\t\t}\n\t\t\t\tif (currVal < startYear || currVal > endYear) {\n\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t}\n\t\t\t\tif (currVal === focusedVal) {\n\t\t\t\t classes.push('focused');\n }\n\n\t\t\t\tif (beforeFn !== $.noop) {\n\t\t\t\t\tbefore = beforeFn(new Date(currVal, 0, 1));\n\t\t\t\t\tif (before === undefined) {\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\t} else if (typeof before === 'boolean') {\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\t} else if (typeof before === 'string') {\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\t}\n\t\t\t\t\tif (before.enabled === false) {\n\t\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t\t}\n\t\t\t\t\tif (before.classes) {\n\t\t\t\t\t\tclasses = classes.concat(before.classes.split(/\\s+/));\n\t\t\t\t\t}\n\t\t\t\t\tif (before.tooltip) {\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\thtml += '' + currVal + '';\n\t\t\t}\n\n\t\t\tview.find('.datepicker-switch').text(startVal + '-' + endVal);\n\t\t\tview.find('td').html(html);\n\t\t},\n\n\t\tfill: function(){\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth(),\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\n\t\t\t\ttodaytxt = dates[this.o.language].today || dates['en'].today || '',\n\t\t\t\tcleartxt = dates[this.o.language].clear || dates['en'].clear || '',\n\t\t\t\ttitleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,\n\t\t\t\ttooltip,\n\t\t\t\tbefore;\n\t\t\tif (isNaN(year) || isNaN(month))\n\t\t\t\treturn;\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\n\t\t\t\t\t\t.text(DPGlobal.formatDate(d, titleFormat, this.o.language));\n\t\t\tthis.picker.find('tfoot .today')\n\t\t\t\t\t\t.text(todaytxt)\n\t\t\t\t\t\t.css('display', this.o.todayBtn === true || this.o.todayBtn === 'linked' ? 'table-cell' : 'none');\n\t\t\tthis.picker.find('tfoot .clear')\n\t\t\t\t\t\t.text(cleartxt)\n\t\t\t\t\t\t.css('display', this.o.clearBtn === true ? 'table-cell' : 'none');\n\t\t\tthis.picker.find('thead .datepicker-title')\n\t\t\t\t\t\t.text(this.o.title)\n\t\t\t\t\t\t.css('display', typeof this.o.title === 'string' && this.o.title !== '' ? 'table-cell' : 'none');\n\t\t\tthis.updateNavArrows();\n\t\t\tthis.fillMonths();\n\t\t\tvar prevMonth = UTCDate(year, month, 0),\n\t\t\t\tday = prevMonth.getUTCDate();\n\t\t\tprevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7);\n\t\t\tvar nextMonth = new Date(prevMonth);\n\t\t\tif (prevMonth.getUTCFullYear() < 100){\n nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());\n }\n\t\t\tnextMonth.setUTCDate(nextMonth.getUTCDate() + 42);\n\t\t\tnextMonth = nextMonth.valueOf();\n\t\t\tvar html = [];\n\t\t\tvar weekDay, clsName;\n\t\t\twhile (prevMonth.valueOf() < nextMonth){\n\t\t\t\tweekDay = prevMonth.getUTCDay();\n\t\t\t\tif (weekDay === this.o.weekStart){\n\t\t\t\t\thtml.push('');\n\t\t\t\t\tif (this.o.calendarWeeks){\n\t\t\t\t\t\t// ISO 8601: First week contains first thursday.\n\t\t\t\t\t\t// ISO also states week starts on Monday, but we can be more abstract here.\n\t\t\t\t\t\tvar\n\t\t\t\t\t\t\t// Start of current week: based on weekstart/current date\n\t\t\t\t\t\t\tws = new Date(+prevMonth + (this.o.weekStart - weekDay - 7) % 7 * 864e5),\n\t\t\t\t\t\t\t// Thursday of this week\n\t\t\t\t\t\t\tth = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),\n\t\t\t\t\t\t\t// First Thursday of year, year from thursday\n\t\t\t\t\t\t\tyth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5),\n\t\t\t\t\t\t\t// Calendar week: ms between thursdays, div ms per day, div 7 days\n\t\t\t\t\t\t\tcalWeek = (th - yth) / 864e5 / 7 + 1;\n\t\t\t\t\t\thtml.push(''+ calWeek +'');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tclsName = this.getClassNames(prevMonth);\n\t\t\t\tclsName.push('day');\n\n\t\t\t\tvar content = prevMonth.getUTCDate();\n\n\t\t\t\tif (this.o.beforeShowDay !== $.noop){\n\t\t\t\t\tbefore = this.o.beforeShowDay(this._utc_to_local(prevMonth));\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof before === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof before === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false)\n\t\t\t\t\t\tclsName.push('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t\tclsName = clsName.concat(before.classes.split(/\\s+/));\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t\tif (before.content)\n\t\t\t\t\t\tcontent = before.content;\n\t\t\t\t}\n\n\t\t\t\t//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)\n\t\t\t\t//Fallback to unique function for older jquery versions\n\t\t\t\tif ($.isFunction($.uniqueSort)) {\n\t\t\t\t\tclsName = $.uniqueSort(clsName);\n\t\t\t\t} else {\n\t\t\t\t\tclsName = $.unique(clsName);\n\t\t\t\t}\n\n\t\t\t\thtml.push('' + content + '');\n\t\t\t\ttooltip = null;\n\t\t\t\tif (weekDay === this.o.weekEnd){\n\t\t\t\t\thtml.push('');\n\t\t\t\t}\n\t\t\t\tprevMonth.setUTCDate(prevMonth.getUTCDate() + 1);\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-days tbody').html(html.join(''));\n\n\t\t\tvar monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';\n\t\t\tvar months = this.picker.find('.datepicker-months')\n\t\t\t\t\t\t.find('.datepicker-switch')\n\t\t\t\t\t\t\t.text(this.o.maxViewMode < 2 ? monthsTitle : year)\n\t\t\t\t\t\t\t.end()\n\t\t\t\t\t\t.find('tbody span').removeClass('active');\n\n\t\t\t$.each(this.dates, function(i, d){\n\t\t\t\tif (d.getUTCFullYear() === year)\n\t\t\t\t\tmonths.eq(d.getUTCMonth()).addClass('active');\n\t\t\t});\n\n\t\t\tif (year < startYear || year > endYear){\n\t\t\t\tmonths.addClass('disabled');\n\t\t\t}\n\t\t\tif (year === startYear){\n\t\t\t\tmonths.slice(0, startMonth).addClass('disabled');\n\t\t\t}\n\t\t\tif (year === endYear){\n\t\t\t\tmonths.slice(endMonth+1).addClass('disabled');\n\t\t\t}\n\n\t\t\tif (this.o.beforeShowMonth !== $.noop){\n\t\t\t\tvar that = this;\n\t\t\t\t$.each(months, function(i, month){\n var moDate = new Date(year, i, 1);\n var before = that.o.beforeShowMonth(moDate);\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof before === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof before === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false && !$(month).hasClass('disabled'))\n\t\t\t\t\t $(month).addClass('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t $(month).addClass(before.classes);\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t $(month).prop('title', before.tooltip);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generating decade/years picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-years',\n\t\t\t\t'year',\n\t\t\t\t10,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowYear\n\t\t\t);\n\n\t\t\t// Generating century/decades picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-decades',\n\t\t\t\t'decade',\n\t\t\t\t100,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowDecade\n\t\t\t);\n\n\t\t\t// Generating millennium/centuries picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-centuries',\n\t\t\t\t'century',\n\t\t\t\t1000,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowCentury\n\t\t\t);\n\t\t},\n\n\t\tupdateNavArrows: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn;\n\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth(),\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\n\t\t\t\tprevIsDisabled,\n\t\t\t\tnextIsDisabled,\n\t\t\t\tfactor = 1;\n\t\t\tswitch (this.viewMode){\n\t\t\t\tcase 4:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 3:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 2:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\tprevIsDisabled = Math.floor(year / factor) * factor < startYear;\n\t\t\t\t\tnextIsDisabled = Math.floor(year / factor) * factor + factor > endYear;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tprevIsDisabled = year <= startYear && month < startMonth;\n\t\t\t\t\tnextIsDisabled = year >= endYear && month > endMonth;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tthis.picker.find('.prev').toggleClass('disabled', prevIsDisabled);\n\t\t\tthis.picker.find('.next').toggleClass('disabled', nextIsDisabled);\n\t\t},\n\n\t\tclick: function(e){\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tvar target, dir, day, year, month;\n\t\t\ttarget = $(e.target);\n\n\t\t\t// Clicked on the switch\n\t\t\tif (target.hasClass('datepicker-switch') && this.viewMode !== this.o.maxViewMode){\n\t\t\t\tthis.setViewMode(this.viewMode + 1);\n\t\t\t}\n\n\t\t\t// Clicked on today button\n\t\t\tif (target.hasClass('today') && !target.hasClass('day')){\n\t\t\t\tthis.setViewMode(0);\n\t\t\t\tthis._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');\n\t\t\t}\n\n\t\t\t// Clicked on clear button\n\t\t\tif (target.hasClass('clear')){\n\t\t\t\tthis.clearDates();\n\t\t\t}\n\n\t\t\tif (!target.hasClass('disabled')){\n\t\t\t\t// Clicked on a month, year, decade, century\n\t\t\t\tif (target.hasClass('month')\n\t\t\t\t\t\t|| target.hasClass('year')\n\t\t\t\t\t\t|| target.hasClass('decade')\n\t\t\t\t\t\t|| target.hasClass('century')) {\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\n\n\t\t\t\t\tday = 1;\n\t\t\t\t\tif (this.viewMode === 1){\n\t\t\t\t\t\tmonth = target.parent().find('span').index(target);\n\t\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\n\t\t\t\t\t\tthis.viewDate.setUTCMonth(month);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmonth = 0;\n\t\t\t\t\t\tyear = Number(target.text());\n\t\t\t\t\t\tthis.viewDate.setUTCFullYear(year);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode - 1].e, this.viewDate);\n\n\t\t\t\t\tif (this.viewMode === this.o.minViewMode){\n\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setViewMode(this.viewMode - 1);\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.picker.is(':visible') && this._focused_from){\n\t\t\t\tthis._focused_from.focus();\n\t\t\t}\n\t\t\tdelete this._focused_from;\n\t\t},\n\n\t\tdayCellClick: function(e){\n\t\t\tvar $target = $(e.currentTarget);\n\t\t\tvar timestamp = $target.data('date');\n\t\t\tvar date = new Date(timestamp);\n\n\t\t\tif (this.o.updateViewDate) {\n\t\t\t\tif (date.getUTCFullYear() !== this.viewDate.getUTCFullYear()) {\n\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n\t\t\t\t}\n\n\t\t\t\tif (date.getUTCMonth() !== this.viewDate.getUTCMonth()) {\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._setDate(date);\n\t\t},\n\n\t\t// Clicked on prev or next\n\t\tnavArrowsClick: function(e){\n\t\t\tvar $target = $(e.currentTarget);\n\t\t\tvar dir = $target.hasClass('prev') ? -1 : 1;\n\t\t\tif (this.viewMode !== 0){\n\t\t\t\tdir *= DPGlobal.viewModes[this.viewMode].navStep * 12;\n\t\t\t}\n\t\t\tthis.viewDate = this.moveMonth(this.viewDate, dir);\n\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode].e, this.viewDate);\n\t\t\tthis.fill();\n\t\t},\n\n\t\t_toggle_multidate: function(date){\n\t\t\tvar ix = this.dates.contains(date);\n\t\t\tif (!date){\n\t\t\t\tthis.dates.clear();\n\t\t\t}\n\n\t\t\tif (ix !== -1){\n\t\t\t\tif (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){\n\t\t\t\t\tthis.dates.remove(ix);\n\t\t\t\t}\n\t\t\t} else if (this.o.multidate === false) {\n\t\t\t\tthis.dates.clear();\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\n\t\t\tif (typeof this.o.multidate === 'number')\n\t\t\t\twhile (this.dates.length > this.o.multidate)\n\t\t\t\t\tthis.dates.remove(0);\n\t\t},\n\n\t\t_setDate: function(date, which){\n\t\t\tif (!which || which === 'date')\n\t\t\t\tthis._toggle_multidate(date && new Date(date));\n\t\t\tif ((!which && this.o.updateViewDate) || which === 'view')\n\t\t\t\tthis.viewDate = date && new Date(date);\n\n\t\t\tthis.fill();\n\t\t\tthis.setValue();\n\t\t\tif (!which || which !== 'view') {\n\t\t\t\tthis._trigger('changeDate');\n\t\t\t}\n\t\t\tthis.inputField.trigger('change');\n\t\t\tif (this.o.autoclose && (!which || which === 'date')){\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\n\t\tmoveDay: function(date, dir){\n\t\t\tvar newDate = new Date(date);\n\t\t\tnewDate.setUTCDate(date.getUTCDate() + dir);\n\n\t\t\treturn newDate;\n\t\t},\n\n\t\tmoveWeek: function(date, dir){\n\t\t\treturn this.moveDay(date, dir * 7);\n\t\t},\n\n\t\tmoveMonth: function(date, dir){\n\t\t\tif (!isValidDate(date))\n\t\t\t\treturn this.o.defaultViewDate;\n\t\t\tif (!dir)\n\t\t\t\treturn date;\n\t\t\tvar new_date = new Date(date.valueOf()),\n\t\t\t\tday = new_date.getUTCDate(),\n\t\t\t\tmonth = new_date.getUTCMonth(),\n\t\t\t\tmag = Math.abs(dir),\n\t\t\t\tnew_month, test;\n\t\t\tdir = dir > 0 ? 1 : -1;\n\t\t\tif (mag === 1){\n\t\t\t\ttest = dir === -1\n\t\t\t\t\t// If going back one month, make sure month is not current month\n\t\t\t\t\t// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t? function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() === month;\n\t\t\t\t\t}\n\t\t\t\t\t// If going forward one month, make sure month is as expected\n\t\t\t\t\t// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t: function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() !== new_month;\n\t\t\t\t\t};\n\t\t\t\tnew_month = month + dir;\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t\t// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11\n\t\t\t\tnew_month = (new_month + 12) % 12;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// For magnitudes >1, move one month at a time...\n\t\t\t\tfor (var i=0; i < mag; i++)\n\t\t\t\t\t// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...\n\t\t\t\t\tnew_date = this.moveMonth(new_date, dir);\n\t\t\t\t// ...then reset the day, keeping it in the new month\n\t\t\t\tnew_month = new_date.getUTCMonth();\n\t\t\t\tnew_date.setUTCDate(day);\n\t\t\t\ttest = function(){\n\t\t\t\t\treturn new_month !== new_date.getUTCMonth();\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Common date-resetting loop -- if date is beyond end of month, make it\n\t\t\t// end of month\n\t\t\twhile (test()){\n\t\t\t\tnew_date.setUTCDate(--day);\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t}\n\t\t\treturn new_date;\n\t\t},\n\n\t\tmoveYear: function(date, dir){\n\t\t\treturn this.moveMonth(date, dir*12);\n\t\t},\n\n\t\tmoveAvailableDate: function(date, dir, fn){\n\t\t\tdo {\n\t\t\t\tdate = this[fn](date, dir);\n\n\t\t\t\tif (!this.dateWithinRange(date))\n\t\t\t\t\treturn false;\n\n\t\t\t\tfn = 'moveDay';\n\t\t\t}\n\t\t\twhile (this.dateIsDisabled(date));\n\n\t\t\treturn date;\n\t\t},\n\n\t\tweekOfDateIsDisabled: function(date){\n\t\t\treturn $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;\n\t\t},\n\n\t\tdateIsDisabled: function(date){\n\t\t\treturn (\n\t\t\t\tthis.weekOfDateIsDisabled(date) ||\n\t\t\t\t$.grep(this.o.datesDisabled, function(d){\n\t\t\t\t\treturn isUTCEquals(date, d);\n\t\t\t\t}).length > 0\n\t\t\t);\n\t\t},\n\n\t\tdateWithinRange: function(date){\n\t\t\treturn date >= this.o.startDate && date <= this.o.endDate;\n\t\t},\n\n\t\tkeydown: function(e){\n\t\t\tif (!this.picker.is(':visible')){\n\t\t\t\tif (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker\n\t\t\t\t\tthis.show();\n\t\t\t\t\te.stopPropagation();\n }\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar dateChanged = false,\n\t\t\t\tdir, newViewDate,\n\t\t\t\tfocusDate = this.focusDate || this.viewDate;\n\t\t\tswitch (e.keyCode){\n\t\t\t\tcase 27: // escape\n\t\t\t\t\tif (this.focusDate){\n\t\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.hide();\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 37: // left\n\t\t\t\tcase 38: // up\n\t\t\t\tcase 39: // right\n\t\t\t\tcase 40: // down\n\t\t\t\t\tif (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;\n if (this.viewMode === 0) {\n \t\t\t\t\tif (e.ctrlKey){\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n\n \t\t\t\t\t\tif (newViewDate)\n \t\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n \t\t\t\t\t} else if (e.shiftKey){\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n\n \t\t\t\t\t\tif (newViewDate)\n \t\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n \t\t\t\t\t} else if (e.keyCode === 37 || e.keyCode === 39){\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');\n \t\t\t\t\t} else if (!this.weekOfDateIsDisabled(focusDate)){\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');\n \t\t\t\t\t}\n } else if (this.viewMode === 1) {\n if (e.keyCode === 38 || e.keyCode === 40) {\n dir = dir * 4;\n }\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n } else if (this.viewMode === 2) {\n if (e.keyCode === 38 || e.keyCode === 40) {\n dir = dir * 4;\n }\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n }\n\t\t\t\t\tif (newViewDate){\n\t\t\t\t\t\tthis.focusDate = this.viewDate = newViewDate;\n\t\t\t\t\t\tthis.setValue();\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13: // enter\n\t\t\t\t\tif (!this.o.forceParse)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tfocusDate = this.focusDate || this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tif (this.o.keyboardNavigation) {\n\t\t\t\t\t\tthis._toggle_multidate(focusDate);\n\t\t\t\t\t\tdateChanged = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.setValue();\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tif (this.picker.is(':visible')){\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tif (this.o.autoclose)\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9: // tab\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tthis.hide();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (dateChanged){\n\t\t\t\tif (this.dates.length)\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t\telse\n\t\t\t\t\tthis._trigger('clearDate');\n\t\t\t\tthis.inputField.trigger('change');\n\t\t\t}\n\t\t},\n\n\t\tsetViewMode: function(viewMode){\n\t\t\tthis.viewMode = viewMode;\n\t\t\tthis.picker\n\t\t\t\t.children('div')\n\t\t\t\t.hide()\n\t\t\t\t.filter('.datepicker-' + DPGlobal.viewModes[this.viewMode].clsName)\n\t\t\t\t\t.show();\n\t\t\tthis.updateNavArrows();\n this._trigger('changeViewMode', new Date(this.viewDate));\n\t\t}\n\t};\n\n\tvar DateRangePicker = function(element, options){\n\t\t$.data(element, 'datepicker', this);\n\t\tthis.element = $(element);\n\t\tthis.inputs = $.map(options.inputs, function(i){\n\t\t\treturn i.jquery ? i[0] : i;\n\t\t});\n\t\tdelete options.inputs;\n\n\t\tthis.keepEmptyValues = options.keepEmptyValues;\n\t\tdelete options.keepEmptyValues;\n\n\t\tdatepickerPlugin.call($(this.inputs), options)\n\t\t\t.on('changeDate', $.proxy(this.dateUpdated, this));\n\n\t\tthis.pickers = $.map(this.inputs, function(i){\n\t\t\treturn $.data(i, 'datepicker');\n\t\t});\n\t\tthis.updateDates();\n\t};\n\tDateRangePicker.prototype = {\n\t\tupdateDates: function(){\n\t\t\tthis.dates = $.map(this.pickers, function(i){\n\t\t\t\treturn i.getUTCDate();\n\t\t\t});\n\t\t\tthis.updateRanges();\n\t\t},\n\t\tupdateRanges: function(){\n\t\t\tvar range = $.map(this.dates, function(d){\n\t\t\t\treturn d.valueOf();\n\t\t\t});\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tp.setRange(range);\n\t\t\t});\n\t\t},\n\t\tclearDates: function(){\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tp.clearDates();\n\t\t\t});\n\t\t},\n\t\tdateUpdated: function(e){\n\t\t\t// `this.updating` is a workaround for preventing infinite recursion\n\t\t\t// between `changeDate` triggering and `setUTCDate` calling. Until\n\t\t\t// there is a better mechanism.\n\t\t\tif (this.updating)\n\t\t\t\treturn;\n\t\t\tthis.updating = true;\n\n\t\t\tvar dp = $.data(e.target, 'datepicker');\n\n\t\t\tif (dp === undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar new_date = dp.getUTCDate(),\n\t\t\t\tkeep_empty_values = this.keepEmptyValues,\n\t\t\t\ti = $.inArray(e.target, this.inputs),\n\t\t\t\tj = i - 1,\n\t\t\t\tk = i + 1,\n\t\t\t\tl = this.inputs.length;\n\t\t\tif (i === -1)\n\t\t\t\treturn;\n\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tif (!p.getUTCDate() && (p === dp || !keep_empty_values))\n\t\t\t\t\tp.setUTCDate(new_date);\n\t\t\t});\n\n\t\t\tif (new_date < this.dates[j]){\n\t\t\t\t// Date being moved earlier/left\n\t\t\t\twhile (j >= 0 && new_date < this.dates[j]){\n\t\t\t\t\tthis.pickers[j--].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t} else if (new_date > this.dates[k]){\n\t\t\t\t// Date being moved later/right\n\t\t\t\twhile (k < l && new_date > this.dates[k]){\n\t\t\t\t\tthis.pickers[k++].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateDates();\n\n\t\t\tdelete this.updating;\n\t\t},\n\t\tdestroy: function(){\n\t\t\t$.map(this.pickers, function(p){ p.destroy(); });\n\t\t\t$(this.inputs).off('changeDate', this.dateUpdated);\n\t\t\tdelete this.element.data().datepicker;\n\t\t},\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead')\n\t};\n\n\tfunction opts_from_el(el, prefix){\n\t\t// Derive options from element data-attrs\n\t\tvar data = $(el).data(),\n\t\t\tout = {}, inkey,\n\t\t\treplace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');\n\t\tprefix = new RegExp('^' + prefix.toLowerCase());\n\t\tfunction re_lower(_,a){\n\t\t\treturn a.toLowerCase();\n\t\t}\n\t\tfor (var key in data)\n\t\t\tif (prefix.test(key)){\n\t\t\t\tinkey = key.replace(replace, re_lower);\n\t\t\t\tout[inkey] = data[key];\n\t\t\t}\n\t\treturn out;\n\t}\n\n\tfunction opts_from_locale(lang){\n\t\t// Derive options from locale plugins\n\t\tvar out = {};\n\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t// fallback to 2 letter code eg \"de\"\n\t\tif (!dates[lang]){\n\t\t\tlang = lang.split('-')[0];\n\t\t\tif (!dates[lang])\n\t\t\t\treturn;\n\t\t}\n\t\tvar d = dates[lang];\n\t\t$.each(locale_opts, function(i,k){\n\t\t\tif (k in d)\n\t\t\t\tout[k] = d[k];\n\t\t});\n\t\treturn out;\n\t}\n\n\tvar old = $.fn.datepicker;\n\tvar datepickerPlugin = function(option){\n\t\tvar args = Array.apply(null, arguments);\n\t\targs.shift();\n\t\tvar internal_return;\n\t\tthis.each(function(){\n\t\t\tvar $this = $(this),\n\t\t\t\tdata = $this.data('datepicker'),\n\t\t\t\toptions = typeof option === 'object' && option;\n\t\t\tif (!data){\n\t\t\t\tvar elopts = opts_from_el(this, 'date'),\n\t\t\t\t\t// Preliminary otions\n\t\t\t\t\txopts = $.extend({}, defaults, elopts, options),\n\t\t\t\t\tlocopts = opts_from_locale(xopts.language),\n\t\t\t\t\t// Options priority: js args, data-attrs, locales, defaults\n\t\t\t\t\topts = $.extend({}, defaults, locopts, elopts, options);\n\t\t\t\tif ($this.hasClass('input-daterange') || opts.inputs){\n\t\t\t\t\t$.extend(opts, {\n\t\t\t\t\t\tinputs: opts.inputs || $this.find('input').toArray()\n\t\t\t\t\t});\n\t\t\t\t\tdata = new DateRangePicker(this, opts);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdata = new Datepicker(this, opts);\n\t\t\t\t}\n\t\t\t\t$this.data('datepicker', data);\n\t\t\t}\n\t\t\tif (typeof option === 'string' && typeof data[option] === 'function'){\n\t\t\t\tinternal_return = data[option].apply(data, args);\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\tinternal_return === undefined ||\n\t\t\tinternal_return instanceof Datepicker ||\n\t\t\tinternal_return instanceof DateRangePicker\n\t\t)\n\t\t\treturn this;\n\n\t\tif (this.length > 1)\n\t\t\tthrow new Error('Using only allowed for the collection of a single element (' + option + ' function)');\n\t\telse\n\t\t\treturn internal_return;\n\t};\n\t$.fn.datepicker = datepickerPlugin;\n\n\tvar defaults = $.fn.datepicker.defaults = {\n\t\tassumeNearbyYear: false,\n\t\tautoclose: false,\n\t\tbeforeShowDay: $.noop,\n\t\tbeforeShowMonth: $.noop,\n\t\tbeforeShowYear: $.noop,\n\t\tbeforeShowDecade: $.noop,\n\t\tbeforeShowCentury: $.noop,\n\t\tcalendarWeeks: false,\n\t\tclearBtn: false,\n\t\ttoggleActive: false,\n\t\tdaysOfWeekDisabled: [],\n\t\tdaysOfWeekHighlighted: [],\n\t\tdatesDisabled: [],\n\t\tendDate: Infinity,\n\t\tforceParse: true,\n\t\tformat: 'mm/dd/yyyy',\n\t\tkeepEmptyValues: false,\n\t\tkeyboardNavigation: true,\n\t\tlanguage: 'en',\n\t\tminViewMode: 0,\n\t\tmaxViewMode: 4,\n\t\tmultidate: false,\n\t\tmultidateSeparator: ',',\n\t\torientation: \"auto\",\n\t\trtl: false,\n\t\tstartDate: -Infinity,\n\t\tstartView: 0,\n\t\ttodayBtn: false,\n\t\ttodayHighlight: false,\n\t\tupdateViewDate: true,\n\t\tweekStart: 0,\n\t\tdisableTouchKeyboard: false,\n\t\tenableOnReadonly: true,\n\t\tshowOnFocus: true,\n\t\tzIndexOffset: 10,\n\t\tcontainer: 'body',\n\t\timmediateUpdates: false,\n\t\ttitle: '',\n\t\ttemplates: {\n\t\t\tleftArrow: '«',\n\t\t\trightArrow: '»'\n\t\t},\n showWeekDays: true\n\t};\n\tvar locale_opts = $.fn.datepicker.locale_opts = [\n\t\t'format',\n\t\t'rtl',\n\t\t'weekStart'\n\t];\n\t$.fn.datepicker.Constructor = Datepicker;\n\tvar dates = $.fn.datepicker.dates = {\n\t\ten: {\n\t\t\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n\t\t\tdaysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n\t\t\tdaysMin: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n\t\t\tmonths: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n\t\t\tmonthsShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n\t\t\ttoday: \"Today\",\n\t\t\tclear: \"Clear\",\n\t\t\ttitleFormat: \"MM yyyy\"\n\t\t}\n\t};\n\n\tvar DPGlobal = {\n\t\tviewModes: [\n\t\t\t{\n\t\t\t\tnames: ['days', 'month'],\n\t\t\t\tclsName: 'days',\n\t\t\t\te: 'changeMonth'\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['months', 'year'],\n\t\t\t\tclsName: 'months',\n\t\t\t\te: 'changeYear',\n\t\t\t\tnavStep: 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['years', 'decade'],\n\t\t\t\tclsName: 'years',\n\t\t\t\te: 'changeDecade',\n\t\t\t\tnavStep: 10\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['decades', 'century'],\n\t\t\t\tclsName: 'decades',\n\t\t\t\te: 'changeCentury',\n\t\t\t\tnavStep: 100\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['centuries', 'millennium'],\n\t\t\t\tclsName: 'centuries',\n\t\t\t\te: 'changeMillennium',\n\t\t\t\tnavStep: 1000\n\t\t\t}\n\t\t],\n\t\tvalidParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,\n\t\tnonpunctuation: /[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,\n\t\tparseFormat: function(format){\n\t\t\tif (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')\n return format;\n // IE treats \\0 as a string end in inputs (truncating the value),\n\t\t\t// so it's a bad format delimiter, anyway\n\t\t\tvar separators = format.replace(this.validParts, '\\0').split('\\0'),\n\t\t\t\tparts = format.match(this.validParts);\n\t\t\tif (!separators || !separators.length || !parts || parts.length === 0){\n\t\t\t\tthrow new Error(\"Invalid date format.\");\n\t\t\t}\n\t\t\treturn {separators: separators, parts: parts};\n\t\t},\n\t\tparseDate: function(date, format, language, assumeNearby){\n\t\t\tif (!date)\n\t\t\t\treturn undefined;\n\t\t\tif (date instanceof Date)\n\t\t\t\treturn date;\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toValue)\n\t\t\t\treturn format.toValue(date, format, language);\n\t\t\tvar fn_map = {\n\t\t\t\t\td: 'moveDay',\n\t\t\t\t\tm: 'moveMonth',\n\t\t\t\t\tw: 'moveWeek',\n\t\t\t\t\ty: 'moveYear'\n\t\t\t\t},\n\t\t\t\tdateAliases = {\n\t\t\t\t\tyesterday: '-1d',\n\t\t\t\t\ttoday: '+0d',\n\t\t\t\t\ttomorrow: '+1d'\n\t\t\t\t},\n\t\t\t\tparts, part, dir, i, fn;\n\t\t\tif (date in dateAliases){\n\t\t\t\tdate = dateAliases[date];\n\t\t\t}\n\t\t\tif (/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/i.test(date)){\n\t\t\t\tparts = date.match(/([\\-+]\\d+)([dmwy])/gi);\n\t\t\t\tdate = new Date();\n\t\t\t\tfor (i=0; i < parts.length; i++){\n\t\t\t\t\tpart = parts[i].match(/([\\-+]\\d+)([dmwy])/i);\n\t\t\t\t\tdir = Number(part[1]);\n\t\t\t\t\tfn = fn_map[part[2].toLowerCase()];\n\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\n\t\t\t\t}\n\t\t\t\treturn Datepicker.prototype._zero_utc_time(date);\n\t\t\t}\n\n\t\t\tparts = date && date.match(this.nonpunctuation) || [];\n\n\t\t\tfunction applyNearbyYear(year, threshold){\n\t\t\t\tif (threshold === true)\n\t\t\t\t\tthreshold = 10;\n\n\t\t\t\t// if year is 2 digits or less, than the user most likely is trying to get a recent century\n\t\t\t\tif (year < 100){\n\t\t\t\t\tyear += 2000;\n\t\t\t\t\t// if the new year is more than threshold years in advance, use last century\n\t\t\t\t\tif (year > ((new Date()).getFullYear()+threshold)){\n\t\t\t\t\t\tyear -= 100;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn year;\n\t\t\t}\n\n\t\t\tvar parsed = {},\n\t\t\t\tsetters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],\n\t\t\t\tsetters_map = {\n\t\t\t\t\tyyyy: function(d,v){\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\n\t\t\t\t\t},\n\t\t\t\t\tm: function(d,v){\n\t\t\t\t\t\tif (isNaN(d))\n\t\t\t\t\t\t\treturn d;\n\t\t\t\t\t\tv -= 1;\n\t\t\t\t\t\twhile (v < 0) v += 12;\n\t\t\t\t\t\tv %= 12;\n\t\t\t\t\t\td.setUTCMonth(v);\n\t\t\t\t\t\twhile (d.getUTCMonth() !== v)\n\t\t\t\t\t\t\td.setUTCDate(d.getUTCDate()-1);\n\t\t\t\t\t\treturn d;\n\t\t\t\t\t},\n\t\t\t\t\td: function(d,v){\n\t\t\t\t\t\treturn d.setUTCDate(v);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tval, filtered;\n\t\t\tsetters_map['yy'] = setters_map['yyyy'];\n\t\t\tsetters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];\n\t\t\tsetters_map['dd'] = setters_map['d'];\n\t\t\tdate = UTCToday();\n\t\t\tvar fparts = format.parts.slice();\n\t\t\t// Remove noop parts\n\t\t\tif (parts.length !== fparts.length){\n\t\t\t\tfparts = $(fparts).filter(function(i,p){\n\t\t\t\t\treturn $.inArray(p, setters_order) !== -1;\n\t\t\t\t}).toArray();\n\t\t\t}\n\t\t\t// Process remainder\n\t\t\tfunction match_part(){\n\t\t\t\tvar m = this.slice(0, parts[i].length),\n\t\t\t\t\tp = parts[i].slice(0, m.length);\n\t\t\t\treturn m.toLowerCase() === p.toLowerCase();\n\t\t\t}\n\t\t\tif (parts.length === fparts.length){\n\t\t\t\tvar cnt;\n\t\t\t\tfor (i=0, cnt = fparts.length; i < cnt; i++){\n\t\t\t\t\tval = parseInt(parts[i], 10);\n\t\t\t\t\tpart = fparts[i];\n\t\t\t\t\tif (isNaN(val)){\n\t\t\t\t\t\tswitch (part){\n\t\t\t\t\t\t\tcase 'MM':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].months).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].months) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'M':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].monthsShort).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].monthsShort) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tparsed[part] = val;\n\t\t\t\t}\n\t\t\t\tvar _date, s;\n\t\t\t\tfor (i=0; i < setters_order.length; i++){\n\t\t\t\t\ts = setters_order[i];\n\t\t\t\t\tif (s in parsed && !isNaN(parsed[s])){\n\t\t\t\t\t\t_date = new Date(date);\n\t\t\t\t\t\tsetters_map[s](_date, parsed[s]);\n\t\t\t\t\t\tif (!isNaN(_date))\n\t\t\t\t\t\t\tdate = _date;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn date;\n\t\t},\n\t\tformatDate: function(date, format, language){\n\t\t\tif (!date)\n\t\t\t\treturn '';\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toDisplay)\n return format.toDisplay(date, format, language);\n var val = {\n\t\t\t\td: date.getUTCDate(),\n\t\t\t\tD: dates[language].daysShort[date.getUTCDay()],\n\t\t\t\tDD: dates[language].days[date.getUTCDay()],\n\t\t\t\tm: date.getUTCMonth() + 1,\n\t\t\t\tM: dates[language].monthsShort[date.getUTCMonth()],\n\t\t\t\tMM: dates[language].months[date.getUTCMonth()],\n\t\t\t\tyy: date.getUTCFullYear().toString().substring(2),\n\t\t\t\tyyyy: date.getUTCFullYear()\n\t\t\t};\n\t\t\tval.dd = (val.d < 10 ? '0' : '') + val.d;\n\t\t\tval.mm = (val.m < 10 ? '0' : '') + val.m;\n\t\t\tdate = [];\n\t\t\tvar seps = $.extend([], format.separators);\n\t\t\tfor (var i=0, cnt = format.parts.length; i <= cnt; i++){\n\t\t\t\tif (seps.length)\n\t\t\t\t\tdate.push(seps.shift());\n\t\t\t\tdate.push(val[format.parts[i]]);\n\t\t\t}\n\t\t\treturn date.join('');\n\t\t},\n\t\theadTemplate: ''+\n\t\t\t ''+\n\t\t\t ''+\n\t\t\t ''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t''+defaults.templates.leftArrow+''+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t''+defaults.templates.rightArrow+''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t'',\n\t\tcontTemplate: '',\n\t\tfootTemplate: ''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t''\n\t};\n\tDPGlobal.template = '
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t''+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
';\n\n\t$.fn.datepicker.DPGlobal = DPGlobal;\n\n\n\t/* DATEPICKER NO CONFLICT\n\t* =================== */\n\n\t$.fn.datepicker.noConflict = function(){\n\t\t$.fn.datepicker = old;\n\t\treturn this;\n\t};\n\n\t/* DATEPICKER VERSION\n\t * =================== */\n\t$.fn.datepicker.version = '1.8.0';\n\n\t$.fn.datepicker.deprecated = function(msg){\n\t\tvar console = window.console;\n\t\tif (console && console.warn) {\n\t\t\tconsole.warn('DEPRECATED: ' + msg);\n\t\t}\n\t};\n\n\n\t/* DATEPICKER DATA-API\n\t* ================== */\n\n\t$(document).on(\n\t\t'focus.datepicker.data-api click.datepicker.data-api',\n\t\t'[data-provide=\"datepicker\"]',\n\t\tfunction(e){\n\t\t\tvar $this = $(this);\n\t\t\tif ($this.data('datepicker'))\n\t\t\t\treturn;\n\t\t\te.preventDefault();\n\t\t\t// component click requires us to explicitly show it\n\t\t\tdatepickerPlugin.call($this, 'show');\n\t\t}\n\t);\n\t$(function(){\n\t\tdatepickerPlugin.call($('[data-provide=\"datepicker-inline\"]'));\n\t});\n\n}));\n"],"sourceRoot":""}