From afc6bbd45e35ae376c8750270ff71c38e7ee7f7c Mon Sep 17 00:00:00 2001
From: Alexander Kosheverov
Date: Tue, 25 Jul 2017 12:57:58 +0300
Subject: [PATCH 1/2] Week start date and russian translation
---
src/i18n/datepicker.ru-RU.js | 29 +++++++++++++++++++++++++++++
src/js/jquery-datepicker.js | 4 +++-
2 files changed, 32 insertions(+), 1 deletion(-)
create mode 100644 src/i18n/datepicker.ru-RU.js
diff --git a/src/i18n/datepicker.ru-RU.js b/src/i18n/datepicker.ru-RU.js
new file mode 100644
index 0000000..6afd94c
--- /dev/null
+++ b/src/i18n/datepicker.ru-RU.js
@@ -0,0 +1,29 @@
+(function (factory, jQuery) {
+ if (typeof define === 'function' && define.amd) {
+ define('datepicker.ru-RU', ['jquery'], factory);
+ } else if (typeof exports === 'object') {
+ factory(require('jquery'));
+ } else {
+ factory(jQuery);
+ }
+})(function ($) {
+ $.fn.datepicker.lang['ru-RU'] = {
+ days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
+ daysMin: ['ВС', 'ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ'],
+ months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+ monthsShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
+ yearSuffix: '',
+ monthSuffix: '',
+ todaySuffix: 'Сегодня',
+ dateInputPlaceholder: 'Выберите дату',
+ rangeStartInputPlaceholder: 'Начальная дата',
+ rangeEndPlaceholder: 'Конечная дата',
+ dateTimeInputPlaceholder: 'Выберите время',
+ rangeStartTimeInputPlaceholder: 'Начальное время',
+ rangeEndTimeInputPlaceholder: 'Конечное время',
+ nowDateButton: 'Сейчас',
+ confirmDateButton: 'Подтвердить',
+ cancelTimeButton: 'Отмена',
+ clearButton: 'Очистить'
+ };
+}, window.jQuery);
diff --git a/src/js/jquery-datepicker.js b/src/js/jquery-datepicker.js
index 0cc7773..2d073d2 100644
--- a/src/js/jquery-datepicker.js
+++ b/src/js/jquery-datepicker.js
@@ -356,6 +356,7 @@
endDate: null,
lang: 'en-US',
rangeSeparator: '-',
+ weekStart: 0,
defaultValue: '',
zIndex: DATE_PANEL_Z_INDEX,
onChange: null,
@@ -1087,7 +1088,7 @@
var dateCountOfLastMonth = $.getTotalDayCountOfMonth(date.getFullYear(), (date.getMonth() === 0 ? 11 : date.getMonth() - 1));
day = (day === 0) ? 7 : day;
- var offset = 0;
+ var offset = -1 * datepicker.weekStart;
var rows = tableRows;
var count = 1;
var firstDayPosition;
@@ -1156,6 +1157,7 @@
},
_getWeekDayRows: function () {
var weekDayRows = datepicker.daysMin;
+ if (datepicker.weekStart) weekDayRows = weekDayRows.slice(datepicker.weekStart).concat(weekDayRows.slice(0,datepicker.weekStart));
return weekDayRows;
},
_getYearRows: function (year) {
From cbe09551370e2981056f463472bbb31437fcafcb Mon Sep 17 00:00:00 2001
From: Alexander Kosheverov
Date: Tue, 25 Jul 2017 13:53:17 +0300
Subject: [PATCH 2/2] Dist files updated aswell
---
dist/i18n/datepicker.ru-RU.js | 29 +++++++++++++++++++++++++++++
dist/js/jquery.datepicker.js | 4 +++-
dist/js/jquery.datepicker.min.js | 2 +-
3 files changed, 33 insertions(+), 2 deletions(-)
create mode 100644 dist/i18n/datepicker.ru-RU.js
diff --git a/dist/i18n/datepicker.ru-RU.js b/dist/i18n/datepicker.ru-RU.js
new file mode 100644
index 0000000..6afd94c
--- /dev/null
+++ b/dist/i18n/datepicker.ru-RU.js
@@ -0,0 +1,29 @@
+(function (factory, jQuery) {
+ if (typeof define === 'function' && define.amd) {
+ define('datepicker.ru-RU', ['jquery'], factory);
+ } else if (typeof exports === 'object') {
+ factory(require('jquery'));
+ } else {
+ factory(jQuery);
+ }
+})(function ($) {
+ $.fn.datepicker.lang['ru-RU'] = {
+ days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
+ daysMin: ['ВС', 'ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ'],
+ months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+ monthsShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
+ yearSuffix: '',
+ monthSuffix: '',
+ todaySuffix: 'Сегодня',
+ dateInputPlaceholder: 'Выберите дату',
+ rangeStartInputPlaceholder: 'Начальная дата',
+ rangeEndPlaceholder: 'Конечная дата',
+ dateTimeInputPlaceholder: 'Выберите время',
+ rangeStartTimeInputPlaceholder: 'Начальное время',
+ rangeEndTimeInputPlaceholder: 'Конечное время',
+ nowDateButton: 'Сейчас',
+ confirmDateButton: 'Подтвердить',
+ cancelTimeButton: 'Отмена',
+ clearButton: 'Очистить'
+ };
+}, window.jQuery);
diff --git a/dist/js/jquery.datepicker.js b/dist/js/jquery.datepicker.js
index 0cc7773..2d073d2 100644
--- a/dist/js/jquery.datepicker.js
+++ b/dist/js/jquery.datepicker.js
@@ -356,6 +356,7 @@
endDate: null,
lang: 'en-US',
rangeSeparator: '-',
+ weekStart: 0,
defaultValue: '',
zIndex: DATE_PANEL_Z_INDEX,
onChange: null,
@@ -1087,7 +1088,7 @@
var dateCountOfLastMonth = $.getTotalDayCountOfMonth(date.getFullYear(), (date.getMonth() === 0 ? 11 : date.getMonth() - 1));
day = (day === 0) ? 7 : day;
- var offset = 0;
+ var offset = -1 * datepicker.weekStart;
var rows = tableRows;
var count = 1;
var firstDayPosition;
@@ -1156,6 +1157,7 @@
},
_getWeekDayRows: function () {
var weekDayRows = datepicker.daysMin;
+ if (datepicker.weekStart) weekDayRows = weekDayRows.slice(datepicker.weekStart).concat(weekDayRows.slice(0,datepicker.weekStart));
return weekDayRows;
},
_getYearRows: function (year) {
diff --git a/dist/js/jquery.datepicker.min.js b/dist/js/jquery.datepicker.min.js
index 95f3b59..463d7dc 100644
--- a/dist/js/jquery.datepicker.min.js
+++ b/dist/js/jquery.datepicker.min.js
@@ -1,2 +1,2 @@
-!function(e,t,a){"function"==typeof define&&define.amd?define(["jquery","fecha"],e):"object"==typeof exports?module.exports=e(require("jquery"),require("fecha")):e(t,a)}(function(e,t){function a(e,t){var a=[];return Array.from?Array.from(e).slice(t||0):("number"!=typeof t||isNaN(t)||a.push(t),a.slice.apply(e,a))}function n(e){return"string"==typeof e}function r(e){return"object"==typeof e&&e instanceof Date}function i(t,n,r){t.removeClass(n).addClass(n).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){e(this).removeClass(n),r.apply(t,a(arguments))}),d&&s<=9&&(t.removeClass(n),r.apply(t,a(arguments)))}t=t||function(){function e(e,t){for(var a=[],n=0,r=e.length;n3?0:(e-e%10!=10)*e%10]}};var p={D:function(e){return e.getDay()},DD:function(e){return a(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return a(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return a(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return String(e.getFullYear()).substr(2)},yyyy:function(e){return e.getFullYear()},h:function(e){return e.getHours()%12||12},hh:function(e){return a(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return a(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return a(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return a(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return a(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return a(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+a(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},f={d:[i,function(e,t){e.day=t}],M:[i,function(e,t){e.month=t-1}],yy:[i,function(e,t){var a=new Date,n=+(""+a.getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+t}],h:[i,function(e,t){e.hour=t}],m:[i,function(e,t){e.minute=t}],s:[i,function(e,t){e.second=t}],yyyy:[o,function(e,t){e.year=t}],S:[/\d/,function(e,t){e.millisecond=100*t}],SS:[/\d{2}/,function(e,t){e.millisecond=10*t}],SSS:[l,function(e,t){e.millisecond=t}],D:[i,s],ddd:[d,s],MMM:[d,t("monthNamesShort")],MMMM:[d,t("monthNames")],a:[d,function(e,t,a){var n=t.toLowerCase();n===a.amPm[0]?e.isPm=!1:n===a.amPm[1]&&(e.isPm=!0)}],ZZ:[/[\+\-]\d\d:?\d\d/,function(e,t){var a,n=(t+"").match(/([\+\-]|\d\d)/gi);n&&(a=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?a:-a)}]};return f.DD=f.DD,f.dddd=f.ddd,f.Do=f.dd=f.d,f.mm=f.m,f.hh=f.H=f.HH=f.h,f.MM=f.M,f.ss=f.s,f.A=f.a,n.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},n.format=function(e,t,a){var i=a||n.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");return t=n.masks[t]||t||n.masks.default,t.replace(r,function(t){return t in p?p[t](e,i):t.slice(1,t.length-1)})},n.parse=function(e,t,a){var i=a||n.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=n.masks[t]||t,e.length>1e3)return!1;var l=!0,o={};if(t.replace(r,function(t){if(f[t]){var a=f[t],n=e.search(a[0]);~n?e.replace(a[0],function(t){return a[1](o,t,i),e=e.substr(n+t.length),t}):l=!1}return f[t]?"":t.slice(1,t.length-1)}),!l)return!1;var d=new Date;!0===o.isPm&&null!=o.hour&&12!=+o.hour?o.hour=+o.hour+12:!1===o.isPm&&12==+o.hour&&(o.hour=0);var s;return null!=o.timezoneOffset?(o.minute=+(o.minute||0)-+o.timezoneOffset,s=new Date(Date.UTC(o.year||d.getFullYear(),o.month||0,o.day||1,o.hour||0,o.minute||0,o.second||0,o.millisecond||0))):s=new Date(o.year||d.getFullYear(),o.month||0,o.day||1,o.hour||0,o.minute||0,o.second||0,o.millisecond||0),s},n}();var l="undefined"!=typeof window,o=l&&window.navigator.userAgent.toLowerCase(),d=o&&/msie|trident/.test(o),s=document.documentMode,m=function(t,a){var l=this,o={defaults:{readonly:!1,disabled:!1,type:"date",format:"yyyy-MM-dd",placeholder:"Please pick a day",align:"left",startDate:null,endDate:null,lang:"en-US",rangeSeparator:"-",defaultValue:"",zIndex:2008,onChange:null,onShow:null,onHide:null},_init:function(){l=e.extend(!0,l,o.defaults,a||{}),l.lang&&(l=e.extend(l,e.fn.datepicker.lang[l.lang]));var n=l.type;"datetime"!==n&&"datetime-range"!==n||l.format!==o.defaults.format?"year"===n?l.format="yyyy":"month"===n&&l.format===o.defaults.format&&(l.format="yyyy-MM"):l.format="yyyy-MM-dd HH:mm:ss",l.date=new Date,l.value="",l.yearLabel=l.date.getFullYear(),l.monthLabel=l.date.getMonth(),l.readonly&&t.attr("readonly",!0),l.disabled&&t.attr("disabled",!0),l.placeholder&&t.attr("placeholder",l.placeholder),o._created()},_created:function(){var a,n=l.type,r=l.align,i=l.zIndex,m="center"===r?"50%":"right"===r?"100%":"0",c=e("body");if("date"===n||"month"===n||"year"===n||"datetime"===n?("date"===n||"datetime"===n?l.currentView="dateView":"year"===n?l.currentView="yearView":"month"===n&&(l.currentView="monthView"),a=o._generateDateDOM()):"date-range"!==n&&"datetime-range"!==n||(a=o._generateRangeDateDOM()),l.$pickerPanel=e(a).appendTo(c).css({position:"absolute",zIndex:parseInt(i,10)}),(!d||d&&s>9)&&l.$pickerPanel.css({transformOrigin:m+" 0",msTransformOrigin:m+" 0"}),l.$pickerPanel.find(".gmi-time-panel").length>0){var u=l.$pickerPanel.find(".gmi-time-panel");u.css({width:"154px",position:"absolute",left:0,zIndex:2009}),l.$timePanel=u}switch(e.isFunction(l.onChange)&&t.on("pick.datepicker",l.onChange),o._setDate(l.defaultValue),n){case"date":case"datetime":l.$pickerPanel.find(".gmi-date-table").show().siblings().hide();break;case"year":l.$pickerPanel.find(".gmi-year-table").show().siblings().hide();break;case"month":l.$pickerPanel.find(".gmi-month-table").show().siblings().hide()}o._echoDateOrTimeIntoInput(),o._bindEvent()},_unCreate:function(){var e=l.$pickerPanel;e&&e.length>0&&e.remove()},_bindEvent:function(){e(document).on("click.datepicker",function(){o._hidePickerPanel()}),e(window).on("resize.datepicker",function(){o._setDatePanelPosition()}).on("scroll.datepicker",function(){o._setDatePanelPosition()}),t.on("focus.datepicker",o._elFocusHandler).on("click.datepicker",o._elClickHandler).on("change.datepicker",o._elChangeHandler).on("keyup.datepicker",o._elKeyUpHandler),e.isFunction(l.onShow)&&t.on("show.datepicker",l.onShow),e.isFunction(l.onHide)&&t.on("show.datepicker",l.onHide),l.$pickerPanel.on("click.datepicker",function(e){e.stopPropagation()}),l.$pickerPanel.on("focus.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}).on("keyup.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}).on("change.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}),l.$timePanel&&l.$timePanel.length>0&&(l.$timePanel.on("mouseenter.datepicker",".gmi-time-panel__body__item",function(t){var a=e(this),n=a.find("> ul.gmi-time-panel__body__item--spinner");a.css("overflow","auto"),n.css("width","100%")}).on("mouseleave.datepicker",".gmi-time-panel__body__item",function(t){var a=e(this),n=a.find("> ul.gmi-time-panel__body__item--spinner"),r=a.outerWidth();a.css("overflow","hidden"),n.css("width",r+"px")}),l.$timePanel.on("click.datepicker",".gmi-time-panel__body__item--spinner__item:not(.disabled)",function(t){var a=e(this),n=a.parents(".gmi-time-panel__body__item").eq(0),r=(a.parents(".gmi-time-panel__body__item--spinner").data("role"),Number(a.text())),i=a.outerHeight(),l=r*i;a.addClass("active").siblings().removeClass("active"),n.scrollTop(l),t.stopPropagation()}),l.$timePanel.on("click.datepicker",".gmi-time-panel__btn",function(t){var a=e(this),n=a.data("role"),r=new Date,i=e(t.delegateTarget),o=i.siblings(".gmi-time-picker--input"),d=i.find('.gmi-time-panel__body__item--spinner[data-role="hour"]'),s=i.find('.gmi-time-panel__body__item--spinner[data-role="min"]'),m=i.find('.gmi-time-panel__body__item--spinner[data-role="sec"]'),c=Number(d.find("> li.active").text()),u=Number(s.find("> li.active").text()),g=Number(m.find("> li.active").text());switch(r.setHours(c,u,g,0),n){case"confirm":o.val(e.formatDate(r,"HH:mm:ss")),i.hide();var p=l.$pickerPanel.find(".gmi-time-picker--input").filter(function(){return""===e(this).val()||!e.parseDate(e(this).val(),"HH:mm:ss")});p&&0===p.length&&l.$pickerPanel.find(".gmi-picker-panel__link-btn--determine").removeClass("disabled");break;case"cancel":i.hide()}})),l.$pickerPanel.on("click.datepicker","td:not(.disabled)",function(t){var a,n,r=l.type,i=l.format,d=e(t.delegateTarget),s=d.find(".gmi-picker-panel__link-btn--determine"),m=e(this);if(t.stopPropagation(),"date"===r||"datetime"===r){var c,u,g=l.currentView;if("dateView"===g){var p=m.text()===l.todaySuffix?(new Date).getDate():Number(m.text());if(m.hasClass("prev-month")||m.hasClass("next-month")?(m.hasClass("prev-month")?(c=l.monthLabel-1<0?l.yearLabel-1:l.yearLabel,u=l.monthLabel-1<0?11:l.monthLabel-1):m.hasClass("next-month")&&(c=l.monthLabel+1>11?l.yearLabel+1:l.yearLabel,u=l.monthLabel+1>11?0:l.monthLabel+1),"date"===r?(n=e.formatDate(new Date(c,u,p),i),o._setDate(n)):(n=e.formatDate(new Date(c,u,p)),o._setNewDateDOM(d,c,u,p),d.find(".gmi-date-table td").removeClass("current").filter(function(){return Number(e(this).data("year"))===c&&Number(e(this).data("month"))===u&&Number(e(this).text())===p}).addClass("current"),l.yearLabel=c,l.monthLabel=u)):(c=l.yearLabel,u=l.monthLabel,"date"===r?(n=e.formatDate(new Date(c,u,p),i),o._setDate(n)):(n=e.formatDate(new Date(c,u,p)),d.find(".gmi-date-table").find("td").removeClass("current"),m.addClass("current"))),"datetime"===r)return d.find(".gmi-date-picker--input").val(n),a=d.find(".gmi-time-picker--input"),""!==a.val()&&e.parseDate(a.val(),"HH:mm:ss")||a.val("00:00:00"),s.removeClass("disabled"),!1;o._hidePickerPanel()}else"yearView"===g?o._setYearView(m):o._setMonthView(m)}else if("month"===r)switch(l.currentView){case"monthView":o._setMonthView(m);break;case"yearView":o._setYearView(m)}else if("year"===r)o._setYearView(m);else if("date-range"===r||"datetime-range"===r){var f,h=l.minDate,_=l.maxDate,D=d.find('.gmi-date-picker--input[data-role="range-start"]'),y=d.find('.gmi-time-picker--input[data-role="range-start"]'),b=d.find('.gmi-date-picker--input[data-role="range-end"]'),v=d.find('.gmi-time-picker--input[data-role="range-end"]');c=Number(m.data("year")),u=Number(m.data("month")),p=m.text()===l.todaySuffix?(new Date).getDate():Number(m.text()),h&&_?(l.minDate=new Date(c,u,p),l.maxDate=null,d.find(".gmi-date-table td").removeClass("start-date in-range end-date"),m.hasClass("prev-month")||m.hasClass("next-month")||m.addClass("start-date in-range"),"datetime-range"===r&&(D.val(e.formatDate(l.minDate)),s.addClass("disabled"))):h&&!_?new Date(c,u,p).getTime()l.minDate.getTime()&&i.getTime()=s.getTime()&&(a.find(".gmi-date-table td").filter(function(){var t=Number(e(this).data("year")),a=Number(e(this).data("month")),n=e(this).text()===l.todaySuffix?(new Date).getDate():Number(e(this).text());return!e(this).hasClass("prev-month")&&!e(this).hasClass("next-month")&&new Date(t,a,n).getTime()>s.getTime()&&new Date(t,a,n).getTime()'+a+'
"+("date"===e||"datetime"===e?'":"")+'
'+o._getDateTable(l.date)+o._getYearTable(l.date.getFullYear())+o._getMonthTable(l.date.getMonth())+"
"+n+""},_generateRangeDateDOM:function(){var t=l.date,a=l.minDate?l.minDate:t,n=l.minDate?e.getNextMonth(l.minDate):e.getNextMonth(t),r=l.type,i="datetime-range"===r?"has-time":"",d="datetime-range"===r?o._generateRangeDatetimeHeader():"",s="datetime-range"===r?o._generateDatetimeFooter(r):"";return''+d+'
'+a.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[a.getMonth()]+'
'+o._getDateTable(a)+'
'+n.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[n.getMonth()]+'
'+o._getDateTable(n)+"
"+s+"
"},_generateDatetimeHeader:function(){return'"},_generateRangeDatetimeHeader:function(){return'"},_generateDatetimeFooter:function(e){var t="datetime-range"===e?l.clearButton:l.nowDateButton,a="datetime-range"===e?"gmi-picker-panel__link-btn--clear":"gmi-picker-panel__link-btn--now";return'"},_generateTimePickerDOM:function(e){return''+o._getTimeSpinner("hour")+'
'+o._getTimeSpinner("min")+'
'+o._getTimeSpinner("sec")+'
"},_getDateRows:function(t){var a=[[],[],[],[],[],[]],n=t.getFullYear(),i=t.getMonth(),o=new Date(n,i,1),d=e.getFirstDayOfMonth(o),s=e.getTotalDayCountOfMonth(o.getFullYear(),o.getMonth()),m=e.getTotalDayCountOfMonth(o.getFullYear(),0===o.getMonth()?11:o.getMonth()-1);d=0===d?7:d;for(var c,u=a,g=1,p=e.getStartDateOfMonth(n,i),f=e.clearHours(new Date),h=0;h<6;h++)for(var _=u[h],D=0;D<7;D++){var y=_[D];y||(y={row:h,column:D,type:"normal",year:o.getFullYear(),month:o.getMonth(),inRange:!1,start:!1,end:!1}),y.type="normal";var b=7*h+D,v=p.getTime()+864e5*(b-0);y.inRange=v>=e.clearHours(l.minDate)&&v<=e.clearHours(l.maxDate),y.start=l.minDate&&v===e.clearHours(l.minDate),y.end=l.maxDate&&v===e.clearHours(l.maxDate),y.disabled=!1,l.startDate&&r(l.startDate)&&ve.clearHours(l.endDate)&&(y.disabled=!0);var k=v===f;k&&(y.type="today"),h>=0&&h<=1?D+7*h>=d+0?(y.text=g++,2===g&&(c=7*h+D),y.year=o.getFullYear(),y.month=o.getMonth()):(y.text=m-(d+0-D%7)+1+7*h,y.type="prev-month",y.year=0===o.getMonth()?o.getFullYear()-1:o.getFullYear(),y.month=0===o.getMonth()?11:o.getMonth()-1):g<=s?(y.text=g++,2===g&&(c=7*h+D),y.year=o.getFullYear(),y.month=o.getMonth()):(y.text=g++-s,y.type="next-month",y.year=11===o.getMonth()?o.getFullYear()+1:o.getFullYear(),y.month=11===o.getMonth()?0:o.getMonth()+1),_[D]=e.extend({},y)}return u.firstDayPosition=c,u},_getWeekDayRows:function(){return l.daysMin},_getYearRows:function(e){for(var t=10*Math.floor(e/10),a=[[],[],[]],n=0;n<3;n++)for(var r=a[n],i=0;i<4;i++){var l=4*n+i;if(l>9)break;r[i]=t+l}return a},_getMonthRows:function(){for(var e=[[],[],[]],t=l.monthsShort,a=0,n=0;n";i+="";for(var d=0;d"+a[d]+" | ";i+="
";for(var s=0;s';for(var c=0;c'+p+""}i+=""}return i+=""},_getYearTable:function(e){for(var t=o._getYearRows(e),a=l.startDate&&r(l.startDate)?l.startDate.getFullYear():null,n=l.endDate&&r(l.endDate)?l.endDate.getFullYear():null,i='',d=0;d";for(var m=0;mn&&(u=!0);var g=u?"disabled":"";i+=''+c+" | "}i+=""}return i+="
"},_getMonthTable:function(e){for(var t=o._getMonthRows(),a=l.startDate&&r(l.startDate)?l.startDate.getFullYear():null,n=l.startDate&&r(l.startDate)?l.startDate.getMonth():null,i=a&&n?new Date(a,n,1).getTime():null,d=l.endDate&&r(l.endDate)?l.endDate.getFullYear():null,s=l.endDate&&r(l.endDate)?l.endDate.getMonth():null,m=d&&s?new Date(d,s,1).getTime():null,c='',u=0;u";for(var p=0;pm&&(h=!0);var _=h?"disabled":"",D=e!==4*u+p||h?"":"current";c+=''+f+" | "}c+=""}return c+="
"},_getTimeSpinner:function(e){for(var t=o._getTimeSpinnerData(e),a='',n=0;n- '+t[n]+"
";return a+="
"},_echoDateOrTimeIntoInput:function(){var t=l.type;if("datetime"===t){var a=l.$pickerPanel.find(".gmi-date-picker--input"),n=l.$pickerPanel.find(".gmi-time-picker--input"),r=e.formatDate(l.date),i=e.formatDate(l.date,"HH:mm:ss");a.val(r),n.val(i)}else if("datetime-range"===t){var o,d,s,m,c=l.$pickerPanel.find(".gmi-date-picker--input").filter('[data-role="range-start"]'),u=l.$pickerPanel.find(".gmi-date-picker--input").filter('[data-role="range-end"]'),g=l.$pickerPanel.find(".gmi-time-picker--input").filter('[data-role="range-start"]'),p=l.$pickerPanel.find(".gmi-time-picker--input").filter('[data-role="range-end"]');l.minDate&&l.maxDate?(o=e.formatDate(l.minDate),d=e.formatDate(l.minDate,"HH:mm:ss"),s=e.formatDate(l.maxDate),m=e.formatDate(l.maxDate,"HH:mm:ss"),c.val(o),g.val(d),u.val(s),p.val(m)):(o=e.formatDate(l.date),d=e.formatDate(l.date,"HH:mm:ss"),s=e.formatDate(l.date),m=e.formatDate(l.date,"HH:mm:ss"),c.val(o),g.val(d),u.val(s),p.val(m))}},_echoTimeIntoSpinner:function(t,a){var n=l.type;if("datetime"===n){var r=t&&"object"==typeof t?t.hour:l.date.getHours(),i=t&&"object"==typeof t?t.min:l.date.getMinutes(),o=t&&"object"==typeof t?t.sec:l.date.getSeconds(),d=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=hour]"),s=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=min]"),m=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=sec]"),c=d.children("li").filter(function(){return Number(e(this).text())===r}),u=s.children("li").filter(function(){return Number(e(this).text())===i}),g=m.children("li").filter(function(){return Number(e(this).text())===o}),p=c.outerHeight();if(l.$timePanel.show(),!(c.length>0&&u.length>0&&g.length>0))return;c.addClass("active").siblings().removeClass("active"),u.addClass("active").siblings().removeClass("active"),g.addClass("active").siblings().removeClass("active"),d.parent().scrollTop(r*p),s.parent().scrollTop(i*p),m.parent().scrollTop(o*p)}else if("datetime-range"===n)if("range-start"===a){var f=t&&"object"==typeof t?t.minHour:l.minDate?l.minDate.getHours():l.date.getHours(),h=t&&"object"==typeof t?t.minMin:l.minDate?l.minDate.getMinutes():l.date.getMinutes(),_=t&&"object"==typeof t?t.minSec:l.minDate?l.minDate.getSeconds():l.date.getSeconds(),D=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=hour]"),y=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=min]"),b=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=sec]"),v=D.children("li").filter(function(){return Number(e(this).text())===f}),k=y.children("li").filter(function(){return Number(e(this).text())===h}),w=b.children("li").filter(function(){return Number(e(this).text())===_}),M=v.outerHeight();if(l.$timePanel.filter('[data-role="range-start"]').show(),!(v.length>0&&k.length>0&&w.length>0))return;v.addClass("active").siblings().removeClass("active"),k.addClass("active").siblings().removeClass("active"),w.addClass("active").siblings().removeClass("active"),D.parent().scrollTop(f*M),y.parent().scrollTop(h*M),b.parent().scrollTop(_*M)}else if("range-end"===a){
+!function(e,t,a){"function"==typeof define&&define.amd?define(["jquery","fecha"],e):"object"==typeof exports?module.exports=e(require("jquery"),require("fecha")):e(t,a)}(function(e,t){function a(e,t){var a=[];return Array.from?Array.from(e).slice(t||0):("number"!=typeof t||isNaN(t)||a.push(t),a.slice.apply(e,a))}function n(e){return"string"==typeof e}function r(e){return"object"==typeof e&&e instanceof Date}function i(t,n,r){t.removeClass(n).addClass(n).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){e(this).removeClass(n),r.apply(t,a(arguments))}),d&&s<=9&&(t.removeClass(n),r.apply(t,a(arguments)))}t=t||function(){function e(e,t){for(var a=[],n=0,r=e.length;n3?0:(e-e%10!=10)*e%10]}};var p={D:function(e){return e.getDay()},DD:function(e){return a(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return a(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return a(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return String(e.getFullYear()).substr(2)},yyyy:function(e){return e.getFullYear()},h:function(e){return e.getHours()%12||12},hh:function(e){return a(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return a(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return a(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return a(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return a(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return a(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+a(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},f={d:[i,function(e,t){e.day=t}],M:[i,function(e,t){e.month=t-1}],yy:[i,function(e,t){var a=new Date,n=+(""+a.getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+t}],h:[i,function(e,t){e.hour=t}],m:[i,function(e,t){e.minute=t}],s:[i,function(e,t){e.second=t}],yyyy:[o,function(e,t){e.year=t}],S:[/\d/,function(e,t){e.millisecond=100*t}],SS:[/\d{2}/,function(e,t){e.millisecond=10*t}],SSS:[l,function(e,t){e.millisecond=t}],D:[i,s],ddd:[d,s],MMM:[d,t("monthNamesShort")],MMMM:[d,t("monthNames")],a:[d,function(e,t,a){var n=t.toLowerCase();n===a.amPm[0]?e.isPm=!1:n===a.amPm[1]&&(e.isPm=!0)}],ZZ:[/[\+\-]\d\d:?\d\d/,function(e,t){var a,n=(t+"").match(/([\+\-]|\d\d)/gi);n&&(a=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?a:-a)}]};return f.DD=f.DD,f.dddd=f.ddd,f.Do=f.dd=f.d,f.mm=f.m,f.hh=f.H=f.HH=f.h,f.MM=f.M,f.ss=f.s,f.A=f.a,n.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},n.format=function(e,t,a){var i=a||n.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");return t=n.masks[t]||t||n.masks.default,t.replace(r,function(t){return t in p?p[t](e,i):t.slice(1,t.length-1)})},n.parse=function(e,t,a){var i=a||n.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=n.masks[t]||t,e.length>1e3)return!1;var l=!0,o={};if(t.replace(r,function(t){if(f[t]){var a=f[t],n=e.search(a[0]);~n?e.replace(a[0],function(t){return a[1](o,t,i),e=e.substr(n+t.length),t}):l=!1}return f[t]?"":t.slice(1,t.length-1)}),!l)return!1;var d=new Date;!0===o.isPm&&null!=o.hour&&12!=+o.hour?o.hour=+o.hour+12:!1===o.isPm&&12==+o.hour&&(o.hour=0);var s;return null!=o.timezoneOffset?(o.minute=+(o.minute||0)-+o.timezoneOffset,s=new Date(Date.UTC(o.year||d.getFullYear(),o.month||0,o.day||1,o.hour||0,o.minute||0,o.second||0,o.millisecond||0))):s=new Date(o.year||d.getFullYear(),o.month||0,o.day||1,o.hour||0,o.minute||0,o.second||0,o.millisecond||0),s},n}();var l="undefined"!=typeof window,o=l&&window.navigator.userAgent.toLowerCase(),d=o&&/msie|trident/.test(o),s=document.documentMode,m=function(t,a){var l=this,o={defaults:{readonly:!1,disabled:!1,type:"date",format:"yyyy-MM-dd",placeholder:"Please pick a day",align:"left",startDate:null,endDate:null,lang:"en-US",rangeSeparator:"-",weekStart:0,defaultValue:"",zIndex:2008,onChange:null,onShow:null,onHide:null},_init:function(){l=e.extend(!0,l,o.defaults,a||{}),l.lang&&(l=e.extend(l,e.fn.datepicker.lang[l.lang]));var n=l.type;"datetime"!==n&&"datetime-range"!==n||l.format!==o.defaults.format?"year"===n?l.format="yyyy":"month"===n&&l.format===o.defaults.format&&(l.format="yyyy-MM"):l.format="yyyy-MM-dd HH:mm:ss",l.date=new Date,l.value="",l.yearLabel=l.date.getFullYear(),l.monthLabel=l.date.getMonth(),l.readonly&&t.attr("readonly",!0),l.disabled&&t.attr("disabled",!0),l.placeholder&&t.attr("placeholder",l.placeholder),o._created()},_created:function(){var a,n=l.type,r=l.align,i=l.zIndex,m="center"===r?"50%":"right"===r?"100%":"0",c=e("body");if("date"===n||"month"===n||"year"===n||"datetime"===n?("date"===n||"datetime"===n?l.currentView="dateView":"year"===n?l.currentView="yearView":"month"===n&&(l.currentView="monthView"),a=o._generateDateDOM()):"date-range"!==n&&"datetime-range"!==n||(a=o._generateRangeDateDOM()),l.$pickerPanel=e(a).appendTo(c).css({position:"absolute",zIndex:parseInt(i,10)}),(!d||d&&s>9)&&l.$pickerPanel.css({transformOrigin:m+" 0",msTransformOrigin:m+" 0"}),l.$pickerPanel.find(".gmi-time-panel").length>0){var u=l.$pickerPanel.find(".gmi-time-panel");u.css({width:"154px",position:"absolute",left:0,zIndex:2009}),l.$timePanel=u}switch(e.isFunction(l.onChange)&&t.on("pick.datepicker",l.onChange),o._setDate(l.defaultValue),n){case"date":case"datetime":l.$pickerPanel.find(".gmi-date-table").show().siblings().hide();break;case"year":l.$pickerPanel.find(".gmi-year-table").show().siblings().hide();break;case"month":l.$pickerPanel.find(".gmi-month-table").show().siblings().hide()}o._echoDateOrTimeIntoInput(),o._bindEvent()},_unCreate:function(){var e=l.$pickerPanel;e&&e.length>0&&e.remove()},_bindEvent:function(){e(document).on("click.datepicker",function(){o._hidePickerPanel()}),e(window).on("resize.datepicker",function(){o._setDatePanelPosition()}).on("scroll.datepicker",function(){o._setDatePanelPosition()}),t.on("focus.datepicker",o._elFocusHandler).on("click.datepicker",o._elClickHandler).on("change.datepicker",o._elChangeHandler).on("keyup.datepicker",o._elKeyUpHandler),e.isFunction(l.onShow)&&t.on("show.datepicker",l.onShow),e.isFunction(l.onHide)&&t.on("show.datepicker",l.onHide),l.$pickerPanel.on("click.datepicker",function(e){e.stopPropagation()}),l.$pickerPanel.on("focus.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}).on("keyup.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}).on("change.datepicker",".gmi-time-picker--input",function(t){var a=e(this);o._setTimeView(a,t)}),l.$timePanel&&l.$timePanel.length>0&&(l.$timePanel.on("mouseenter.datepicker",".gmi-time-panel__body__item",function(t){var a=e(this),n=a.find("> ul.gmi-time-panel__body__item--spinner");a.css("overflow","auto"),n.css("width","100%")}).on("mouseleave.datepicker",".gmi-time-panel__body__item",function(t){var a=e(this),n=a.find("> ul.gmi-time-panel__body__item--spinner"),r=a.outerWidth();a.css("overflow","hidden"),n.css("width",r+"px")}),l.$timePanel.on("click.datepicker",".gmi-time-panel__body__item--spinner__item:not(.disabled)",function(t){var a=e(this),n=a.parents(".gmi-time-panel__body__item").eq(0),r=(a.parents(".gmi-time-panel__body__item--spinner").data("role"),Number(a.text())),i=a.outerHeight(),l=r*i;a.addClass("active").siblings().removeClass("active"),n.scrollTop(l),t.stopPropagation()}),l.$timePanel.on("click.datepicker",".gmi-time-panel__btn",function(t){var a=e(this),n=a.data("role"),r=new Date,i=e(t.delegateTarget),o=i.siblings(".gmi-time-picker--input"),d=i.find('.gmi-time-panel__body__item--spinner[data-role="hour"]'),s=i.find('.gmi-time-panel__body__item--spinner[data-role="min"]'),m=i.find('.gmi-time-panel__body__item--spinner[data-role="sec"]'),c=Number(d.find("> li.active").text()),u=Number(s.find("> li.active").text()),g=Number(m.find("> li.active").text());switch(r.setHours(c,u,g,0),n){case"confirm":o.val(e.formatDate(r,"HH:mm:ss")),i.hide();var p=l.$pickerPanel.find(".gmi-time-picker--input").filter(function(){return""===e(this).val()||!e.parseDate(e(this).val(),"HH:mm:ss")});p&&0===p.length&&l.$pickerPanel.find(".gmi-picker-panel__link-btn--determine").removeClass("disabled");break;case"cancel":i.hide()}})),l.$pickerPanel.on("click.datepicker","td:not(.disabled)",function(t){var a,n,r=l.type,i=l.format,d=e(t.delegateTarget),s=d.find(".gmi-picker-panel__link-btn--determine"),m=e(this);if(t.stopPropagation(),"date"===r||"datetime"===r){var c,u,g=l.currentView;if("dateView"===g){var p=m.text()===l.todaySuffix?(new Date).getDate():Number(m.text());if(m.hasClass("prev-month")||m.hasClass("next-month")?(m.hasClass("prev-month")?(c=l.monthLabel-1<0?l.yearLabel-1:l.yearLabel,u=l.monthLabel-1<0?11:l.monthLabel-1):m.hasClass("next-month")&&(c=l.monthLabel+1>11?l.yearLabel+1:l.yearLabel,u=l.monthLabel+1>11?0:l.monthLabel+1),"date"===r?(n=e.formatDate(new Date(c,u,p),i),o._setDate(n)):(n=e.formatDate(new Date(c,u,p)),o._setNewDateDOM(d,c,u,p),d.find(".gmi-date-table td").removeClass("current").filter(function(){return Number(e(this).data("year"))===c&&Number(e(this).data("month"))===u&&Number(e(this).text())===p}).addClass("current"),l.yearLabel=c,l.monthLabel=u)):(c=l.yearLabel,u=l.monthLabel,"date"===r?(n=e.formatDate(new Date(c,u,p),i),o._setDate(n)):(n=e.formatDate(new Date(c,u,p)),d.find(".gmi-date-table").find("td").removeClass("current"),m.addClass("current"))),"datetime"===r)return d.find(".gmi-date-picker--input").val(n),a=d.find(".gmi-time-picker--input"),""!==a.val()&&e.parseDate(a.val(),"HH:mm:ss")||a.val("00:00:00"),s.removeClass("disabled"),!1;o._hidePickerPanel()}else"yearView"===g?o._setYearView(m):o._setMonthView(m)}else if("month"===r)switch(l.currentView){case"monthView":o._setMonthView(m);break;case"yearView":o._setYearView(m)}else if("year"===r)o._setYearView(m);else if("date-range"===r||"datetime-range"===r){var f,h=l.minDate,_=l.maxDate,D=d.find('.gmi-date-picker--input[data-role="range-start"]'),y=d.find('.gmi-time-picker--input[data-role="range-start"]'),b=d.find('.gmi-date-picker--input[data-role="range-end"]'),v=d.find('.gmi-time-picker--input[data-role="range-end"]');c=Number(m.data("year")),u=Number(m.data("month")),p=m.text()===l.todaySuffix?(new Date).getDate():Number(m.text()),h&&_?(l.minDate=new Date(c,u,p),l.maxDate=null,d.find(".gmi-date-table td").removeClass("start-date in-range end-date"),m.hasClass("prev-month")||m.hasClass("next-month")||m.addClass("start-date in-range"),"datetime-range"===r&&(D.val(e.formatDate(l.minDate)),s.addClass("disabled"))):h&&!_?new Date(c,u,p).getTime()l.minDate.getTime()&&i.getTime()=s.getTime()&&(a.find(".gmi-date-table td").filter(function(){var t=Number(e(this).data("year")),a=Number(e(this).data("month")),n=e(this).text()===l.todaySuffix?(new Date).getDate():Number(e(this).text());return!e(this).hasClass("prev-month")&&!e(this).hasClass("next-month")&&new Date(t,a,n).getTime()>s.getTime()&&new Date(t,a,n).getTime()'+a+'
"+("date"===e||"datetime"===e?'":"")+'
'+o._getDateTable(l.date)+o._getYearTable(l.date.getFullYear())+o._getMonthTable(l.date.getMonth())+"
"+n+""},_generateRangeDateDOM:function(){var t=l.date,a=l.minDate?l.minDate:t,n=l.minDate?e.getNextMonth(l.minDate):e.getNextMonth(t),r=l.type,i="datetime-range"===r?"has-time":"",d="datetime-range"===r?o._generateRangeDatetimeHeader():"",s="datetime-range"===r?o._generateDatetimeFooter(r):"";return''+d+'
'+a.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[a.getMonth()]+'
'+o._getDateTable(a)+'
'+n.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[n.getMonth()]+'
'+o._getDateTable(n)+"
"+s+"
"},_generateDatetimeHeader:function(){return'"},_generateRangeDatetimeHeader:function(){return'"},_generateDatetimeFooter:function(e){var t="datetime-range"===e?l.clearButton:l.nowDateButton,a="datetime-range"===e?"gmi-picker-panel__link-btn--clear":"gmi-picker-panel__link-btn--now";return'"},_generateTimePickerDOM:function(e){return''+o._getTimeSpinner("hour")+'
'+o._getTimeSpinner("min")+'
'+o._getTimeSpinner("sec")+'
"},_getDateRows:function(t){var a=[[],[],[],[],[],[]],n=t.getFullYear(),i=t.getMonth(),o=new Date(n,i,1),d=e.getFirstDayOfMonth(o),s=e.getTotalDayCountOfMonth(o.getFullYear(),o.getMonth()),m=e.getTotalDayCountOfMonth(o.getFullYear(),0===o.getMonth()?11:o.getMonth()-1);d=0===d?7:d;for(var c,u=-1*l.weekStart,g=a,p=1,f=e.getStartDateOfMonth(n,i),h=e.clearHours(new Date),_=0;_<6;_++)for(var D=g[_],y=0;y<7;y++){var b=D[y];b||(b={row:_,column:y,type:"normal",year:o.getFullYear(),month:o.getMonth(),inRange:!1,start:!1,end:!1}),b.type="normal";var v=7*_+y,k=f.getTime()+864e5*(v-u);b.inRange=k>=e.clearHours(l.minDate)&&k<=e.clearHours(l.maxDate),b.start=l.minDate&&k===e.clearHours(l.minDate),b.end=l.maxDate&&k===e.clearHours(l.maxDate),b.disabled=!1,l.startDate&&r(l.startDate)&&ke.clearHours(l.endDate)&&(b.disabled=!0);var w=k===h;w&&(b.type="today"),_>=0&&_<=1?y+7*_>=d+u?(b.text=p++,2===p&&(c=7*_+y),b.year=o.getFullYear(),b.month=o.getMonth()):(b.text=m-(d+u-y%7)+1+7*_,b.type="prev-month",b.year=0===o.getMonth()?o.getFullYear()-1:o.getFullYear(),b.month=0===o.getMonth()?11:o.getMonth()-1):p<=s?(b.text=p++,2===p&&(c=7*_+y),b.year=o.getFullYear(),b.month=o.getMonth()):(b.text=p++-s,b.type="next-month",b.year=11===o.getMonth()?o.getFullYear()+1:o.getFullYear(),b.month=11===o.getMonth()?0:o.getMonth()+1),D[y]=e.extend({},b)}return g.firstDayPosition=c,g},_getWeekDayRows:function(){var e=l.daysMin;return l.weekStart&&(e=e.slice(l.weekStart).concat(e.slice(0,l.weekStart))),e},_getYearRows:function(e){for(var t=10*Math.floor(e/10),a=[[],[],[]],n=0;n<3;n++)for(var r=a[n],i=0;i<4;i++){var l=4*n+i;if(l>9)break;r[i]=t+l}return a},_getMonthRows:function(){for(var e=[[],[],[]],t=l.monthsShort,a=0,n=0;n";i+="";for(var d=0;d"+a[d]+" | ";i+="
";for(var s=0;s';for(var c=0;c'+p+""}i+=""}return i+=""},_getYearTable:function(e){for(var t=o._getYearRows(e),a=l.startDate&&r(l.startDate)?l.startDate.getFullYear():null,n=l.endDate&&r(l.endDate)?l.endDate.getFullYear():null,i='',d=0;d";for(var m=0;mn&&(u=!0);var g=u?"disabled":"";i+=''+c+" | "}i+=""}return i+="
"},_getMonthTable:function(e){for(var t=o._getMonthRows(),a=l.startDate&&r(l.startDate)?l.startDate.getFullYear():null,n=l.startDate&&r(l.startDate)?l.startDate.getMonth():null,i=a&&n?new Date(a,n,1).getTime():null,d=l.endDate&&r(l.endDate)?l.endDate.getFullYear():null,s=l.endDate&&r(l.endDate)?l.endDate.getMonth():null,m=d&&s?new Date(d,s,1).getTime():null,c='',u=0;u";for(var p=0;pm&&(h=!0);var _=h?"disabled":"",D=e!==4*u+p||h?"":"current";c+=''+f+" | "}c+=""}return c+="
"},_getTimeSpinner:function(e){for(var t=o._getTimeSpinnerData(e),a='',n=0;n- '+t[n]+"
";return a+="
"},_echoDateOrTimeIntoInput:function(){var t=l.type;if("datetime"===t){var a=l.$pickerPanel.find(".gmi-date-picker--input"),n=l.$pickerPanel.find(".gmi-time-picker--input"),r=e.formatDate(l.date),i=e.formatDate(l.date,"HH:mm:ss");a.val(r),n.val(i)}else if("datetime-range"===t){var o,d,s,m,c=l.$pickerPanel.find(".gmi-date-picker--input").filter('[data-role="range-start"]'),u=l.$pickerPanel.find(".gmi-date-picker--input").filter('[data-role="range-end"]'),g=l.$pickerPanel.find(".gmi-time-picker--input").filter('[data-role="range-start"]'),p=l.$pickerPanel.find(".gmi-time-picker--input").filter('[data-role="range-end"]');l.minDate&&l.maxDate?(o=e.formatDate(l.minDate),d=e.formatDate(l.minDate,"HH:mm:ss"),s=e.formatDate(l.maxDate),m=e.formatDate(l.maxDate,"HH:mm:ss"),c.val(o),g.val(d),u.val(s),p.val(m)):(o=e.formatDate(l.date),d=e.formatDate(l.date,"HH:mm:ss"),s=e.formatDate(l.date),m=e.formatDate(l.date,"HH:mm:ss"),c.val(o),g.val(d),u.val(s),p.val(m))}},_echoTimeIntoSpinner:function(t,a){var n=l.type;if("datetime"===n){var r=t&&"object"==typeof t?t.hour:l.date.getHours(),i=t&&"object"==typeof t?t.min:l.date.getMinutes(),o=t&&"object"==typeof t?t.sec:l.date.getSeconds(),d=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=hour]"),s=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=min]"),m=l.$timePanel.find(".gmi-time-panel__body__item--spinner[data-role=sec]"),c=d.children("li").filter(function(){return Number(e(this).text())===r}),u=s.children("li").filter(function(){return Number(e(this).text())===i}),g=m.children("li").filter(function(){return Number(e(this).text())===o}),p=c.outerHeight();if(l.$timePanel.show(),!(c.length>0&&u.length>0&&g.length>0))return;c.addClass("active").siblings().removeClass("active"),u.addClass("active").siblings().removeClass("active"),g.addClass("active").siblings().removeClass("active"),d.parent().scrollTop(r*p),s.parent().scrollTop(i*p),m.parent().scrollTop(o*p)}else if("datetime-range"===n)if("range-start"===a){var f=t&&"object"==typeof t?t.minHour:l.minDate?l.minDate.getHours():l.date.getHours(),h=t&&"object"==typeof t?t.minMin:l.minDate?l.minDate.getMinutes():l.date.getMinutes(),_=t&&"object"==typeof t?t.minSec:l.minDate?l.minDate.getSeconds():l.date.getSeconds(),D=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=hour]"),y=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=min]"),b=l.$timePanel.filter('[data-role="range-start"]').find(".gmi-time-panel__body__item--spinner[data-role=sec]"),v=D.children("li").filter(function(){return Number(e(this).text())===f}),k=y.children("li").filter(function(){return Number(e(this).text())===h}),w=b.children("li").filter(function(){return Number(e(this).text())===_}),M=v.outerHeight();if(l.$timePanel.filter('[data-role="range-start"]').show(),!(v.length>0&&k.length>0&&w.length>0))return;v.addClass("active").siblings().removeClass("active"),k.addClass("active").siblings().removeClass("active"),w.addClass("active").siblings().removeClass("active"),D.parent().scrollTop(f*M),y.parent().scrollTop(h*M),b.parent().scrollTop(_*M)}else if("range-end"===a){
var x=t&&"object"==typeof t?t.maxHour:l.maxDate?l.maxDate.getHours():l.date.getHours(),P=t&&"object"==typeof t?t.maxMin:l.maxDate?l.maxDate.getMinutes():l.date.getMinutes(),T=t&&"object"==typeof t?t.maxSec:l.maxDate?l.maxDate.getSeconds():l.date.getSeconds(),C=l.$timePanel.filter('[data-role="range-end"]').find(".gmi-time-panel__body__item--spinner[data-role=hour]"),S=l.$timePanel.filter('[data-role="range-end"]').find(".gmi-time-panel__body__item--spinner[data-role=min]"),H=l.$timePanel.filter('[data-role="range-end"]').find(".gmi-time-panel__body__item--spinner[data-role=sec]"),N=C.children("li").filter(function(){return Number(e(this).text())===x}),F=S.children("li").filter(function(){return Number(e(this).text())===P}),$=H.children("li").filter(function(){return Number(e(this).text())===T}),Y=N.outerHeight();if(l.$timePanel.filter('[data-role="range-end"]').show(),!(N.length>0&&F.length>0&&$.length>0))return;N.addClass("active").siblings().removeClass("active"),F.addClass("active").siblings().removeClass("active"),$.addClass("active").siblings().removeClass("active"),C.parent().scrollTop(x*Y),S.parent().scrollTop(P*Y),H.parent().scrollTop(T*Y)}},_getCellClasses:function(e){var t=l.type,a=[];return"normal"===e.type||"today"===e.type&&!e.disabled?(a.push("available"),"today"===e.type&&a.push("today")):a.push(e.type),"date"!==t&&"datetime"!==t||"normal"!==e.type&&"today"!==e.type||Number(e.year)!==l.date.getFullYear()||Number(e.month)!==l.date.getMonth()||Number(e.text)!==l.date.getDate()||a.push("current"),!e.inRange||"date-range"!==t&&"datetime-range"!==t||"normal"!==e.type&&"today"!==e.type||(a.push("in-range"),e.start&&a.push("start-date"),e.end&&a.push("end-date")),e.disabled&&a.push("disabled"),a.join(" ")},_setDate:function(a){var i=l.type,d=l.format;if(a){if(n(a)){if("date-range"===i||"datetime-range"===i){if(a!==l.value){l.date=a.split(" "+l.rangeSeparator+" ");var s=e.parseDate(l.date[0],d),m=e.parseDate(l.date[1],d),c=l.startDate&&r(l.startDate)?new Date(e.clearHours(l.startDate)):null,u=l.endDate&&r(l.endDate)?new Date(e.clearHours(l.endDate)):null;if(c&&(s.getTime()u.getTime()||m.getTime()>u.getTime())&&(a=""),a&&""!==a){if(!(m.getTime()>=s.getTime()))throw new Error("The maximum date must be greater than or equal to the minimum date");o._trigger("pick.datepicker",{newDate:a,oldDate:l.value}),l.value=a,l.minDate=s,l.maxDate=m,o._setRangeDateView(l.$pickerPanel),"datetime-range"===i&&(l.$pickerPanel.find('.gmi-date-picker--input[data-role="range-start"]').val(e.formatDate(s)),l.$pickerPanel.find('.gmi-date-picker--input[data-role="range-end"]').val(e.formatDate(m)),l.$pickerPanel.find('.gmi-time-picker--input[data-role="range-start"]').val(e.formatDate(s,"HH:mm:ss")),l.$pickerPanel.find('.gmi-time-picker--input[data-role="range-end"]').val(e.formatDate(m,"HH:mm:ss")),l.$pickerPanel.find(".gmi-picker-panel__link-btn--determine").removeClass("disabled")),t.val(a)}else l.date=new Date,l.limitStartDate=new Date}}else if("date"===i||"datetime"===i){var g=l.date,p=g.getTime(),f=e.parseDate(a,d),h=f.getTime();p!==h&&(o._trigger("pick.datepicker",{newDate:a,oldDate:e.formatDate(l.date,d)}),l.value=a,l.date=f,l.yearLabel=f.getFullYear(),l.monthLabel=f.getMonth(),o._setNewDateDOM(l.$pickerPanel,f.getFullYear(),f.getMonth(),f.getDate()),"datetime"===i&&(l.$pickerPanel.find(".gmi-date-picker--input").val(e.formatDate(f)),l.$pickerPanel.find(".gmi-time-picker--input").val(e.formatDate(f,"HH:mm:ss")),l.$pickerPanel.find(".gmi-picker-panel__link-btn--determine").removeClass("disabled")),t.val(a))}else if("month"===i){var _=e.formatDate(l.date,d),D=a,y=l.date.getTime(),b=new Date(e.parseDate(D,d).getFullYear(),e.parseDate(D,d).getMonth(),1).getTime();b!==y&&(o._trigger("pick.datepicker",{newDate:D,oldDate:_}),e.parseDate(D,d).getFullYear()!==l.date.getFullYear()&&(l.$pickerPanel.find(".gmi-date-picker__header__label--year").text(e.parseDate(D,d).getFullYear()+" "+l.yearSuffix),l.$pickerPanel.find(".gmi-month-table td").attr("data-year",e.parseDate(D,d).getFullYear()).data("year",e.parseDate(D,d).getFullYear())),l.value=a,l.date=new Date(e.parseDate(D,d).getFullYear(),e.parseDate(D,d).getMonth(),1),l.yearLabel=e.parseDate(D,d).getFullYear(),l.monthLabel=e.parseDate(D,d).getMonth(),o._setNewMonthDOM(l.$pickerPanel,e.parseDate(D,d).getMonth()),t.val(D))}else if("year"===i){var v=l.date.getFullYear(),k=10*Math.floor(v/10),w=Number(a),M=10*Math.floor(w/10);v!==w&&(o._trigger("pick.datepicker",{newDate:a,oldDate:v}),l.value=a,l.date=new Date(w,0,1),l.yearLabel=w,k===M?l.$pickerPanel.find(".gmi-year-table td").removeClass("current").filter(function(){return Number(e(this).text())===w}).addClass("current"):o._setNewYearDOM(l.$pickerPanel,w),t.val(w))}}else if(r(a)){if("date-range"===i||"datetime-range"===i)return;var x=e.formatDate(a,d);o._setDate(x)}}else l.date=new Date,l.limitStartDate=new Date,"date-range"===l.type&&"datetime-range"===l.type||(l.yearLabel=l.date.getFullYear(),l.monthLabel=l.date.getMonth())},_setPrevButtonAction:function(e,t){var a,n,r;switch(t){case"dateView":r=l.monthLabel-1<0?11:l.monthLabel-1,n=l.monthLabel-1<0?l.yearLabel-1:l.yearLabel,o._setNewDateDOM(e,n,r),l.yearLabel=n,l.monthLabel=r;break;case"monthView":a=e.find(".gmi-date-picker__header__label--year"),n=l.yearLabel-1,r=l.monthLabel,a.text(n+" "+l.yearSuffix),l.yearLabel=n,o._setNewMonthDOM(e,r);break;case"yearView":n=l.yearLabel-10,o._setNewYearDOM(e,n),l.yearLabel=n}},_setNextButtonAction:function(e,t){var a,n,r;switch(t){case"dateView":r=l.monthLabel+1>11?0:l.monthLabel+1,n=l.monthLabel+1>11?l.yearLabel+1:l.yearLabel,o._setNewDateDOM(e,n,r),l.yearLabel=n,l.monthLabel=r;break;case"monthView":a=e.find(".gmi-date-picker__header__label--year"),n=l.yearLabel+1,r=l.monthLabel,a.text(n+" "+l.yearSuffix),l.yearLabel=n,o._setNewMonthDOM(e,r);break;case"yearView":n=l.yearLabel+10,o._setNewYearDOM(e,n),l.yearLabel=n}},_setNewDateDOM:function(t,a,n,r){var i=o._getDateTable(new Date(a,n,r||1)),d=t.find(".gmi-picker-panel__body__main"),s=t.find(".gmi-date-picker__header__label--year"),m=t.find(".gmi-date-picker__header__label--month");s.text(a+" "+l.yearSuffix),m.show().text(l.monthsShort[n]),t.find(".gmi-date-table").remove(),e(i).appendTo(d).show().find("td").removeClass("current").filter(function(){return!e(this).hasClass("prev-month")&&!e(this).hasClass("next-month")&&a===l.date.getFullYear()&&n===l.date.getMonth()&&(e(this).text()===l.todaySuffix?(new Date).getDate():Number(e(this).text()))===l.date.getDate()}).addClass("current")},_setNewYearDOM:function(t,a,n){var r=t.find(".gmi-picker-panel__body__main"),n=n&&n.length>0?n:t.find(".gmi-date-picker__header__label--year"),i=t.find(".gmi-year-table"),d=10*Math.floor(a/10),s=d+9,m=o._getYearTable(a);i.remove(),e(m).appendTo(r).show().find("td").removeClass("current").filter(function(){return!e(this).hasClass("disabled")&&Number(e(this).text())===a}).addClass("current"),t.find(".gmi-year-table").siblings("table").hide(),n.text(d+" "+l.yearSuffix+" - "+s+" "+l.yearSuffix)},_setNewMonthDOM:function(t,a){var n=t.find(".gmi-picker-panel__body__main"),r=t.find(".gmi-month-table"),i=o._getMonthTable(a);r.remove(),e(i).appendTo(n).show(),t.find(".gmi-month-table").siblings("table").hide()},_setYearView:function(a){var n=l.$pickerPanel.find(".gmi-year-table"),r=l.$pickerPanel.find(".gmi-date-picker__header__label--year"),i=l.type,d=Number(a.text());if(n.find("td").removeClass("current"),a.addClass("current"),"date"===i||"datetime"===i||"month"===i)n.hide(),r.text(d+" "+l.yearSuffix),l.yearLabel=d,o._setNewMonthDOM(l.$pickerPanel,l.date.getMonth()),l.currentView="monthView";else if("year"===i){var s=l.date.getTime(),m=new Date(d,0,1).getTime();m!==s&&(o._trigger("pick.datepicker",{newDate:e.formatDate(new Date(d,0,1),l.format),oldDate:e.formatDate(l.date,l.format)}),l.date=new Date(d,0,1),l.value=d,l.yearLabel=d),t.val(e.formatDate(new Date(d,0,1),l.format)),o._hidePickerPanel()}},_setMonthView:function(a){var n=l.$pickerPanel,r=n.find(".gmi-month-table"),i=l.type,d=l.yearLabel,s=Number(a.data("month"));if(r.find("td").removeClass("current"),a.addClass("current"),"date"===i||"datetime"===i)o._setNewDateDOM(n,d,s),r.hide(),l.currentView="dateView";else if("month"===i){var m=l.date.getTime(),c=new Date(d,s,1).getTime();c!==m&&(o._trigger("pick.datepicker",{newDate:e.formatDate(new Date(d,s,1),l.format),oldDate:e.formatDate(l.date,l.format)}),l.date=new Date(d,s,1)),l.value=e.formatDate(new Date(d,s,1),l.format),t.val(e.formatDate(new Date(d,s,1),l.format)),o._hidePickerPanel()}l.monthLabel=s},_setRangeDateView:function(t,a){var n,r,i,d,s,m=t.find(".gmi-picker-panel__body__main.f-lt"),c=m.find(".gmi-date-range-picker__body__header > p"),u=t.find(".gmi-picker-panel__body__main.f-rt"),g=u.find(".gmi-date-range-picker__body__header > p"),p=l.limitStartDate;switch(a){case"next-year":n="getNextYear";break;case"next-month":n="getNextMonth";break;case"prev-year":n="getPrevYear";break;case"prev-month":n="getPrevMonth";break;default:n="normal"}r="normal"===n?l.minDate:e[n](p),l.limitStartDate=r,i=e.getNextMonth(r),d=o._getDateTable(r),s=o._getDateTable(i),t.find(".gmi-date-table").remove(),e(d).appendTo(m).show(),e(s).appendTo(u).show(),c.text(r.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[r.getMonth()]),g.text(i.getFullYear()+" "+l.yearSuffix+" "+l.monthsShort[i.getMonth()])},_setTimeView:function(t,a){var n=a.type,r="keyup"===n?a.which:null;if(""===t.val()&&l.$pickerPanel.find(".gmi-picker-panel__link-btn--determine").addClass("disabled"),"focusin"===n||"change"===n||"keyup"===n&&r&&13===r){var i=""!==t.val()&&e.parseDate(t.val(),"HH:mm:ss")?e.parseDate(t.val(),"HH:mm:ss").getHours():0,d=""!==t.val()&&e.parseDate(t.val(),"HH:mm:ss")?e.parseDate(t.val(),"HH:mm:ss").getMinutes():0,s=""!==t.val()&&e.parseDate(t.val(),"HH:mm:ss")?e.parseDate(t.val(),"HH:mm:ss").getSeconds():0,m=t.data("role"),c={};switch(m){case"date":c.hour=i,c.min=d,c.sec=s;break;case"range-start":c.minHour=i,c.minMin=d,c.minSec=s;break;case"range-end":c.maxHour=i,c.maxMin=d,c.maxSec=s}}o._echoTimeIntoSpinner(c,m)},_echoInputValue:function(t){"date-range"===l.type||"datetime-range"===l.type?o._setDate(t):e.parseDate(t,l.format)&&(o._setDate(e.formatDate(e.parseDate(t,l.format),l.format)),e(this).val(e.formatDate(e.parseDate(t,l.format),l.format)))},_getDatePanelPosition:function(){var a=e(window).height(),n=document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop,r=t.outerHeight(),i=l.$pickerPanel.outerHeight(),o=t.offset().top,d=t.offset().left,s="left"===l.align?"placement-left-bottom":"center"===l.align?"placement-center-bottom":"placement-right-bottom";return o-n>i&&o-n+r+i>a?(o-=i+2*Number(l.$pickerPanel.css("margin-top").replace(/px/,"")),l.$pickerPanel.addClass(s)):(o+=r,l.$pickerPanel.removeClass(s)),{top:o,left:d}},_setDatePanelPosition:function(){var e,a,n=t.outerWidth(),r=o._getDatePanelPosition();if(l.$pickerPanel.length>0){switch(e=l.$pickerPanel.outerWidth(),l.align){case"left":a=r.left;break;case"center":a=r.left-Math.abs(e-n)/2;break;case"right":a=r.left-Math.abs(e-n)}l.$pickerPanel.css({top:r.top+"px",left:a+"px"})}},_clear:function(){var e=l.type,a=l.$pickerPanel,n=a.find(".gmi-picker-panel__link-btn--determine"),r=a.find(".gmi-date-picker__header__label--year");a.find(".gmi-date-picker--input, .gmi-time-picker--input").val(""),n.length>0&&n.addClass("disabled"),""!==l.value&&(o._trigger("pick.datepicker",{newDate:"",oldDate:l.value}),t.val(""),l.date=new Date,l.value="",l.yearLabel=l.date.getFullYear(),l.monthLabel=l.date.getMonth()),"date-range"===e||"datetime-range"===e?(a.find(".gmi-date-table td").removeClass("start-date in-range end-date"),l.minDate=null,l.maxDate=null):"year"===e?o._setNewYearDOM(a,l.yearLabel,r):"month"===e?(r.text(l.yearLabel+" "+l.yearSuffix),o._setNewMonthDOM(a,l.monthLabel)):o._setNewDateDOM(a,l.yearLabel,l.monthLabel,(new Date).getDate())},_showPickerPanel:function(){l.$pickerPanel.is(":hidden")&&(l.$pickerPanel.show(),o._setDatePanelPosition(),i(l.$pickerPanel,"picker-show",function(){o._trigger("show.datepicker")}))},_hidePickerPanel:function(){var e=l.type,t=l.currentView;if(!l.$pickerPanel.is(":hidden"))if("date-range"===e||"datetime-range"===e||"month"===e||"year"===e)i(l.$pickerPanel,"picker-hide",function(){l.$pickerPanel.hide(),o._trigger("hide.datepicker")});else{switch(t){case"yearView":l.$pickerPanel.find(".gmi-date-picker__header__label--year").text(l.yearLabel+" "+l.yearSuffix).siblings(".gmi-date-picker__header__label--month").show();break;case"monthView":l.$pickerPanel.find(".gmi-date-picker__header__label--month").show()}i(l.$pickerPanel,"picker-hide",function(){l.$pickerPanel.hide().find(".gmi-date-table").show().siblings("table").hide(),o._trigger("hide.datepicker")})}},_elFocusHandler:function(){o._showPickerPanel()},_elClickHandler:function(e){e.stopPropagation()},_elChangeHandler:function(){var t=e(this).val();o._echoInputValue(t)},_elKeyUpHandler:function(t){var a=t.which,n=e(this).val();13===a&&o._echoInputValue(n)},_trigger:function(a,n){var r=e.Event(a,n);return t.trigger(r),r}};l.version="1.0.6",l.setDate=function(e){o._setDate(e)},l.getDate=function(){return l.value},l.show=function(){o._showPickerPanel()},l.hide=function(){o._hidePickerPanel()},l.clear=function(){o._clear()},l.disable=function(e){t.attr("disabled",e),o._hidePickerPanel()},l.destroy=function(){o._unBindEvent(),o._unCreate(),t.removeData("datepicker")},o._init()};m.LANG={"en-US":{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysMin:["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"],yearSuffix:"",monthSuffix:"",todaySuffix:"Today",dateInputPlaceholder:"Select date",rangeStartInputPlaceholder:"Start Date",rangeEndPlaceholder:"End Date",dateTimeInputPlaceholder:"Select time",rangeStartTimeInputPlaceholder:"Start Time",rangeEndTimeInputPlaceholder:"End Time",nowDateButton:"Now",confirmDateButton:"Confirm",cancelTimeButton:"Cancel",clearButton:"Clear"}},e.fn.datepicker=function(t){var n,r=a(arguments,1),t=t||{},i=this;return i.each(function(){var a,i=e(this).data("datepicker");if(!i){if(/destroy/.test(t))return!1;if("string"!=typeof t)return e(this).data("datepicker",i=new m(e(this),t))}i&&"string"==typeof t&&e.isFunction(a=i[t])&&(n=a.apply(i,r))}),void 0===n?i:n},e.fn.datepicker.constructor=m,e.fn.datepicker.lang=m.LANG,e.isLeapYear=function(e){return e%4==0&&e%100!=0||e%400==0},e.getTotalDayCountOfMonth=function(t,a){var n=[31,28,31,30,31,30,31,31,30,31,30,31],r=n[a];return e.isLeapYear(t)&&1===a&&r++,r},e.getWeekDay=function(e,t,a){var a=new Date(e,t-1,a);return a.getDay()},e.getFirstDayOfMonth=function(e){var t=new Date(e.getTime());return t.setDate(1),t.getDay()},e.getStartDateOfMonth=function(e,t){var a=new Date(e,t,1),n=a.getDay();return 0===n?a.setTime(a.getTime()-6048e5):a.setTime(a.getTime()-864e5*n),a},e.getWeekNumber=function(e){var t,a=new Date(e.getTime());return a.setHours(0,0,0,0),a.setDate(a.getDate()+3-(a.getDay()+6)%7),t=new Date(a.getFullYear(),0,4),1+Math.round(((a.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},e.getPrevMonth=function(t){var a=t.getFullYear(),n=t.getMonth(),r=t.getDate(),i=new Date,l=0===n?a-1:a,o=0===n?11:n-1,d=e.getTotalDayCountOfMonth(l,o);return i.setMonth(o),i.setFullYear(l),d