diff --git a/bower.json b/bower.json index f1bc987..12416b8 100644 --- a/bower.json +++ b/bower.json @@ -37,8 +37,8 @@ ], "dependencies": { "jquery": ">= 1.7.2", - "jquery-mousewheel": ">= 3.1.13", - "date-functions": "~0.0.1" + "jquery-mousewheel": ">= 3.1.13", + "php-date-formatter": ">= 1.3.3" }, "authors": [ { diff --git a/build/jquery.datetimepicker.full.js b/build/jquery.datetimepicker.full.js index 9c154be..609ffc6 100644 --- a/build/jquery.datetimepicker.full.js +++ b/build/jquery.datetimepicker.full.js @@ -1,3 +1,580 @@ +/*! + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 + * @version 1.3.3 + * + * Date formatter utility library that allows formatting date/time variables or Date objects using PHP DateTime format. + * @see http://php.net/manual/en/function.date.php + * + * For more JQuery plugins visit http://plugins.krajee.com + * For more Yii related demos visit http://demos.krajee.com + */ +var DateFormatter; +(function () { + "use strict"; + + var _compare, _lpad, _extend, defaultSettings, DAY, HOUR; + DAY = 1000 * 60 * 60 * 24; + HOUR = 3600; + + _compare = function (str1, str2) { + return typeof(str1) === 'string' && typeof(str2) === 'string' && str1.toLowerCase() === str2.toLowerCase(); + }; + _lpad = function (value, length, char) { + var chr = char || '0', val = value.toString(); + return val.length < length ? _lpad(chr + val, length) : val; + }; + _extend = function (out) { + var i, obj; + out = out || {}; + for (i = 1; i < arguments.length; i++) { + obj = arguments[i]; + if (!obj) { + continue; + } + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if (typeof obj[key] === 'object') { + _extend(out[key], obj[key]); + } else { + out[key] = obj[key]; + } + } + } + } + return out; + }; + defaultSettings = { + dateSettings: { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', 'February', 'March', 'April', 'May', 'June', 'July', + 'August', 'September', 'October', 'November', 'December' + ], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + meridiem: ['AM', 'PM'], + ordinal: function (number) { + var n = number % 10, suffixes = {1: 'st', 2: 'nd', 3: 'rd'}; + return Math.floor(number % 100 / 10) === 1 || !suffixes[n] ? 'th' : suffixes[n]; + } + }, + separators: /[ \-+\/\.T:@]/g, + validParts: /[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g, + intParts: /[djwNzmnyYhHgGis]/g, + tzParts: /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, + tzClip: /[^-+\dA-Z]/g + }; + + DateFormatter = function (options) { + var self = this, config = _extend(defaultSettings, options); + self.dateSettings = config.dateSettings; + self.separators = config.separators; + self.validParts = config.validParts; + self.intParts = config.intParts; + self.tzParts = config.tzParts; + self.tzClip = config.tzClip; + }; + + DateFormatter.prototype = { + constructor: DateFormatter, + parseDate: function (vDate, vFormat) { + var self = this, vFormatParts, vDateParts, i, vDateFlag = false, vTimeFlag = false, vDatePart, iDatePart, + vSettings = self.dateSettings, vMonth, vMeriIndex, vMeriOffset, len, mer, + out = {date: null, year: null, month: null, day: null, hour: 0, min: 0, sec: 0}; + if (!vDate) { + return undefined; + } + if (vDate instanceof Date) { + return vDate; + } + if (typeof vDate === 'number') { + return new Date(vDate); + } + if (vFormat === 'U') { + i = parseInt(vDate); + return i ? new Date(i * 1000) : vDate; + } + if (typeof vDate !== 'string') { + return ''; + } + vFormatParts = vFormat.match(self.validParts); + if (!vFormatParts || vFormatParts.length === 0) { + throw new Error("Invalid date format definition."); + } + vDateParts = vDate.replace(self.separators, '\0').split('\0'); + for (i = 0; i < vDateParts.length; i++) { + vDatePart = vDateParts[i]; + iDatePart = parseInt(vDatePart); + switch (vFormatParts[i]) { + case 'y': + case 'Y': + len = vDatePart.length; + if (len === 2) { + out.year = parseInt((iDatePart < 70 ? '20' : '19') + vDatePart); + } else if (len === 4) { + out.year = iDatePart; + } + vDateFlag = true; + break; + case 'm': + case 'n': + case 'M': + case 'F': + if (isNaN(vDatePart)) { + vMonth = vSettings.monthsShort.indexOf(vDatePart); + if (vMonth > -1) { + out.month = vMonth + 1; + } + vMonth = vSettings.months.indexOf(vDatePart); + if (vMonth > -1) { + out.month = vMonth + 1; + } + } else { + if (iDatePart >= 1 && iDatePart <= 12) { + out.month = iDatePart; + } + } + vDateFlag = true; + break; + case 'd': + case 'j': + if (iDatePart >= 1 && iDatePart <= 31) { + out.day = iDatePart; + } + vDateFlag = true; + break; + case 'g': + case 'h': + vMeriIndex = (vFormatParts.indexOf('a') > -1) ? vFormatParts.indexOf('a') : + (vFormatParts.indexOf('A') > -1) ? vFormatParts.indexOf('A') : -1; + mer = vDateParts[vMeriIndex]; + if (vMeriIndex > -1) { + vMeriOffset = _compare(mer, vSettings.meridiem[0]) ? 0 : + (_compare(mer, vSettings.meridiem[1]) ? 12 : -1); + if (iDatePart >= 1 && iDatePart <= 12 && vMeriOffset > -1) { + out.hour = iDatePart + vMeriOffset - 1; + } else if (iDatePart >= 0 && iDatePart <= 23) { + out.hour = iDatePart; + } + } else if (iDatePart >= 0 && iDatePart <= 23) { + out.hour = iDatePart; + } + vTimeFlag = true; + break; + case 'G': + case 'H': + if (iDatePart >= 0 && iDatePart <= 23) { + out.hour = iDatePart; + } + vTimeFlag = true; + break; + case 'i': + if (iDatePart >= 0 && iDatePart <= 59) { + out.min = iDatePart; + } + vTimeFlag = true; + break; + case 's': + if (iDatePart >= 0 && iDatePart <= 59) { + out.sec = iDatePart; + } + vTimeFlag = true; + break; + } + } + if (vDateFlag === true && out.year && out.month && out.day) { + out.date = new Date(out.year, out.month - 1, out.day, out.hour, out.min, out.sec, 0); + } else { + if (vTimeFlag !== true) { + return false; + } + out.date = new Date(0, 0, 0, out.hour, out.min, out.sec, 0); + } + return out.date; + }, + guessDate: function (vDateStr, vFormat) { + if (typeof vDateStr !== 'string') { + return vDateStr; + } + var self = this, vParts = vDateStr.replace(self.separators, '\0').split('\0'), vPattern = /^[djmn]/g, + vFormatParts = vFormat.match(self.validParts), vDate = new Date(), vDigit = 0, vYear, i, iPart, iSec; + + if (!vPattern.test(vFormatParts[0])) { + return vDateStr; + } + + for (i = 0; i < vParts.length; i++) { + vDigit = 2; + iPart = vParts[i]; + iSec = parseInt(iPart.substr(0, 2)); + switch (i) { + case 0: + if (vFormatParts[0] === 'm' || vFormatParts[0] === 'n') { + vDate.setMonth(iSec - 1); + } else { + vDate.setDate(iSec); + } + break; + case 1: + if (vFormatParts[0] === 'm' || vFormatParts[0] === 'n') { + vDate.setDate(iSec); + } else { + vDate.setMonth(iSec - 1); + } + break; + case 2: + vYear = vDate.getFullYear(); + if (iPart.length < 4) { + vDate.setFullYear(parseInt(vYear.toString().substr(0, 4 - iPart.length) + iPart)); + vDigit = iPart.length; + } else { + vDate.setFullYear = parseInt(iPart.substr(0, 4)); + vDigit = 4; + } + break; + case 3: + vDate.setHours(iSec); + break; + case 4: + vDate.setMinutes(iSec); + break; + case 5: + vDate.setSeconds(iSec); + break; + } + if (iPart.substr(vDigit).length > 0) { + vParts.splice(i + 1, 0, iPart.substr(vDigit)); + } + } + return vDate; + }, + parseFormat: function (vChar, vDate) { + var self = this, vSettings = self.dateSettings, fmt, backspace = /\\?(.?)/gi, doFormat = function (t, s) { + return fmt[t] ? fmt[t]() : s; + }; + fmt = { + ///////// + // DAY // + ///////// + /** + * Day of month with leading 0: `01..31` + * @return {string} + */ + d: function () { + return _lpad(fmt.j(), 2); + }, + /** + * Shorthand day name: `Mon...Sun` + * @return {string} + */ + D: function () { + return vSettings.daysShort[fmt.w()]; + }, + /** + * Day of month: `1..31` + * @return {number} + */ + j: function () { + return vDate.getDate(); + }, + /** + * Full day name: `Monday...Sunday` + * @return {number} + */ + l: function () { + return vSettings.days[fmt.w()]; + }, + /** + * ISO-8601 day of week: `1[Mon]..7[Sun]` + * @return {number} + */ + N: function () { + return fmt.w() || 7; + }, + /** + * Day of week: `0[Sun]..6[Sat]` + * @return {number} + */ + w: function () { + return vDate.getDay(); + }, + /** + * Day of year: `0..365` + * @return {number} + */ + z: function () { + var a = new Date(fmt.Y(), fmt.n() - 1, fmt.j()), b = new Date(fmt.Y(), 0, 1); + return Math.round((a - b) / DAY); + }, + + ////////// + // WEEK // + ////////// + /** + * ISO-8601 week number + * @return {number} + */ + W: function () { + var a = new Date(fmt.Y(), fmt.n() - 1, fmt.j() - fmt.N() + 3), b = new Date(a.getFullYear(), 0, 4); + return _lpad(1 + Math.round((a - b) / DAY / 7), 2); + }, + + /////////// + // MONTH // + /////////// + /** + * Full month name: `January...December` + * @return {string} + */ + F: function () { + return vSettings.months[vDate.getMonth()]; + }, + /** + * Month w/leading 0: `01..12` + * @return {string} + */ + m: function () { + return _lpad(fmt.n(), 2); + }, + /** + * Shorthand month name; `Jan...Dec` + * @return {string} + */ + M: function () { + return vSettings.monthsShort[vDate.getMonth()]; + }, + /** + * Month: `1...12` + * @return {number} + */ + n: function () { + return vDate.getMonth() + 1; + }, + /** + * Days in month: `28...31` + * @return {number} + */ + t: function () { + return (new Date(fmt.Y(), fmt.n(), 0)).getDate(); + }, + + ////////// + // YEAR // + ////////// + /** + * Is leap year? `0 or 1` + * @return {number} + */ + L: function () { + var Y = fmt.Y(); + return (Y % 4 === 0 && Y % 100 !== 0 || Y % 400 === 0) ? 1 : 0; + }, + /** + * ISO-8601 year + * @return {number} + */ + o: function () { + var n = fmt.n(), W = fmt.W(), Y = fmt.Y(); + return Y + (n === 12 && W < 9 ? 1 : n === 1 && W > 9 ? -1 : 0); + }, + /** + * Full year: `e.g. 1980...2010` + * @return {number} + */ + Y: function () { + return vDate.getFullYear(); + }, + /** + * Last two digits of year: `00...99` + * @return {string} + */ + y: function () { + return fmt.Y().toString().slice(-2); + }, + + ////////// + // TIME // + ////////// + /** + * Meridian lower: `am or pm` + * @return {string} + */ + a: function () { + return fmt.A().toLowerCase(); + }, + /** + * Meridian upper: `AM or PM` + * @return {string} + */ + A: function () { + var n = fmt.G() < 12 ? 0 : 1; + return vSettings.meridiem[n]; + }, + /** + * Swatch Internet time: `000..999` + * @return {string} + */ + B: function () { + var H = vDate.getUTCHours() * HOUR, i = vDate.getUTCMinutes() * 60, s = vDate.getUTCSeconds(); + return _lpad(Math.floor((H + i + s + HOUR) / 86.4) % 1000, 3); + }, + /** + * 12-Hours: `1..12` + * @return {number} + */ + g: function () { + return fmt.G() % 12 || 12; + }, + /** + * 24-Hours: `0..23` + * @return {number} + */ + G: function () { + return vDate.getHours(); + }, + /** + * 12-Hours with leading 0: `01..12` + * @return {string} + */ + h: function () { + return _lpad(fmt.g(), 2); + }, + /** + * 24-Hours w/leading 0: `00..23` + * @return {string} + */ + H: function () { + return _lpad(fmt.G(), 2); + }, + /** + * Minutes w/leading 0: `00..59` + * @return {string} + */ + i: function () { + return _lpad(vDate.getMinutes(), 2); + }, + /** + * Seconds w/leading 0: `00..59` + * @return {string} + */ + s: function () { + return _lpad(vDate.getSeconds(), 2); + }, + /** + * Microseconds: `000000-999000` + * @return {string} + */ + u: function () { + return _lpad(vDate.getMilliseconds() * 1000, 6); + }, + + ////////////// + // TIMEZONE // + ////////////// + /** + * Timezone identifier: `e.g. Atlantic/Azores, ...` + * @return {string} + */ + e: function () { + var str = /\((.*)\)/.exec(String(vDate))[1]; + return str || 'Coordinated Universal Time'; + }, + /** + * Timezone abbreviation: `e.g. EST, MDT, ...` + * @return {string} + */ + T: function () { + var str = (String(vDate).match(self.tzParts) || [""]).pop().replace(self.tzClip, ""); + return str || 'UTC'; + }, + /** + * DST observed? `0 or 1` + * @return {number} + */ + I: function () { + var a = new Date(fmt.Y(), 0), c = Date.UTC(fmt.Y(), 0), + b = new Date(fmt.Y(), 6), d = Date.UTC(fmt.Y(), 6); + return ((a - c) !== (b - d)) ? 1 : 0; + }, + /** + * Difference to GMT in hour format: `e.g. +0200` + * @return {string} + */ + O: function () { + var tzo = vDate.getTimezoneOffset(), a = Math.abs(tzo); + return (tzo > 0 ? '-' : '+') + _lpad(Math.floor(a / 60) * 100 + a % 60, 4); + }, + /** + * Difference to GMT with colon: `e.g. +02:00` + * @return {string} + */ + P: function () { + var O = fmt.O(); + return (O.substr(0, 3) + ':' + O.substr(3, 2)); + }, + /** + * Timezone offset in seconds: `-43200...50400` + * @return {number} + */ + Z: function () { + return -vDate.getTimezoneOffset() * 60; + }, + + //////////////////// + // FULL DATE TIME // + //////////////////// + /** + * ISO-8601 date + * @return {string} + */ + c: function () { + return 'Y-m-d\\TH:i:sP'.replace(backspace, doFormat); + }, + /** + * RFC 2822 date + * @return {string} + */ + r: function () { + return 'D, d M Y H:i:s O'.replace(backspace, doFormat); + }, + /** + * Seconds since UNIX epoch + * @return {number} + */ + U: function () { + return vDate.getTime() / 1000 || 0; + } + }; + return doFormat(vChar, vChar); + }, + formatDate: function (vDate, vFormat) { + var self = this, i, n, len, str, vChar, vDateStr = ''; + if (typeof vDate === 'string') { + vDate = self.parseDate(vDate, vFormat); + if (vDate === false) { + return false; + } + } + if (vDate instanceof Date) { + len = vFormat.length; + for (i = 0; i < len; i++) { + vChar = vFormat.charAt(i); + if (vChar === 'S') { + continue; + } + str = self.parseFormat(vChar, vDate); + if (i !== (len - 1) && self.intParts.test(vChar) && vFormat.charAt(i + 1) === 'S') { + n = parseInt(str); + str += self.dateSettings.ordinal(n); + } + vDateStr += str; + } + return vDateStr; + } + return ''; + } + }; +})();/* global DateFormatter */ /** * @preserve jQuery DateTimePicker plugin v2.4.5 * @homepage http://xdsoft.net/jqplugins/datetimepicker/ @@ -493,17 +1070,28 @@ ], dayOfWeek: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"] }, - kg: { // Kyrgyz - months: [ - 'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы' - ], - dayOfWeekShort: [ - "Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише" - ], + kg: { // Kyrgyz + months: [ + 'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы' + ], + dayOfWeekShort: [ + "Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише" + ], dayOfWeek: [ - "Жекшемб", "Дүйшөмб", "Шейшемб", "Шаршемб", "Бейшемби", "Жума", "Ишенб" - ] - } + "Жекшемб", "Дүйшөмб", "Шейшемб", "Шаршемб", "Бейшемби", "Жума", "Ишенб" + ] + }, + rm: { // Romansh + months: [ + "Schaner", "Favrer", "Mars", "Avrigl", "Matg", "Zercladur", "Fanadur", "Avust", "Settember", "October", "November", "December" + ], + dayOfWeekShort: [ + "Du", "Gli", "Ma", "Me", "Gie", "Ve", "So" + ], + dayOfWeek: [ + "Dumengia", "Glindesdi", "Mardi", "Mesemna", "Gievgia", "Venderdi", "Sonda" + ] + }, }, value: '', rtl: false, @@ -593,17 +1181,51 @@ showApplyButton: false }; - var globalLocaleDefault = 'en', + var dateHelper = null, + globalLocaleDefault = 'en', globalLocale = 'en'; + + var dateFormatterOptionsDefault = { + meridiem: ['AM', 'PM'] + }; + + var initDateFormatter = function(){ + var locale = default_options.i18n[globalLocale], + opts = { + days: locale.dayOfWeek, + daysShort: locale.dayOfWeekShort, + months: locale.months, + monthsShort: $.map(locale.months, function(n){ return n.substring(0, 3) }), + }; + + dateHelper = new DateFormatter({ + dateSettings: $.extend({}, dateFormatterOptionsDefault, opts) + }); + }; + // for locale settings $.datetimepicker = { setLocale: function(locale){ - globalLocale = default_options.i18n[locale]?locale:globalLocaleDefault; - // Override Parse and Format Library entities - Date.monthNames = default_options.i18n[globalLocale].months; - Date.dayNames = default_options.i18n[globalLocale].dayOfWeek; - } + var newLocale = default_options.i18n[locale]?locale:globalLocaleDefault; + if(globalLocale != newLocale){ + globalLocale = newLocale; + // reinit date formatter + initDateFormatter(); + } + }, + RFC_2822: 'D, d M Y H:i:s O', + ATOM: 'Y-m-d\TH:i:sP', + ISO_8601: 'Y-m-d\TH:i:sO', + RFC_822: 'D, d M y H:i:s O', + RFC_850: 'l, d-M-y H:i:s T', + RFC_1036: 'D, d M y H:i:s O', + RFC_1123: 'D, d M Y H:i:s O', + RSS: 'D, d M Y H:i:s O', + W3C: 'Y-m-d\TH:i:sP' }; + + // first init date formatter + initDateFormatter(); // fix for ie8 if (!window.getComputedStyle) { @@ -700,12 +1322,12 @@ startTopScroll = parseInt(scroller.css('margin-top'), 10); h1 = scrollbar[0].offsetHeight; - if (event.type === 'mousedown') { + if (event.type === 'mousedown' || event.type === 'touchstart') { if (document) { $(document.body).addClass('xdsoft_noselect'); } - $([document.body, window]).on('mouseup.xdsoft_scroller', function arguments_callee() { - $([document.body, window]).off('mouseup.xdsoft_scroller', arguments_callee) + $([document.body, window]).on('touchend mouseup.xdsoft_scroller', function arguments_callee() { + $([document.body, window]).off('touchend mouseup.xdsoft_scroller', arguments_callee) .off('mousemove.xdsoft_scroller', calcOffset) .removeClass('xdsoft_noselect'); }); @@ -823,7 +1445,7 @@ lazyInit = function (input) { input - .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function initOnActionCallback(event) { + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function initOnActionCallback(event) { if (input.is(':disabled') || input.data('xdsoft_datetimepicker')) { return; } @@ -834,7 +1456,7 @@ createDateTimePicker(input); } input - .off('open.xdsoft focusin.xdsoft mousedown.xdsoft', initOnActionCallback) + .off('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', initOnActionCallback) .trigger('open.xdsoft'); }, 100); }); @@ -893,7 +1515,7 @@ mounth_picker .find('.xdsoft_month,.xdsoft_year') - .on('mousedown.xdsoft', function (event) { + .on('touchstart mousedown.xdsoft', function (event) { var select = $(this).find('.xdsoft_select').eq(0), val = 0, top = 0, @@ -925,12 +1547,11 @@ mounth_picker .find('.xdsoft_select') .xdsoftScroller() - .on('mousedown.xdsoft', function (event) { + .on('touchstart mousedown.xdsoft', function (event) { event.stopPropagation(); event.preventDefault(); }) - .on('mousedown.xdsoft', '.xdsoft_option', function (event) { - + .on('touchstart mousedown.xdsoft', '.xdsoft_option', function (event) { if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); } @@ -1009,8 +1630,8 @@ $.each(_options.highlightedDates, function (index, value) { var splitData = $.map(value.split(','), $.trim), exDesc, - hDate = new HighlightedDate(Date.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style - keyDate = hDate.date.dateFormat(options.formatDate); + hDate = new HighlightedDate(dateHelper.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style + keyDate = dateHelper.formatDate(hDate.date, options.formatDate); if (highlightedDates[keyDate] !== undefined) { exDesc = highlightedDates[keyDate].desc; if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { @@ -1042,15 +1663,15 @@ } else { var splitData = $.map(value.split(','), $.trim); - dateTest = Date.parseDate(splitData[0], options.formatDate); - dateEnd = Date.parseDate(splitData[1], options.formatDate); + dateTest = dateHelper.parseDate(splitData[0], options.formatDate); + dateEnd = dateHelper.parseDate(splitData[1], options.formatDate); desc = splitData[2]; style = splitData[3]; } while (dateTest <= dateEnd) { hDate = new HighlightedDate(dateTest, desc, style); - keyDate = dateTest.dateFormat(options.formatDate); + keyDate = dateHelper.formatDate(dateTest, options.formatDate); dateTest.setDate(dateTest.getDate() + 1); if (highlightedDates[keyDate] !== undefined) { exDesc = highlightedDates[keyDate].desc; @@ -1119,11 +1740,11 @@ } if (options.minDate && /^[\+\-](.*)$/.test(options.minDate)) { - options.minDate = _xdsoft_datetime.strToDateTime(options.minDate).dateFormat(options.formatDate); + options.minDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.minDate), options.formatDate); } if (options.maxDate && /^[\+\-](.*)$/.test(options.maxDate)) { - options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate); + options.maxDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.maxDate), options.formatDate); } applyButton.toggle(options.showApplyButton); @@ -1157,6 +1778,7 @@ if ($.type(options.mask) === 'string') { if (!isValidValue(options.mask, input.val())) { input.val(options.mask.replace(/[0-9]/g, '_')); + setCaretPos(input[0], 0); } input.on('keydown.xdsoft', function (event) { @@ -1219,7 +1841,7 @@ if (options.allowBlank && !$.trim($(this).val()).length) { $(this).val(null); datetimepicker.data('xdsoft_datetime').empty(); - } else if (!Date.parseDate($(this).val(), options.format)) { + } else if (!dateHelper.parseDate($(this).val(), options.format)) { var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')), splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join('')); @@ -1229,7 +1851,7 @@ return item > 9 ? item : '0' + item; }).join(':')); } else { - $(this).val((_xdsoft_datetime.now()).dateFormat(options.format)); + $(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format)); } datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); @@ -1249,7 +1871,7 @@ datetimepicker .data('options', options) - .on('mousedown.xdsoft', function (event) { + .on('touchstart mousedown.xdsoft', function (event) { event.stopPropagation(); event.preventDefault(); yearselect.hide(); @@ -1402,13 +2024,13 @@ tmpDate = /^(\+|\-)(.*)$/.exec(sDateTime); if (tmpDate) { - tmpDate[2] = Date.parseDate(tmpDate[2], options.formatDate); + tmpDate[2] = dateHelper.parseDate(tmpDate[2], options.formatDate); } if (tmpDate && tmpDate[2]) { timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000; currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset); } else { - currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now(); + currentTime = sDateTime ? dateHelper.parseDate(sDateTime, options.format) : _this.now(); } if (!_this.isValidDate(currentTime)) { @@ -1423,7 +2045,7 @@ return sDate; } - var currentTime = sDate ? Date.parseDate(sDate, options.formatDate) : _this.now(true); + var currentTime = sDate ? dateHelper.parseDate(sDate, options.formatDate) : _this.now(true); if (!_this.isValidDate(currentTime)) { currentTime = _this.now(true); } @@ -1434,7 +2056,7 @@ if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) { return sTime; } - var currentTime = sTime ? Date.parseDate(sTime, options.formatTime) : _this.now(true); + var currentTime = sTime ? dateHelper.parseDate(sTime, options.formatTime) : _this.now(true); if (!_this.isValidDate(currentTime)) { currentTime = _this.now(true); } @@ -1442,14 +2064,14 @@ }; _this.str = function () { - return _this.currentTime.dateFormat(options.format); + return dateHelper.formatDate(_this.currentTime, options.format); }; _this.currentTime = this.now(); }; _xdsoft_datetime = new XDSoft_datetime(); - applyButton.on('click', function (e) {//pathbrite + applyButton.on('touchend click', function (e) {//pathbrite e.preventDefault(); datetimepicker.data('changed', true); _xdsoft_datetime.setCurrentTime(getCurrentValue()); @@ -1458,7 +2080,7 @@ }); mounth_picker .find('.xdsoft_today_button') - .on('mousedown.xdsoft', function () { + .on('touchend mousedown.xdsoft', function () { datetimepicker.data('changed', true); _xdsoft_datetime.setCurrentTime(0); datetimepicker.trigger('afterOpen.xdsoft'); @@ -1481,7 +2103,7 @@ }); mounth_picker .find('.xdsoft_prev,.xdsoft_next') - .on('mousedown.xdsoft', function () { + .on('touchend mousedown.xdsoft', function () { var $this = $(this), timer = 0, stop = false; @@ -1499,16 +2121,16 @@ } }(500)); - $([document.body, window]).on('mouseup.xdsoft', function arguments_callee2() { + $([document.body, window]).on('touchend mouseup.xdsoft', function arguments_callee2() { clearTimeout(timer); stop = true; - $([document.body, window]).off('mouseup.xdsoft', arguments_callee2); + $([document.body, window]).off('touchend mouseup.xdsoft', arguments_callee2); }); }); timepicker .find('.xdsoft_prev,.xdsoft_next') - .on('mousedown.xdsoft', function () { + .on('touchend mousedown.xdsoft', function () { var $this = $(this), timer = 0, stop = false, @@ -1528,11 +2150,11 @@ timer = setTimeout(arguments_callee4, v || period); } }(500)); - $([document.body, window]).on('mouseup.xdsoft', function arguments_callee5() { + $([document.body, window]).on('touchend mouseup.xdsoft', function arguments_callee5() { clearTimeout(timer); stop = true; $([document.body, window]) - .off('mouseup.xdsoft', arguments_callee5); + .off('touchend mouseup.xdsoft', arguments_callee5); }); }); @@ -1616,7 +2238,7 @@ if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) { classes.push('xdsoft_disabled'); - } else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) { + } else if (options.disabledDates.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) { classes.push('xdsoft_disabled'); } else if (options.disabledWeekDays.indexOf(day) !== -1) { classes.push('xdsoft_disabled'); @@ -1630,20 +2252,20 @@ classes.push('xdsoft_other_month'); } - if ((options.defaultSelect || datetimepicker.data('changed')) && _xdsoft_datetime.currentTime.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + if ((options.defaultSelect || datetimepicker.data('changed')) && dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) { classes.push('xdsoft_current'); } - if (today.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + if (dateHelper.formatDate(today, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) { classes.push('xdsoft_today'); } - if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) !== -1) { + if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) { classes.push('xdsoft_weekend'); } - if (options.highlightedDates[start.dateFormat(options.formatDate)] !== undefined) { - hDate = options.highlightedDates[start.dateFormat(options.formatDate)]; + if (options.highlightedDates[dateHelper.formatDate(start, options.formatDate)] !== undefined) { + hDate = options.highlightedDates[dateHelper.formatDate(start, options.formatDate)]; classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style); description = hDate.desc === undefined ? '' : hDate.desc; } @@ -1682,7 +2304,7 @@ time = ''; h = ''; m = ''; - + line_time = function line_time(h, m) { var now = _xdsoft_datetime.now(), optionDateTime, current_time, isALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length; @@ -1703,7 +2325,7 @@ current_time = new Date(_xdsoft_datetime.currentTime); current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10)); - + if (!isALlowTimesInit) { current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step); } @@ -1718,7 +2340,7 @@ if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) { classes.push('xdsoft_today'); } - time += '
' + now.dateFormat(options.formatTime) + '
'; + time += '
' + dateHelper.formatDate(now, options.formatTime) + '
'; }; if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) { @@ -1781,7 +2403,7 @@ timerclick = 0; calendar - .on('click.xdsoft', 'td', function (xdevent) { + .on('touchend click.xdsoft', 'td', function (xdevent) { xdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap timerclick += 1; var $this = $(this), @@ -1821,7 +2443,7 @@ }); timebox - .on('click.xdsoft', 'div', function (xdevent) { + .on('touchend click.xdsoft', 'div', function (xdevent) { xdevent.stopPropagation(); var $this = $(this), currentTime = _xdsoft_datetime.currentTime; @@ -1915,7 +2537,7 @@ current_time_index = 0; setPos = function () { - var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute", node; + var offset = datetimepicker.data('input').offset(), datetimepickerelement = datetimepicker.data('input')[0], top = offset.top + datetimepickerelement.offsetHeight - 1, left = offset.left, position = "absolute", node; if (datetimepicker.data('input').parent().css('direction') == 'rtl') left -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth()); if (options.fixed) { @@ -1923,14 +2545,14 @@ left -= $(window).scrollLeft(); position = "fixed"; } else { - if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) { - top = offset.top - datetimepicker[0].offsetHeight + 1; + if (top + datetimepickerelement.offsetHeight > $(window).height() + $(window).scrollTop()) { + top = offset.top - datetimepickerelement.offsetHeight + 1; } if (top < 0) { top = 0; } - if (left + datetimepicker[0].offsetWidth > $(window).width()) { - left = $(window).width() - datetimepicker[0].offsetWidth; + if (left + datetimepickerelement.offsetWidth > $(window).width()) { + left = $(window).width() - datetimepickerelement.offsetWidth; } } @@ -1962,9 +2584,9 @@ .on('resize.xdsoft', setPos); if (options.closeOnWithoutClick) { - $([document.body, window]).on('mousedown.xdsoft', function arguments_callee6() { + $([document.body, window]).on('touchstart mousedown.xdsoft', function arguments_callee6() { datetimepicker.trigger('close.xdsoft'); - $([document.body, window]).off('mousedown.xdsoft', arguments_callee6); + $([document.body, window]).off('touchstart mousedown.xdsoft', arguments_callee6); }); } } @@ -2030,7 +2652,7 @@ input .data('xdsoft_datetimepicker', datetimepicker) - .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function (event) { + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function (event) { if (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) { return; } @@ -2050,7 +2672,7 @@ var val = this.value, elementSelector, key = event.which; if ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) { - elementSelector = $("input:visible,textarea:visible"); + elementSelector = $("input:visible,textarea:visible,button:visible,a:visible"); datetimepicker.trigger('close.xdsoft'); elementSelector.eq(elementSelector.index(this) + 1).focus(); return false; @@ -2070,7 +2692,7 @@ .data('xdsoft_datetimepicker', null) .off('.xdsoft'); $(window).off('resize.xdsoft'); - $([window, document.body]).off('mousedown.xdsoft'); + $([window, document.body]).off('mousedown.xdsoft touchstart'); if (input.unmousewheel) { input.unmousewheel(); } @@ -2108,7 +2730,7 @@ break; case 'reset': this.value = this.defaultValue; - if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(Date.parseDate(this.value, options.format))) { + if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(dateHelper.parseDate(this.value, options.format))) { datetimepicker.data('changed', false); } datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value); @@ -2364,394 +2986,3 @@ } })); -/* - * Copyright (C) 2004 Baron Schwartz - * Modified by Jonathan Gotti aka malko - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, version 2.1. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - */ -/* jshint laxbreak:true*/ -!(function (factory) { - if ( typeof define === 'function' && define.amd ) { - define([], factory); - } else if (typeof exports === 'object') { - module.exports = factory; - } else { - factory(); - } -}(function(){ - "use strict"; - var parseFunctions = {}; - var parseRegexes = []; - var formatFunctions = {}; - var charFormatters = { - d: function(date) { return stringLeftPad(date.getDate(), 2, '0'); }, - D: function(date) { return Date.dayNames[date.getDay()].substring(0, 3); }, - j: function(date) { return date.getDate(); }, - l: function(date) { return Date.dayNames[date.getDay()]; }, - S: function(date) { return date.getSuffix(); }, - w: function(date) { return date.getDay(); }, - z: function(date) { return date.getDayOfYear(); }, - W: function(date) { return date.getWeekOfYear(); }, - F: function(date) { return Date.monthNames[date.getMonth()]; }, - m: function(date) { return stringLeftPad(date.getMonth() + 1, 2, '0'); }, - M: function(date) { return Date.monthNames[date.getMonth()].substring(0, 3); }, - n: function(date) { return (date.getMonth() + 1); }, - t: function(date) { return date.getDaysInMonth(); }, - L: function(date) { return (date.isLeapYear() ? 1 : 0); }, - Y: function(date) { return date.getFullYear(); }, - y: function(date) { return ('' + date.getFullYear()).substring(2, 4); }, - a: function(date) { return (date.getHours() < 12 ? 'am' : 'pm'); }, - A: function(date) { return (date.getHours() < 12 ? 'AM' : 'PM'); }, - g: function(date) { return ((date.getHours() %12) ? date.getHours() % 12 : 12); }, - G: function(date) { return date.getHours(); }, - h: function(date) { return stringLeftPad((date.getHours() %12) ? date.getHours() % 12 : 12, 2, '0'); }, - H: function(date) { return stringLeftPad(date.getHours(), 2, '0'); }, - i: function(date) { return stringLeftPad(date.getMinutes(), 2, '0'); }, - s: function(date) { return stringLeftPad(date.getSeconds(), 2, '0'); }, - O: function(date) { return date.getGMTOffset(); }, - T: function(date) { return date.getTimezone(); }, - Z: function(date) { return (date.getTimezoneOffset() * -60); } - }; - - Date.prototype.dateFormat = function(format) { - formatFunctions[format] || createNewFormat(format); - return formatFunctions[format](this); - }; - - function createNewFormat(format) { - var formatters = []; - var special = false; - var ch = ''; - for (var i = 0; i < format.length; ++i) { - ch = format.charAt(i); - if (!special && ch === "\\") { - special = true; - } else if (special) { - special = false; - formatters.push(stringEscape(ch)); - } else { - formatters.push(charFormatters[ch] || stringEscape(ch)); - } - } - formatFunctions[format] = getFormatter(formatters); - } - - function getFormatter(formatters) { - return function(date) { - var res = []; - for (var i=0, l=formatters.length; i < l; i++) { - res.push(typeof formatters[i] === 'string' ? formatters[i] : formatters[i](date)); - } - return res.join(''); - }; - } - - Date.parseDate = function(input, format) { - parseFunctions[format] || createParser(format); - return parseFunctions[format](input); - }; - - function getParser(format, regexNum, assigns) { - return function(input){ - var d = new Date(); - var results = input.match(parseRegexes[regexNum]); - if (results && results.length > 0) { - results.y = d.getFullYear(); - results.m = d.getMonth(); - results.d = d.getDate(); - results.h = -1; - results.i = -1; - results.s = -1; - for ( var i = 0, l = assigns.length; i < l; i++) { - assigns[i](results); - } - if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0 && results.i >= 0 && results.s >= 0){ - return new Date(results.y, results.m, results.d, results.h, results.i, results.s); - } else if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0 && results.i >= 0) { - return new Date(results.y, results.m, results.d, results.h, results.i); - } else if (results.y > 0 && results.m >= 0 && results.d > 0 && results.h >= 0) { - return new Date(results.y, results.m, results.d, results.h); - } else if (results.y > 0 && results.m >= 0 && results.d > 0) { - return new Date(results.y, results.m, results.d); - } else if (results.y > 0 && results.m >= 0) { - return new Date(results.y, results.m); - } else if (results.y > 0) { - return new Date(results.y); - } - } - return null; - }; - } - - function createParser(format) { - var regexNum = parseRegexes.length; - var currentGroup = 1; - var regex = ""; - var special = false; - var ch = ''; - var assigns=[]; - var obj; - for (var i = 0; i < format.length; ++i) { - ch = format.charAt(i); - if (!special && ch === "\\") { - special = true; - } else if (special) { - special = false; - regex += stringEscape(ch); - } else { - obj = formatCodeToRegex(ch, currentGroup); - currentGroup += obj.g; - regex += obj.s; - if (obj.g && obj.a) { - assigns.push(obj.a); - } - } - } - - parseRegexes[regexNum] = new RegExp("^" + regex + "$"); - parseFunctions[format] = getParser(format, regexNum, assigns); - } - - function formatCodeToRegex(character, currentGroup) { - switch (character) { - case "D": - return {g:0, - s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"}; - case "j": - case "d": - return {g:1, - a: function(results){ results.d = parseInt(results[currentGroup], 10);}, - s:"(\\d{1,2})" - }; - case "l": - return {g:0, - s:"(?:" + Date.dayNames.join("|") + ")"}; - case "S": - return {g:0, - s:"(?:st|nd|rd|th)"}; - case "w": - return {g:0, - s:"\\d"}; - case "z": - return {g:0, - s:"(?:\\d{1,3})"}; - case "W": - return {g:0, - s:"(?:\\d{2})"}; - case "F": - return {g:1, - a: function(results) { results.m = parseInt(Date.monthNumbers[results[currentGroup].substring(0, 3)], 10);}, - s:"(" + Date.monthNames.join("|") + ")"}; - case "M": - return {g:1, - a: function(results) { results.m = parseInt(Date.monthNumbers[results[currentGroup]], 10);}, - s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"}; - case "n": - case "m": - return {g:1, - a: function(results) { results.m = parseInt(results[currentGroup], 10) - 1;}, - s:"(\\d{1,2})"}; - case "t": - return {g:0, - s:"\\d{1,2}"}; - case "L": - return {g:0, - s:"(?:1|0)"}; - case "Y": - return {g:1, - a: function(results) { results.y = parseInt(results[currentGroup], 10);}, - s:"(\\d{4})"}; - case "y": - return {g:1, - a: function(results) { - var ty = parseInt(results[currentGroup], 10); - results.y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty; - }, - s:"(\\d{1,2})"}; - case "a": - return {g:1, - a: function(results) { - if (results[currentGroup] === 'am') { - if (results.h == 12) { results.h = 0; } - } else { - if (results.h < 12) { results.h += 12; } - } - }, - s:"(am|pm)"}; - case "A": - return {g:1, - a: function(results){ - if (results[currentGroup] === 'AM') { - if (results.h == 12) { results.h = 0; } - } else { - if (results.h < 12) { results.h += 12; } - } - }, - s:"(AM|PM)"}; - case "g": - case "G": - case "h": - case "H": - return {g:1, - a: function(results) {results.h = parseInt(results[currentGroup], 10);}, - s:"(\\d{1,2})"}; - case "i": - return {g:1, - a: function(results) {results.i = parseInt(results[currentGroup], 10);}, - s:"(\\d{2})"}; - case "s": - return {g:1, - a: function(results) {results.s = parseInt(results[currentGroup], 10);}, - s:"(\\d{2})"}; - case "O": - return {g:0, - s:"[+-]\\d{4}"}; - case "T": - return {g:0, - s:"[A-Z]{3}"}; - case "Z": - return {g:0, - s:"[+-]\\d{1,5}"}; - default: - return {g:0, - s:stringEscape(character)}; - } - } - - Date.prototype.getTimezone = function() { - return this.toString().replace( - /^.*? ([A-Z]{3}) [0-9]{4}.*$/, "$1").replace( - /^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/, "$1$2$3"); - }; - - Date.prototype.getGMTOffset = function() { - return (this.getTimezoneOffset() > 0 ? "-" : "+") - + stringLeftPad(Math.floor(this.getTimezoneOffset() / 60), 2, "0") - + stringLeftPad(this.getTimezoneOffset() % 60, 2, "0"); - }; - - Date.prototype.getDayOfYear = function() { - var num = 0; - Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; - for (var i = 0; i < this.getMonth(); ++i) { - num += Date.daysInMonth[i]; - } - return num + this.getDate() - 1; - }; - - Date.prototype.getWeekOfYear = function() { - // Skip to Thursday of this week - var now = this.getDayOfYear() + (4 - this.getDay()); - // Find the first Thursday of the year - var jan1 = new Date(this.getFullYear(), 0, 1); - var then = (7 - jan1.getDay() + 4); - return stringLeftPad(((now - then) / 7) + 1, 2, "0"); - }; - - Date.prototype.isLeapYear = function() { - var year = this.getFullYear(); - return !!((year & 3) === 0 && (year % 100 || (year % 400 === 0 && year))); - }; - - Date.prototype.getFirstDayOfMonth = function() { - var day = (this.getDay() - (this.getDate() - 1)) % 7; - return (day < 0) ? (day + 7) : day; - }; - - Date.prototype.getLastDayOfMonth = function() { - var day = (this.getDay() + (Date.daysInMonth[this.getMonth()] - this.getDate())) % 7; - return (day < 0) ? (day + 7) : day; - }; - - Date.prototype.getDaysInMonth = function() { - Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; - return Date.daysInMonth[this.getMonth()]; - }; - - Date.prototype.getSuffix = function() { - switch (this.getDate()) { - case 1: - case 21: - case 31: - return "st"; - case 2: - case 22: - return "nd"; - case 3: - case 23: - return "rd"; - default: - return "th"; - } - }; - - function stringEscape(string) { - return string.replace(/('|\\)/g, "\\$1"); - } - - function stringLeftPad(val, size, ch) { - var result = "" + val; - ch = ("" + ch) || " "; - while (result.length < size) { - result = ch + result; - } - return result; - } - - Date.daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31]; - Date.monthNames = - ["January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"]; - Date.dayNames = - ["Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday"]; - Date.y2kYear = 50; - Date.monthNumbers = { - Jan:0, - Feb:1, - Mar:2, - Apr:3, - May:4, - Jun:5, - Jul:6, - Aug:7, - Sep:8, - Oct:9, - Nov:10, - Dec:11}; - Date.patterns = { - ISO8601LongPattern:"Y-m-d H:i:s", - ISO8601ShortPattern:"Y-m-d", - ShortDatePattern: "n/j/Y", - LongDatePattern: "l, F d, Y", - FullDateTimePattern: "l, F d, Y g:i:s A", - MonthDayPattern: "F d", - ShortTimePattern: "g:i A", - LongTimePattern: "g:i:s A", - SortableDateTimePattern: "Y-m-d\\TH:i:s", - UniversalSortableDateTimePattern: "Y-m-d H:i:sO", - YearMonthPattern: "F, Y"}; -})); diff --git a/build/jquery.datetimepicker.full.min.js b/build/jquery.datetimepicker.full.min.js index 8313423..633d0a8 100644 --- a/build/jquery.datetimepicker.full.min.js +++ b/build/jquery.datetimepicker.full.min.js @@ -1,3 +1,2 @@ -!function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel","date-functions"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},n="en",r="en";e.datetimepicker={setLocale:function(e){r=a.i18n[e]?e:n,Date.monthNames=a.i18n[r].months,Date.dayNames=a.i18n[r].dayOfWeek}},window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,n;for(a=t||0,n=this.length;n>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,n,r,o,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,h=0,m=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),n=s[0].clientHeight,r=a[0].offsetHeight,o=e('
'),i=e('
'),o.append(i),s.addClass("xdsoft_scroller_box").append(o),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>h&&(t=h-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){n||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),h=o[0].offsetHeight,"mousedown"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("mouseup.xdsoft_scroller",function r(){e([document.body,window]).off("mouseup.xdsoft_scroller",r).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(m=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){m&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){m=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){n||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-n)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;n=s[0].clientHeight,r=a[0].offsetHeight,l=n/r,f=l*o[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=o[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(r-n)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(r-n)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),c=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-l.y))/(r-n)])}}),s.on("touchend touchcancel",function(){l=!1,c=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(n){var o,i,s=48,d=57,u=96,l=105,f=17,c=46,h=13,m=27,g=8,p=37,y=38,D=39,v=40,b=9,x=116,k=65,T=67,S=86,M=90,O=89,w=!1,_=e.isPlainObject(n)||!n?e.extend(!0,{},a,n):e.extend(!0,{},a),W=0,F=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(W),W=setTimeout(function(){e.data("xdsoft_datetimepicker")||o(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft",t).trigger("open.xdsoft")},100))})};return o=function(a){function o(){var e,t=!1;return _.startDate?t=C.strToDate(_.startDate):(t=_.value||(a&&a.val&&a.val()?a.val():""),t?t=C.strToDateTime(t):_.defaultDate&&(t=C.strToDateTime(_.defaultDate),_.defaultTime&&(e=C.strtotime(_.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&C.isValidDate(t)?Y.data("changed",!0):t="",t||0}var i,W,F,A,P,C,Y=e('
'),j=e(''),J=e('
'),z=e('
'),H=e('
'),I=e('
'),N=I.find(".xdsoft_time_box").eq(0),L=e('
'),E=e(''),B=e('
'),V=e('
'),R=!1,q=0,G=0;_.id&&Y.attr("id",_.id),_.style&&Y.attr("style",_.style),_.weeks&&Y.addClass("xdsoft_showweeks"),_.rtl&&Y.addClass("xdsoft_rtl"),Y.addClass("xdsoft_"+_.theme),Y.addClass(_.className),z.find(".xdsoft_month span").after(B),z.find(".xdsoft_year span").after(V),z.find(".xdsoft_month,.xdsoft_year").on("mousedown.xdsoft",function(t){var a,n,r=e(this).find(".xdsoft_select").eq(0),o=0,i=0,s=r.is(":visible");for(z.find(".xdsoft_select").hide(),C.currentTime&&(o=C.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),r[s?"hide":"show"](),a=r.find("div.xdsoft_option"),n=0;n=o;)d=new t(o,s,f),u=o.dateFormat(_.formatDate),o.setDate(o.getDate()+1),void 0!==r[u]?(l=r[u].desc,l&&l.length&&d.desc&&d.desc.length&&(r[u].desc=l+"\n"+d.desc)):r[u]=d}),_.highlightedDates=e.extend(!0,[],r)),n.disabledDates&&e.isArray(n.disabledDates)&&n.disabledDates.length&&(_.disabledDates=e.extend(!0,[],n.disabledDates)),n.disabledWeekDays&&e.isArray(n.disabledWeekDays)&&n.disabledWeekDays.length&&(_.disabledWeekDays=e.extend(!0,[],n.disabledWeekDays)),!_.open&&!_.opened||_.inline||a.trigger("open.xdsoft"),_.inline&&(R=!0,Y.addClass("xdsoft_inline"),a.after(Y).hide()),_.inverseButton&&(_.next="xdsoft_prev",_.prev="xdsoft_next"),_.datepicker?J.addClass("active"):J.removeClass("active"),_.timepicker?I.addClass("active"):I.removeClass("active"),_.value&&(C.setCurrentTime(_.value),a&&a.val&&a.val(C.str)),_.dayOfWeekStart=isNaN(_.dayOfWeekStart)?0:parseInt(_.dayOfWeekStart,10)%7,_.timepickerScrollbar||N.xdsoftScroller("hide"),_.minDate&&/^[\+\-](.*)$/.test(_.minDate)&&(_.minDate=C.strToDateTime(_.minDate).dateFormat(_.formatDate)),_.maxDate&&/^[\+\-](.*)$/.test(_.maxDate)&&(_.maxDate=C.strToDateTime(_.maxDate).dateFormat(_.formatDate)),E.toggle(_.showApplyButton),z.find(".xdsoft_today_button").css("visibility",_.todayButton?"visible":"hidden"),z.find("."+_.prev).css("visibility",_.prevButton?"visible":"hidden"),z.find("."+_.next).css("visibility",_.nextButton?"visible":"hidden"),_.mask&&(a.off("keydown.xdsoft"),_.mask===!0&&(_.mask=_.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===e.type(_.mask)&&(W(_.mask,a.val())||a.val(_.mask.replace(/[0-9]/g,"_")),a.on("keydown.xdsoft",function(t){var n,r,F=this.value,A=t.which;if(A>=s&&d>=A||A>=u&&l>=A||A===g||A===c){for(n=o(this),r=A!==g&&A!==c?String.fromCharCode(A>=u&&l>=A?A-s:A):"_",A!==g&&A!==c||!n||(n-=1,r="_");/[^0-9_]/.test(_.mask.substr(n,1))&&n<_.mask.length&&n>0;)n+=A===g||A===c?-1:1;if(F=F.substr(0,n)+r+F.substr(n+1),""===e.trim(F))F=_.mask.replace(/[0-9]/g,"_");else if(n===_.mask.length)return t.preventDefault(),!1;for(n+=A===g||A===c?0:1;/[^0-9_]/.test(_.mask.substr(n,1))&&n<_.mask.length&&n>0;)n+=A===g||A===c?-1:1;W(_.mask,F)?(this.value=F,i(this,n)):""===e.trim(F)?this.value=_.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[k,T,S,M,O].indexOf(A)&&w||-1!==[m,y,v,p,D,x,f,b,h].indexOf(A))return!0;return t.preventDefault(),!1}))),_.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(_.allowBlank&&!e.trim(e(this).val()).length)e(this).val(null),Y.data("xdsoft_datetime").empty();else if(Date.parseDate(e(this).val(),_.format))Y.data("xdsoft_datetime").setCurrentTime(e(this).val());else{var t=+[e(this).val()[0],e(this).val()[1]].join(""),a=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!_.datepicker&&_.timepicker&&t>=0&&24>t&&a>=0&&60>a?[t,a].map(function(e){return e>9?e:"0"+e}).join(":"):C.now().dateFormat(_.format)),Y.data("xdsoft_datetime").setCurrentTime(e(this).val())}Y.trigger("changedatetime.xdsoft")}),_.dayOfWeekStartPrev=0===_.dayOfWeekStart?6:_.dayOfWeekStart-1,Y.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},Y.data("options",_).on("mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),V.hide(),B.hide(),!1}),N.append(L),N.xdsoftScroller(),Y.on("afterOpen.xdsoft",function(){N.xdsoftScroller()}),Y.append(J).append(I),_.withoutCopyright!==!0&&Y.append(j),J.append(z).append(H).append(E),e(_.parentID).append(Y),i=function(){var t=this;t.now=function(e){var a,n,r=new Date;return!e&&_.defaultDate&&(a=t.strToDateTime(_.defaultDate),r.setFullYear(a.getFullYear()),r.setMonth(a.getMonth()),r.setDate(a.getDate())),_.yearOffset&&r.setFullYear(r.getFullYear()+_.yearOffset),!e&&_.defaultTime&&(n=t.strtotime(_.defaultTime),r.setHours(n.getHours()),r.setMinutes(n.getMinutes())),r},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:t.now(),Y.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,n=t.currentTime.getMonth()+1;return 12===n&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),n=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),n+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(n),_.onChangeMonth&&e.isFunction(_.onChangeMonth)&&_.onChangeMonth.call(Y,C.currentTime,Y.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(_.onChangeYear)&&_.onChangeYear.call(Y,C.currentTime,Y.data("input")),Y.trigger("xchange.xdsoft"),n},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),_.onChangeMonth&&e.isFunction(_.onChangeMonth)&&_.onChangeMonth.call(Y,C.currentTime,Y.data("input")),Y.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(e){var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+t.getDay()+1)/7)},t.strToDateTime=function(e){var a,n,r=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(r=/^(\+|\-)(.*)$/.exec(e),r&&(r[2]=Date.parseDate(r[2],_.formatDate)),r&&r[2]?(a=r[2].getTime()-6e4*r[2].getTimezoneOffset(),n=new Date(t.now(!0).getTime()+parseInt(r[1]+"1",10)*a)):n=e?Date.parseDate(e,_.format):t.now(),t.isValidDate(n)||(n=t.now()),n)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?Date.parseDate(e,_.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?Date.parseDate(e,_.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return t.currentTime.dateFormat(_.format)},t.currentTime=this.now()},C=new i,E.on("click",function(e){e.preventDefault(),Y.data("changed",!0),C.setCurrentTime(o()),a.val(C.str()),Y.trigger("close.xdsoft")}),z.find(".xdsoft_today_button").on("mousedown.xdsoft",function(){Y.data("changed",!0),C.setCurrentTime(0),Y.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,n=C.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),e=C.strToDate(_.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>n||(t=C.strToDate(_.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n>t||(a.val(C.str()),a.trigger("change"),Y.trigger("close.xdsoft")))}),z.find(".xdsoft_prev,.xdsoft_next").on("mousedown.xdsoft",function(){var t=e(this),a=0,n=!1;!function r(e){t.hasClass(_.next)?C.nextMonth():t.hasClass(_.prev)&&C.prevMonth(),_.monthChangeSpinner&&(n||(a=setTimeout(r,e||100)))}(500),e([document.body,window]).on("mouseup.xdsoft",function o(){clearTimeout(a),n=!0,e([document.body,window]).off("mouseup.xdsoft",o)})}),I.find(".xdsoft_prev,.xdsoft_next").on("mousedown.xdsoft",function(){var t=e(this),a=0,n=!1,r=110;!function o(e){var i=N[0].clientHeight,s=L[0].offsetHeight,d=Math.abs(parseInt(L.css("marginTop"),10));t.hasClass(_.next)&&s-i-_.timeHeightInTimePicker>=d?L.css("marginTop","-"+(d+_.timeHeightInTimePicker)+"px"):t.hasClass(_.prev)&&d-_.timeHeightInTimePicker>=0&&L.css("marginTop","-"+(d-_.timeHeightInTimePicker)+"px"),N.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(L.css("marginTop"),10)/(s-i))]),r=r>10?10:r-10,n||(a=setTimeout(o,e||r))}(500),e([document.body,window]).on("mouseup.xdsoft",function i(){clearTimeout(a),n=!0,e([document.body,window]).off("mouseup.xdsoft",i)})}),W=0,Y.on("xchange.xdsoft",function(t){clearTimeout(W),W=setTimeout(function(){(void 0===C.currentTime||null===C.currentTime)&&(C.currentTime=C.now());for(var t,a,o,i,s,d,u,l,f,c,h="",m=new Date(C.currentTime.getFullYear(),C.currentTime.getMonth(),1,12,0,0),g=0,p=C.now(),y=!1,D=!1,v=[],b=!0,x="",k="";m.getDay()!==_.dayOfWeekStart;)m.setDate(m.getDate()-1);for(h+="",_.weeks&&(h+=""),t=0;7>t;t+=1)h+=""; - -for(h+="",h+="",_.maxDate!==!1&&(y=C.strToDate(_.maxDate),y=new Date(y.getFullYear(),y.getMonth(),y.getDate(),23,59,59,999)),_.minDate!==!1&&(D=C.strToDate(_.minDate),D=new Date(D.getFullYear(),D.getMonth(),D.getDate()));gy||D!==!1&&D>m||l&&l[0]===!1?v.push("xdsoft_disabled"):-1!==_.disabledDates.indexOf(m.dateFormat(_.formatDate))?v.push("xdsoft_disabled"):-1!==_.disabledWeekDays.indexOf(o)&&v.push("xdsoft_disabled"),l&&""!==l[1]&&v.push(l[1]),C.currentTime.getMonth()!==d&&v.push("xdsoft_other_month"),(_.defaultSelect||Y.data("changed"))&&C.currentTime.dateFormat(_.formatDate)===m.dateFormat(_.formatDate)&&v.push("xdsoft_current"),p.dateFormat(_.formatDate)===m.dateFormat(_.formatDate)&&v.push("xdsoft_today"),(0===m.getDay()||6===m.getDay()||-1!==_.weekends.indexOf(m.dateFormat(_.formatDate)))&&v.push("xdsoft_weekend"),void 0!==_.highlightedDates[m.dateFormat(_.formatDate)]&&(a=_.highlightedDates[m.dateFormat(_.formatDate)],v.push(void 0===a.style?"xdsoft_highlighted_default":a.style),c=void 0===a.desc?"":a.desc),_.beforeShowDay&&e.isFunction(_.beforeShowDay)&&v.push(_.beforeShowDay(m)),b&&(h+="",b=!1,_.weeks&&(h+="")),h+='",m.getDay()===_.dayOfWeekStartPrev&&(h+="",b=!0),m.setDate(i+1);if(h+="
"+_.i18n[r].dayOfWeekShort[(t+_.dayOfWeekStart)%7]+"
"+u+"
'+i+"
",H.html(h),z.find(".xdsoft_label span").eq(0).text(_.i18n[r].months[C.currentTime.getMonth()]),z.find(".xdsoft_label span").eq(1).text(C.currentTime.getFullYear()),x="",k="",d="",f=function(t,a){var n,r,o=C.now(),i=_.allowTimes&&e.isArray(_.allowTimes)&&_.allowTimes.length;o.setHours(t),t=parseInt(o.getHours(),10),o.setMinutes(a),a=parseInt(o.getMinutes(),10),n=new Date(C.currentTime),n.setHours(t),n.setMinutes(a),v=[],(_.minDateTime!==!1&&_.minDateTime>n||_.maxTime!==!1&&C.strtotime(_.maxTime).getTime()o.getTime())&&v.push("xdsoft_disabled"),(_.minDateTime!==!1&&_.minDateTime>n||_.disabledMinTime!==!1&&o.getTime()>C.strtotime(_.disabledMinTime).getTime()&&_.disabledMaxTime!==!1&&o.getTime()59||r.getMinutes()===parseInt(a,10))&&(_.defaultSelect||Y.data("changed")?v.push("xdsoft_current"):_.initTime&&v.push("xdsoft_init_time")),parseInt(p.getHours(),10)===parseInt(t,10)&&parseInt(p.getMinutes(),10)===parseInt(a,10)&&v.push("xdsoft_today"),x+='
'+o.dateFormat(_.formatTime)+"
"},_.allowTimes&&e.isArray(_.allowTimes)&&_.allowTimes.length)for(g=0;g<_.allowTimes.length;g+=1)k=C.strtotime(_.allowTimes[g]).getHours(),d=C.strtotime(_.allowTimes[g]).getMinutes(),f(k,d);else for(g=0,t=0;g<(_.hours12?12:24);g+=1)for(t=0;60>t;t+=_.step)k=(10>g?"0":"")+g,d=(10>t?"0":"")+t,f(k,d);for(L.html(x),n="",g=0,g=parseInt(_.yearStart,10)+_.yearOffset;g<=parseInt(_.yearEnd,10)+_.yearOffset;g+=1)n+='
'+g+"
";for(V.children().eq(0).html(n),g=parseInt(_.monthStart,10),n="";g<=parseInt(_.monthEnd,10);g+=1)n+='
'+_.i18n[r].months[g]+"
";B.children().eq(0).html(n),e(Y).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(_.timepicker){var e,t,a,n;L.find(".xdsoft_current").length?e=".xdsoft_current":L.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=N[0].clientHeight,a=L[0].offsetHeight,n=L.find(e).index()*_.timeHeightInTimePicker+1,n>a-t&&(n=a-t),N.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(a-t)])):N.trigger("scroll_element.xdsoft_scroller",[0])}}),F=0,H.on("click.xdsoft","td",function(t){t.stopPropagation(),F+=1;var n=e(this),r=C.currentTime;return(void 0===r||null===r)&&(C.currentTime=C.now(),r=C.currentTime),n.hasClass("xdsoft_disabled")?!1:(r.setDate(1),r.setFullYear(n.data("year")),r.setMonth(n.data("month")),r.setDate(n.data("date")),Y.trigger("select.xdsoft",[r]),a.val(C.str()),_.onSelectDate&&e.isFunction(_.onSelectDate)&&_.onSelectDate.call(Y,C.currentTime,Y.data("input"),t),Y.data("changed",!0),Y.trigger("xchange.xdsoft"),Y.trigger("changedatetime.xdsoft"),(F>1||_.closeOnDateSelect===!0||_.closeOnDateSelect===!1&&!_.timepicker)&&!_.inline&&Y.trigger("close.xdsoft"),void setTimeout(function(){F=0},200))}),L.on("click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),n=C.currentTime;return(void 0===n||null===n)&&(C.currentTime=C.now(),n=C.currentTime),a.hasClass("xdsoft_disabled")?!1:(n.setHours(a.data("hour")),n.setMinutes(a.data("minute")),Y.trigger("select.xdsoft",[n]),Y.data("input").val(C.str()),_.onSelectTime&&e.isFunction(_.onSelectTime)&&_.onSelectTime.call(Y,C.currentTime,Y.data("input"),t),Y.data("changed",!0),Y.trigger("xchange.xdsoft"),Y.trigger("changedatetime.xdsoft"),void(_.inline!==!0&&_.closeOnTimeSelect===!0&&Y.trigger("close.xdsoft")))}),J.on("mousewheel.xdsoft",function(e){return _.scrollMonth?(e.deltaY<0?C.nextMonth():C.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return _.scrollInput?!_.datepicker&&_.timepicker?(A=L.find(".xdsoft_current").length?L.find(".xdsoft_current").eq(0).index():0,A+e.deltaY>=0&&A+e.deltaYe(window).height()+e(window).scrollTop()&&(n=a.top-Y[0].offsetHeight+1),0>n&&(n=0),r+Y[0].offsetWidth>e(window).width()&&(r=e(window).width()-Y[0].offsetWidth)),t=Y[0];do if(t=t.parentNode,"relative"===window.getComputedStyle(t).getPropertyValue("position")&&e(window).width()>=t.offsetWidth){r-=(e(window).width()-t.offsetWidth)/2;break}while("HTML"!==t.nodeName);Y.css({left:r,top:n,position:o})},Y.on("open.xdsoft",function(t){var a=!0;_.onShow&&e.isFunction(_.onShow)&&(a=_.onShow.call(Y,C.currentTime,Y.data("input"),t)),a!==!1&&(Y.show(),P(),e(window).off("resize.xdsoft",P).on("resize.xdsoft",P),_.closeOnWithoutClick&&e([document.body,window]).on("mousedown.xdsoft",function n(){Y.trigger("close.xdsoft"),e([document.body,window]).off("mousedown.xdsoft",n)}))}).on("close.xdsoft",function(t){var a=!0;z.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),_.onClose&&e.isFunction(_.onClose)&&(a=_.onClose.call(Y,C.currentTime,Y.data("input"),t)),a===!1||_.opened||_.inline||Y.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){Y.trigger(Y.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),q=0,G=0,Y.data("xdsoft_datetime",C),Y.setOptions(_),C.setCurrentTime(o()),a.data("xdsoft_datetimepicker",Y).on("open.xdsoft focusin.xdsoft mousedown.xdsoft",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&_.closeOnInputClick||(clearTimeout(q),q=setTimeout(function(){a.is(":disabled")||(R=!0,C.setCurrentTime(o()),Y.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,n=(this.value,t.which);return-1!==[h].indexOf(n)&&_.enterLikeTab?(a=e("input:visible,textarea:visible"),Y.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[b].indexOf(n)?(Y.trigger("close.xdsoft"),!0):void 0})},i=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===f&&(w=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===f&&(w=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(n))switch(n){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":i(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(Date.parseDate(this.value,_.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft")}else a.setOptions(n);return 0}"string"!==e.type(n)&&(!_.lazyInit||_.open||_.inline?o(e(this)):F(e(this)))})},e.fn.datetimepicker.defaults=a}),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var i=t||window.event,s=d.call(arguments,1),u=0,f=0,c=0,h=0,m=0,g=0;if(t=e.event.fix(i),t.type="mousewheel","detail"in i&&(c=-1*i.detail),"wheelDelta"in i&&(c=i.wheelDelta),"wheelDeltaY"in i&&(c=i.wheelDeltaY),"wheelDeltaX"in i&&(f=-1*i.wheelDeltaX),"axis"in i&&i.axis===i.HORIZONTAL_AXIS&&(f=-1*c,c=0),u=0===c?f:c,"deltaY"in i&&(c=-1*i.deltaY,u=c),"deltaX"in i&&(f=i.deltaX,0===c&&(u=-1*f)),0!==c||0!==f){if(1===i.deltaMode){var p=e.data(this,"mousewheel-line-height");u*=p,c*=p,f*=p}else if(2===i.deltaMode){var y=e.data(this,"mousewheel-page-height");u*=y,c*=y,f*=y}if(h=Math.max(Math.abs(c),Math.abs(f)),(!o||o>h)&&(o=h,n(i,h)&&(o/=40)),n(i,h)&&(u/=40,f/=40,c/=40),u=Math[u>=1?"floor":"ceil"](u/o),f=Math[f>=1?"floor":"ceil"](f/o),c=Math[c>=1?"floor":"ceil"](c/o),l.settings.normalizeOffset&&this.getBoundingClientRect){var D=this.getBoundingClientRect();m=t.clientX-D.left,g=t.clientY-D.top}return t.deltaX=f,t.deltaY=c,t.deltaFactor=o,t.offsetX=m,t.offsetY=g,t.deltaMode=0,s.unshift(t,u,f,c),r&&clearTimeout(r),r=setTimeout(a,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function a(){o=null}function n(e,t){return l.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,o,i=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],d=Array.prototype.slice;if(e.event.fixHooks)for(var u=i.length;u;)e.event.fixHooks[i[--u]]=e.event.mouseHooks;var l=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var a=s.length;a;)this.addEventListener(s[--a],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",l.getLineHeight(this)),e.data(this,"mousewheel-page-height",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=s.length;a;)this.removeEventListener(s[--a],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var a=e(t),n=a["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(a.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}),!function(e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e:e()}(function(){"use strict";function e(e){for(var a=[],n=!1,r="",i=0;in;n++)a.push("string"==typeof e[n]?e[n]:e[n](t));return a.join("")}}function a(e,t,a){return function(e){var n=new Date,r=e.match(d[t]);if(r&&r.length>0){r.y=n.getFullYear(),r.m=n.getMonth(),r.d=n.getDate(),r.h=-1,r.i=-1,r.s=-1;for(var o=0,i=a.length;i>o;o++)a[o](r);if(r.y>0&&r.m>=0&&r.d>0&&r.h>=0&&r.i>=0&&r.s>=0)return new Date(r.y,r.m,r.d,r.h,r.i,r.s);if(r.y>0&&r.m>=0&&r.d>0&&r.h>=0&&r.i>=0)return new Date(r.y,r.m,r.d,r.h,r.i);if(r.y>0&&r.m>=0&&r.d>0&&r.h>=0)return new Date(r.y,r.m,r.d,r.h);if(r.y>0&&r.m>=0&&r.d>0)return new Date(r.y,r.m,r.d);if(r.y>0&&r.m>=0)return new Date(r.y,r.m);if(r.y>0)return new Date(r.y)}return null}}function n(e){for(var t,n=d.length,i=1,u="",l=!1,f="",c=[],h=0;hDate.y2kYear?1900+a:2e3+a},s:"(\\d{1,2})"};case"a":return{g:1,a:function(e){"am"===e[t]?12==e.h&&(e.h=0):e.h<12&&(e.h+=12)},s:"(am|pm)"};case"A":return{g:1,a:function(e){"AM"===e[t]?12==e.h&&(e.h=0):e.h<12&&(e.h+=12)},s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,a:function(e){e.h=parseInt(e[t],10)},s:"(\\d{1,2})"};case"i":return{g:1,a:function(e){e.i=parseInt(e[t],10)},s:"(\\d{2})"};case"s":return{g:1,a:function(e){e.s=parseInt(e[t],10)},s:"(\\d{2})"};case"O":return{g:0,s:"[+-]\\d{4}"};case"T":return{g:0,s:"[A-Z]{3}"};case"Z":return{g:0,s:"[+-]\\d{1,5}"};default:return{g:0,s:o(e)}}}function o(e){return e.replace(/('|\\)/g,"\\$1")}function i(e,t,a){var n=""+e;for(a=""+a||" ";n.length0?"-":"+")+i(Math.floor(this.getTimezoneOffset()/60),2,"0")+i(this.getTimezoneOffset()%60,2,"0")},Date.prototype.getDayOfYear=function(){var e=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var t=0;te?e+7:e},Date.prototype.getLastDayOfMonth=function(){var e=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return 0>e?e+7:e},Date.prototype.getDaysInMonth=function(){return Date.daysInMonth[1]=this.isLeapYear()?29:28,Date.daysInMonth[this.getMonth()]},Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Date.y2kYear=50,Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},Date.patterns={ISO8601LongPattern:"Y-m-d H:i:s",ISO8601ShortPattern:"Y-m-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"}}); \ No newline at end of file +var DateFormatter;!function(){"use strict";var e,t,a,n,r,o;r=864e5,o=3600,e=function(e,t){return"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()},t=function(e,a,n){var r=n||"0",o=e.toString();return o.lengths?"20":"19")+i):4===f&&(y.year=s),m=!0;break;case"m":case"n":case"M":case"F":isNaN(i)?(d=p.monthsShort.indexOf(i),d>-1&&(y.month=d+1),d=p.months.indexOf(i),d>-1&&(y.month=d+1)):s>=1&&12>=s&&(y.month=s),m=!0;break;case"d":case"j":s>=1&&31>=s&&(y.day=s),m=!0;break;case"g":case"h":u=n.indexOf("a")>-1?n.indexOf("a"):n.indexOf("A")>-1?n.indexOf("A"):-1,c=r[u],u>-1?(l=e(c,p.meridiem[0])?0:e(c,p.meridiem[1])?12:-1,s>=1&&12>=s&&l>-1?y.hour=s+l-1:s>=0&&23>=s&&(y.hour=s)):s>=0&&23>=s&&(y.hour=s),g=!0;break;case"G":case"H":s>=0&&23>=s&&(y.hour=s),g=!0;break;case"i":s>=0&&59>=s&&(y.min=s),g=!0;break;case"s":s>=0&&59>=s&&(y.sec=s),g=!0}if(m===!0&&y.year&&y.month&&y.day)y.date=new Date(y.year,y.month-1,y.day,y.hour,y.min,y.sec,0);else{if(g!==!0)return!1;y.date=new Date(0,0,0,y.hour,y.min,y.sec,0)}return y.date},guessDate:function(e,t){if("string"!=typeof e)return e;var a,n,r,o,i=this,s=e.replace(i.separators,"\x00").split("\x00"),d=/^[djmn]/g,u=t.match(i.validParts),l=new Date,f=0;if(!d.test(u[0]))return e;for(n=0;n0&&s.splice(n+1,0,r.substr(f))}return l},parseFormat:function(e,a){var n,i=this,s=i.dateSettings,d=/\\?(.?)/gi,u=function(e,t){return n[e]?n[e]():t};return n={d:function(){return t(n.j(),2)},D:function(){return s.daysShort[n.w()]},j:function(){return a.getDate()},l:function(){return s.days[n.w()]},N:function(){return n.w()||7},w:function(){return a.getDay()},z:function(){var e=new Date(n.Y(),n.n()-1,n.j()),t=new Date(n.Y(),0,1);return Math.round((e-t)/r)},W:function(){var e=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),a=new Date(e.getFullYear(),0,4);return t(1+Math.round((e-a)/r/7),2)},F:function(){return s.months[a.getMonth()]},m:function(){return t(n.n(),2)},M:function(){return s.monthsShort[a.getMonth()]},n:function(){return a.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var e=n.Y();return e%4===0&&e%100!==0||e%400===0?1:0},o:function(){var e=n.n(),t=n.W(),a=n.Y();return a+(12===e&&9>t?1:1===e&&t>9?-1:0)},Y:function(){return a.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return n.A().toLowerCase()},A:function(){var e=n.G()<12?0:1;return s.meridiem[e]},B:function(){var e=a.getUTCHours()*o,n=60*a.getUTCMinutes(),r=a.getUTCSeconds();return t(Math.floor((e+n+r+o)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return a.getHours()},h:function(){return t(n.g(),2)},H:function(){return t(n.G(),2)},i:function(){return t(a.getMinutes(),2)},s:function(){return t(a.getSeconds(),2)},u:function(){return t(1e3*a.getMilliseconds(),6)},e:function(){var e=/\((.*)\)/.exec(String(a))[1];return e||"Coordinated Universal Time"},T:function(){var e=(String(a).match(i.tzParts)||[""]).pop().replace(i.tzClip,"");return e||"UTC"},I:function(){var e=new Date(n.Y(),0),t=Date.UTC(n.Y(),0),a=new Date(n.Y(),6),r=Date.UTC(n.Y(),6);return e-t!==a-r?1:0},O:function(){var e=a.getTimezoneOffset(),n=Math.abs(e);return(e>0?"-":"+")+t(100*Math.floor(n/60)+n%60,4)},P:function(){var e=n.O();return e.substr(0,3)+":"+e.substr(3,2)},Z:function(){return 60*-a.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(d,u)},r:function(){return"D, d M Y H:i:s O".replace(d,u)},U:function(){return a.getTime()/1e3||0}},u(e,e)},formatDate:function(e,t){var a,n,r,o,i,s=this,d="";if("string"==typeof e&&(e=s.parseDate(e,t),e===!1))return!1;if(e instanceof Date){for(r=t.length,a=0;r>a;a++)i=t.charAt(a),"S"!==i&&(o=s.parseFormat(i,e),a!==r-1&&s.intParts.test(i)&&"S"===t.charAt(a+1)&&(n=parseInt(o),o+=s.dateSettings.ordinal(n)),d+=o);return d}return""}}}(),function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel","date-functions"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},n=null,r="en",o="en",i={meridiem:["AM","PM"]},s=function(){var t=a.i18n[o],r={days:t.dayOfWeek,daysShort:t.dayOfWeekShort,months:t.months,monthsShort:e.map(t.months,function(e){return e.substring(0,3)})};n=new DateFormatter({dateSettings:e.extend({},i,r)})};e.datetimepicker={setLocale:function(e){var t=a.i18n[e]?e:r;o!=t&&(o=t,s())},RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},s(),window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,n;for(a=t||0,n=this.length;n>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,n,r,o,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,h=0,m=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),n=s[0].clientHeight,r=a[0].offsetHeight,o=e('
'),i=e('
'),o.append(i),s.addClass("xdsoft_scroller_box").append(o),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>h&&(t=h-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){n||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),h=o[0].offsetHeight,"mousedown"===a.type||"touchstart"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("touchend mouseup.xdsoft_scroller",function r(){e([document.body,window]).off("touchend mouseup.xdsoft_scroller",r).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(m=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){m&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){m=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){n||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-n)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;n=s[0].clientHeight,r=a[0].offsetHeight,l=n/r,f=l*o[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=o[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(r-n)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(r-n)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),c=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-l.y))/(r-n)])}}),s.on("touchend touchcancel",function(){l=!1,c=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(r){var i,s,d=48,u=57,l=96,f=105,c=17,h=46,m=13,g=27,p=8,y=37,v=38,b=39,k=40,x=9,D=116,T=65,S=67,w=86,M=90,O=89,_=!1,W=e.isPlainObject(r)||!r?e.extend(!0,{},a,r):e.extend(!0,{},a),C=0,F=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(C),C=setTimeout(function(){e.data("xdsoft_datetimepicker")||i(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))})};return i=function(a){function i(){var e,t=!1;return W.startDate?t=Y.strToDate(W.startDate):(t=W.value||(a&&a.val&&a.val()?a.val():""),t?t=Y.strToDateTime(t):W.defaultDate&&(t=Y.strToDateTime(W.defaultDate),W.defaultTime&&(e=Y.strtotime(W.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&Y.isValidDate(t)?j.data("changed",!0):t="",t||0}var s,C,F,P,A,Y,j=e('
'),H=e(''),J=e('
'),z=e('
'),I=e('
'),N=e('
'),L=N.find(".xdsoft_time_box").eq(0),E=e('
'),B=e(''),V=e('
'),G=e('
'),R=!1,U=0,q=0;W.id&&j.attr("id",W.id),W.style&&j.attr("style",W.style),W.weeks&&j.addClass("xdsoft_showweeks"),W.rtl&&j.addClass("xdsoft_rtl"),j.addClass("xdsoft_"+W.theme),j.addClass(W.className),z.find(".xdsoft_month span").after(V),z.find(".xdsoft_year span").after(G),z.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(t){var a,n,r=e(this).find(".xdsoft_select").eq(0),o=0,i=0,s=r.is(":visible");for(z.find(".xdsoft_select").hide(),Y.currentTime&&(o=Y.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),r[s?"hide":"show"](),a=r.find("div.xdsoft_option"),n=0;n=i;)u=new t(i,d,c),l=n.formatDate(i,W.formatDate),i.setDate(i.getDate()+1),void 0!==o[l]?(f=o[l].desc,f&&f.length&&u.desc&&u.desc.length&&(o[l].desc=f+"\n"+u.desc)):o[l]=u}),W.highlightedDates=e.extend(!0,[],o)),r.disabledDates&&e.isArray(r.disabledDates)&&r.disabledDates.length&&(W.disabledDates=e.extend(!0,[],r.disabledDates)),r.disabledWeekDays&&e.isArray(r.disabledWeekDays)&&r.disabledWeekDays.length&&(W.disabledWeekDays=e.extend(!0,[],r.disabledWeekDays)),!W.open&&!W.opened||W.inline||a.trigger("open.xdsoft"),W.inline&&(R=!0,j.addClass("xdsoft_inline"),a.after(j).hide()),W.inverseButton&&(W.next="xdsoft_prev",W.prev="xdsoft_next"),W.datepicker?J.addClass("active"):J.removeClass("active"),W.timepicker?N.addClass("active"):N.removeClass("active"),W.value&&(Y.setCurrentTime(W.value),a&&a.val&&a.val(Y.str)),W.dayOfWeekStart=isNaN(W.dayOfWeekStart)?0:parseInt(W.dayOfWeekStart,10)%7,W.timepickerScrollbar||L.xdsoftScroller("hide"),W.minDate&&/^[\+\-](.*)$/.test(W.minDate)&&(W.minDate=n.formatDate(Y.strToDateTime(W.minDate),W.formatDate)),W.maxDate&&/^[\+\-](.*)$/.test(W.maxDate)&&(W.maxDate=n.formatDate(Y.strToDateTime(W.maxDate),W.formatDate)),B.toggle(W.showApplyButton),z.find(".xdsoft_today_button").css("visibility",W.todayButton?"visible":"hidden"),z.find("."+W.prev).css("visibility",W.prevButton?"visible":"hidden"),z.find("."+W.next).css("visibility",W.nextButton?"visible":"hidden"),W.mask&&(a.off("keydown.xdsoft"),W.mask===!0&&(W.mask=W.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")), +"string"===e.type(W.mask)&&(C(W.mask,a.val())||(a.val(W.mask.replace(/[0-9]/g,"_")),s(a[0],0)),a.on("keydown.xdsoft",function(t){var n,r,o=this.value,F=t.which;if(F>=d&&u>=F||F>=l&&f>=F||F===p||F===h){for(n=i(this),r=F!==p&&F!==h?String.fromCharCode(F>=l&&f>=F?F-d:F):"_",F!==p&&F!==h||!n||(n-=1,r="_");/[^0-9_]/.test(W.mask.substr(n,1))&&n0;)n+=F===p||F===h?-1:1;if(o=o.substr(0,n)+r+o.substr(n+1),""===e.trim(o))o=W.mask.replace(/[0-9]/g,"_");else if(n===W.mask.length)return t.preventDefault(),!1;for(n+=F===p||F===h?0:1;/[^0-9_]/.test(W.mask.substr(n,1))&&n0;)n+=F===p||F===h?-1:1;C(W.mask,o)?(this.value=o,s(this,n)):""===e.trim(o)?this.value=W.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[T,S,w,M,O].indexOf(F)&&_||-1!==[g,v,k,y,b,D,c,x,m].indexOf(F))return!0;return t.preventDefault(),!1}))),W.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(W.allowBlank&&!e.trim(e(this).val()).length)e(this).val(null),j.data("xdsoft_datetime").empty();else if(n.parseDate(e(this).val(),W.format))j.data("xdsoft_datetime").setCurrentTime(e(this).val());else{var t=+[e(this).val()[0],e(this).val()[1]].join(""),a=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!W.datepicker&&W.timepicker&&t>=0&&24>t&&a>=0&&60>a?[t,a].map(function(e){return e>9?e:"0"+e}).join(":"):n.formatDate(Y.now(),W.format)),j.data("xdsoft_datetime").setCurrentTime(e(this).val())}j.trigger("changedatetime.xdsoft")}),W.dayOfWeekStartPrev=0===W.dayOfWeekStart?6:W.dayOfWeekStart-1,j.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},j.data("options",W).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),G.hide(),V.hide(),!1}),L.append(E),L.xdsoftScroller(),j.on("afterOpen.xdsoft",function(){L.xdsoftScroller()}),j.append(J).append(N),W.withoutCopyright!==!0&&j.append(H),J.append(z).append(I).append(B),e(W.parentID).append(j),s=function(){var t=this;t.now=function(e){var a,n,r=new Date;return!e&&W.defaultDate&&(a=t.strToDateTime(W.defaultDate),r.setFullYear(a.getFullYear()),r.setMonth(a.getMonth()),r.setDate(a.getDate())),W.yearOffset&&r.setFullYear(r.getFullYear()+W.yearOffset),!e&&W.defaultTime&&(n=t.strtotime(W.defaultTime),r.setHours(n.getHours()),r.setMinutes(n.getMinutes())),r},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:t.now(),j.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,n=t.currentTime.getMonth()+1;return 12===n&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),n=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),n+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(n),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,Y.currentTime,j.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(W.onChangeYear)&&W.onChangeYear.call(j,Y.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),n},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,Y.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(e){var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+t.getDay()+1)/7)},t.strToDateTime=function(e){var a,r,o=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(o=/^(\+|\-)(.*)$/.exec(e),o&&(o[2]=n.parseDate(o[2],W.formatDate)),o&&o[2]?(a=o[2].getTime()-6e4*o[2].getTimezoneOffset(),r=new Date(t.now(!0).getTime()+parseInt(o[1]+"1",10)*a)):r=e?n.parseDate(e,W.format):t.now(),t.isValidDate(r)||(r=t.now()),r)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?n.parseDate(e,W.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?n.parseDate(e,W.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return n.formatDate(t.currentTime,W.format)},t.currentTime=this.now()},Y=new s,B.on("touchend click",function(e){e.preventDefault(),j.data("changed",!0),Y.setCurrentTime(i()),a.val(Y.str()),j.trigger("close.xdsoft")}),z.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){j.data("changed",!0),Y.setCurrentTime(0),j.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,n=Y.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),e=Y.strToDate(W.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>n||(t=Y.strToDate(W.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n>t||(a.val(Y.str()),a.trigger("change"),j.trigger("close.xdsoft")))}),z.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,n=!1;!function r(e){t.hasClass(W.next)?Y.nextMonth():t.hasClass(W.prev)&&Y.prevMonth(),W.monthChangeSpinner&&(n||(a=setTimeout(r,e||100)))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function o(){clearTimeout(a),n=!0,e([document.body,window]).off("touchend mouseup.xdsoft",o)})}),N.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,n=!1,r=110;!function o(e){var i=L[0].clientHeight,s=E[0].offsetHeight,d=Math.abs(parseInt(E.css("marginTop"),10));t.hasClass(W.next)&&s-i-W.timeHeightInTimePicker>=d?E.css("marginTop","-"+(d+W.timeHeightInTimePicker)+"px"):t.hasClass(W.prev)&&d-W.timeHeightInTimePicker>=0&&E.css("marginTop","-"+(d-W.timeHeightInTimePicker)+"px"),L.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(E.css("marginTop"),10)/(s-i))]),r=r>10?10:r-10,n||(a=setTimeout(o,e||r))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function i(){clearTimeout(a),n=!0,e([document.body,window]).off("touchend mouseup.xdsoft",i)})}),C=0,j.on("xchange.xdsoft",function(t){clearTimeout(C),C=setTimeout(function(){(void 0===Y.currentTime||null===Y.currentTime)&&(Y.currentTime=Y.now());for(var t,a,i,s,d,u,l,f,c,h,m="",g=new Date(Y.currentTime.getFullYear(),Y.currentTime.getMonth(),1,12,0,0),p=0,y=Y.now(),v=!1,b=!1,k=[],x=!0,D="",T="";g.getDay()!==W.dayOfWeekStart;)g.setDate(g.getDate()-1);for(m+="",W.weeks&&(m+=""),t=0;7>t;t+=1)m+="";for(m+="",m+="",W.maxDate!==!1&&(v=Y.strToDate(W.maxDate),v=new Date(v.getFullYear(),v.getMonth(),v.getDate(),23,59,59,999)),W.minDate!==!1&&(b=Y.strToDate(W.minDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate()));pv||b!==!1&&b>g||f&&f[0]===!1?k.push("xdsoft_disabled"):-1!==W.disabledDates.indexOf(n.formatDate(g,W.formatDate))?k.push("xdsoft_disabled"):-1!==W.disabledWeekDays.indexOf(i)&&k.push("xdsoft_disabled"),f&&""!==f[1]&&k.push(f[1]),Y.currentTime.getMonth()!==u&&k.push("xdsoft_other_month"),(W.defaultSelect||j.data("changed"))&&n.formatDate(Y.currentTime,W.formatDate)===n.formatDate(g,W.formatDate)&&k.push("xdsoft_current"),n.formatDate(y,W.formatDate)===n.formatDate(g,W.formatDate)&&k.push("xdsoft_today"),(0===g.getDay()||6===g.getDay()||-1!==W.weekends.indexOf(n.formatDate(g,W.formatDate)))&&k.push("xdsoft_weekend"),void 0!==W.highlightedDates[n.formatDate(g,W.formatDate)]&&(a=W.highlightedDates[n.formatDate(g,W.formatDate)],k.push(void 0===a.style?"xdsoft_highlighted_default":a.style),h=void 0===a.desc?"":a.desc),W.beforeShowDay&&e.isFunction(W.beforeShowDay)&&k.push(W.beforeShowDay(g)),x&&(m+="",x=!1,W.weeks&&(m+="")),m+='",g.getDay()===W.dayOfWeekStartPrev&&(m+="",x=!0),g.setDate(s+1);if(m+="
"+W.i18n[o].dayOfWeekShort[(t+W.dayOfWeekStart)%7]+"
"+l+"
'+s+"
",I.html(m),z.find(".xdsoft_label span").eq(0).text(W.i18n[o].months[Y.currentTime.getMonth()]),z.find(".xdsoft_label span").eq(1).text(Y.currentTime.getFullYear()),D="",T="",u="",c=function(t,a){var r,o,i=Y.now(),s=W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length;i.setHours(t),t=parseInt(i.getHours(),10),i.setMinutes(a),a=parseInt(i.getMinutes(),10),r=new Date(Y.currentTime),r.setHours(t),r.setMinutes(a),k=[],(W.minDateTime!==!1&&W.minDateTime>r||W.maxTime!==!1&&Y.strtotime(W.maxTime).getTime()i.getTime())&&k.push("xdsoft_disabled"),(W.minDateTime!==!1&&W.minDateTime>r||W.disabledMinTime!==!1&&i.getTime()>Y.strtotime(W.disabledMinTime).getTime()&&W.disabledMaxTime!==!1&&i.getTime()59||o.getMinutes()===parseInt(a,10))&&(W.defaultSelect||j.data("changed")?k.push("xdsoft_current"):W.initTime&&k.push("xdsoft_init_time")),parseInt(y.getHours(),10)===parseInt(t,10)&&parseInt(y.getMinutes(),10)===parseInt(a,10)&&k.push("xdsoft_today"),D+='
'+n.formatDate(i,W.formatTime)+"
"},W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length)for(p=0;pt;t+=W.step)T=(10>p?"0":"")+p,u=(10>t?"0":"")+t,c(T,u);for(E.html(D),r="",p=0,p=parseInt(W.yearStart,10)+W.yearOffset;p<=parseInt(W.yearEnd,10)+W.yearOffset;p+=1)r+='
'+p+"
";for(G.children().eq(0).html(r),p=parseInt(W.monthStart,10),r="";p<=parseInt(W.monthEnd,10);p+=1)r+='
'+W.i18n[o].months[p]+"
";V.children().eq(0).html(r),e(j).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(W.timepicker){var e,t,a,n;E.find(".xdsoft_current").length?e=".xdsoft_current":E.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=L[0].clientHeight,a=E[0].offsetHeight,n=E.find(e).index()*W.timeHeightInTimePicker+1,n>a-t&&(n=a-t),L.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(a-t)])):L.trigger("scroll_element.xdsoft_scroller",[0])}}),F=0,I.on("touchend click.xdsoft","td",function(t){t.stopPropagation(),F+=1;var n=e(this),r=Y.currentTime;return(void 0===r||null===r)&&(Y.currentTime=Y.now(),r=Y.currentTime),n.hasClass("xdsoft_disabled")?!1:(r.setDate(1),r.setFullYear(n.data("year")),r.setMonth(n.data("month")),r.setDate(n.data("date")),j.trigger("select.xdsoft",[r]),a.val(Y.str()),W.onSelectDate&&e.isFunction(W.onSelectDate)&&W.onSelectDate.call(j,Y.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),(F>1||W.closeOnDateSelect===!0||W.closeOnDateSelect===!1&&!W.timepicker)&&!W.inline&&j.trigger("close.xdsoft"),void setTimeout(function(){F=0},200))}),E.on("touchend click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),n=Y.currentTime;return(void 0===n||null===n)&&(Y.currentTime=Y.now(),n=Y.currentTime),a.hasClass("xdsoft_disabled")?!1:(n.setHours(a.data("hour")),n.setMinutes(a.data("minute")),j.trigger("select.xdsoft",[n]),j.data("input").val(Y.str()),W.onSelectTime&&e.isFunction(W.onSelectTime)&&W.onSelectTime.call(j,Y.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),void(W.inline!==!0&&W.closeOnTimeSelect===!0&&j.trigger("close.xdsoft")))}),J.on("mousewheel.xdsoft",function(e){return W.scrollMonth?(e.deltaY<0?Y.nextMonth():Y.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return W.scrollInput?!W.datepicker&&W.timepicker?(P=E.find(".xdsoft_current").length?E.find(".xdsoft_current").eq(0).index():0,P+e.deltaY>=0&&P+e.deltaYe(window).height()+e(window).scrollTop()&&(r=a.top-n.offsetHeight+1),0>r&&(r=0),o+n.offsetWidth>e(window).width()&&(o=e(window).width()-n.offsetWidth)),t=j[0];do if(t=t.parentNode,"relative"===window.getComputedStyle(t).getPropertyValue("position")&&e(window).width()>=t.offsetWidth){o-=(e(window).width()-t.offsetWidth)/2;break}while("HTML"!==t.nodeName);j.css({left:o,top:r,position:i})},j.on("open.xdsoft",function(t){var a=!0;W.onShow&&e.isFunction(W.onShow)&&(a=W.onShow.call(j,Y.currentTime,j.data("input"),t)),a!==!1&&(j.show(),A(),e(window).off("resize.xdsoft",A).on("resize.xdsoft",A),W.closeOnWithoutClick&&e([document.body,window]).on("touchstart mousedown.xdsoft",function n(){j.trigger("close.xdsoft"),e([document.body,window]).off("touchstart mousedown.xdsoft",n)}))}).on("close.xdsoft",function(t){var a=!0;z.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),W.onClose&&e.isFunction(W.onClose)&&(a=W.onClose.call(j,Y.currentTime,j.data("input"),t)),a===!1||W.opened||W.inline||j.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){j.trigger(j.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),U=0,q=0,j.data("xdsoft_datetime",Y),j.setOptions(W),Y.setCurrentTime(i()),a.data("xdsoft_datetimepicker",j).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&W.closeOnInputClick||(clearTimeout(U),U=setTimeout(function(){a.is(":disabled")||(R=!0,Y.setCurrentTime(i()),j.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,n=(this.value,t.which);return-1!==[m].indexOf(n)&&W.enterLikeTab?(a=e("input:visible,textarea:visible,button:visible,a:visible"),j.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[x].indexOf(n)?(j.trigger("close.xdsoft"),!0):void 0})},s=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft touchstart"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===c&&(_=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===c&&(_=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(r))switch(r){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":s(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(n.parseDate(this.value,W.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft")}else a.setOptions(r);return 0}"string"!==e.type(r)&&(!W.lazyInit||W.open||W.inline?i(e(this)):F(e(this)))})},e.fn.datetimepicker.defaults=a}),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var i=t||window.event,s=d.call(arguments,1),u=0,f=0,c=0,h=0,m=0,g=0;if(t=e.event.fix(i),t.type="mousewheel","detail"in i&&(c=-1*i.detail),"wheelDelta"in i&&(c=i.wheelDelta),"wheelDeltaY"in i&&(c=i.wheelDeltaY),"wheelDeltaX"in i&&(f=-1*i.wheelDeltaX),"axis"in i&&i.axis===i.HORIZONTAL_AXIS&&(f=-1*c,c=0),u=0===c?f:c,"deltaY"in i&&(c=-1*i.deltaY,u=c),"deltaX"in i&&(f=i.deltaX,0===c&&(u=-1*f)),0!==c||0!==f){if(1===i.deltaMode){var p=e.data(this,"mousewheel-line-height");u*=p,c*=p,f*=p}else if(2===i.deltaMode){var y=e.data(this,"mousewheel-page-height");u*=y,c*=y,f*=y}if(h=Math.max(Math.abs(c),Math.abs(f)),(!o||o>h)&&(o=h,n(i,h)&&(o/=40)),n(i,h)&&(u/=40,f/=40,c/=40),u=Math[u>=1?"floor":"ceil"](u/o),f=Math[f>=1?"floor":"ceil"](f/o),c=Math[c>=1?"floor":"ceil"](c/o),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();m=t.clientX-v.left,g=t.clientY-v.top}return t.deltaX=f,t.deltaY=c,t.deltaFactor=o,t.offsetX=m,t.offsetY=g,t.deltaMode=0,s.unshift(t,u,f,c),r&&clearTimeout(r),r=setTimeout(a,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function a(){o=null}function n(e,t){return l.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var r,o,i=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],d=Array.prototype.slice;if(e.event.fixHooks)for(var u=i.length;u;)e.event.fixHooks[i[--u]]=e.event.mouseHooks;var l=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var a=s.length;a;)this.addEventListener(s[--a],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",l.getLineHeight(this)),e.data(this,"mousewheel-page-height",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=s.length;a;)this.removeEventListener(s[--a],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var a=e(t),n=a["offsetParent"in e.fn?"offsetParent":"parent"]();return n.length||(n=e("body")),parseInt(n.css("fontSize"),10)||parseInt(a.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}); \ No newline at end of file diff --git a/build/jquery.datetimepicker.min.js b/build/jquery.datetimepicker.min.js index ad36189..0090a35 100644 --- a/build/jquery.datetimepicker.min.js +++ b/build/jquery.datetimepicker.min.js @@ -1,3 +1,2 @@ -!function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel","date-functions"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},r="en",o="en";e.datetimepicker={setLocale:function(e){o=a.i18n[e]?e:r,Date.monthNames=a.i18n[o].months,Date.dayNames=a.i18n[o].dayOfWeek}},window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,r;for(a=t||0,r=this.length;r>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,r,o,n,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,m=0,c=0,h=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),r=s[0].clientHeight,o=a[0].offsetHeight,n=e('
'),i=e('
'),n.append(i),s.addClass("xdsoft_scroller_box").append(n),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>c&&(t=c-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){r||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),c=n[0].offsetHeight,"mousedown"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("mouseup.xdsoft_scroller",function o(){e([document.body,window]).off("mouseup.xdsoft_scroller",o).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(h=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){h&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){h=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){r||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-r)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;r=s[0].clientHeight,o=a[0].offsetHeight,l=r/o,f=l*n[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=n[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(o-r)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(o-r)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),m=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(m-(t.y-l.y))/(o-r)])}}),s.on("touchend touchcancel",function(){l=!1,m=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(r){var n,i,s=48,d=57,u=96,l=105,f=17,m=46,c=13,h=27,g=8,p=37,y=38,k=39,x=40,b=9,v=116,T=65,D=67,S=86,O=90,w=89,M=!1,_=e.isPlainObject(r)||!r?e.extend(!0,{},a,r):e.extend(!0,{},a),W=0,F=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(W),W=setTimeout(function(){e.data("xdsoft_datetimepicker")||n(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft",t).trigger("open.xdsoft")},100))})};return n=function(a){function n(){var e,t=!1;return _.startDate?t=P.strToDate(_.startDate):(t=_.value||(a&&a.val&&a.val()?a.val():""),t?t=P.strToDateTime(t):_.defaultDate&&(t=P.strToDateTime(_.defaultDate),_.defaultTime&&(e=P.strtotime(_.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&P.isValidDate(t)?J.data("changed",!0):t="",t||0}var i,W,F,C,A,P,J=e('
'),j=e(''),z=e('
'),N=e('
'),H=e('
'),I=e('
'),Y=I.find(".xdsoft_time_box").eq(0),L=e('
'),V=e(''),B=e('
'),E=e('
'),q=!1,R=0,K=0;_.id&&J.attr("id",_.id),_.style&&J.attr("style",_.style),_.weeks&&J.addClass("xdsoft_showweeks"),_.rtl&&J.addClass("xdsoft_rtl"),J.addClass("xdsoft_"+_.theme),J.addClass(_.className),N.find(".xdsoft_month span").after(B),N.find(".xdsoft_year span").after(E),N.find(".xdsoft_month,.xdsoft_year").on("mousedown.xdsoft",function(t){var a,r,o=e(this).find(".xdsoft_select").eq(0),n=0,i=0,s=o.is(":visible");for(N.find(".xdsoft_select").hide(),P.currentTime&&(n=P.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),o[s?"hide":"show"](),a=o.find("div.xdsoft_option"),r=0;r=n;)d=new t(n,s,f),u=n.dateFormat(_.formatDate),n.setDate(n.getDate()+1),void 0!==o[u]?(l=o[u].desc,l&&l.length&&d.desc&&d.desc.length&&(o[u].desc=l+"\n"+d.desc)):o[u]=d}),_.highlightedDates=e.extend(!0,[],o)),r.disabledDates&&e.isArray(r.disabledDates)&&r.disabledDates.length&&(_.disabledDates=e.extend(!0,[],r.disabledDates)),r.disabledWeekDays&&e.isArray(r.disabledWeekDays)&&r.disabledWeekDays.length&&(_.disabledWeekDays=e.extend(!0,[],r.disabledWeekDays)),!_.open&&!_.opened||_.inline||a.trigger("open.xdsoft"),_.inline&&(q=!0,J.addClass("xdsoft_inline"),a.after(J).hide()),_.inverseButton&&(_.next="xdsoft_prev",_.prev="xdsoft_next"),_.datepicker?z.addClass("active"):z.removeClass("active"),_.timepicker?I.addClass("active"):I.removeClass("active"),_.value&&(P.setCurrentTime(_.value),a&&a.val&&a.val(P.str)),_.dayOfWeekStart=isNaN(_.dayOfWeekStart)?0:parseInt(_.dayOfWeekStart,10)%7,_.timepickerScrollbar||Y.xdsoftScroller("hide"),_.minDate&&/^[\+\-](.*)$/.test(_.minDate)&&(_.minDate=P.strToDateTime(_.minDate).dateFormat(_.formatDate)),_.maxDate&&/^[\+\-](.*)$/.test(_.maxDate)&&(_.maxDate=P.strToDateTime(_.maxDate).dateFormat(_.formatDate)),V.toggle(_.showApplyButton),N.find(".xdsoft_today_button").css("visibility",_.todayButton?"visible":"hidden"),N.find("."+_.prev).css("visibility",_.prevButton?"visible":"hidden"),N.find("."+_.next).css("visibility",_.nextButton?"visible":"hidden"),_.mask&&(a.off("keydown.xdsoft"),_.mask===!0&&(_.mask=_.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===e.type(_.mask)&&(W(_.mask,a.val())||a.val(_.mask.replace(/[0-9]/g,"_")),a.on("keydown.xdsoft",function(t){var r,o,F=this.value,C=t.which;if(C>=s&&d>=C||C>=u&&l>=C||C===g||C===m){for(r=n(this),o=C!==g&&C!==m?String.fromCharCode(C>=u&&l>=C?C-s:C):"_",C!==g&&C!==m||!r||(r-=1,o="_");/[^0-9_]/.test(_.mask.substr(r,1))&&r<_.mask.length&&r>0;)r+=C===g||C===m?-1:1;if(F=F.substr(0,r)+o+F.substr(r+1),""===e.trim(F))F=_.mask.replace(/[0-9]/g,"_");else if(r===_.mask.length)return t.preventDefault(),!1;for(r+=C===g||C===m?0:1;/[^0-9_]/.test(_.mask.substr(r,1))&&r<_.mask.length&&r>0;)r+=C===g||C===m?-1:1;W(_.mask,F)?(this.value=F,i(this,r)):""===e.trim(F)?this.value=_.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[T,D,S,O,w].indexOf(C)&&M||-1!==[h,y,x,p,k,v,f,b,c].indexOf(C))return!0;return t.preventDefault(),!1}))),_.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(_.allowBlank&&!e.trim(e(this).val()).length)e(this).val(null),J.data("xdsoft_datetime").empty();else if(Date.parseDate(e(this).val(),_.format))J.data("xdsoft_datetime").setCurrentTime(e(this).val());else{var t=+[e(this).val()[0],e(this).val()[1]].join(""),a=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!_.datepicker&&_.timepicker&&t>=0&&24>t&&a>=0&&60>a?[t,a].map(function(e){return e>9?e:"0"+e}).join(":"):P.now().dateFormat(_.format)),J.data("xdsoft_datetime").setCurrentTime(e(this).val())}J.trigger("changedatetime.xdsoft")}),_.dayOfWeekStartPrev=0===_.dayOfWeekStart?6:_.dayOfWeekStart-1,J.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},J.data("options",_).on("mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),E.hide(),B.hide(),!1}),Y.append(L),Y.xdsoftScroller(),J.on("afterOpen.xdsoft",function(){Y.xdsoftScroller()}),J.append(z).append(I),_.withoutCopyright!==!0&&J.append(j),z.append(N).append(H).append(V),e(_.parentID).append(J),i=function(){var t=this;t.now=function(e){var a,r,o=new Date;return!e&&_.defaultDate&&(a=t.strToDateTime(_.defaultDate),o.setFullYear(a.getFullYear()),o.setMonth(a.getMonth()),o.setDate(a.getDate())),_.yearOffset&&o.setFullYear(o.getFullYear()+_.yearOffset),!e&&_.defaultTime&&(r=t.strtotime(_.defaultTime),o.setHours(r.getHours()),o.setMinutes(r.getMinutes())),o},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:t.now(),J.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,r=t.currentTime.getMonth()+1;return 12===r&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),r=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),r+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(r),_.onChangeMonth&&e.isFunction(_.onChangeMonth)&&_.onChangeMonth.call(J,P.currentTime,J.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(_.onChangeYear)&&_.onChangeYear.call(J,P.currentTime,J.data("input")),J.trigger("xchange.xdsoft"),r},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),_.onChangeMonth&&e.isFunction(_.onChangeMonth)&&_.onChangeMonth.call(J,P.currentTime,J.data("input")),J.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(e){var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+t.getDay()+1)/7)},t.strToDateTime=function(e){var a,r,o=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(o=/^(\+|\-)(.*)$/.exec(e),o&&(o[2]=Date.parseDate(o[2],_.formatDate)),o&&o[2]?(a=o[2].getTime()-6e4*o[2].getTimezoneOffset(),r=new Date(t.now(!0).getTime()+parseInt(o[1]+"1",10)*a)):r=e?Date.parseDate(e,_.format):t.now(),t.isValidDate(r)||(r=t.now()),r)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?Date.parseDate(e,_.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?Date.parseDate(e,_.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return t.currentTime.dateFormat(_.format)},t.currentTime=this.now()},P=new i,V.on("click",function(e){e.preventDefault(),J.data("changed",!0),P.setCurrentTime(n()),a.val(P.str()),J.trigger("close.xdsoft")}),N.find(".xdsoft_today_button").on("mousedown.xdsoft",function(){J.data("changed",!0),P.setCurrentTime(0),J.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,r=P.getCurrentTime();r=new Date(r.getFullYear(),r.getMonth(),r.getDate()),e=P.strToDate(_.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>r||(t=P.strToDate(_.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r>t||(a.val(P.str()),a.trigger("change"),J.trigger("close.xdsoft")))}),N.find(".xdsoft_prev,.xdsoft_next").on("mousedown.xdsoft",function(){var t=e(this),a=0,r=!1;!function o(e){t.hasClass(_.next)?P.nextMonth():t.hasClass(_.prev)&&P.prevMonth(),_.monthChangeSpinner&&(r||(a=setTimeout(o,e||100)))}(500),e([document.body,window]).on("mouseup.xdsoft",function n(){clearTimeout(a),r=!0,e([document.body,window]).off("mouseup.xdsoft",n)})}),I.find(".xdsoft_prev,.xdsoft_next").on("mousedown.xdsoft",function(){var t=e(this),a=0,r=!1,o=110;!function n(e){var i=Y[0].clientHeight,s=L[0].offsetHeight,d=Math.abs(parseInt(L.css("marginTop"),10));t.hasClass(_.next)&&s-i-_.timeHeightInTimePicker>=d?L.css("marginTop","-"+(d+_.timeHeightInTimePicker)+"px"):t.hasClass(_.prev)&&d-_.timeHeightInTimePicker>=0&&L.css("marginTop","-"+(d-_.timeHeightInTimePicker)+"px"),Y.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(L.css("marginTop"),10)/(s-i))]),o=o>10?10:o-10,r||(a=setTimeout(n,e||o))}(500),e([document.body,window]).on("mouseup.xdsoft",function i(){clearTimeout(a),r=!0,e([document.body,window]).off("mouseup.xdsoft",i)})}),W=0,J.on("xchange.xdsoft",function(t){clearTimeout(W),W=setTimeout(function(){(void 0===P.currentTime||null===P.currentTime)&&(P.currentTime=P.now());for(var t,a,n,i,s,d,u,l,f,m,c="",h=new Date(P.currentTime.getFullYear(),P.currentTime.getMonth(),1,12,0,0),g=0,p=P.now(),y=!1,k=!1,x=[],b=!0,v="",T="";h.getDay()!==_.dayOfWeekStart;)h.setDate(h.getDate()-1);for(c+="",_.weeks&&(c+=""),t=0;7>t;t+=1)c+=""; - -for(c+="",c+="",_.maxDate!==!1&&(y=P.strToDate(_.maxDate),y=new Date(y.getFullYear(),y.getMonth(),y.getDate(),23,59,59,999)),_.minDate!==!1&&(k=P.strToDate(_.minDate),k=new Date(k.getFullYear(),k.getMonth(),k.getDate()));gy||k!==!1&&k>h||l&&l[0]===!1?x.push("xdsoft_disabled"):-1!==_.disabledDates.indexOf(h.dateFormat(_.formatDate))?x.push("xdsoft_disabled"):-1!==_.disabledWeekDays.indexOf(n)&&x.push("xdsoft_disabled"),l&&""!==l[1]&&x.push(l[1]),P.currentTime.getMonth()!==d&&x.push("xdsoft_other_month"),(_.defaultSelect||J.data("changed"))&&P.currentTime.dateFormat(_.formatDate)===h.dateFormat(_.formatDate)&&x.push("xdsoft_current"),p.dateFormat(_.formatDate)===h.dateFormat(_.formatDate)&&x.push("xdsoft_today"),(0===h.getDay()||6===h.getDay()||-1!==_.weekends.indexOf(h.dateFormat(_.formatDate)))&&x.push("xdsoft_weekend"),void 0!==_.highlightedDates[h.dateFormat(_.formatDate)]&&(a=_.highlightedDates[h.dateFormat(_.formatDate)],x.push(void 0===a.style?"xdsoft_highlighted_default":a.style),m=void 0===a.desc?"":a.desc),_.beforeShowDay&&e.isFunction(_.beforeShowDay)&&x.push(_.beforeShowDay(h)),b&&(c+="",b=!1,_.weeks&&(c+="")),c+='",h.getDay()===_.dayOfWeekStartPrev&&(c+="",b=!0),h.setDate(i+1);if(c+="
"+_.i18n[o].dayOfWeekShort[(t+_.dayOfWeekStart)%7]+"
"+u+"
'+i+"
",H.html(c),N.find(".xdsoft_label span").eq(0).text(_.i18n[o].months[P.currentTime.getMonth()]),N.find(".xdsoft_label span").eq(1).text(P.currentTime.getFullYear()),v="",T="",d="",f=function(t,a){var r,o,n=P.now(),i=_.allowTimes&&e.isArray(_.allowTimes)&&_.allowTimes.length;n.setHours(t),t=parseInt(n.getHours(),10),n.setMinutes(a),a=parseInt(n.getMinutes(),10),r=new Date(P.currentTime),r.setHours(t),r.setMinutes(a),x=[],(_.minDateTime!==!1&&_.minDateTime>r||_.maxTime!==!1&&P.strtotime(_.maxTime).getTime()n.getTime())&&x.push("xdsoft_disabled"),(_.minDateTime!==!1&&_.minDateTime>r||_.disabledMinTime!==!1&&n.getTime()>P.strtotime(_.disabledMinTime).getTime()&&_.disabledMaxTime!==!1&&n.getTime()59||o.getMinutes()===parseInt(a,10))&&(_.defaultSelect||J.data("changed")?x.push("xdsoft_current"):_.initTime&&x.push("xdsoft_init_time")),parseInt(p.getHours(),10)===parseInt(t,10)&&parseInt(p.getMinutes(),10)===parseInt(a,10)&&x.push("xdsoft_today"),v+='
'+n.dateFormat(_.formatTime)+"
"},_.allowTimes&&e.isArray(_.allowTimes)&&_.allowTimes.length)for(g=0;g<_.allowTimes.length;g+=1)T=P.strtotime(_.allowTimes[g]).getHours(),d=P.strtotime(_.allowTimes[g]).getMinutes(),f(T,d);else for(g=0,t=0;g<(_.hours12?12:24);g+=1)for(t=0;60>t;t+=_.step)T=(10>g?"0":"")+g,d=(10>t?"0":"")+t,f(T,d);for(L.html(v),r="",g=0,g=parseInt(_.yearStart,10)+_.yearOffset;g<=parseInt(_.yearEnd,10)+_.yearOffset;g+=1)r+='
'+g+"
";for(E.children().eq(0).html(r),g=parseInt(_.monthStart,10),r="";g<=parseInt(_.monthEnd,10);g+=1)r+='
'+_.i18n[o].months[g]+"
";B.children().eq(0).html(r),e(J).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(_.timepicker){var e,t,a,r;L.find(".xdsoft_current").length?e=".xdsoft_current":L.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=Y[0].clientHeight,a=L[0].offsetHeight,r=L.find(e).index()*_.timeHeightInTimePicker+1,r>a-t&&(r=a-t),Y.trigger("scroll_element.xdsoft_scroller",[parseInt(r,10)/(a-t)])):Y.trigger("scroll_element.xdsoft_scroller",[0])}}),F=0,H.on("click.xdsoft","td",function(t){t.stopPropagation(),F+=1;var r=e(this),o=P.currentTime;return(void 0===o||null===o)&&(P.currentTime=P.now(),o=P.currentTime),r.hasClass("xdsoft_disabled")?!1:(o.setDate(1),o.setFullYear(r.data("year")),o.setMonth(r.data("month")),o.setDate(r.data("date")),J.trigger("select.xdsoft",[o]),a.val(P.str()),_.onSelectDate&&e.isFunction(_.onSelectDate)&&_.onSelectDate.call(J,P.currentTime,J.data("input"),t),J.data("changed",!0),J.trigger("xchange.xdsoft"),J.trigger("changedatetime.xdsoft"),(F>1||_.closeOnDateSelect===!0||_.closeOnDateSelect===!1&&!_.timepicker)&&!_.inline&&J.trigger("close.xdsoft"),void setTimeout(function(){F=0},200))}),L.on("click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),r=P.currentTime;return(void 0===r||null===r)&&(P.currentTime=P.now(),r=P.currentTime),a.hasClass("xdsoft_disabled")?!1:(r.setHours(a.data("hour")),r.setMinutes(a.data("minute")),J.trigger("select.xdsoft",[r]),J.data("input").val(P.str()),_.onSelectTime&&e.isFunction(_.onSelectTime)&&_.onSelectTime.call(J,P.currentTime,J.data("input"),t),J.data("changed",!0),J.trigger("xchange.xdsoft"),J.trigger("changedatetime.xdsoft"),void(_.inline!==!0&&_.closeOnTimeSelect===!0&&J.trigger("close.xdsoft")))}),z.on("mousewheel.xdsoft",function(e){return _.scrollMonth?(e.deltaY<0?P.nextMonth():P.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return _.scrollInput?!_.datepicker&&_.timepicker?(C=L.find(".xdsoft_current").length?L.find(".xdsoft_current").eq(0).index():0,C+e.deltaY>=0&&C+e.deltaYe(window).height()+e(window).scrollTop()&&(r=a.top-J[0].offsetHeight+1),0>r&&(r=0),o+J[0].offsetWidth>e(window).width()&&(o=e(window).width()-J[0].offsetWidth)),t=J[0];do if(t=t.parentNode,"relative"===window.getComputedStyle(t).getPropertyValue("position")&&e(window).width()>=t.offsetWidth){o-=(e(window).width()-t.offsetWidth)/2;break}while("HTML"!==t.nodeName);J.css({left:o,top:r,position:n})},J.on("open.xdsoft",function(t){var a=!0;_.onShow&&e.isFunction(_.onShow)&&(a=_.onShow.call(J,P.currentTime,J.data("input"),t)),a!==!1&&(J.show(),A(),e(window).off("resize.xdsoft",A).on("resize.xdsoft",A),_.closeOnWithoutClick&&e([document.body,window]).on("mousedown.xdsoft",function r(){J.trigger("close.xdsoft"),e([document.body,window]).off("mousedown.xdsoft",r)}))}).on("close.xdsoft",function(t){var a=!0;N.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),_.onClose&&e.isFunction(_.onClose)&&(a=_.onClose.call(J,P.currentTime,J.data("input"),t)),a===!1||_.opened||_.inline||J.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){J.trigger(J.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),R=0,K=0,J.data("xdsoft_datetime",P),J.setOptions(_),P.setCurrentTime(n()),a.data("xdsoft_datetimepicker",J).on("open.xdsoft focusin.xdsoft mousedown.xdsoft",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&_.closeOnInputClick||(clearTimeout(R),R=setTimeout(function(){a.is(":disabled")||(q=!0,P.setCurrentTime(n()),J.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,r=(this.value,t.which);return-1!==[c].indexOf(r)&&_.enterLikeTab?(a=e("input:visible,textarea:visible"),J.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[b].indexOf(r)?(J.trigger("close.xdsoft"),!0):void 0})},i=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===f&&(M=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===f&&(M=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(r))switch(r){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":i(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(Date.parseDate(this.value,_.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft")}else a.setOptions(r);return 0}"string"!==e.type(r)&&(!_.lazyInit||_.open||_.inline?n(e(this)):F(e(this)))})},e.fn.datetimepicker.defaults=a}); \ No newline at end of file +!function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel","date-functions"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},r=null,o="en",n="en",i={meridiem:["AM","PM"]},s=function(){var t=a.i18n[n],o={days:t.dayOfWeek,daysShort:t.dayOfWeekShort,months:t.months,monthsShort:e.map(t.months,function(e){return e.substring(0,3)})};r=new DateFormatter({dateSettings:e.extend({},i,o)})};e.datetimepicker={setLocale:function(e){var t=a.i18n[e]?e:o;n!=t&&(n=t,s())},RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},s(),window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,r;for(a=t||0,r=this.length;r>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,r,o,n,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,m=0,h=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),r=s[0].clientHeight,o=a[0].offsetHeight,n=e('
'),i=e('
'),n.append(i),s.addClass("xdsoft_scroller_box").append(n),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>m&&(t=m-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){r||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),m=n[0].offsetHeight,"mousedown"===a.type||"touchstart"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("touchend mouseup.xdsoft_scroller",function o(){e([document.body,window]).off("touchend mouseup.xdsoft_scroller",o).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(h=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){h&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){h=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){r||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-r)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;r=s[0].clientHeight,o=a[0].offsetHeight,l=r/o,f=l*n[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=n[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(o-r)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(o-r)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),c=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-l.y))/(o-r)])}}),s.on("touchend touchcancel",function(){l=!1,c=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(o){var i,s,d=48,u=57,l=96,f=105,c=17,m=46,h=13,g=27,p=8,y=37,k=38,b=39,x=40,v=9,T=116,D=65,S=67,O=86,M=90,w=89,_=!1,W=e.isPlainObject(o)||!o?e.extend(!0,{},a,o):e.extend(!0,{},a),C=0,F=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(C),C=setTimeout(function(){e.data("xdsoft_datetimepicker")||i(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))})};return i=function(a){function i(){var e,t=!1;return W.startDate?t=J.strToDate(W.startDate):(t=W.value||(a&&a.val&&a.val()?a.val():""),t?t=J.strToDateTime(t):W.defaultDate&&(t=J.strToDateTime(W.defaultDate),W.defaultTime&&(e=J.strtotime(W.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&J.isValidDate(t)?j.data("changed",!0):t="",t||0}var s,C,F,A,P,J,j=e('
'),H=e(''),z=e('
'),Y=e('
'),N=e('
'),I=e('
'),L=I.find(".xdsoft_time_box").eq(0),V=e('
'),B=e(''),E=e('
'),R=e('
'),q=!1,G=0,K=0;W.id&&j.attr("id",W.id),W.style&&j.attr("style",W.style),W.weeks&&j.addClass("xdsoft_showweeks"),W.rtl&&j.addClass("xdsoft_rtl"),j.addClass("xdsoft_"+W.theme),j.addClass(W.className),Y.find(".xdsoft_month span").after(E),Y.find(".xdsoft_year span").after(R),Y.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(t){var a,r,o=e(this).find(".xdsoft_select").eq(0),n=0,i=0,s=o.is(":visible");for(Y.find(".xdsoft_select").hide(),J.currentTime&&(n=J.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),o[s?"hide":"show"](),a=o.find("div.xdsoft_option"),r=0;r=i;)u=new t(i,d,c),l=r.formatDate(i,W.formatDate),i.setDate(i.getDate()+1),void 0!==n[l]?(f=n[l].desc,f&&f.length&&u.desc&&u.desc.length&&(n[l].desc=f+"\n"+u.desc)):n[l]=u}),W.highlightedDates=e.extend(!0,[],n)),o.disabledDates&&e.isArray(o.disabledDates)&&o.disabledDates.length&&(W.disabledDates=e.extend(!0,[],o.disabledDates)),o.disabledWeekDays&&e.isArray(o.disabledWeekDays)&&o.disabledWeekDays.length&&(W.disabledWeekDays=e.extend(!0,[],o.disabledWeekDays)),!W.open&&!W.opened||W.inline||a.trigger("open.xdsoft"),W.inline&&(q=!0,j.addClass("xdsoft_inline"),a.after(j).hide()),W.inverseButton&&(W.next="xdsoft_prev",W.prev="xdsoft_next"),W.datepicker?z.addClass("active"):z.removeClass("active"),W.timepicker?I.addClass("active"):I.removeClass("active"),W.value&&(J.setCurrentTime(W.value),a&&a.val&&a.val(J.str)),W.dayOfWeekStart=isNaN(W.dayOfWeekStart)?0:parseInt(W.dayOfWeekStart,10)%7,W.timepickerScrollbar||L.xdsoftScroller("hide"),W.minDate&&/^[\+\-](.*)$/.test(W.minDate)&&(W.minDate=r.formatDate(J.strToDateTime(W.minDate),W.formatDate)),W.maxDate&&/^[\+\-](.*)$/.test(W.maxDate)&&(W.maxDate=r.formatDate(J.strToDateTime(W.maxDate),W.formatDate)),B.toggle(W.showApplyButton),Y.find(".xdsoft_today_button").css("visibility",W.todayButton?"visible":"hidden"),Y.find("."+W.prev).css("visibility",W.prevButton?"visible":"hidden"),Y.find("."+W.next).css("visibility",W.nextButton?"visible":"hidden"),W.mask&&(a.off("keydown.xdsoft"),W.mask===!0&&(W.mask=W.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===e.type(W.mask)&&(C(W.mask,a.val())||(a.val(W.mask.replace(/[0-9]/g,"_")),s(a[0],0)),a.on("keydown.xdsoft",function(t){var r,o,n=this.value,F=t.which;if(F>=d&&u>=F||F>=l&&f>=F||F===p||F===m){for(r=i(this),o=F!==p&&F!==m?String.fromCharCode(F>=l&&f>=F?F-d:F):"_",F!==p&&F!==m||!r||(r-=1,o="_");/[^0-9_]/.test(W.mask.substr(r,1))&&r0;)r+=F===p||F===m?-1:1;if(n=n.substr(0,r)+o+n.substr(r+1),""===e.trim(n))n=W.mask.replace(/[0-9]/g,"_");else if(r===W.mask.length)return t.preventDefault(),!1;for(r+=F===p||F===m?0:1;/[^0-9_]/.test(W.mask.substr(r,1))&&r0;)r+=F===p||F===m?-1:1;C(W.mask,n)?(this.value=n,s(this,r)):""===e.trim(n)?this.value=W.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[D,S,O,M,w].indexOf(F)&&_||-1!==[g,k,x,y,b,T,c,v,h].indexOf(F))return!0;return t.preventDefault(),!1}))),W.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(W.allowBlank&&!e.trim(e(this).val()).length)e(this).val(null),j.data("xdsoft_datetime").empty();else if(r.parseDate(e(this).val(),W.format))j.data("xdsoft_datetime").setCurrentTime(e(this).val());else{var t=+[e(this).val()[0],e(this).val()[1]].join(""),a=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!W.datepicker&&W.timepicker&&t>=0&&24>t&&a>=0&&60>a?[t,a].map(function(e){return e>9?e:"0"+e}).join(":"):r.formatDate(J.now(),W.format)),j.data("xdsoft_datetime").setCurrentTime(e(this).val())}j.trigger("changedatetime.xdsoft")}),W.dayOfWeekStartPrev=0===W.dayOfWeekStart?6:W.dayOfWeekStart-1,j.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},j.data("options",W).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),R.hide(),E.hide(),!1}),L.append(V),L.xdsoftScroller(),j.on("afterOpen.xdsoft",function(){L.xdsoftScroller()}),j.append(z).append(I),W.withoutCopyright!==!0&&j.append(H),z.append(Y).append(N).append(B),e(W.parentID).append(j),s=function(){var t=this;t.now=function(e){var a,r,o=new Date;return!e&&W.defaultDate&&(a=t.strToDateTime(W.defaultDate),o.setFullYear(a.getFullYear()),o.setMonth(a.getMonth()),o.setDate(a.getDate())),W.yearOffset&&o.setFullYear(o.getFullYear()+W.yearOffset),!e&&W.defaultTime&&(r=t.strtotime(W.defaultTime),o.setHours(r.getHours()),o.setMinutes(r.getMinutes())),o},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:t.now(),j.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,r=t.currentTime.getMonth()+1;return 12===r&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),r=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),r+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(r),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,J.currentTime,j.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(W.onChangeYear)&&W.onChangeYear.call(j,J.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),r},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),W.onChangeMonth&&e.isFunction(W.onChangeMonth)&&W.onChangeMonth.call(j,J.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(e){var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+t.getDay()+1)/7)},t.strToDateTime=function(e){var a,o,n=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(n=/^(\+|\-)(.*)$/.exec(e),n&&(n[2]=r.parseDate(n[2],W.formatDate)),n&&n[2]?(a=n[2].getTime()-6e4*n[2].getTimezoneOffset(),o=new Date(t.now(!0).getTime()+parseInt(n[1]+"1",10)*a)):o=e?r.parseDate(e,W.format):t.now(),t.isValidDate(o)||(o=t.now()),o)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,W.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,W.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return r.formatDate(t.currentTime,W.format)},t.currentTime=this.now()},J=new s,B.on("touchend click",function(e){e.preventDefault(),j.data("changed",!0),J.setCurrentTime(i()),a.val(J.str()),j.trigger("close.xdsoft")}),Y.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){j.data("changed",!0),J.setCurrentTime(0),j.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,r=J.getCurrentTime();r=new Date(r.getFullYear(),r.getMonth(),r.getDate()),e=J.strToDate(W.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>r||(t=J.strToDate(W.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r>t||(a.val(J.str()),a.trigger("change"),j.trigger("close.xdsoft")))}),Y.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,r=!1;!function o(e){t.hasClass(W.next)?J.nextMonth():t.hasClass(W.prev)&&J.prevMonth(),W.monthChangeSpinner&&(r||(a=setTimeout(o,e||100)))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function n(){clearTimeout(a),r=!0,e([document.body,window]).off("touchend mouseup.xdsoft",n)})}),I.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,r=!1,o=110;!function n(e){var i=L[0].clientHeight,s=V[0].offsetHeight,d=Math.abs(parseInt(V.css("marginTop"),10));t.hasClass(W.next)&&s-i-W.timeHeightInTimePicker>=d?V.css("marginTop","-"+(d+W.timeHeightInTimePicker)+"px"):t.hasClass(W.prev)&&d-W.timeHeightInTimePicker>=0&&V.css("marginTop","-"+(d-W.timeHeightInTimePicker)+"px"), +L.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(V.css("marginTop"),10)/(s-i))]),o=o>10?10:o-10,r||(a=setTimeout(n,e||o))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function i(){clearTimeout(a),r=!0,e([document.body,window]).off("touchend mouseup.xdsoft",i)})}),C=0,j.on("xchange.xdsoft",function(t){clearTimeout(C),C=setTimeout(function(){(void 0===J.currentTime||null===J.currentTime)&&(J.currentTime=J.now());for(var t,a,i,s,d,u,l,f,c,m,h="",g=new Date(J.currentTime.getFullYear(),J.currentTime.getMonth(),1,12,0,0),p=0,y=J.now(),k=!1,b=!1,x=[],v=!0,T="",D="";g.getDay()!==W.dayOfWeekStart;)g.setDate(g.getDate()-1);for(h+="",W.weeks&&(h+=""),t=0;7>t;t+=1)h+="";for(h+="",h+="",W.maxDate!==!1&&(k=J.strToDate(W.maxDate),k=new Date(k.getFullYear(),k.getMonth(),k.getDate(),23,59,59,999)),W.minDate!==!1&&(b=J.strToDate(W.minDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate()));pk||b!==!1&&b>g||f&&f[0]===!1?x.push("xdsoft_disabled"):-1!==W.disabledDates.indexOf(r.formatDate(g,W.formatDate))?x.push("xdsoft_disabled"):-1!==W.disabledWeekDays.indexOf(i)&&x.push("xdsoft_disabled"),f&&""!==f[1]&&x.push(f[1]),J.currentTime.getMonth()!==u&&x.push("xdsoft_other_month"),(W.defaultSelect||j.data("changed"))&&r.formatDate(J.currentTime,W.formatDate)===r.formatDate(g,W.formatDate)&&x.push("xdsoft_current"),r.formatDate(y,W.formatDate)===r.formatDate(g,W.formatDate)&&x.push("xdsoft_today"),(0===g.getDay()||6===g.getDay()||-1!==W.weekends.indexOf(r.formatDate(g,W.formatDate)))&&x.push("xdsoft_weekend"),void 0!==W.highlightedDates[r.formatDate(g,W.formatDate)]&&(a=W.highlightedDates[r.formatDate(g,W.formatDate)],x.push(void 0===a.style?"xdsoft_highlighted_default":a.style),m=void 0===a.desc?"":a.desc),W.beforeShowDay&&e.isFunction(W.beforeShowDay)&&x.push(W.beforeShowDay(g)),v&&(h+="",v=!1,W.weeks&&(h+="")),h+='",g.getDay()===W.dayOfWeekStartPrev&&(h+="",v=!0),g.setDate(s+1);if(h+="
"+W.i18n[n].dayOfWeekShort[(t+W.dayOfWeekStart)%7]+"
"+l+"
'+s+"
",N.html(h),Y.find(".xdsoft_label span").eq(0).text(W.i18n[n].months[J.currentTime.getMonth()]),Y.find(".xdsoft_label span").eq(1).text(J.currentTime.getFullYear()),T="",D="",u="",c=function(t,a){var o,n,i=J.now(),s=W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length;i.setHours(t),t=parseInt(i.getHours(),10),i.setMinutes(a),a=parseInt(i.getMinutes(),10),o=new Date(J.currentTime),o.setHours(t),o.setMinutes(a),x=[],(W.minDateTime!==!1&&W.minDateTime>o||W.maxTime!==!1&&J.strtotime(W.maxTime).getTime()i.getTime())&&x.push("xdsoft_disabled"),(W.minDateTime!==!1&&W.minDateTime>o||W.disabledMinTime!==!1&&i.getTime()>J.strtotime(W.disabledMinTime).getTime()&&W.disabledMaxTime!==!1&&i.getTime()59||n.getMinutes()===parseInt(a,10))&&(W.defaultSelect||j.data("changed")?x.push("xdsoft_current"):W.initTime&&x.push("xdsoft_init_time")),parseInt(y.getHours(),10)===parseInt(t,10)&&parseInt(y.getMinutes(),10)===parseInt(a,10)&&x.push("xdsoft_today"),T+='
'+r.formatDate(i,W.formatTime)+"
"},W.allowTimes&&e.isArray(W.allowTimes)&&W.allowTimes.length)for(p=0;pt;t+=W.step)D=(10>p?"0":"")+p,u=(10>t?"0":"")+t,c(D,u);for(V.html(T),o="",p=0,p=parseInt(W.yearStart,10)+W.yearOffset;p<=parseInt(W.yearEnd,10)+W.yearOffset;p+=1)o+='
'+p+"
";for(R.children().eq(0).html(o),p=parseInt(W.monthStart,10),o="";p<=parseInt(W.monthEnd,10);p+=1)o+='
'+W.i18n[n].months[p]+"
";E.children().eq(0).html(o),e(j).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(W.timepicker){var e,t,a,r;V.find(".xdsoft_current").length?e=".xdsoft_current":V.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=L[0].clientHeight,a=V[0].offsetHeight,r=V.find(e).index()*W.timeHeightInTimePicker+1,r>a-t&&(r=a-t),L.trigger("scroll_element.xdsoft_scroller",[parseInt(r,10)/(a-t)])):L.trigger("scroll_element.xdsoft_scroller",[0])}}),F=0,N.on("touchend click.xdsoft","td",function(t){t.stopPropagation(),F+=1;var r=e(this),o=J.currentTime;return(void 0===o||null===o)&&(J.currentTime=J.now(),o=J.currentTime),r.hasClass("xdsoft_disabled")?!1:(o.setDate(1),o.setFullYear(r.data("year")),o.setMonth(r.data("month")),o.setDate(r.data("date")),j.trigger("select.xdsoft",[o]),a.val(J.str()),W.onSelectDate&&e.isFunction(W.onSelectDate)&&W.onSelectDate.call(j,J.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),(F>1||W.closeOnDateSelect===!0||W.closeOnDateSelect===!1&&!W.timepicker)&&!W.inline&&j.trigger("close.xdsoft"),void setTimeout(function(){F=0},200))}),V.on("touchend click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),r=J.currentTime;return(void 0===r||null===r)&&(J.currentTime=J.now(),r=J.currentTime),a.hasClass("xdsoft_disabled")?!1:(r.setHours(a.data("hour")),r.setMinutes(a.data("minute")),j.trigger("select.xdsoft",[r]),j.data("input").val(J.str()),W.onSelectTime&&e.isFunction(W.onSelectTime)&&W.onSelectTime.call(j,J.currentTime,j.data("input"),t),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),void(W.inline!==!0&&W.closeOnTimeSelect===!0&&j.trigger("close.xdsoft")))}),z.on("mousewheel.xdsoft",function(e){return W.scrollMonth?(e.deltaY<0?J.nextMonth():J.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return W.scrollInput?!W.datepicker&&W.timepicker?(A=V.find(".xdsoft_current").length?V.find(".xdsoft_current").eq(0).index():0,A+e.deltaY>=0&&A+e.deltaYe(window).height()+e(window).scrollTop()&&(o=a.top-r.offsetHeight+1),0>o&&(o=0),n+r.offsetWidth>e(window).width()&&(n=e(window).width()-r.offsetWidth)),t=j[0];do if(t=t.parentNode,"relative"===window.getComputedStyle(t).getPropertyValue("position")&&e(window).width()>=t.offsetWidth){n-=(e(window).width()-t.offsetWidth)/2;break}while("HTML"!==t.nodeName);j.css({left:n,top:o,position:i})},j.on("open.xdsoft",function(t){var a=!0;W.onShow&&e.isFunction(W.onShow)&&(a=W.onShow.call(j,J.currentTime,j.data("input"),t)),a!==!1&&(j.show(),P(),e(window).off("resize.xdsoft",P).on("resize.xdsoft",P),W.closeOnWithoutClick&&e([document.body,window]).on("touchstart mousedown.xdsoft",function r(){j.trigger("close.xdsoft"),e([document.body,window]).off("touchstart mousedown.xdsoft",r)}))}).on("close.xdsoft",function(t){var a=!0;Y.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),W.onClose&&e.isFunction(W.onClose)&&(a=W.onClose.call(j,J.currentTime,j.data("input"),t)),a===!1||W.opened||W.inline||j.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){j.trigger(j.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),G=0,K=0,j.data("xdsoft_datetime",J),j.setOptions(W),J.setCurrentTime(i()),a.data("xdsoft_datetimepicker",j).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&W.closeOnInputClick||(clearTimeout(G),G=setTimeout(function(){a.is(":disabled")||(q=!0,J.setCurrentTime(i()),j.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,r=(this.value,t.which);return-1!==[h].indexOf(r)&&W.enterLikeTab?(a=e("input:visible,textarea:visible,button:visible,a:visible"),j.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[v].indexOf(r)?(j.trigger("close.xdsoft"),!0):void 0})},s=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft touchstart"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===c&&(_=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===c&&(_=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(o))switch(o){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":s(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(r.parseDate(this.value,W.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft")}else a.setOptions(o);return 0}"string"!==e.type(o)&&(!W.lazyInit||W.open||W.inline?i(e(this)):F(e(this)))})},e.fn.datetimepicker.defaults=a}); \ No newline at end of file diff --git a/jquery.datetimepicker.js b/jquery.datetimepicker.js index 8d45c83..9fac490 100644 --- a/jquery.datetimepicker.js +++ b/jquery.datetimepicker.js @@ -1,3 +1,4 @@ +/* global DateFormatter */ /** * @preserve jQuery DateTimePicker plugin v2.4.5 * @homepage http://xdsoft.net/jqplugins/datetimepicker/ @@ -604,15 +605,37 @@ showApplyButton: false }; - var globalLocaleDefault = 'en', + var dateHelper = null, + globalLocaleDefault = 'en', globalLocale = 'en'; + + var dateFormatterOptionsDefault = { + meridiem: ['AM', 'PM'] + }; + + var initDateFormatter = function(){ + var locale = default_options.i18n[globalLocale], + opts = { + days: locale.dayOfWeek, + daysShort: locale.dayOfWeekShort, + months: locale.months, + monthsShort: $.map(locale.months, function(n){ return n.substring(0, 3) }), + }; + + dateHelper = new DateFormatter({ + dateSettings: $.extend({}, dateFormatterOptionsDefault, opts) + }); + }; + // for locale settings $.datetimepicker = { setLocale: function(locale){ - globalLocale = default_options.i18n[locale]?locale:globalLocaleDefault; - // Override Parse and Format Library entities - Date.monthNames = default_options.i18n[globalLocale].months; - Date.dayNames = default_options.i18n[globalLocale].dayOfWeek; + var newLocale = default_options.i18n[locale]?locale:globalLocaleDefault; + if(globalLocale != newLocale){ + globalLocale = newLocale; + // reinit date formatter + initDateFormatter(); + } }, RFC_2822: 'D, d M Y H:i:s O', ATOM: 'Y-m-d\TH:i:sP', @@ -624,6 +647,9 @@ RSS: 'D, d M Y H:i:s O', W3C: 'Y-m-d\TH:i:sP' }; + + // first init date formatter + initDateFormatter(); // fix for ie8 if (!window.getComputedStyle) { @@ -1028,8 +1054,8 @@ $.each(_options.highlightedDates, function (index, value) { var splitData = $.map(value.split(','), $.trim), exDesc, - hDate = new HighlightedDate(Date.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style - keyDate = hDate.date.dateFormat(options.formatDate); + hDate = new HighlightedDate(dateHelper.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style + keyDate = dateHelper.formatDate(hDate.date, options.formatDate); if (highlightedDates[keyDate] !== undefined) { exDesc = highlightedDates[keyDate].desc; if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { @@ -1061,15 +1087,15 @@ } else { var splitData = $.map(value.split(','), $.trim); - dateTest = Date.parseDate(splitData[0], options.formatDate); - dateEnd = Date.parseDate(splitData[1], options.formatDate); + dateTest = dateHelper.parseDate(splitData[0], options.formatDate); + dateEnd = dateHelper.parseDate(splitData[1], options.formatDate); desc = splitData[2]; style = splitData[3]; } while (dateTest <= dateEnd) { hDate = new HighlightedDate(dateTest, desc, style); - keyDate = dateTest.dateFormat(options.formatDate); + keyDate = dateHelper.formatDate(dateTest, options.formatDate); dateTest.setDate(dateTest.getDate() + 1); if (highlightedDates[keyDate] !== undefined) { exDesc = highlightedDates[keyDate].desc; @@ -1138,11 +1164,11 @@ } if (options.minDate && /^[\+\-](.*)$/.test(options.minDate)) { - options.minDate = _xdsoft_datetime.strToDateTime(options.minDate).dateFormat(options.formatDate); + options.minDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.minDate), options.formatDate); } if (options.maxDate && /^[\+\-](.*)$/.test(options.maxDate)) { - options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate); + options.maxDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.maxDate), options.formatDate); } applyButton.toggle(options.showApplyButton); @@ -1239,7 +1265,7 @@ if (options.allowBlank && !$.trim($(this).val()).length) { $(this).val(null); datetimepicker.data('xdsoft_datetime').empty(); - } else if (!Date.parseDate($(this).val(), options.format)) { + } else if (!dateHelper.parseDate($(this).val(), options.format)) { var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')), splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join('')); @@ -1249,7 +1275,7 @@ return item > 9 ? item : '0' + item; }).join(':')); } else { - $(this).val((_xdsoft_datetime.now()).dateFormat(options.format)); + $(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format)); } datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); @@ -1422,13 +1448,13 @@ tmpDate = /^(\+|\-)(.*)$/.exec(sDateTime); if (tmpDate) { - tmpDate[2] = Date.parseDate(tmpDate[2], options.formatDate); + tmpDate[2] = dateHelper.parseDate(tmpDate[2], options.formatDate); } if (tmpDate && tmpDate[2]) { timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000; currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset); } else { - currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now(); + currentTime = sDateTime ? dateHelper.parseDate(sDateTime, options.format) : _this.now(); } if (!_this.isValidDate(currentTime)) { @@ -1443,7 +1469,7 @@ return sDate; } - var currentTime = sDate ? Date.parseDate(sDate, options.formatDate) : _this.now(true); + var currentTime = sDate ? dateHelper.parseDate(sDate, options.formatDate) : _this.now(true); if (!_this.isValidDate(currentTime)) { currentTime = _this.now(true); } @@ -1454,7 +1480,7 @@ if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) { return sTime; } - var currentTime = sTime ? Date.parseDate(sTime, options.formatTime) : _this.now(true); + var currentTime = sTime ? dateHelper.parseDate(sTime, options.formatTime) : _this.now(true); if (!_this.isValidDate(currentTime)) { currentTime = _this.now(true); } @@ -1462,7 +1488,7 @@ }; _this.str = function () { - return _this.currentTime.dateFormat(options.format); + return dateHelper.formatDate(_this.currentTime, options.format); }; _this.currentTime = this.now(); }; @@ -1636,7 +1662,7 @@ if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) { classes.push('xdsoft_disabled'); - } else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) { + } else if (options.disabledDates.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) { classes.push('xdsoft_disabled'); } else if (options.disabledWeekDays.indexOf(day) !== -1) { classes.push('xdsoft_disabled'); @@ -1650,20 +1676,20 @@ classes.push('xdsoft_other_month'); } - if ((options.defaultSelect || datetimepicker.data('changed')) && _xdsoft_datetime.currentTime.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + if ((options.defaultSelect || datetimepicker.data('changed')) && dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) { classes.push('xdsoft_current'); } - if (today.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + if (dateHelper.formatDate(today, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) { classes.push('xdsoft_today'); } - if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) !== -1) { + if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) { classes.push('xdsoft_weekend'); } - if (options.highlightedDates[start.dateFormat(options.formatDate)] !== undefined) { - hDate = options.highlightedDates[start.dateFormat(options.formatDate)]; + if (options.highlightedDates[dateHelper.formatDate(start, options.formatDate)] !== undefined) { + hDate = options.highlightedDates[dateHelper.formatDate(start, options.formatDate)]; classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style); description = hDate.desc === undefined ? '' : hDate.desc; } @@ -1738,7 +1764,7 @@ if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) { classes.push('xdsoft_today'); } - time += '
' + now.dateFormat(options.formatTime) + '
'; + time += '
' + dateHelper.formatDate(now, options.formatTime) + '
'; }; if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) { @@ -2128,7 +2154,7 @@ break; case 'reset': this.value = this.defaultValue; - if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(Date.parseDate(this.value, options.format))) { + if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(dateHelper.parseDate(this.value, options.format))) { datetimepicker.data('changed', false); } datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value); diff --git a/package.json b/package.json index 1f18600..ff21d4d 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "jquery.datetimepicker.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "concat": "concat-cli -f jquery.datetimepicker.js bower_components/jquery-mousewheel/jquery.mousewheel.js bower_components/date-functions/date-functions.js -o build/jquery.datetimepicker.full.js", + "concat": "concat-cli -f bower_components/php-date-formatter/js/php-date-formatter.js jquery.datetimepicker.js bower_components/jquery-mousewheel/jquery.mousewheel.js -o build/jquery.datetimepicker.full.js", "minify": "uglifyjs jquery.datetimepicker.js -c -m -o build/jquery.datetimepicker.min.js", "minifyconcat": "uglifyjs build/jquery.datetimepicker.full.js -c -m -o build/jquery.datetimepicker.full.min.js", "build": "npm run minify && npm run concat && npm run minifyconcat"