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