{"version":3,"sources":["kendo.dateinput.js"],"names":["f","define","$","undefined","approximateStringMatching","oldText","oldFormat","newText","caret","diff","i","deletedSymbol","symbol","oldTextSeparator","length","substring","push","indexOf","knownSymbols","Math","max","customDateTime","global","window","kendo","ui","Widget","keys","ns","proxy","objectToString","toString","INPUT_EVENT_NAME","support","propertyChangeEvent","STATEDISABLED","STATEDEFAULT","STATEINVALID","DISABLED","READONLY","CHANGE","DateInput","extend","init","element","options","insidePicker","disabled","that","this","fn","call","format","_extractFormat","getCulture","culture","calendars","standard","patterns","d","min","parseDate","attr","parent","wrapper","wrap","addClass","className","style","cssText","css","width","height","insertAfter","_form","on","_change","setAttribute","e","type","is","parents","enable","readonly","value","val","notify","name","Date","messages","year","month","day","weekday","hour","minute","second","dayperiod","events","setOptions","_unbindInput","_bindInput","_updateElementValue","destroy","off","_formElement","_resetHandler","_dateTime","getDateObject","getTime","_oldValue","stringAndFromat","toPair","_oldText","_format","_editable","disable","_paste","_keydown","_input","_mouseUp","_scroll","removeClass","removeAttr","oldValue","trigger","navigationOnly","valid","difSym","newEvent","stateInvalid","blinkInvalid","_activeElement","parsePart","_selectSegment","setTimeout","keyCode","preventDefault","clearTimeout","_blinkInvalidTimeout","selection","_selectNearestSegment","event","shiftKey","wheelDelta","detail","returnValue","stopPropagation","formId","form","closest","dir","index","keycode","key","modifyPart","browser","msie","version","which","ENTER","j","start","begin","end","plugin","initDate","initFormat","initCulture","initMessages","pad","number","digits","zeros","generateMatcher","retFormat","returnsFormat","matcher","setExisting","setMonth","typedMonthPart","date","hours","typedDayPeriodPart","minutes","seconds","sampleFormat","milliseconds","placeholders","dateFormatRegExp","months","calendar","days","match","mins","sign","result","formatResult","getDate","namesAbbr","getDay","names","getMonth","getFullYear","getHours","getMinutes","getSeconds","floor","getMilliseconds","AM","PM","getTimezoneOffset","abs","split","slice","setValue","getValue","offset","newMonth","newValue","setFullYear","setDate","setHours","setMinutes","setSeconds","currentChar","newHours","newDate","monthNames","newYear","newMinutes","newSeconds","parseInt","isNaN","toLowerCase","replace","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.dateinput.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.dateinput', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'dateinput',\n name: 'DateInput',\n category: 'web',\n description: 'The DateInput widget allows to edit date by typing.',\n depends: ['core']\n };\n (function ($, undefined) {\n var global = window;\n var kendo = global.kendo;\n var caret = kendo.caret;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var keys = kendo.keys;\n var ns = '.kendoDateInput';\n var proxy = $.proxy;\n var objectToString = {}.toString;\n var INPUT_EVENT_NAME = (kendo.support.propertyChangeEvent ? 'propertychange.kendoDateInput input' : 'input') + ns;\n var STATEDISABLED = 'k-state-disabled';\n var STATEDEFAULT = 'k-state-default';\n var STATEINVALID = 'k-state-invalid';\n var DISABLED = 'disabled';\n var READONLY = 'readonly';\n var CHANGE = 'change';\n var knownSymbols = 'dMyHhmftsz';\n var DateInput = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n options.format = kendo._extractFormat(options.format || kendo.getCulture(options.culture).calendars.standard.patterns.d);\n options.min = kendo.parseDate(element.attr('min')) || kendo.parseDate(options.min);\n options.max = kendo.parseDate(element.attr('max')) || kendo.parseDate(options.max);\n var insidePicker = (element.parent().attr('class') || '').indexOf('k-picker-wrap') >= 0;\n if (insidePicker) {\n that.wrapper = element.parent();\n } else {\n that.wrapper = element.wrap('').parent();\n that.wrapper.addClass(element[0].className);\n that.wrapper[0].style.cssText = element[0].style.cssText;\n element.css({\n width: '100%',\n height: element[0].style.height\n });\n }\n $('').insertAfter(element);\n that._form();\n that.element.addClass(insidePicker ? ' ' : 'k-textbox').attr('autocomplete', 'off').on('focusout' + ns, function () {\n that._change();\n });\n try {\n element[0].setAttribute('type', 'text');\n } catch (e) {\n element[0].type = 'text';\n }\n var disabled = element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n that.value(that.options.value || element.val());\n kendo.notify(that);\n },\n options: {\n name: 'DateInput',\n culture: '',\n value: '',\n format: '',\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n messages: {\n 'year': 'year',\n 'month': 'month',\n 'day': 'day',\n 'weekday': 'day of the week',\n 'hour': 'hours',\n 'minute': 'minutes',\n 'second': 'seconds',\n 'dayperiod': 'AM/PM'\n }\n },\n events: [CHANGE],\n min: function (value) {\n if (value !== undefined) {\n this.options.min = value;\n } else {\n return this.options.min;\n }\n },\n max: function (value) {\n if (value !== undefined) {\n this.options.max = value;\n } else {\n return this.options.max;\n }\n },\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n this._unbindInput();\n this._bindInput();\n this._updateElementValue();\n },\n destroy: function () {\n var that = this;\n that.element.off(ns);\n if (that._formElement) {\n that._formElement.off('reset', that._resetHandler);\n }\n Widget.fn.destroy.call(that);\n },\n value: function (value) {\n if (value === undefined) {\n return this._dateTime.getDateObject();\n }\n if (value === null) {\n value = '';\n }\n if (objectToString.call(value) !== '[object Date]') {\n value = kendo.parseDate(value, this.options.format, this.options.culture);\n }\n if (value && !value.getTime()) {\n value = null;\n }\n this._dateTime = new customDateTime(value, this.options.format, this.options.culture, this.options.messages);\n this._updateElementValue();\n this._oldValue = value;\n },\n _updateElementValue: function () {\n var stringAndFromat = this._dateTime.toPair(this.options.format, this.options.culture, this.options.messages);\n this.element.val(stringAndFromat[0]);\n this._oldText = stringAndFromat[0];\n this._format = stringAndFromat[1];\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n _bindInput: function () {\n var that = this;\n that.element.on('paste' + ns, proxy(that._paste, that)).on('keydown' + ns, proxy(that._keydown, that)).on(INPUT_EVENT_NAME, proxy(that._input, that)).on('mouseup' + ns, proxy(that._mouseUp, that)).on('DOMMouseScroll' + ns + ' mousewheel' + ns, proxy(that._scroll, that));\n },\n _unbindInput: function () {\n this.element.off('keydown' + ns).off('paste' + ns).off(INPUT_EVENT_NAME).off('mouseup' + ns).off('DOMMouseScroll' + ns + ' mousewheel' + ns);\n },\n _editable: function (options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n var wrapper = that.wrapper;\n that._unbindInput();\n if (!readonly && !disable) {\n wrapper.addClass(STATEDEFAULT).removeClass(STATEDISABLED);\n element.removeAttr(DISABLED).removeAttr(READONLY);\n that._bindInput();\n } else {\n wrapper.addClass(STATEDISABLED).removeClass(STATEDEFAULT);\n element.attr(DISABLED, disable).attr(READONLY, readonly);\n }\n },\n _change: function () {\n var that = this;\n var oldValue = that._oldValue;\n var value = that.value();\n if (value && that.min() && value < that.min()) {\n that.value(that.min());\n value = that.value();\n }\n if (value && that.max() && value > that.max()) {\n that.value(that.max());\n value = that.value();\n }\n if (oldValue && value && value.getTime() !== oldValue.getTime() || oldValue && !value || !oldValue && value) {\n that._oldValue = value;\n that.trigger(CHANGE);\n that.element.trigger(CHANGE);\n }\n },\n _input: function () {\n var that = this;\n var element = that.element[0];\n var blinkInvalid = false;\n if (kendo._activeElement() !== element) {\n return;\n }\n var diff = approximateStringMatching(this._oldText, this._format, this.element[0].value, caret(this.element[0])[0]);\n var navigationOnly = diff.length === 1 && diff[0][1] === ' ';\n if (!navigationOnly) {\n for (var i = 0; i < diff.length; i++) {\n var valid = this._dateTime.parsePart(diff[i][0], diff[i][1]);\n blinkInvalid = blinkInvalid || !valid;\n }\n }\n this._updateElementValue();\n if (diff.length && diff[0][0] !== ' ') {\n this._selectSegment(diff[0][0]);\n if (!navigationOnly) {\n var difSym = diff[0][0];\n setTimeout(function () {\n that._selectSegment(difSym);\n });\n }\n }\n if (navigationOnly) {\n var newEvent = {\n keyCode: 39,\n preventDefault: function () {\n }\n };\n this._keydown(newEvent);\n }\n if (blinkInvalid) {\n clearTimeout(that._blinkInvalidTimeout);\n var stateInvalid = STATEINVALID;\n that.wrapper.addClass(STATEINVALID);\n that._blinkInvalidTimeout = setTimeout(function () {\n that.wrapper.removeClass(stateInvalid);\n }, 100);\n }\n },\n _mouseUp: function () {\n var selection = caret(this.element[0]);\n if (selection[0] === selection[1]) {\n this._selectNearestSegment();\n }\n },\n _scroll: function (e) {\n if (kendo._activeElement() !== this.element[0] || this.element.is('[readonly]')) {\n return;\n }\n e = window.event || e;\n var newEvent = {\n keyCode: 37,\n preventDefault: function () {\n }\n };\n if (e.shiftKey) {\n newEvent.keyCode = (e.wheelDelta || -e.detail) > 0 ? 37 : 39;\n } else {\n newEvent.keyCode = (e.wheelDelta || -e.detail) > 0 ? 38 : 40;\n }\n this._keydown(newEvent);\n e.returnValue = false;\n if (e.preventDefault) {\n e.preventDefault();\n }\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n },\n _form: function () {\n var that = this;\n var element = that.element;\n var formId = element.attr('form');\n var form = formId ? $('#' + formId) : element.closest('form');\n if (form[0]) {\n that._resetHandler = function () {\n setTimeout(function () {\n that.value(element[0].value);\n });\n };\n that._formElement = form.on('reset', that._resetHandler);\n }\n },\n _paste: function (e) {\n e.preventDefault();\n },\n _keydown: function (e) {\n var key = e.keyCode;\n var selection;\n if (key == 37 || key == 39) {\n e.preventDefault();\n selection = caret(this.element[0]);\n if (selection[0] != selection[1]) {\n this._selectNearestSegment();\n }\n var dir = key == 37 ? -1 : 1;\n var index = dir == -1 ? caret(this.element[0])[0] - 1 : caret(this.element[0])[1] + 1;\n while (index >= 0 && index < this._format.length) {\n if (knownSymbols.indexOf(this._format[index]) >= 0) {\n this._selectSegment(this._format[index]);\n break;\n }\n index += dir;\n }\n }\n if (key == 38 || key == 40) {\n e.preventDefault();\n selection = caret(this.element[0]);\n var symbol = this._format[selection[0]];\n if (knownSymbols.indexOf(symbol) >= 0) {\n this._dateTime.modifyPart(symbol, key == 38 ? 1 : -1);\n this._updateElementValue();\n this._selectSegment(symbol);\n }\n }\n if (kendo.support.browser.msie && kendo.support.browser.version < 10) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n if (keycode === 8 || keycode === 46) {\n var that = this;\n setTimeout(function () {\n that._input();\n }, 0);\n }\n }\n if (key === keys.ENTER) {\n this._change();\n }\n },\n _selectNearestSegment: function () {\n var selection = caret(this.element[0]);\n var start = selection[0];\n for (var i = start, j = start - 1; i < this._format.length || j >= 0; i++, j--) {\n if (i < this._format.length && knownSymbols.indexOf(this._format[i]) !== -1) {\n this._selectSegment(this._format[i]);\n return;\n }\n if (j >= 0 && knownSymbols.indexOf(this._format[j]) !== -1) {\n this._selectSegment(this._format[j]);\n return;\n }\n }\n },\n _selectSegment: function (symbol) {\n var begin = -1, end = 0;\n for (var i = 0; i < this._format.length; i++) {\n if (this._format[i] === symbol) {\n end = i + 1;\n if (begin === -1) {\n begin = i;\n }\n }\n }\n if (begin < 0) {\n begin = 0;\n }\n caret(this.element, begin, end);\n }\n });\n ui.plugin(DateInput);\n var customDateTime = function (initDate, initFormat, initCulture, initMessages) {\n var value = null;\n var year = true, month = true, date = true, hours = true, minutes = true, seconds = true, milliseconds = true;\n var typedMonthPart = '';\n var typedDayPeriodPart = '';\n var placeholders = {};\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000'\n ];\n function pad(number, digits, end) {\n number = number + '';\n digits = digits || 2;\n end = digits - number.length;\n if (end) {\n return zeros[digits].substring(0, end) + number;\n }\n return number;\n }\n var dateFormatRegExp = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|\"[^\"]*\"|'[^']*'/g;\n var months = null, calendar = null, days = null, returnsFormat = false;\n var matcher = function (match) {\n var mins, sign;\n var result;\n switch (match) {\n case 'd':\n result = date ? value.getDate() : placeholders.day;\n break;\n case 'dd':\n result = date ? pad(value.getDate()) : placeholders.day;\n break;\n case 'ddd':\n result = date && month && year ? days.namesAbbr[value.getDay()] : placeholders.weekday;\n break;\n case 'dddd':\n result = date && month && year ? days.names[value.getDay()] : placeholders.weekday;\n break;\n case 'M':\n result = month ? value.getMonth() + 1 : placeholders.month;\n break;\n case 'MM':\n result = month ? pad(value.getMonth() + 1) : placeholders.month;\n break;\n case 'MMM':\n result = month ? months.namesAbbr[value.getMonth()] : placeholders.month;\n break;\n case 'MMMM':\n result = month ? months.names[value.getMonth()] : placeholders.month;\n break;\n case 'yy':\n result = year ? pad(value.getFullYear() % 100) : placeholders.year;\n break;\n case 'yyyy':\n result = year ? pad(value.getFullYear(), 4) : placeholders.year;\n break;\n case 'h':\n result = hours ? value.getHours() % 12 || 12 : placeholders.hour;\n break;\n case 'hh':\n result = hours ? pad(value.getHours() % 12 || 12) : placeholders.hour;\n break;\n case 'H':\n result = hours ? value.getHours() : placeholders.hour;\n break;\n case 'HH':\n result = hours ? pad(value.getHours()) : placeholders.hour;\n break;\n case 'm':\n result = minutes ? value.getMinutes() : placeholders.minute;\n break;\n case 'mm':\n result = minutes ? pad(value.getMinutes()) : placeholders.minute;\n break;\n case 's':\n result = seconds ? value.getSeconds() : placeholders.second;\n break;\n case 'ss':\n result = seconds ? pad(value.getSeconds()) : placeholders.second;\n break;\n case 'f':\n result = milliseconds ? Math.floor(value.getMilliseconds() / 100) : milliseconds;\n break;\n case 'ff':\n result = value.getMilliseconds();\n if (result > 99) {\n result = Math.floor(result / 10);\n }\n result = milliseconds ? pad(result) : match;\n break;\n case 'fff':\n result = milliseconds ? pad(value.getMilliseconds(), 3) : match;\n break;\n case 'tt':\n result = hours ? value.getHours() < 12 ? calendar.AM[0] : calendar.PM[0] : placeholders.dayperiod;\n break;\n case 'zzz':\n mins = value.getTimezoneOffset();\n sign = mins < 0;\n result = Math.abs(mins / 60).toString().split('.')[0];\n mins = Math.abs(mins) - result * 60;\n result = (sign ? '+' : '-') + pad(result);\n result += ':' + pad(mins);\n break;\n case 'z':\n case 'zz':\n result = value.getTimezoneOffset() / 60;\n sign = result < 0;\n result = Math.abs(result).toString().split('.')[0];\n result = (sign ? '+' : '-') + (match === 'zz' ? pad(result) : result);\n break;\n }\n result = result !== undefined ? result : match.slice(1, match.length - 1);\n if (returnsFormat) {\n result = '' + result;\n var formatResult = '';\n if (match == 'ddd') {\n match = 'EEE';\n }\n if (match == 'dddd') {\n match = 'EEEE';\n }\n for (var i = 0; i < result.length; i++) {\n formatResult += match[0];\n }\n return formatResult;\n } else {\n return result;\n }\n };\n function generateMatcher(retFormat) {\n returnsFormat = retFormat;\n return matcher;\n }\n function setExisting(symbol, val) {\n switch (symbol) {\n case 'y':\n year = val;\n break;\n case 'M':\n month = val;\n if (!val) {\n value.setMonth(0);\n typedMonthPart = '';\n }\n break;\n case 'd':\n date = val;\n break;\n case 'H':\n case 'h':\n hours = val;\n if (!val) {\n typedDayPeriodPart = '';\n }\n break;\n case 'm':\n minutes = val;\n break;\n case 's':\n seconds = val;\n break;\n default:\n return;\n }\n }\n this.setValue = function (val) {\n date = val;\n };\n this.getValue = function () {\n return date;\n };\n this.modifyPart = function (symbol, offset) {\n var newValue = new Date(value && value.getTime ? value.getTime() : value);\n switch (symbol) {\n case 'y':\n newValue.setFullYear(newValue.getFullYear() + offset);\n break;\n case 'M':\n var newMonth = newValue.getMonth() + offset;\n newValue.setMonth(newMonth);\n if (newValue.getMonth() % 12 !== (newMonth + 12) % 12) {\n newValue.setDate(1);\n newValue.setMonth(newMonth);\n }\n break;\n case 'd':\n case 'E':\n newValue.setDate(newValue.getDate() + offset);\n break;\n case 'H':\n case 'h':\n newValue.setHours(newValue.getHours() + offset);\n break;\n case 'm':\n newValue.setMinutes(newValue.getMinutes() + offset);\n break;\n case 's':\n newValue.setSeconds(newValue.getSeconds() + offset);\n break;\n case 't':\n newValue.setHours((newValue.getHours() + 12) % 24);\n break;\n default:\n break;\n }\n if (newValue.getFullYear() > 0) {\n setExisting(symbol, true);\n value = newValue;\n }\n };\n this.parsePart = function (symbol, currentChar) {\n if (!currentChar) {\n setExisting(symbol, false);\n return true;\n }\n var newValue = new Date(value && value.getTime ? value.getTime() : value);\n var newHours;\n switch (symbol) {\n case 'd':\n var newDate = (date ? newValue.getDate() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newDate)) {\n return;\n }\n while (newDate > 31) {\n newDate = parseInt(newDate.toString().slice(1), 10);\n }\n if (newDate < 1) {\n date = false;\n } else {\n newValue.setDate(newDate);\n if (newValue.getMonth() !== value.getMonth()) {\n return;\n }\n date = true;\n }\n break;\n case 'M':\n var newMonth = (month ? (newValue.getMonth() + 1) * 10 : 0) + parseInt(currentChar, 10);\n if (!isNaN(newMonth)) {\n while (newMonth > 12) {\n newMonth = parseInt(newMonth.toString().slice(1), 10);\n }\n if (newMonth < 1) {\n month = false;\n } else {\n newValue.setMonth(newMonth - 1);\n if (newValue.getMonth() !== newMonth - 1) {\n newValue.setDate(1);\n newValue.setMonth(newMonth - 1);\n }\n month = true;\n }\n } else {\n var monthNames = calendar.months.names;\n typedMonthPart += currentChar.toLowerCase();\n while (typedMonthPart.length > 0) {\n for (var i = 0; i < monthNames.length; i++) {\n if (monthNames[i].toLowerCase().indexOf(typedMonthPart) === 0) {\n newValue.setMonth(i);\n month = true;\n value = newValue;\n return true;\n }\n }\n typedMonthPart = typedMonthPart.substring(1, typedMonthPart.length);\n }\n return false;\n }\n break;\n case 'y':\n var newYear = (year ? newValue.getFullYear() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newYear)) {\n return;\n }\n while (newYear > 9999) {\n newYear = parseInt(newYear.toString().slice(1), 10);\n }\n if (newYear < 1) {\n year = false;\n } else {\n newValue.setFullYear(newYear);\n year = true;\n }\n break;\n case 'h':\n newHours = (hours ? (newValue.getHours() % 12 || 12) * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newHours)) {\n return;\n }\n while (newHours > 12) {\n newHours = parseInt(newHours.toString().slice(1), 10);\n }\n newValue.setHours(Math.floor(newValue.getHours() / 12) * 12 + newHours % 12);\n hours = true;\n break;\n case 'H':\n newHours = (hours ? newValue.getHours() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newHours)) {\n return;\n }\n while (newHours > 23) {\n newHours = parseInt(newHours.toString().slice(1), 10);\n }\n newValue.setHours(newHours);\n hours = true;\n break;\n case 'm':\n var newMinutes = (minutes ? newValue.getMinutes() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newMinutes)) {\n return;\n }\n while (newMinutes > 59) {\n newMinutes = parseInt(newMinutes.toString().slice(1), 10);\n }\n newValue.setMinutes(newMinutes);\n minutes = true;\n break;\n case 's':\n var newSeconds = (seconds ? newValue.getSeconds() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newSeconds)) {\n return;\n }\n while (newSeconds > 59) {\n newSeconds = parseInt(newSeconds.toString().slice(1), 10);\n }\n newValue.setSeconds(newSeconds);\n seconds = true;\n break;\n case 't':\n if (hours) {\n typedDayPeriodPart += currentChar.toLowerCase();\n while (typedDayPeriodPart.length > 0) {\n if (calendar.AM[0].toLowerCase().indexOf(typedDayPeriodPart) === 0 && newValue.getHours() >= 12 || calendar.PM[0].toLowerCase().indexOf(typedDayPeriodPart) === 0 && newValue.getHours() < 12) {\n newValue.setHours((newValue.getHours() + 12) % 24);\n value = newValue;\n return true;\n }\n typedDayPeriodPart = typedDayPeriodPart.substring(1, typedDayPeriodPart.length);\n }\n return false;\n }\n break;\n default:\n break;\n }\n value = newValue;\n return true;\n };\n this.toPair = function (format, culture, messages) {\n if (!format) {\n return [\n '',\n ''\n ];\n }\n culture = kendo.getCulture(culture);\n calendar = culture.calendars.standard;\n format = calendar.patterns[format] || format;\n days = calendar.days;\n months = calendar.months;\n placeholders = messages;\n return [\n format.replace(dateFormatRegExp, generateMatcher(false)),\n format.replace(dateFormatRegExp, generateMatcher(true))\n ];\n };\n this.getDateObject = function () {\n return year && month && date && hours && minutes && seconds && milliseconds ? new Date(value.getTime()) : null;\n };\n if (!initDate) {\n value = new Date();\n var sampleFormat = this.toPair(initFormat, initCulture, initMessages)[1];\n for (var i = 0; i < sampleFormat.length; i++) {\n setExisting(sampleFormat[i], false);\n }\n } else {\n value = new Date(initDate.getTime());\n }\n };\n function approximateStringMatching(oldText, oldFormat, newText, caret) {\n var oldTextSeparator = oldText[caret + oldText.length - newText.length];\n oldText = oldText.substring(0, caret + oldText.length - newText.length);\n newText = newText.substring(0, caret);\n var diff = [];\n var i;\n if (oldText === newText && caret > 0) {\n diff.push([\n oldFormat[caret - 1],\n newText[caret - 1]\n ]);\n return diff;\n }\n if (oldText.indexOf(newText) === 0 && (newText.length === 0 || oldFormat[newText.length - 1] !== oldFormat[newText.length])) {\n var deletedSymbol = '';\n for (i = newText.length; i < oldText.length; i++) {\n if (oldFormat[i] !== deletedSymbol && knownSymbols.indexOf(oldFormat[i]) >= 0) {\n deletedSymbol = oldFormat[i];\n diff.push([\n deletedSymbol,\n ''\n ]);\n }\n }\n return diff;\n }\n if (newText[newText.length - 1] === ' ' || newText[newText.length - 1] === oldTextSeparator) {\n return [[\n oldFormat[caret - 1],\n ' '\n ]];\n }\n if (newText.indexOf(oldText) === 0 || knownSymbols.indexOf(oldFormat[caret - 1]) === -1) {\n var symbol = oldFormat[0];\n for (i = Math.max(0, oldText.length - 1); i < oldFormat.length; i++) {\n if (knownSymbols.indexOf(oldFormat[i]) >= 0) {\n symbol = oldFormat[i];\n break;\n }\n }\n return [[\n symbol,\n newText[caret - 1]\n ]];\n }\n return [[\n oldFormat[caret - 1],\n newText[caret - 1]\n ]];\n }\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}