{"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","_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('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 _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}));"]}