(function (a) {
if (typeof define === "function" && define.amd) {
define(["jquery"], a)
} else {
if (typeof exports === "object") {
a(require("jquery"))
} else {
a(jQuery)
}
}
}(function (f, c) {
if (!("indexOf" in Array.prototype)) {
Array.prototype.indexOf = function (k, j) {
if (j === c) {
j = 0
}
if (j < 0) {
j += this.length
}
if (j < 0) {
j = 0
}
for (var l = this.length; j < l; j++) {
if (j in this && this[j] === k) {
return j
}
}
return -1
}
}
function e(l) {
var k = f(l);
var j = k.add(k.parents());
var m = false;
j.each(function () {
if (f(this).css("position") === "fixed") {
m = true;
return false
}
});
return m
}
function h() {
return new Date(Date.UTC.apply(Date, arguments))
}
function d() {
var j = new Date();
return h(j.getUTCFullYear(), j.getUTCMonth(), j.getUTCDate(), j.getUTCHours(), j.getUTCMinutes(), j.getUTCSeconds(), 0)
}
var i = function (l, k) {
var n = this;
this.element = f(l);
this.container = k.container || "body";
this.language = k.language || this.element.data("date-language") || "en";
this.language = this.language in a ? this.language : this.language.split("-")[0];
this.language = this.language in a ? this.language : "en";
this.isRTL = a[this.language].rtl || false;
this.formatType = k.formatType || this.element.data("format-type") || "standard";
this.format = g.parseFormat(k.format || this.element.data("date-format") || a[this.language].format || g.getDefaultFormat(this.formatType, "input"), this.formatType);
this.isInline = false;
this.isVisible = false;
this.isInput = this.element.is("input");
this.fontAwesome = k.fontAwesome || this.element.data("font-awesome") || false;
this.bootcssVer = k.bootcssVer || (this.isInput ? (this.element.is(".form-control") ? 3 : 2) : (this.bootcssVer = this.element.is(".input-group") ? 3 : 2));
this.component = this.element.is(".date") ? (this.bootcssVer == 3 ? this.element.find(".input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o").parent() : this.element.find(".add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o").parent()) : false;
this.componentReset = this.element.is(".date") ? (this.bootcssVer == 3 ? this.element.find(".input-group-addon .glyphicon-remove, .input-group-addon .fa-times").parent() : this.element.find(".add-on .icon-remove, .add-on .fa-times").parent()) : false;
this.hasInput = this.component && this.element.find("input").length;
if (this.component && this.component.length === 0) {
this.component = false
}
this.linkField = k.linkField || this.element.data("link-field") || false;
this.linkFormat = g.parseFormat(k.linkFormat || this.element.data("link-format") || g.getDefaultFormat(this.formatType, "link"), this.formatType);
this.minuteStep = k.minuteStep || this.element.data("minute-step") || 5;
this.pickerPosition = k.pickerPosition || this.element.data("picker-position") || "bottom-right";
this.showMeridian = k.showMeridian || this.element.data("show-meridian") || false;
this.initialDate = k.initialDate || new Date();
this.zIndex = k.zIndex || this.element.data("z-index") || c;
this.title = typeof k.title === "undefined" ? false : k.title;
this.defaultTimeZone = (new Date).toString().split("(")[1].slice(0, -1);
this.timezone = k.timezone || this.defaultTimeZone;
this.icons = {
leftArrow: this.fontAwesome ? "fa-arrow-left" : (this.bootcssVer === 3 ? "glyphicon-arrow-left" : "icon-arrow-left"),
rightArrow: this.fontAwesome ? "fa-arrow-right" : (this.bootcssVer === 3 ? "glyphicon-arrow-right" : "icon-arrow-right")
};
this.icontype = this.fontAwesome ? "fa" : "glyphicon";
this._attachEvents();
this.clickedOutside = function (o) {
if (f(o.target).closest(".datetimepicker").length === 0) {
n.hide()
}
};
this.formatViewType = "datetime";
if ("formatViewType" in k) {
this.formatViewType = k.formatViewType
} else {
if ("formatViewType" in this.element.data()) {
this.formatViewType = this.element.data("formatViewType")
}
}
this.minView = 0;
if ("minView" in k) {
this.minView = k.minView
} else {
if ("minView" in this.element.data()) {
this.minView = this.element.data("min-view")
}
}
this.minView = g.convertViewMode(this.minView);
this.maxView = g.modes.length - 1;
if ("maxView" in k) {
this.maxView = k.maxView
} else {
if ("maxView" in this.element.data()) {
this.maxView = this.element.data("max-view")
}
}
this.maxView = g.convertViewMode(this.maxView);
this.wheelViewModeNavigation = false;
if ("wheelViewModeNavigation" in k) {
this.wheelViewModeNavigation = k.wheelViewModeNavigation
} else {
if ("wheelViewModeNavigation" in this.element.data()) {
this.wheelViewModeNavigation = this.element.data("view-mode-wheel-navigation")
}
}
this.wheelViewModeNavigationInverseDirection = false;
if ("wheelViewModeNavigationInverseDirection" in k) {
this.wheelViewModeNavigationInverseDirection = k.wheelViewModeNavigationInverseDirection
} else {
if ("wheelViewModeNavigationInverseDirection" in this.element.data()) {
this.wheelViewModeNavigationInverseDirection = this.element.data("view-mode-wheel-navigation-inverse-dir")
}
}
this.wheelViewModeNavigationDelay = 100;
if ("wheelViewModeNavigationDelay" in k) {
this.wheelViewModeNavigationDelay = k.wheelViewModeNavigationDelay
} else {
if ("wheelViewModeNavigationDelay" in this.element.data()) {
this.wheelViewModeNavigationDelay = this.element.data("view-mode-wheel-navigation-delay")
}
}
this.startViewMode = 2;
if ("startView" in k) {
this.startViewMode = k.startView
} else {
if ("startView" in this.element.data()) {
this.startViewMode = this.element.data("start-view")
}
}
this.startViewMode = g.convertViewMode(this.startViewMode);
this.viewMode = this.startViewMode;
this.viewSelect = this.minView;
if ("viewSelect" in k) {
this.viewSelect = k.viewSelect
} else {
if ("viewSelect" in this.element.data()) {
this.viewSelect = this.element.data("view-select")
}
}
this.viewSelect = g.convertViewMode(this.viewSelect);
this.forceParse = true;
if ("forceParse" in k) {
this.forceParse = k.forceParse
} else {
if ("dateForceParse" in this.element.data()) {
this.forceParse = this.element.data("date-force-parse")
}
}
var m = this.bootcssVer === 3 ? g.templateV3 : g.template;
while (m.indexOf("{iconType}") !== -1) {
m = m.replace("{iconType}", this.icontype)
}
while (m.indexOf("{leftArrow}") !== -1) {
m = m.replace("{leftArrow}", this.icons.leftArrow)
}
while (m.indexOf("{rightArrow}") !== -1) {
m = m.replace("{rightArrow}", this.icons.rightArrow)
}
this.picker = f(m).appendTo(this.isInline ? this.element : this.container).on({
click: f.proxy(this.click, this),
mousedown: f.proxy(this.mousedown, this)
});
if (this.wheelViewModeNavigation) {
if (f.fn.mousewheel) {
this.picker.on({mousewheel: f.proxy(this.mousewheel, this)})
} else {
console.log("Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option")
}
}
if (this.isInline) {
this.picker.addClass("datetimepicker-inline")
} else {
this.picker.addClass("datetimepicker-dropdown-" + this.pickerPosition + " dropdown-menu")
}
if (this.isRTL) {
this.picker.addClass("datetimepicker-rtl");
var j = this.bootcssVer === 3 ? ".prev span, .next span" : ".prev i, .next i";
this.picker.find(j).toggleClass(this.icons.leftArrow + " " + this.icons.rightArrow)
}
f(document).on("mousedown", this.clickedOutside);
this.autoclose = false;
if ("autoclose" in k) {
this.autoclose = k.autoclose
} else {
if ("dateAutoclose" in this.element.data()) {
this.autoclose = this.element.data("date-autoclose")
}
}
this.keyboardNavigation = true;
if ("keyboardNavigation" in k) {
this.keyboardNavigation = k.keyboardNavigation
} else {
if ("dateKeyboardNavigation" in this.element.data()) {
this.keyboardNavigation = this.element.data("date-keyboard-navigation")
}
}
this.todayBtn = (k.todayBtn || this.element.data("date-today-btn") || false);
this.clearBtn = (k.clearBtn || this.element.data("date-clear-btn") || false);
this.todayHighlight = (k.todayHighlight || this.element.data("date-today-highlight") || false);
this.weekStart = ((k.weekStart || this.element.data("date-weekstart") || a[this.language].weekStart || 0) % 7);
this.weekEnd = ((this.weekStart + 6) % 7);
this.startDate = -Infinity;
this.endDate = Infinity;
this.datesDisabled = [];
this.daysOfWeekDisabled = [];
this.setStartDate(k.startDate || this.element.data("date-startdate"));
this.setEndDate(k.endDate || this.element.data("date-enddate"));
this.setDatesDisabled(k.datesDisabled || this.element.data("date-dates-disabled"));
this.setDaysOfWeekDisabled(k.daysOfWeekDisabled || this.element.data("date-days-of-week-disabled"));
this.setMinutesDisabled(k.minutesDisabled || this.element.data("date-minute-disabled"));
this.setHoursDisabled(k.hoursDisabled || this.element.data("date-hour-disabled"));
this.fillDow();
this.fillMonths();
this.update();
this.showMode();
if (this.isInline) {
this.show()
}
};
i.prototype = {
constructor: i, _events: [], _attachEvents: function () {
this._detachEvents();
if (this.isInput) {
this._events = [[this.element, {
focus: f.proxy(this.show, this),
keyup: f.proxy(this.update, this),
keydown: f.proxy(this.keydown, this)
}]]
} else {
if (this.component && this.hasInput) {
this._events = [[this.element.find("input"), {
focus: f.proxy(this.show, this),
keyup: f.proxy(this.update, this),
keydown: f.proxy(this.keydown, this)
}], [this.component, {click: f.proxy(this.show, this)}]];
if (this.componentReset) {
this._events.push([this.componentReset, {click: f.proxy(this.reset, this)}])
}
} else {
if (this.element.is("div")) {
this.isInline = true
} else {
this._events = [[this.element, {click: f.proxy(this.show, this)}]]
}
}
}
for (var j = 0, k, l; j < this._events.length; j++) {
k = this._events[j][0];
l = this._events[j][1];
k.on(l)
}
}, _detachEvents: function () {
for (var j = 0, k, l; j < this._events.length; j++) {
k = this._events[j][0];
l = this._events[j][1];
k.off(l)
}
this._events = []
}, show: function (j) {
this.picker.show();
this.height = this.component ? this.component.outerHeight() : this.element.outerHeight();
if (this.forceParse) {
this.update()
}
this.place();
f(window).on("resize", f.proxy(this.place, this));
if (j) {
j.stopPropagation();
j.preventDefault()
}
this.isVisible = true;
this.element.trigger({type: "show", date: this.date})
}, hide: function (j) {
if (!this.isVisible) {
return
}
if (this.isInline) {
return
}
this.picker.hide();
f(window).off("resize", this.place);
this.viewMode = this.startViewMode;
this.showMode();
if (!this.isInput) {
f(document).off("mousedown", this.hide)
}
if (this.forceParse && (this.isInput && this.element.val() || this.hasInput && this.element.find("input").val())) {
this.setValue()
}
this.isVisible = false;
this.element.trigger({type: "hide", date: this.date})
}, remove: function () {
this._detachEvents();
f(document).off("mousedown", this.clickedOutside);
this.picker.remove();
delete this.picker;
delete this.element.data().datetimepicker
}, getDate: function () {
var j = this.getUTCDate();
return new Date(j.getTime() + (j.getTimezoneOffset() * 60000))
}, getUTCDate: function () {
return this.date
}, getInitialDate: function () {
return this.initialDate
}, setInitialDate: function (j) {
this.initialDate = j
}, setDate: function (j) {
this.setUTCDate(new Date(j.getTime() - (j.getTimezoneOffset() * 60000)))
}, setUTCDate: function (j) {
if (j >= this.startDate && j <= this.endDate) {
this.date = j;
this.setValue();
this.viewDate = this.date;
this.fill()
} else {
this.element.trigger({type: "outOfRange", date: j, startDate: this.startDate, endDate: this.endDate})
}
}, setFormat: function (k) {
this.format = g.parseFormat(k, this.formatType);
var j;
if (this.isInput) {
j = this.element
} else {
if (this.component) {
j = this.element.find("input")
}
}
if (j && j.val()) {
this.setValue()
}
}, setValue: function () {
var j = this.getFormattedDate();
if (!this.isInput) {
if (this.component) {
this.element.find("input").val(j)
}
this.element.data("date", j)
} else {
this.element.val(j)
}
if (this.linkField) {
f("#" + this.linkField).val(this.getFormattedDate(this.linkFormat))
}
}, getFormattedDate: function (j) {
if (j == c) {
j = this.format
}
return g.formatDate(this.date, j, this.language, this.formatType, this.timezone)
}, setStartDate: function (j) {
this.startDate = j || -Infinity;
if (this.startDate !== -Infinity) {
this.startDate = g.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone)
}
this.update();
this.updateNavArrows()
}, setEndDate: function (j) {
this.endDate = j || Infinity;
if (this.endDate !== Infinity) {
this.endDate = g.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone)
}
this.update();
this.updateNavArrows()
}, setDatesDisabled: function (j) {
this.datesDisabled = j || [];
if (!f.isArray(this.datesDisabled)) {
this.datesDisabled = this.datesDisabled.split(/,\s*/)
}
this.datesDisabled = f.map(this.datesDisabled, function (k) {
return g.parseDate(k, this.format, this.language, this.formatType, this.timezone).toDateString()
});
this.update();
this.updateNavArrows()
}, setTitle: function (j, k) {
return this.picker.find(j).find("th:eq(1)").text(this.title === false ? k : this.title)
}, setDaysOfWeekDisabled: function (j) {
this.daysOfWeekDisabled = j || [];
if (!f.isArray(this.daysOfWeekDisabled)) {
this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/)
}
this.daysOfWeekDisabled = f.map(this.daysOfWeekDisabled, function (k) {
return parseInt(k, 10)
});
this.update();
this.updateNavArrows()
}, setMinutesDisabled: function (j) {
this.minutesDisabled = j || [];
if (!f.isArray(this.minutesDisabled)) {
this.minutesDisabled = this.minutesDisabled.split(/,\s*/)
}
this.minutesDisabled = f.map(this.minutesDisabled, function (k) {
return parseInt(k, 10)
});
this.update();
this.updateNavArrows()
}, setHoursDisabled: function (j) {
this.hoursDisabled = j || [];
if (!f.isArray(this.hoursDisabled)) {
this.hoursDisabled = this.hoursDisabled.split(/,\s*/)
}
this.hoursDisabled = f.map(this.hoursDisabled, function (k) {
return parseInt(k, 10)
});
this.update();
this.updateNavArrows()
}, place: function () {
if (this.isInline) {
return
}
if (!this.zIndex) {
var k = 0;
f("div").each(function () {
var p = parseInt(f(this).css("zIndex"), 10);
if (p > k) {
k = p
}
});
this.zIndex = k + 10
}
var o, n, m, l;
if (this.container instanceof f) {
l = this.container.offset()
} else {
l = f(this.container).offset()
}
if (this.component) {
o = this.component.offset();
m = o.left;
if (this.pickerPosition == "bottom-left" || this.pickerPosition == "top-left") {
m += this.component.outerWidth() - this.picker.outerWidth()
}
} else {
o = this.element.offset();
m = o.left;
if (this.pickerPosition == "bottom-left" || this.pickerPosition == "top-left") {
m += this.element.outerWidth() - this.picker.outerWidth()
}
}
var j = document.body.clientWidth || window.innerWidth;
if (m + 220 > j) {
m = j - 220
}
if (this.pickerPosition == "top-left" || this.pickerPosition == "top-right") {
n = o.top - this.picker.outerHeight()
} else {
n = o.top + this.height
}
n = n - l.top;
m = m - l.left;
this.picker.css({top: n, left: m, zIndex: this.zIndex})
}, update: function () {
var j, k = false;
if (arguments && arguments.length && (typeof arguments[0] === "string" || arguments[0] instanceof Date)) {
j = arguments[0];
k = true
} else {
j = (this.isInput ? this.element.val() : this.element.find("input").val()) || this.element.data("date") || this.initialDate;
if (typeof j == "string" || j instanceof String) {
j = j.replace(/^\s+|\s+$/g, "")
}
}
if (!j) {
j = new Date();
k = false
}
this.date = g.parseDate(j, this.format, this.language, this.formatType, this.timezone);
if (k) {
this.setValue()
}
if (this.date < this.startDate) {
this.viewDate = new Date(this.startDate)
} else {
if (this.date > this.endDate) {
this.viewDate = new Date(this.endDate)
} else {
this.viewDate = new Date(this.date)
}
}
this.fill()
}, fillDow: function () {
var j = this.weekStart, k = "
";
while (j < this.weekStart + 7) {
k += '' + a[this.language].daysMin[(j++) % 7] + " | "
}
k += "
";
this.picker.find(".datetimepicker-days thead").append(k)
}, fillMonths: function () {
var k = "", j = 0;
while (j < 12) {
k += '' + a[this.language].monthsShort[j++] + ""
}
this.picker.find(".datetimepicker-months td").html(k)
}, fill: function () {
if (this.date == null || this.viewDate == null) {
return
}
var H = new Date(this.viewDate), u = H.getUTCFullYear(), I = H.getUTCMonth(), n = H.getUTCDate(), D = H.getUTCHours(), y = H.getUTCMinutes(), z = this.startDate !== -Infinity ? this.startDate.getUTCFullYear() : -Infinity, E = this.startDate !== -Infinity ? this.startDate.getUTCMonth() : -Infinity, q = this.endDate !== Infinity ? this.endDate.getUTCFullYear() : Infinity, A = this.endDate !== Infinity ? this.endDate.getUTCMonth() + 1 : Infinity, r = (new h(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate())).valueOf(), G = new Date();
this.setTitle(".datetimepicker-days", a[this.language].months[I] + " " + u);
if (this.formatViewType == "time") {
var k = this.getFormattedDate();
this.setTitle(".datetimepicker-hours", k);
this.setTitle(".datetimepicker-minutes", k)
} else {
this.setTitle(".datetimepicker-hours", n + " " + a[this.language].months[I] + " " + u);
this.setTitle(".datetimepicker-minutes", n + " " + a[this.language].months[I] + " " + u)
}
this.picker.find("tfoot th.today").text(a[this.language].today || a.en.today).toggle(this.todayBtn !== false);
this.picker.find("tfoot th.clear").text(a[this.language].clear || a.en.clear).toggle(this.clearBtn !== false);
this.updateNavArrows();
this.fillMonths();
var K = h(u, I - 1, 28, 0, 0, 0, 0), C = g.getDaysInMonth(K.getUTCFullYear(), K.getUTCMonth());
K.setUTCDate(C);
K.setUTCDate(C - (K.getUTCDay() - this.weekStart + 7) % 7);
var j = new Date(K);
j.setUTCDate(j.getUTCDate() + 42);
j = j.valueOf();
var s = [];
var v;
while (K.valueOf() < j) {
if (K.getUTCDay() == this.weekStart) {
s.push("")
}
v = "";
if (K.getUTCFullYear() < u || (K.getUTCFullYear() == u && K.getUTCMonth() < I)) {
v += " old"
} else {
if (K.getUTCFullYear() > u || (K.getUTCFullYear() == u && K.getUTCMonth() > I)) {
v += " new"
}
}
if (this.todayHighlight && K.getUTCFullYear() == G.getFullYear() && K.getUTCMonth() == G.getMonth() && K.getUTCDate() == G.getDate()) {
v += " today"
}
if (K.valueOf() == r) {
v += " active"
}
if ((K.valueOf() + 86400000) <= this.startDate || K.valueOf() > this.endDate || f.inArray(K.getUTCDay(), this.daysOfWeekDisabled) !== -1 || f.inArray(K.toDateString(), this.datesDisabled) !== -1) {
v += " disabled"
}
s.push('' + K.getUTCDate() + " | ");
if (K.getUTCDay() == this.weekEnd) {
s.push("
")
}
K.setUTCDate(K.getUTCDate() + 1)
}
this.picker.find(".datetimepicker-days tbody").empty().append(s.join(""));
s = [];
var w = "", F = "", t = "";
var l = this.hoursDisabled || [];
for (var B = 0; B < 24; B++) {
if (l.indexOf(B) !== -1) {
continue
}
var x = h(u, I, n, B);
v = "";
if ((x.valueOf() + 3600000) <= this.startDate || x.valueOf() > this.endDate) {
v += " disabled"
} else {
if (D == B) {
v += " active"
}
}
if (this.showMeridian && a[this.language].meridiem.length == 2) {
F = (B < 12 ? a[this.language].meridiem[0] : a[this.language].meridiem[1]);
if (F != t) {
if (t != "") {
s.push("")
}
s.push('")
}
} else {
w = B + ":00";
s.push('' + w + "")
}
}
this.picker.find(".datetimepicker-hours td").html(s.join(""));
s = [];
w = "", F = "", t = "";
var m = this.minutesDisabled || [];
for (var B = 0; B < 60; B += this.minuteStep) {
if (m.indexOf(B) !== -1) {
continue
}
var x = h(u, I, n, D, B, 0);
v = "";
if (x.valueOf() < this.startDate || x.valueOf() > this.endDate) {
v += " disabled"
} else {
if (Math.floor(y / this.minuteStep) == Math.floor(B / this.minuteStep)) {
v += " active"
}
}
if (this.showMeridian && a[this.language].meridiem.length == 2) {
F = (D < 12 ? a[this.language].meridiem[0] : a[this.language].meridiem[1]);
if (F != t) {
if (t != "") {
s.push("")
}
s.push('")
}
} else {
w = B + ":00";
s.push('' + D + ":" + (B < 10 ? "0" + B : B) + "")
}
}
this.picker.find(".datetimepicker-minutes td").html(s.join(""));
var L = this.date.getUTCFullYear();
var p = this.setTitle(".datetimepicker-months", u).end().find("span").removeClass("active");
if (L == u) {
var o = p.length - 12;
p.eq(this.date.getUTCMonth() + o).addClass("active")
}
if (u < z || u > q) {
p.addClass("disabled")
}
if (u == z) {
p.slice(0, E).addClass("disabled")
}
if (u == q) {
p.slice(A).addClass("disabled")
}
s = "";
u = parseInt(u / 10, 10) * 10;
var J = this.setTitle(".datetimepicker-years", u + "-" + (u + 9)).end().find("td");
u -= 1;
for (var B = -1; B < 11; B++) {
s += ' q ? " disabled" : "") + '">' + u + "";
u += 1
}
J.html(s);
this.place()
}, updateNavArrows: function () {
var n = new Date(this.viewDate), l = n.getUTCFullYear(), m = n.getUTCMonth(), k = n.getUTCDate(), j = n.getUTCHours();
switch (this.viewMode) {
case 0:
if (this.startDate !== -Infinity && l <= this.startDate.getUTCFullYear() && m <= this.startDate.getUTCMonth() && k <= this.startDate.getUTCDate() && j <= this.startDate.getUTCHours()) {
this.picker.find(".prev").css({visibility: "hidden"})
} else {
this.picker.find(".prev").css({visibility: "visible"})
}
if (this.endDate !== Infinity && l >= this.endDate.getUTCFullYear() && m >= this.endDate.getUTCMonth() && k >= this.endDate.getUTCDate() && j >= this.endDate.getUTCHours()) {
this.picker.find(".next").css({visibility: "hidden"})
} else {
this.picker.find(".next").css({visibility: "visible"})
}
break;
case 1:
if (this.startDate !== -Infinity && l <= this.startDate.getUTCFullYear() && m <= this.startDate.getUTCMonth() && k <= this.startDate.getUTCDate()) {
this.picker.find(".prev").css({visibility: "hidden"})
} else {
this.picker.find(".prev").css({visibility: "visible"})
}
if (this.endDate !== Infinity && l >= this.endDate.getUTCFullYear() && m >= this.endDate.getUTCMonth() && k >= this.endDate.getUTCDate()) {
this.picker.find(".next").css({visibility: "hidden"})
} else {
this.picker.find(".next").css({visibility: "visible"})
}
break;
case 2:
if (this.startDate !== -Infinity && l <= this.startDate.getUTCFullYear() && m <= this.startDate.getUTCMonth()) {
this.picker.find(".prev").css({visibility: "hidden"})
} else {
this.picker.find(".prev").css({visibility: "visible"})
}
if (this.endDate !== Infinity && l >= this.endDate.getUTCFullYear() && m >= this.endDate.getUTCMonth()) {
this.picker.find(".next").css({visibility: "hidden"})
} else {
this.picker.find(".next").css({visibility: "visible"})
}
break;
case 3:
case 4:
if (this.startDate !== -Infinity && l <= this.startDate.getUTCFullYear()) {
this.picker.find(".prev").css({visibility: "hidden"})
} else {
this.picker.find(".prev").css({visibility: "visible"})
}
if (this.endDate !== Infinity && l >= this.endDate.getUTCFullYear()) {
this.picker.find(".next").css({visibility: "hidden"})
} else {
this.picker.find(".next").css({visibility: "visible"})
}
break
}
}, mousewheel: function (k) {
k.preventDefault();
k.stopPropagation();
if (this.wheelPause) {
return
}
this.wheelPause = true;
var j = k.originalEvent;
var m = j.wheelDelta;
var l = m > 0 ? 1 : (m === 0) ? 0 : -1;
if (this.wheelViewModeNavigationInverseDirection) {
l = -l
}
this.showMode(l);
setTimeout(f.proxy(function () {
this.wheelPause = false
}, this), this.wheelViewModeNavigationDelay)
}, click: function (n) {
n.stopPropagation();
n.preventDefault();
var o = f(n.target).closest("span, td, th, legend");
if (o.is("." + this.icontype)) {
o = f(o).parent().closest("span, td, th, legend")
}
if (o.length == 1) {
if (o.is(".disabled")) {
this.element.trigger({
type: "outOfRange",
date: this.viewDate,
startDate: this.startDate,
endDate: this.endDate
});
return
}
switch (o[0].nodeName.toLowerCase()) {
case"th":
switch (o[0].className) {
case"switch":
this.showMode(1);
break;
case"prev":
case"next":
var j = g.modes[this.viewMode].navStep * (o[0].className == "prev" ? -1 : 1);
switch (this.viewMode) {
case 0:
this.viewDate = this.moveHour(this.viewDate, j);
break;
case 1:
this.viewDate = this.moveDate(this.viewDate, j);
break;
case 2:
this.viewDate = this.moveMonth(this.viewDate, j);
break;
case 3:
case 4:
this.viewDate = this.moveYear(this.viewDate, j);
break
}
this.fill();
this.element.trigger({
type: o[0].className + ":" + this.convertViewModeText(this.viewMode),
date: this.viewDate,
startDate: this.startDate,
endDate: this.endDate
});
break;
case"clear":
this.reset();
if (this.autoclose) {
this.hide()
}
break;
case"today":
var k = new Date();
k = h(k.getFullYear(), k.getMonth(), k.getDate(), k.getHours(), k.getMinutes(), k.getSeconds(), 0);
if (k < this.startDate) {
k = this.startDate
} else {
if (k > this.endDate) {
k = this.endDate
}
}
this.viewMode = this.startViewMode;
this.showMode(0);
this._setDate(k);
this.fill();
if (this.autoclose) {
this.hide()
}
break
}
break;
case"span":
if (!o.is(".disabled")) {
var q = this.viewDate.getUTCFullYear(), p = this.viewDate.getUTCMonth(), r = this.viewDate.getUTCDate(), s = this.viewDate.getUTCHours(), l = this.viewDate.getUTCMinutes(), t = this.viewDate.getUTCSeconds();
if (o.is(".month")) {
this.viewDate.setUTCDate(1);
p = o.parent().find("span").index(o);
r = this.viewDate.getUTCDate();
this.viewDate.setUTCMonth(p);
this.element.trigger({type: "changeMonth", date: this.viewDate});
if (this.viewSelect >= 3) {
this._setDate(h(q, p, r, s, l, t, 0))
}
} else {
if (o.is(".year")) {
this.viewDate.setUTCDate(1);
q = parseInt(o.text(), 10) || 0;
this.viewDate.setUTCFullYear(q);
this.element.trigger({type: "changeYear", date: this.viewDate});
if (this.viewSelect >= 4) {
this._setDate(h(q, p, r, s, l, t, 0))
}
} else {
if (o.is(".hour")) {
s = parseInt(o.text(), 10) || 0;
if (o.hasClass("hour_am") || o.hasClass("hour_pm")) {
if (s == 12 && o.hasClass("hour_am")) {
s = 0
} else {
if (s != 12 && o.hasClass("hour_pm")) {
s += 12
}
}
}
this.viewDate.setUTCHours(s);
this.element.trigger({type: "changeHour", date: this.viewDate});
if (this.viewSelect >= 1) {
this._setDate(h(q, p, r, s, l, t, 0))
}
} else {
if (o.is(".minute")) {
l = parseInt(o.text().substr(o.text().indexOf(":") + 1), 10) || 0;
this.viewDate.setUTCMinutes(l);
this.element.trigger({type: "changeMinute", date: this.viewDate});
if (this.viewSelect >= 0) {
this._setDate(h(q, p, r, s, l, t, 0))
}
}
}
}
}
if (this.viewMode != 0) {
var m = this.viewMode;
this.showMode(-1);
this.fill();
if (m == this.viewMode && this.autoclose) {
this.hide()
}
} else {
this.fill();
if (this.autoclose) {
this.hide()
}
}
}
break;
case"td":
if (o.is(".day") && !o.is(".disabled")) {
var r = parseInt(o.text(), 10) || 1;
var q = this.viewDate.getUTCFullYear(), p = this.viewDate.getUTCMonth(), s = this.viewDate.getUTCHours(), l = this.viewDate.getUTCMinutes(), t = this.viewDate.getUTCSeconds();
if (o.is(".old")) {
if (p === 0) {
p = 11;
q -= 1
} else {
p -= 1
}
} else {
if (o.is(".new")) {
if (p == 11) {
p = 0;
q += 1
} else {
p += 1
}
}
}
this.viewDate.setUTCFullYear(q);
this.viewDate.setUTCMonth(p, r);
this.element.trigger({type: "changeDay", date: this.viewDate});
if (this.viewSelect >= 2) {
this._setDate(h(q, p, r, s, l, t, 0))
}
}
var m = this.viewMode;
this.showMode(-1);
this.fill();
if (m == this.viewMode && this.autoclose) {
this.hide()
}
break
}
}
}, _setDate: function (j, l) {
if (!l || l == "date") {
this.date = j
}
if (!l || l == "view") {
this.viewDate = j
}
this.fill();
this.setValue();
var k;
if (this.isInput) {
k = this.element
} else {
if (this.component) {
k = this.element.find("input")
}
}
if (k) {
k.change();
if (this.autoclose && (!l || l == "date")) {
}
}
this.element.trigger({type: "changeDate", date: this.getDate()});
if (j == null) {
this.date = this.viewDate
}
}, moveMinute: function (k, j) {
if (!j) {
return k
}
var l = new Date(k.valueOf());
l.setUTCMinutes(l.getUTCMinutes() + (j * this.minuteStep));
return l
}, moveHour: function (k, j) {
if (!j) {
return k
}
var l = new Date(k.valueOf());
l.setUTCHours(l.getUTCHours() + j);
return l
}, moveDate: function (k, j) {
if (!j) {
return k
}
var l = new Date(k.valueOf());
l.setUTCDate(l.getUTCDate() + j);
return l
}, moveMonth: function (j, k) {
if (!k) {
return j
}
var n = new Date(j.valueOf()), r = n.getUTCDate(), o = n.getUTCMonth(), m = Math.abs(k), q, p;
k = k > 0 ? 1 : -1;
if (m == 1) {
p = k == -1 ? function () {
return n.getUTCMonth() == o
} : function () {
return n.getUTCMonth() != q
};
q = o + k;
n.setUTCMonth(q);
if (q < 0 || q > 11) {
q = (q + 12) % 12
}
} else {
for (var l = 0; l < m; l++) {
n = this.moveMonth(n, k)
}
q = n.getUTCMonth();
n.setUTCDate(r);
p = function () {
return q != n.getUTCMonth()
}
}
while (p()) {
n.setUTCDate(--r);
n.setUTCMonth(q)
}
return n
}, moveYear: function (k, j) {
return this.moveMonth(k, j * 12)
}, dateWithinRange: function (j) {
return j >= this.startDate && j <= this.endDate
}, keydown: function (n) {
if (this.picker.is(":not(:visible)")) {
if (n.keyCode == 27) {
this.show()
}
return
}
var p = false, k, q, o, r, j;
switch (n.keyCode) {
case 27:
this.hide();
n.preventDefault();
break;
case 37:
case 39:
if (!this.keyboardNavigation) {
break
}
k = n.keyCode == 37 ? -1 : 1;
viewMode = this.viewMode;
if (n.ctrlKey) {
viewMode += 2
} else {
if (n.shiftKey) {
viewMode += 1
}
}
if (viewMode == 4) {
r = this.moveYear(this.date, k);
j = this.moveYear(this.viewDate, k)
} else {
if (viewMode == 3) {
r = this.moveMonth(this.date, k);
j = this.moveMonth(this.viewDate, k)
} else {
if (viewMode == 2) {
r = this.moveDate(this.date, k);
j = this.moveDate(this.viewDate, k)
} else {
if (viewMode == 1) {
r = this.moveHour(this.date, k);
j = this.moveHour(this.viewDate, k)
} else {
if (viewMode == 0) {
r = this.moveMinute(this.date, k);
j = this.moveMinute(this.viewDate, k)
}
}
}
}
}
if (this.dateWithinRange(r)) {
this.date = r;
this.viewDate = j;
this.setValue();
this.update();
n.preventDefault();
p = true
}
break;
case 38:
case 40:
if (!this.keyboardNavigation) {
break
}
k = n.keyCode == 38 ? -1 : 1;
viewMode = this.viewMode;
if (n.ctrlKey) {
viewMode += 2
} else {
if (n.shiftKey) {
viewMode += 1
}
}
if (viewMode == 4) {
r = this.moveYear(this.date, k);
j = this.moveYear(this.viewDate, k)
} else {
if (viewMode == 3) {
r = this.moveMonth(this.date, k);
j = this.moveMonth(this.viewDate, k)
} else {
if (viewMode == 2) {
r = this.moveDate(this.date, k * 7);
j = this.moveDate(this.viewDate, k * 7)
} else {
if (viewMode == 1) {
if (this.showMeridian) {
r = this.moveHour(this.date, k * 6);
j = this.moveHour(this.viewDate, k * 6)
} else {
r = this.moveHour(this.date, k * 4);
j = this.moveHour(this.viewDate, k * 4)
}
} else {
if (viewMode == 0) {
r = this.moveMinute(this.date, k * 4);
j = this.moveMinute(this.viewDate, k * 4)
}
}
}
}
}
if (this.dateWithinRange(r)) {
this.date = r;
this.viewDate = j;
this.setValue();
this.update();
n.preventDefault();
p = true
}
break;
case 13:
if (this.viewMode != 0) {
var m = this.viewMode;
this.showMode(-1);
this.fill();
if (m == this.viewMode && this.autoclose) {
this.hide()
}
} else {
this.fill();
if (this.autoclose) {
this.hide()
}
}
n.preventDefault();
break;
case 9:
this.hide();
break
}
if (p) {
var l;
if (this.isInput) {
l = this.element
} else {
if (this.component) {
l = this.element.find("input")
}
}
if (l) {
l.change()
}
this.element.trigger({type: "changeDate", date: this.getDate()})
}
}, showMode: function (j) {
if (j) {
var k = Math.max(0, Math.min(g.modes.length - 1, this.viewMode + j));
if (k >= this.minView && k <= this.maxView) {
this.element.trigger({
type: "changeMode",
date: this.viewDate,
oldViewMode: this.viewMode,
newViewMode: k
});
this.viewMode = k
}
}
this.picker.find(">div").hide().filter(".datetimepicker-" + g.modes[this.viewMode].clsName).css("display", "block");
this.updateNavArrows()
}, reset: function (j) {
this._setDate(null, "date")
}, convertViewModeText: function (j) {
switch (j) {
case 4:
return "decade";
case 3:
return "year";
case 2:
return "month";
case 1:
return "day";
case 0:
return "hour"
}
}
};
var b = f.fn.datetimepicker;
f.fn.datetimepicker = function (l) {
var j = Array.apply(null, arguments);
j.shift();
var k;
this.each(function () {
var o = f(this), n = o.data("datetimepicker"), m = typeof l == "object" && l;
if (!n) {
o.data("datetimepicker", (n = new i(this, f.extend({}, f.fn.datetimepicker.defaults, m))))
}
if (typeof l == "string" && typeof n[l] == "function") {
k = n[l].apply(n, j);
if (k !== c) {
return false
}
}
});
if (k !== c) {
return k
} else {
return this
}
};
f.fn.datetimepicker.defaults = {};
f.fn.datetimepicker.Constructor = i;
var a = f.fn.datetimepicker.dates = {
en: {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
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"],
suffix: ["st", "nd", "rd", "th"],
today: "Today",
clear: "Clear"
}
};
var g = {
modes: [{clsName: "minutes", navFnc: "Hours", navStep: 1}, {
clsName: "hours",
navFnc: "Date",
navStep: 1
}, {clsName: "days", navFnc: "Month", navStep: 1}, {
clsName: "months",
navFnc: "FullYear",
navStep: 1
}, {clsName: "years", navFnc: "FullYear", navStep: 10}],
isLeapYear: function (j) {
return (((j % 4 === 0) && (j % 100 !== 0)) || (j % 400 === 0))
},
getDaysInMonth: function (j, k) {
return [31, (g.isLeapYear(j) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][k]
},
getDefaultFormat: function (j, k) {
if (j == "standard") {
if (k == "input") {
return "yyyy-mm-dd hh:ii"
} else {
return "yyyy-mm-dd hh:ii:ss"
}
} else {
if (j == "php") {
if (k == "input") {
return "Y-m-d H:i"
} else {
return "Y-m-d H:i:s"
}
} else {
throw new Error("Invalid format type.")
}
}
},
validParts: function (j) {
if (j == "standard") {
return /t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g
} else {
if (j == "php") {
return /[dDjlNwzFmMnStyYaABgGhHis]/g
} else {
throw new Error("Invalid format type.")
}
}
},
nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,
parseFormat: function (m, k) {
var j = m.replace(this.validParts(k), "\0").split("\0"), l = m.match(this.validParts(k));
if (!j || !j.length || !l || l.length == 0) {
throw new Error("Invalid date format.")
}
return {separators: j, parts: l}
},
parseDate: function (A, y, v, j, r) {
if (A instanceof Date) {
var u = new Date(A.valueOf() - A.getTimezoneOffset() * 60000);
u.setMilliseconds(0);
return u
}
if (/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)) {
y = this.parseFormat("yyyy-mm-dd", j)
}
if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)) {
y = this.parseFormat("yyyy-mm-dd hh:ii", j)
}
if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)) {
y = this.parseFormat("yyyy-mm-dd hh:ii:ss", j)
}
if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)) {
var l = /([-+]\d+)([dmwy])/, q = A.match(/([-+]\d+)([dmwy])/g), t, p;
A = new Date();
for (var x = 0; x < q.length; x++) {
t = l.exec(q[x]);
p = parseInt(t[1]);
switch (t[2]) {
case"d":
A.setUTCDate(A.getUTCDate() + p);
break;
case"m":
A = i.prototype.moveMonth.call(i.prototype, A, p);
break;
case"w":
A.setUTCDate(A.getUTCDate() + p * 7);
break;
case"y":
A = i.prototype.moveYear.call(i.prototype, A, p);
break
}
}
return h(A.getUTCFullYear(), A.getUTCMonth(), A.getUTCDate(), A.getUTCHours(), A.getUTCMinutes(), A.getUTCSeconds(), 0)
}
var q = A && A.toString().match(this.nonpunctuation) || [], A = new Date(0, 0, 0, 0, 0, 0, 0), m = {}, z = ["hh", "h", "ii", "i", "ss", "s", "yyyy", "yy", "M", "MM", "m", "mm", "D", "DD", "d", "dd", "H", "HH", "p", "P", "z", "Z"], o = {
hh: function (C, s) {
return C.setUTCHours(s)
}, h: function (C, s) {
return C.setUTCHours(s)
}, HH: function (C, s) {
return C.setUTCHours(s == 12 ? 0 : s)
}, H: function (C, s) {
return C.setUTCHours(s == 12 ? 0 : s)
}, ii: function (C, s) {
return C.setUTCMinutes(s)
}, i: function (C, s) {
return C.setUTCMinutes(s)
}, ss: function (C, s) {
return C.setUTCSeconds(s)
}, s: function (C, s) {
return C.setUTCSeconds(s)
}, yyyy: function (C, s) {
return C.setUTCFullYear(s)
}, yy: function (C, s) {
return C.setUTCFullYear(2000 + s)
}, m: function (C, s) {
s -= 1;
while (s < 0) {
s += 12
}
s %= 12;
C.setUTCMonth(s);
while (C.getUTCMonth() != s) {
if (isNaN(C.getUTCMonth())) {
return C
} else {
C.setUTCDate(C.getUTCDate() - 1)
}
}
return C
}, d: function (C, s) {
return C.setUTCDate(s)
}, p: function (C, s) {
return C.setUTCHours(s == 1 ? C.getUTCHours() + 12 : C.getUTCHours())
}, z: function () {
return r
}
}, B, k, t;
o.M = o.MM = o.mm = o.m;
o.dd = o.d;
o.P = o.p;
o.Z = o.z;
A = h(A.getFullYear(), A.getMonth(), A.getDate(), A.getHours(), A.getMinutes(), A.getSeconds());
if (q.length == y.parts.length) {
for (var x = 0, w = y.parts.length; x < w; x++) {
B = parseInt(q[x], 10);
t = y.parts[x];
if (isNaN(B)) {
switch (t) {
case"MM":
k = f(a[v].months).filter(function () {
var s = this.slice(0, q[x].length), C = q[x].slice(0, s.length);
return s == C
});
B = f.inArray(k[0], a[v].months) + 1;
break;
case"M":
k = f(a[v].monthsShort).filter(function () {
var s = this.slice(0, q[x].length), C = q[x].slice(0, s.length);
return s.toLowerCase() == C.toLowerCase()
});
B = f.inArray(k[0], a[v].monthsShort) + 1;
break;
case"p":
case"P":
B = f.inArray(q[x].toLowerCase(), a[v].meridiem);
break;
case"z":
case"Z":
r;
break
}
}
m[t] = B
}
for (var x = 0, n; x < z.length; x++) {
n = z[x];
if (n in m && !isNaN(m[n])) {
o[n](A, m[n])
}
}
}
return A
},
formatDate: function (l, q, m, p, o) {
if (l == null) {
return ""
}
var k;
if (p == "standard") {
k = {
t: l.getTime(),
yy: l.getUTCFullYear().toString().substring(2),
yyyy: l.getUTCFullYear(),
m: l.getUTCMonth() + 1,
M: a[m].monthsShort[l.getUTCMonth()],
MM: a[m].months[l.getUTCMonth()],
d: l.getUTCDate(),
D: a[m].daysShort[l.getUTCDay()],
DD: a[m].days[l.getUTCDay()],
p: (a[m].meridiem.length == 2 ? a[m].meridiem[l.getUTCHours() < 12 ? 0 : 1] : ""),
h: l.getUTCHours(),
i: l.getUTCMinutes(),
s: l.getUTCSeconds(),
z: o
};
if (a[m].meridiem.length == 2) {
k.H = (k.h % 12 == 0 ? 12 : k.h % 12)
} else {
k.H = k.h
}
k.HH = (k.H < 10 ? "0" : "") + k.H;
k.P = k.p.toUpperCase();
k.Z = k.z;
k.hh = (k.h < 10 ? "0" : "") + k.h;
k.ii = (k.i < 10 ? "0" : "") + k.i;
k.ss = (k.s < 10 ? "0" : "") + k.s;
k.dd = (k.d < 10 ? "0" : "") + k.d;
k.mm = (k.m < 10 ? "0" : "") + k.m
} else {
if (p == "php") {
k = {
y: l.getUTCFullYear().toString().substring(2),
Y: l.getUTCFullYear(),
F: a[m].months[l.getUTCMonth()],
M: a[m].monthsShort[l.getUTCMonth()],
n: l.getUTCMonth() + 1,
t: g.getDaysInMonth(l.getUTCFullYear(), l.getUTCMonth()),
j: l.getUTCDate(),
l: a[m].days[l.getUTCDay()],
D: a[m].daysShort[l.getUTCDay()],
w: l.getUTCDay(),
N: (l.getUTCDay() == 0 ? 7 : l.getUTCDay()),
S: (l.getUTCDate() % 10 <= a[m].suffix.length ? a[m].suffix[l.getUTCDate() % 10 - 1] : ""),
a: (a[m].meridiem.length == 2 ? a[m].meridiem[l.getUTCHours() < 12 ? 0 : 1] : ""),
g: (l.getUTCHours() % 12 == 0 ? 12 : l.getUTCHours() % 12),
G: l.getUTCHours(),
i: l.getUTCMinutes(),
s: l.getUTCSeconds()
};
k.m = (k.n < 10 ? "0" : "") + k.n;
k.d = (k.j < 10 ? "0" : "") + k.j;
k.A = k.a.toString().toUpperCase();
k.h = (k.g < 10 ? "0" : "") + k.g;
k.H = (k.G < 10 ? "0" : "") + k.G;
k.i = (k.i < 10 ? "0" : "") + k.i;
k.s = (k.s < 10 ? "0" : "") + k.s
} else {
throw new Error("Invalid format type.")
}
}
var l = [], r = f.extend([], q.separators);
for (var n = 0, j = q.parts.length; n < j; n++) {
if (r.length) {
l.push(r.shift())
}
l.push(k[q.parts[n]])
}
if (r.length) {
l.push(r.shift())
}
return l.join("")
},
convertViewMode: function (j) {
switch (j) {
case 4:
case"decade":
j = 4;
break;
case 3:
case"year":
j = 3;
break;
case 2:
case"month":
j = 2;
break;
case 1:
case"day":
j = 1;
break;
case 0:
case"hour":
j = 0;
break
}
return j
},
headTemplate: ' | | |
',
headTemplateV3: ' | | |
',
contTemplate: ' |
',
footTemplate: ' |
---|
|
'
};
g.template = '' + g.headTemplate + g.contTemplate + g.footTemplate + '
' + g.headTemplate + g.contTemplate + g.footTemplate + '
' + g.headTemplate + "" + g.footTemplate + '
' + g.headTemplate + g.contTemplate + g.footTemplate + '
' + g.headTemplate + g.contTemplate + g.footTemplate + "
";
g.templateV3 = '' + g.headTemplateV3 + g.contTemplate + g.footTemplate + '
' + g.headTemplateV3 + g.contTemplate + g.footTemplate + '
' + g.headTemplateV3 + "" + g.footTemplate + '
' + g.headTemplateV3 + g.contTemplate + g.footTemplate + '
' + g.headTemplateV3 + g.contTemplate + g.footTemplate + "
";
f.fn.datetimepicker.DPGlobal = g;
f.fn.datetimepicker.noConflict = function () {
f.fn.datetimepicker = b;
return this
};
f(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api", '[data-provide="datetimepicker"]', function (k) {
var j = f(this);
if (j.data("datetimepicker")) {
return
}
k.preventDefault();
j.datetimepicker("show")
});
f(function () {
f('[data-provide="datetimepicker-inline"]').datetimepicker()
})
}));