{"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","_inputWrapper","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","removeAttribute","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":";;;;;;;;;;;;;;;;;;;;;;;;CAwBC,SAAUA,EAAGC,QACVA,OAAO,mBAAoB,cAAeD,IAC5C,WAgyBE,MAxxBC,UAAUE,EAAGC,GAquBV,QAASC,GAA0BC,EAASC,EAAWC,EAASC,GAAhE,GAIQC,GACAC,EASIC,EAmBAC,EAhCJC,EAAmBR,EAAQG,EAAQH,EAAQS,OAASP,EAAQO,OAKhE,IAJAT,EAAUA,EAAQU,UAAU,EAAGP,EAAQH,EAAQS,OAASP,EAAQO,QAChEP,EAAUA,EAAQQ,UAAU,EAAGP,GAC3BC,KAEAJ,IAAYE,GAAWC,EAAQ,EAK/B,MAJAC,GAAKO,MACDV,EAAUE,EAAQ,GAClBD,EAAQC,EAAQ,KAEbC,CAEX,IAAiC,IAA7BJ,EAAQY,QAAQV,KAAsC,IAAnBA,EAAQO,QAAgBR,EAAUC,EAAQO,OAAS,KAAOR,EAAUC,EAAQO,SAAU,CAEzH,IADIH,EAAgB,GACfD,EAAIH,EAAQO,OAAQJ,EAAIL,EAAQS,OAAQJ,IACrCJ,EAAUI,KAAOC,GAAiBO,EAAaD,QAAQX,EAAUI,KAAO,IACxEC,EAAgBL,EAAUI,GAC1BD,EAAKO,MACDL,EACA,KAIZ,OAAOF,GAEX,GAAoC,MAAhCF,EAAQA,EAAQO,OAAS,IAAcP,EAAQA,EAAQO,OAAS,KAAOD,EACvE,QACQP,EAAUE,EAAQ,GAClB,KAGZ,IAAiC,IAA7BD,EAAQU,QAAQZ,IAAkBa,EAAaD,QAAQX,EAAUE,EAAQ,SAAY,CAErF,IADII,EAASN,EAAU,GAClBI,EAAIS,KAAKC,IAAI,EAAGf,EAAQS,OAAS,GAAIJ,EAAIJ,EAAUQ,OAAQJ,IAC5D,GAAIQ,EAAaD,QAAQX,EAAUI,KAAO,EAAG,CACzCE,EAASN,EAAUI,EACnB,OAGR,QACQE,EACAL,EAAQC,EAAQ,KAG5B,QACQF,EAAUE,EAAQ,GAClBD,EAAQC,EAAQ,KApxB/B,GAuWOa,GAtWAC,EAASC,OACTC,EAAQF,EAAOE,MACfhB,EAAQgB,EAAMhB,MACdiB,EAAKD,EAAMC,GACXC,EAASD,EAAGC,OACZC,EAAOH,EAAMG,KACbC,EAAK,kBACLC,EAAQ3B,EAAE2B,MACVC,KAAoBC,SACpBC,GAAoBR,EAAMS,QAAQC,oBAAsB,sCAAwC,SAAWN,EAC3GO,EAAgB,mBAChBC,EAAe,kBACfC,EAAe,kBACfC,EAAW,WACXC,EAAW,WACXC,EAAS,SACTtB,EAAe,aACfuB,EAAYf,EAAOgB,QACnBC,KAAM,SAAUC,EAASC,GAAnB,GAQEC,GAuBAC,EA9BAC,EAAOC,IACXvB,GAAOwB,GAAGP,KAAKQ,KAAKH,EAAMJ,EAASC,GACnCD,EAAUI,EAAKJ,QACfC,EAAUG,EAAKH,QACfA,EAAQO,OAAS5B,EAAM6B,eAAeR,EAAQO,QAAU5B,EAAM8B,WAAWT,EAAQU,SAASC,UAAUC,SAASC,SAASC,GACtHd,EAAQe,IAAMpC,EAAMqC,UAAUjB,EAAQkB,KAAK,SAAWtC,EAAMqC,UAAUhB,EAAQe,KAC9Ef,EAAQzB,IAAMI,EAAMqC,UAAUjB,EAAQkB,KAAK,SAAWtC,EAAMqC,UAAUhB,EAAQzB,KAC1E0B,GAAgBF,EAAQmB,SAASD,KAAK,UAAY,IAAI7C,QAAQ,kBAAoB,EAClF6B,EACAE,EAAKgB,QAAUpB,EAAQmB,UAEvBf,EAAKgB,QAAUpB,EAAQqB,KAAK,8CAAgDF,SAC5Ef,EAAKgB,QAAQE,SAAStB,EAAQ,GAAGuB,WACjCnB,EAAKgB,QAAQ,GAAGI,MAAMC,QAAUzB,EAAQ,GAAGwB,MAAMC,QACjDzB,EAAQ0B,KACJC,MAAO,OACPC,OAAQ5B,EAAQ,GAAGwB,MAAMI,UAGjCxB,EAAKyB,cAAgBvE,EAAE8C,EAAKgB,QAAQ,IACpC9D,EAAE,4CAA8CwE,YAAY9B,GAC5DI,EAAK2B,QACL3B,EAAKJ,QAAQsB,SAASpB,EAAe,IAAM,aAAagB,KAAK,eAAgB,OAAOc,GAAG,WAAahD,EAAI,WACpGoB,EAAK6B,WAET,KACIjC,EAAQ,GAAGkC,aAAa,OAAQ,QAClC,MAAOC,GACLnC,EAAQ,GAAGoC,KAAO,OAElBjC,EAAWH,EAAQqC,GAAG,eAAiB/E,EAAE8C,EAAKJ,SAASsC,QAAQ,YAAYD,GAAG,aAC9ElC,EACAC,EAAKmC,QAAO,GAEZnC,EAAKoC,SAASxC,EAAQqC,GAAG,eAE7BjC,EAAKqC,MAAMrC,EAAKH,QAAQwC,OAASzC,EAAQ0C,OACzC9D,EAAM+D,OAAOvC,IAEjBH,SACI2C,KAAM,YACNjC,QAAS,GACT8B,MAAO,GACPjC,OAAQ,GACRQ,IAAK,GAAI6B,MAAK,KAAM,EAAG,GACvBrE,IAAK,GAAIqE,MAAK,KAAM,GAAI,IACxBC,UACIC,KAAQ,OACRC,MAAS,QACTC,IAAO,MACPC,QAAW,kBACXC,KAAQ,QACRC,OAAU,UACVC,OAAU,UACVC,UAAa,UAGrBC,QAAS3D,GACToB,IAAK,SAAUyB,GACX,MAAIA,KAAUlF,EAGH8C,KAAKJ,QAAQe,KAFpBX,KAAKJ,QAAQe,IAAMyB,EAAnBpC,IAKR7B,IAAK,SAAUiE,GACX,MAAIA,KAAUlF,EAGH8C,KAAKJ,QAAQzB,KAFpB6B,KAAKJ,QAAQzB,IAAMiE,EAAnBpC,IAKRmD,WAAY,SAAUvD,GAClB,GAAIG,GAAOC,IACXvB,GAAOwB,GAAGkD,WAAWjD,KAAKH,EAAMH,GAChCI,KAAKoD,eACLpD,KAAKqD,aACLrD,KAAKsD,uBAETC,QAAS,WACL,GAAIxD,GAAOC,IACXD,GAAKJ,QAAQ6D,IAAI7E,GACboB,EAAK0D,cACL1D,EAAK0D,aAAaD,IAAI,QAASzD,EAAK2D,eAExCjF,EAAOwB,GAAGsD,QAAQrD,KAAKH,IAE3BqC,MAAO,SAAUA,GACb,MAAIA,KAAUlF,EACH8C,KAAK2D,UAAUC,iBAEZ,OAAVxB,IACAA,EAAQ,IAEuB,kBAA/BvD,EAAeqB,KAAKkC,KACpBA,EAAQ7D,EAAMqC,UAAUwB,EAAOpC,KAAKJ,QAAQO,OAAQH,KAAKJ,QAAQU,UAEjE8B,IAAUA,EAAMyB,YAChBzB,EAAQ,MAEZpC,KAAK2D,UAAY,GAAIvF,GAAegE,EAAOpC,KAAKJ,QAAQO,OAAQH,KAAKJ,QAAQU,QAASN,KAAKJ,QAAQ6C,UACnGzC,KAAKsD,sBACLtD,KAAK8D,UAAY1B,EAXjB,IAaJkB,oBAAqB,WACjB,GAAIS,GAAkB/D,KAAK2D,UAAUK,OAAOhE,KAAKJ,QAAQO,OAAQH,KAAKJ,QAAQU,QAASN,KAAKJ,QAAQ6C,SACpGzC,MAAKL,QAAQ0C,IAAI0B,EAAgB,IACjC/D,KAAKiE,SAAWF,EAAgB,GAChC/D,KAAKkE,QAAUH,EAAgB,IAEnC5B,SAAU,SAAUA,GAChBnC,KAAKmE,WACDhC,SAAUA,IAAajF,GAAmBiF,EAC1CiC,SAAS,KAGjBlC,OAAQ,SAAUA,GACdlC,KAAKmE,WACDhC,UAAU,EACViC,UAAWlC,EAASA,IAAWhF,GAAmBgF,MAG1DmB,WAAY,WACR,GAAItD,GAAOC,IACXD,GAAKJ,QAAQgC,GAAG,WAAahD,EAAI,WAC7BoB,EAAK6B,YACND,GAAG,QAAUhD,EAAIC,EAAMmB,EAAKsE,OAAQtE,IAAO4B,GAAG,UAAYhD,EAAIC,EAAMmB,EAAKuE,SAAUvE,IAAO4B,GAAG5C,EAAkBH,EAAMmB,EAAKwE,OAAQxE,IAAO4B,GAAG,UAAYhD,EAAIC,EAAMmB,EAAKyE,SAAUzE,IAAO4B,GAAG,iBAAmBhD,EAAK,cAAgBA,EAAIC,EAAMmB,EAAK0E,QAAS1E,KAElQqD,aAAc,WACVpD,KAAKL,QAAQ6D,IAAI,UAAY7E,GAAI6E,IAAI,QAAU7E,GAAI6E,IAAI,WAAa7E,GAAI6E,IAAIzE,GAAkByE,IAAI,UAAY7E,GAAI6E,IAAI,iBAAmB7E,EAAK,cAAgBA,IAElKwF,UAAW,SAAUvE,GAAV,GACHG,GAAOC,KACPL,EAAUI,EAAKJ,QACfyE,EAAUxE,EAAQwE,QAClBjC,EAAWvC,EAAQuC,SACnBpB,EAAUhB,EAAKgB,OACnBhB,GAAKqD,eACAjB,GAAaiC,GAQVA,IACArD,EAAQE,SAAS/B,GAAewF,YAAYvF,GAC5CQ,EAAQkB,KAAKxB,EAAU+E,GACnBzE,GAAWA,EAAQ9B,QACnB8B,EAAQ,GAAGgF,gBAAgBrF,IAG/B6C,GACAxC,EAAQkB,KAAKvB,EAAU6C,KAf3BpB,EAAQE,SAAS9B,GAAcuF,YAAYxF,GACvCS,GAAWA,EAAQ9B,SACnB8B,EAAQ,GAAGgF,gBAAgBtF,GAC3BM,EAAQ,GAAGgF,gBAAgBrF,IAE/BS,EAAKsD,eAcbzB,QAAS,WAAA,GACD7B,GAAOC,KACP4E,EAAW7E,EAAK+D,UAChB1B,EAAQrC,EAAKqC,OACbA,IAASrC,EAAKY,OAASyB,EAAQrC,EAAKY,QACpCZ,EAAKqC,MAAMrC,EAAKY,OAChByB,EAAQrC,EAAKqC,SAEbA,GAASrC,EAAK5B,OAASiE,EAAQrC,EAAK5B,QACpC4B,EAAKqC,MAAMrC,EAAK5B,OAChBiE,EAAQrC,EAAKqC,UAEbwC,GAAYxC,GAASA,EAAMyB,YAAce,EAASf,WAAae,IAAaxC,IAAUwC,GAAYxC,KAClGrC,EAAK+D,UAAY1B,EACjBrC,EAAK8E,QAAQtF,GACbQ,EAAKJ,QAAQkF,QAAQtF,KAG7BgF,OAAQ,WAAA,GAOA/G,GACAsH,EAESrH,EACDsH,EAQAC,EAOJC,EASAC,EAlCJnF,EAAOC,KACPL,EAAUI,EAAKJ,QAAQ,GACvBwF,GAAe,CACnB,IAAI5G,EAAM6G,mBAAqBzF,EAA/B,CAKA,GAFInC,EAAOL,EAA0B6C,KAAKiE,SAAUjE,KAAKkE,QAASlE,KAAKL,QAAQ,GAAGyC,MAAO7E,EAAMyC,KAAKL,QAAQ,IAAI,IAC5GmF,EAAiC,IAAhBtH,EAAKK,QAA+B,MAAfL,EAAK,GAAG,IAC7CsH,EACD,IAASrH,EAAI,EAAGA,EAAID,EAAKK,OAAQJ,IACzBsH,EAAQ/E,KAAK2D,UAAU0B,UAAU7H,EAAKC,GAAG,GAAID,EAAKC,GAAG,IACzD0H,EAAeA,IAAiBJ,CAGxC/E,MAAKsD,sBACD9F,EAAKK,QAAyB,MAAfL,EAAK,GAAG,KACvBwC,KAAKsF,eAAe9H,EAAK,GAAG,IACvBsH,IACGE,EAASxH,EAAK,GAAG,GACrB+H,WAAW,WACPxF,EAAKuF,eAAeN,OAI5BF,IACIG,GACAO,QAAS,GACTC,eAAgB,cAGpBzF,KAAKsE,SAASW,IAEdE,IACAO,aAAa3F,EAAK4F,sBACdT,EAAe9F,EACnBW,EAAKgB,QAAQE,SAAS7B,GACtBW,EAAK4F,qBAAuBJ,WAAW,WACnCxF,EAAKgB,QAAQ2D,YAAYQ,IAC1B,QAGXV,SAAU,WACN,GAAIoB,GAAYrI,EAAMyC,KAAKL,QAAQ,GAC/BiG,GAAU,KAAOA,EAAU,IAC3B5F,KAAK6F,yBAGbpB,QAAS,SAAU3C,GACf,GAAIvD,EAAM6G,mBAAqBpF,KAAKL,QAAQ,KAAMK,KAAKL,QAAQqC,GAAG,cAAlE,CAGAF,EAAIxD,OAAOwH,OAAShE,CACpB,IAAImD,IACAO,QAAS,GACTC,eAAgB,aAIhBR,GAASO,QADT1D,EAAEiE,UACkBjE,EAAEkE,aAAelE,EAAEmE,QAAU,EAAI,GAAK,IAEtCnE,EAAEkE,aAAelE,EAAEmE,QAAU,EAAI,GAAK,GAE9DjG,KAAKsE,SAASW,GACdnD,EAAEoE,aAAc,EACZpE,EAAE2D,gBACF3D,EAAE2D,iBAEF3D,EAAEqE,iBACFrE,EAAEqE,oBAGVzE,MAAO,WAAA,GACC3B,GAAOC,KACPL,EAAUI,EAAKJ,QACfyG,EAASzG,EAAQkB,KAAK,QACtBwF,EAAOD,EAASnJ,EAAE,IAAMmJ,GAAUzG,EAAQ2G,QAAQ,OAClDD,GAAK,KACLtG,EAAK2D,cAAgB,WACjB6B,WAAW,WACPxF,EAAKqC,MAAMzC,EAAQ,GAAGyC,UAG9BrC,EAAK0D,aAAe4C,EAAK1E,GAAG,QAAS5B,EAAK2D,iBAGlDW,OAAQ,SAAUvC,GACdA,EAAE2D,kBAENnB,SAAU,SAAUxC,GAAV,GAEF8D,GAOIW,EACAC,EAYA7I,EASA8I,EAEI1G,EAhCR2G,EAAM5E,EAAE0D,OAEZ,IAAW,IAAPkB,GAAoB,IAAPA,EAQb,IAPA5E,EAAE2D,iBACFG,EAAYrI,EAAMyC,KAAKL,QAAQ,IAC3BiG,EAAU,IAAMA,EAAU,IAC1B5F,KAAK6F,wBAELU,EAAa,IAAPG,KAAiB,EACvBF,EAAQD,MAAYhJ,EAAMyC,KAAKL,QAAQ,IAAI,GAAK,EAAIpC,EAAMyC,KAAKL,QAAQ,IAAI,GAAK,EAC7E6G,GAAS,GAAKA,EAAQxG,KAAKkE,QAAQrG,QAAQ,CAC9C,GAAII,EAAaD,QAAQgC,KAAKkE,QAAQsC,KAAW,EAAG,CAChDxG,KAAKsF,eAAetF,KAAKkE,QAAQsC,GACjC,OAEJA,GAASD,EAGN,IAAPG,GAAoB,IAAPA,IACb5E,EAAE2D,iBACFG,EAAYrI,EAAMyC,KAAKL,QAAQ,IAC3BhC,EAASqC,KAAKkE,QAAQ0B,EAAU,IAChC3H,EAAaD,QAAQL,IAAW,IAChCqC,KAAK2D,UAAUgD,WAAWhJ,EAAe,IAAP+I,EAAY,MAC9C1G,KAAKsD,sBACLtD,KAAKsF,eAAe3H,GACpBqC,KAAKL,QAAQkF,QAAQtF,KAGzBhB,EAAMS,QAAQ4H,QAAQC,MAAQtI,EAAMS,QAAQ4H,QAAQE,QAAU,KAC1DL,EAAU3E,EAAE0D,QAAU1D,EAAE0D,QAAU1D,EAAEiF,MACxB,IAAZN,GAA6B,KAAZA,IACb1G,EAAOC,KACXuF,WAAW,WACPxF,EAAKwE,UACN,KAGPmC,IAAQhI,EAAKsI,OACbhH,KAAK4B,WAGbiE,sBAAuB,WAAA,GAGVpI,GAAWwJ,EAFhBrB,EAAYrI,EAAMyC,KAAKL,QAAQ,IAC/BuH,EAAQtB,EAAU,EACtB,KAASnI,EAAIyJ,EAAOD,EAAIC,EAAQ,EAAGzJ,EAAIuC,KAAKkE,QAAQrG,QAAUoJ,GAAK,EAAGxJ,IAAKwJ,IAAK,CAC5E,GAAIxJ,EAAIuC,KAAKkE,QAAQrG,QAAUI,EAAaD,QAAQgC,KAAKkE,QAAQzG,SAE7D,MADAuC,MAAKsF,eAAetF,KAAKkE,QAAQzG,IACjC,CAEJ,IAAIwJ,GAAK,GAAKhJ,EAAaD,QAAQgC,KAAKkE,QAAQ+C,SAE5C,MADAjH,MAAKsF,eAAetF,KAAKkE,QAAQ+C,IACjC,IAIZ3B,eAAgB,SAAU3H,GAAV,GAEHF,GADL0J,KAAYC,EAAM,CACtB,KAAS3J,EAAI,EAAGA,EAAIuC,KAAKkE,QAAQrG,OAAQJ,IACjCuC,KAAKkE,QAAQzG,KAAOE,IACpByJ,EAAM3J,EAAI,EACN0J,SACAA,EAAQ1J,GAIhB0J,GAAQ,IACRA,EAAQ,GAEZ5J,EAAMyC,KAAKL,QAASwH,EAAOC,KAGnC5I,GAAG6I,OAAO7H,GACNpB,EAAiB,SAAUkJ,EAAUC,EAAYC,EAAaC,GAa9D,QAASC,GAAIC,EAAQC,EAAQR,GAIzB,MAHAO,IAAkB,GAClBC,EAASA,GAAU,EACnBR,EAAMQ,EAASD,EAAO9J,OAClBuJ,EACOS,EAAMD,GAAQ9J,UAAU,EAAGsJ,GAAOO,EAEtCA,EAgHX,QAASG,GAAgBC,GAErB,MADAC,GAAgBD,EACTE,EAEX,QAASC,GAAYvK,EAAQ0E,GACzB,OAAQ1E,GACR,IAAK,IACD+E,EAAOL,CACP,MACJ,KAAK,IACDM,EAAQN,EACHA,IACDD,EAAM+F,SAAS,GACfC,EAAiB,GAErB,MACJ,KAAK,IACDC,EAAOhG,CACP,MACJ,KAAK,IACL,IAAK,IACDiG,EAAQjG,EACHA,IACDkG,EAAqB,GAEzB,MACJ,KAAK,IACDC,EAAUnG,CACV,MACJ,KAAK,IACDoG,EAAUpG,CACV,MACJ,SACI,QArKS,GAsXTqG,GACKjL,EAtXT2E,EAAQ,KACRM,GAAO,EAAMC,GAAQ,EAAM0F,GAAO,EAAMC,GAAQ,EAAME,GAAU,EAAMC,GAAU,EAAME,GAAe,EACrGP,EAAiB,GACjBG,EAAqB,GACrBK,KACAf,GACA,GACA,IACA,KACA,MACA,QAWAgB,EAAmB,gGACnBC,EAAS,KAAMC,EAAW,KAAMC,EAAO,KAAMhB,GAAgB,EAC7DC,EAAU,SAAUgB,GAAV,GACNC,GAAMC,EACNC,EA2FIC,EAOK5L,CAjGb,QAAQwL,GACR,IAAK,IACDG,EAASf,EAAOjG,EAAMkH,UAAYV,EAAahG,GAC/C,MACJ,KAAK,KACDwG,EAASf,EAAOX,EAAItF,EAAMkH,WAAaV,EAAahG,GACpD,MACJ,KAAK,MACDwG,EAASf,GAAQ1F,GAASD,EAAOsG,EAAKO,UAAUnH,EAAMoH,UAAYZ,EAAa/F,OAC/E,MACJ,KAAK,OACDuG,EAASf,GAAQ1F,GAASD,EAAOsG,EAAKS,MAAMrH,EAAMoH,UAAYZ,EAAa/F,OAC3E,MACJ,KAAK,IACDuG,EAASzG,EAAQP,EAAMsH,WAAa,EAAId,EAAajG,KACrD,MACJ,KAAK,KACDyG,EAASzG,EAAQ+E,EAAItF,EAAMsH,WAAa,GAAKd,EAAajG,KAC1D,MACJ,KAAK,MACDyG,EAASzG,EAAQmG,EAAOS,UAAUnH,EAAMsH,YAAcd,EAAajG,KACnE,MACJ,KAAK,OACDyG,EAASzG,EAAQmG,EAAOW,MAAMrH,EAAMsH,YAAcd,EAAajG,KAC/D,MACJ,KAAK,KACDyG,EAAS1G,EAAOgF,EAAItF,EAAMuH,cAAgB,KAAOf,EAAalG,IAC9D,MACJ,KAAK,OACD0G,EAAS1G,EAAOgF,EAAItF,EAAMuH,cAAe,GAAKf,EAAalG,IAC3D,MACJ,KAAK,IACD0G,EAASd,EAAQlG,EAAMwH,WAAa,IAAM,GAAKhB,EAAa9F,IAC5D,MACJ,KAAK,KACDsG,EAASd,EAAQZ,EAAItF,EAAMwH,WAAa,IAAM,IAAMhB,EAAa9F,IACjE,MACJ,KAAK,IACDsG,EAASd,EAAQlG,EAAMwH,WAAahB,EAAa9F,IACjD,MACJ,KAAK,KACDsG,EAASd,EAAQZ,EAAItF,EAAMwH,YAAchB,EAAa9F,IACtD,MACJ,KAAK,IACDsG,EAASZ,EAAUpG,EAAMyH,aAAejB,EAAa7F,MACrD,MACJ,KAAK,KACDqG,EAASZ,EAAUd,EAAItF,EAAMyH,cAAgBjB,EAAa7F,MAC1D,MACJ,KAAK,IACDqG,EAASX,EAAUrG,EAAM0H,aAAelB,EAAa5F,MACrD,MACJ,KAAK,KACDoG,EAASX,EAAUf,EAAItF,EAAM0H,cAAgBlB,EAAa5F,MAC1D,MACJ,KAAK,IACDoG,EAAST,EAAezK,KAAK6L,MAAM3H,EAAM4H,kBAAoB,KAAOrB,CACpE,MACJ,KAAK,KACDS,EAAShH,EAAM4H,kBACXZ,EAAS,KACTA,EAASlL,KAAK6L,MAAMX,EAAS,KAEjCA,EAAST,EAAejB,EAAI0B,GAAUH,CACtC,MACJ,KAAK,MACDG,EAAST,EAAejB,EAAItF,EAAM4H,kBAAmB,GAAKf,CAC1D,MACJ,KAAK,KACDG,EAASd,EAAQlG,EAAMwH,WAAa,GAAKb,EAASkB,GAAG,GAAKlB,EAASmB,GAAG,GAAKtB,EAAa3F,SACxF,MACJ,KAAK,MACDiG,EAAO9G,EAAM+H,oBACbhB,EAAOD,EAAO,EACdE,GAASlL,GAAAA,KAAKkM,IAAIlB,EAAO,KAAemB,MAAM,KAAK,GACnDnB,EAAOhL,KAAKkM,IAAIlB,GAAiB,GAATE,EACxBA,GAAUD,EAAO,IAAM,KAAOzB,EAAI0B,GAClCA,GAAU,IAAM1B,EAAIwB,EACpB,MACJ,KAAK,IACL,IAAK,KACDE,EAAShH,EAAM+H,oBAAsB,GACrChB,EAAOC,EAAS,EAChBA,GAASlL,GAAAA,KAAKkM,IAAIhB,IAAmBiB,MAAM,KAAK,GAChDjB,GAAUD,EAAO,IAAM,MAAkB,OAAVF,EAAiBvB,EAAI0B,GAAUA,GAIlE,GADAA,EAASA,IAAWlM,EAAYkM,EAASH,EAAMqB,MAAM,EAAGrB,EAAMpL,OAAS,GACnEmK,EAAe,CASf,IARAoB,EAAS,GAAKA,EACVC,EAAe,GACN,OAATJ,IACAA,EAAQ,OAEC,QAATA,IACAA,EAAQ,QAEHxL,EAAI,EAAGA,EAAI2L,EAAOvL,OAAQJ,IAC/B4L,GAAgBJ,EAAM,EAE1B,OAAOI,GAEP,MAAOD,GAmPf,IA5MApJ,KAAKuK,SAAW,SAAUlI,GACtBgG,EAAOhG,GAEXrC,KAAKwK,SAAW,WACZ,MAAOnC,IAEXrI,KAAK2G,WAAa,SAAUhJ,EAAQ8M,GAAlB,GAONC,GANJC,EAAW,GAAInI,MAAKJ,GAASA,EAAMyB,QAAUzB,EAAMyB,UAAYzB,EACnE,QAAQzE,GACR,IAAK,IACDgN,EAASC,YAAYD,EAAShB,cAAgBc,EAC9C,MACJ,KAAK,IACGC,EAAWC,EAASjB,WAAae,EACrCE,EAASxC,SAASuC,GACdC,EAASjB,WAAa,MAAQgB,EAAW,IAAM,KAC/CC,EAASE,QAAQ,GACjBF,EAASxC,SAASuC,GAEtB,MACJ,KAAK,IACL,IAAK,IACDC,EAASE,QAAQF,EAASrB,UAAYmB,EACtC,MACJ,KAAK,IACL,IAAK,IACDE,EAASG,SAASH,EAASf,WAAaa,EACxC,MACJ,KAAK,IACDE,EAASI,WAAWJ,EAASd,aAAeY,EAC5C,MACJ,KAAK,IACDE,EAASK,WAAWL,EAASb,aAAeW,EAC5C,MACJ,KAAK,IACDE,EAASG,UAAUH,EAASf,WAAa,IAAM,IAK/Ce,EAAShB,cAAgB,IACzBzB,EAAYvK,GAAQ,GACpByE,EAAQuI,IAGhB3K,KAAKqF,UAAY,SAAU1H,EAAQsN,GAAlB,GAKTN,GACAO,EAGIC,EAkBAT,EAgBIU,EAGS3N,EAcb4N,EAqCAC,EAWAC,CA3GR,KAAKN,EAED,MADA/C,GAAYvK,GAAQ,IACb,CAIX,QAFIgN,EAAW,GAAInI,MAAKJ,GAASA,EAAMyB,QAAUzB,EAAMyB,UAAYzB,GAE3DzE,GACR,IAAK,IAED,GADIwN,GAAW9C,EAA4B,GAArBsC,EAASrB,UAAiB,GAAKkC,SAASP,EAAa,IACvEQ,MAAMN,GACN,MAEJ,MAAOA,EAAU,IACbA,EAAUK,UAASL,GAAAA,GAAmBb,MAAM,GAAI,GAEpD,IAAIa,EAAU,EACV9C,GAAO,MACJ,CAEH,GADAsC,EAASE,QAAQM,GACbR,EAASjB,aAAetH,EAAMsH,WAC9B,MAEJrB,IAAO,EAEX,KACJ,KAAK,IAED,GADIqC,GAAY/H,EAAoC,IAA3BgI,EAASjB,WAAa,GAAU,GAAK8B,SAASP,EAAa,IAC/EQ,MAAMf,GAcJ,CAGH,IAFIU,EAAarC,EAASD,OAAOW,MACjCrB,GAAkB6C,EAAYS,cACvBtD,EAAevK,OAAS,GAAG,CAC9B,IAASJ,EAAI,EAAGA,EAAI2N,EAAWvN,OAAQJ,IACnC,GAA4D,IAAxD2N,EAAW3N,GAAGiO,cAAc1N,QAAQoK,GAIpC,MAHAuC,GAASxC,SAAS1K,GAClBkF,GAAQ,EACRP,EAAQuI,GACD,CAGfvC,GAAiBA,EAAetK,UAAU,EAAGsK,EAAevK,QAEhE,OAAO,EA3BP,KAAO6M,EAAW,IACdA,EAAWc,UAASd,GAAAA,GAAoBJ,MAAM,GAAI,GAElDI,GAAW,EACX/H,GAAQ,GAERgI,EAASxC,SAASuC,EAAW,GACzBC,EAASjB,aAAegB,EAAW,IACnCC,EAASE,QAAQ,GACjBF,EAASxC,SAASuC,EAAW,IAEjC/H,GAAQ,EAkBhB,MACJ,KAAK,IAED,GADI0I,GAAW3I,EAAgC,GAAzBiI,EAAShB,cAAqB,GAAK6B,SAASP,EAAa,IAC3EQ,MAAMJ,GACN,MAEJ,MAAOA,EAAU,MACbA,EAAUG,UAASH,GAAAA,GAAmBf,MAAM,GAAI,GAEhDe,GAAU,EACV3I,GAAO,GAEPiI,EAASC,YAAYS,GACrB3I,GAAO,EAEX,MACJ,KAAK,IAED,GADAwI,GAAY5C,EAA2C,IAAlCqC,EAASf,WAAa,IAAM,IAAW,GAAK4B,SAASP,EAAa,IACnFQ,MAAMP,GACN,MAEJ,MAAOA,EAAW,IACdA,EAAWM,UAASN,GAAAA,GAAoBZ,MAAM,GAAI,GAEtDK,GAASG,SAAgD,GAAvC5M,KAAK6L,MAAMY,EAASf,WAAa,IAAWsB,EAAW,IACzE5C,GAAQ,CACR,MACJ,KAAK,IAED,GADA4C,GAAY5C,EAA8B,GAAtBqC,EAASf,WAAkB,GAAK4B,SAASP,EAAa,IACtEQ,MAAMP,GACN,MAEJ,MAAOA,EAAW,IACdA,EAAWM,UAASN,GAAAA,GAAoBZ,MAAM,GAAI,GAEtDK,GAASG,SAASI,GAClB5C,GAAQ,CACR,MACJ,KAAK,IAED,GADIgD,GAAc9C,EAAkC,GAAxBmC,EAASd,aAAoB,GAAK2B,SAASP,EAAa,IAChFQ,MAAMH,GACN,MAEJ,MAAOA,EAAa,IAChBA,EAAaE,UAASF,GAAAA,GAAsBhB,MAAM,GAAI,GAE1DK,GAASI,WAAWO,GACpB9C,GAAU,CACV,MACJ,KAAK,IAED,GADI+C,GAAc9C,EAAkC,GAAxBkC,EAASb,aAAoB,GAAK0B,SAASP,EAAa,IAChFQ,MAAMF,GACN,MAEJ,MAAOA,EAAa,IAChBA,EAAaC,UAASD,GAAAA,GAAsBjB,MAAM,GAAI,GAE1DK,GAASK,WAAWO,GACpB9C,GAAU,CACV,MACJ,KAAK,IACD,GAAIH,EAAO,CAEP,IADAC,GAAsB0C,EAAYS,cAC3BnD,EAAmB1K,OAAS,GAAG,CAClC,GAAiE,IAA7DkL,EAASkB,GAAG,GAAGyB,cAAc1N,QAAQuK,IAA6BoC,EAASf,YAAc,IAAmE,IAA7Db,EAASmB,GAAG,GAAGwB,cAAc1N,QAAQuK,IAA6BoC,EAASf,WAAa,GAGvL,MAFAe,GAASG,UAAUH,EAASf,WAAa,IAAM,IAC/CxH,EAAQuI,GACD,CAEXpC,GAAqBA,EAAmBzK,UAAU,EAAGyK,EAAmB1K,QAE5E,OAAO,GAOf,MADAuE,GAAQuI,GACD,GAEX3K,KAAKgE,OAAS,SAAU7D,EAAQG,EAASmC,GACrC,MAAKtC,IAMLG,EAAU/B,EAAM8B,WAAWC,GAC3ByI,EAAWzI,EAAQC,UAAUC,SAC7BL,EAAS4I,EAAStI,SAASN,IAAWA,EACtC6I,EAAOD,EAASC,KAChBF,EAASC,EAASD,OAClBF,EAAenG,GAEXtC,EAAOwL,QAAQ9C,EAAkBf,GAAgB,IACjD3H,EAAOwL,QAAQ9C,EAAkBf,GAAgB,OAZ7C,GACA,KAcZ9H,KAAK4D,cAAgB,WACjB,MAAOlB,IAAQC,GAAS0F,GAAQC,GAASE,GAAWC,GAAWE,EAAe,GAAInG,MAAKJ,EAAMyB,WAAa,MAEzGyD,EAODlF,EAAQ,GAAII,MAAK8E,EAASzD,eAJ1B,KAFAzB,EAAQ,GAAII,MACRkG,EAAe1I,KAAKgE,OAAOuD,EAAYC,EAAaC,GAAc,GAC7DhK,EAAI,EAAGA,EAAIiL,EAAa7K,OAAQJ,IACrCyK,EAAYQ,EAAajL,IAAI,KAwD3Ca,OAAOC,MAAMqN,QACRtN,OAAOC,OACE,kBAAVvB,SAAwBA,OAAO6O,IAAM7O,OAAS,SAAU8O,EAAIC,EAAIC,IACrEA,GAAMD","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 that._inputWrapper = $(that.wrapper[0]);\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('focusout' + ns, function () {\n that._change();\n }).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('focusout' + 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 if (element && element.length) {\n element[0].removeAttribute(DISABLED);\n element[0].removeAttribute(READONLY);\n }\n that._bindInput();\n } else {\n if (disable) {\n wrapper.addClass(STATEDISABLED).removeClass(STATEDEFAULT);\n element.attr(DISABLED, disable);\n if (element && element.length) {\n element[0].removeAttribute(READONLY);\n }\n }\n if (readonly) {\n element.attr(READONLY, readonly);\n }\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 this.element.trigger(CHANGE);\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}));"]}