!function(n,t,i){!function(){var u,o,r,f="datepicker",c=".datepicker-here",s=!1,l='<div class="datepicker"><i class="datepicker--pointer"><\/i><nav class="datepicker--nav"><\/nav><div class="datepicker--content"><\/div><\/div>',a={classes:"",inline:!1,language:"ru",startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"@",toggleSelected:!0,keyboardNav:!0,position:"bottom left",offset:12,view:"days",minView:"days",showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:",",range:!1,todayButton:!1,clearButton:!1,showEvent:"focus",autoClose:!1,monthsField:"monthsShort",prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"><\/path><\/svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"><\/path><\/svg>',navTitles:{days:"MM, <i>yyyy<\/i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:"",onChangeMonth:"",onChangeYear:"",onChangeDecade:"",onChangeView:"",onRenderCell:""},h={ctrlRight:[17,39],ctrlUp:[17,38],ctrlLeft:[17,37],ctrlDown:[17,40],shiftRight:[16,39],shiftUp:[16,38],shiftLeft:[16,37],shiftDown:[16,40],altUp:[18,38],altRight:[18,39],altLeft:[18,37],altDown:[18,40],ctrlShiftUp:[16,17,38]},e=function(n,r){this.el=n;this.$el=t(n);this.opts=t.extend(!0,{},a,r,this.$el.data());u==i&&(u=t("body"));this.opts.startDate||(this.opts.startDate=new Date);"INPUT"==this.el.nodeName&&(this.elIsInput=!0);this.opts.altField&&(this.$altField="string"==typeof this.opts.altField?t(this.opts.altField):this.opts.altField);this.inited=!1;this.visible=!1;this.silent=!1;this.currentDate=this.opts.startDate;this.currentView=this.opts.view;this._createShortCuts();this.selectedDates=[];this.views={};this.keys=[];this.minRange="";this.maxRange="";this._prevOnSelectValue="";this.init()};r=e;r.prototype={viewIndexes:["days","months","years"],init:function(){s||this.opts.inline||!this.elIsInput||this._buildDatepickersContainer();this._buildBaseHtml();this._defineLocale(this.opts.language);this._syncWithMinMaxDates();this.elIsInput&&(this.opts.inline||(this._setPositionClasses(this.opts.position),this._bindEvents()),this.opts.keyboardNav&&this._bindKeyboardEvents(),this.$datepicker.on("mousedown",this._onMouseDownDatepicker.bind(this)),this.$datepicker.on("mouseup",this._onMouseUpDatepicker.bind(this)));this.opts.classes&&this.$datepicker.addClass(this.opts.classes);this.opts.timepicker&&(this.timepicker=new t.fn.datepicker.Timepicker(this,this.opts),this._bindTimepickerEvents());this.views[this.currentView]=new t.fn.datepicker.Body(this,this.currentView,this.opts);this.views[this.currentView].show();this.nav=new t.fn.datepicker.Navigation(this,this.opts);this.view=this.currentView;this.$el.on("clickCell.adp",this._onClickCell.bind(this));this.$datepicker.on("mouseenter",".datepicker--cell",this._onMouseEnterCell.bind(this));this.$datepicker.on("mouseleave",".datepicker--cell",this._onMouseLeaveCell.bind(this));this.inited=!0},_createShortCuts:function(){this.minDate=this.opts.minDate?this.opts.minDate:new Date(-86399999136e5);this.maxDate=this.opts.maxDate?this.opts.maxDate:new Date(86399999136e5)},_bindEvents:function(){this.$el.on(this.opts.showEvent+".adp",this._onShowEvent.bind(this));this.$el.on("mouseup.adp",this._onMouseUpEl.bind(this));this.$el.on("blur.adp",this._onBlur.bind(this));this.$el.on("keyup.adp",this._onKeyUpGeneral.bind(this));t(n).on("resize.adp",this._onResize.bind(this));t("body").on("mouseup.adp",this._onMouseUpBody.bind(this))},_bindKeyboardEvents:function(){this.$el.on("keydown.adp",this._onKeyDown.bind(this));this.$el.on("keyup.adp",this._onKeyUp.bind(this));this.$el.on("hotKey.adp",this._onHotKey.bind(this))},_bindTimepickerEvents:function(){this.$el.on("timeChange.adp",this._onTimeChange.bind(this))},isWeekend:function(n){return-1!==this.opts.weekends.indexOf(n)},_defineLocale:function(n){"string"==typeof n?(this.loc=t.fn.datepicker.language[n],this.loc||(console.warn("Can't find language \""+n+'" in Datepicker.language, will use "ru" instead'),this.loc=t.extend(!0,{},t.fn.datepicker.language.ru)),this.loc=t.extend(!0,{},t.fn.datepicker.language.ru,t.fn.datepicker.language[n])):this.loc=t.extend(!0,{},t.fn.datepicker.language.ru,n);this.opts.dateFormat&&(this.loc.dateFormat=this.opts.dateFormat);this.opts.timeFormat&&(this.loc.timeFormat=this.opts.timeFormat);""!==this.opts.firstDay&&(this.loc.firstDay=this.opts.firstDay);this.opts.timepicker&&(this.loc.dateFormat=[this.loc.dateFormat,this.loc.timeFormat].join(this.opts.dateTimeSeparator));var i=this._getWordBoundaryRegExp;(this.loc.timeFormat.match(i("aa"))||this.loc.timeFormat.match(i("AA")))&&(this.ampm=!0)},_buildDatepickersContainer:function(){s=!0;u.append('<div class="datepickers-container" id="datepickers-container"><\/div>');o=t("#datepickers-container")},_buildBaseHtml:function(){var n,i=t('<div class="datepicker-inline">');n="INPUT"==this.el.nodeName?this.opts.inline?i.insertAfter(this.$el):o:i.appendTo(this.$el);this.$datepicker=t(l).appendTo(n);this.$content=t(".datepicker--content",this.$datepicker);this.$nav=t(".datepicker--nav",this.$datepicker)},_triggerOnChange:function(){if(!this.selectedDates.length)return""===this._prevOnSelectValue?void 0:(this._prevOnSelectValue="",this.opts.onSelect("","",this));var t,i=this.selectedDates,n=r.getParsedDate(i[0]),u=this,f=new Date(n.year,n.month,n.date,n.hours,n.minutes);t=i.map(function(n){return u.formatDate(u.loc.dateFormat,n)}).join(this.opts.multipleDatesSeparator);(this.opts.multipleDates||this.opts.range)&&(f=i.map(function(n){var t=r.getParsedDate(n);return new Date(t.year,t.month,t.date,t.hours,t.minutes)}));this._prevOnSelectValue=t;this.opts.onSelect(t,f,this)},next:function(){var t=this.parsedDate,n=this.opts;switch(this.view){case"days":this.date=new Date(t.year,t.month+1,1);n.onChangeMonth&&n.onChangeMonth(this.parsedDate.month,this.parsedDate.year);break;case"months":this.date=new Date(t.year+1,t.month,1);n.onChangeYear&&n.onChangeYear(this.parsedDate.year);break;case"years":this.date=new Date(t.year+10,0,1);n.onChangeDecade&&n.onChangeDecade(this.curDecade)}},prev:function(){var t=this.parsedDate,n=this.opts;switch(this.view){case"days":this.date=new Date(t.year,t.month-1,1);n.onChangeMonth&&n.onChangeMonth(this.parsedDate.month,this.parsedDate.year);break;case"months":this.date=new Date(t.year-1,t.month,1);n.onChangeYear&&n.onChangeYear(this.parsedDate.year);break;case"years":this.date=new Date(t.year-10,0,1);n.onChangeDecade&&n.onChangeDecade(this.curDecade)}},formatDate:function(n,t){t=t||this.date;var e,i=n,u=this._getWordBoundaryRegExp,o=this.loc,a=r.getLeadingZeroNum,h=r.getDecade(t),f=r.getParsedDate(t),c=f.fullHours,l=f.hours,s="am";switch(this.opts.timepicker&&this.timepicker&&this.ampm&&(e=this.timepicker._getValidHoursFromDate(t),c=a(e.hours),l=e.hours,s=e.dayPeriod),!0){case/@/.test(i):i=i.replace(/@/,t.getTime());case/aa/.test(i):i=i.replace(u("aa"),s);case/AA/.test(i):i=i.replace(u("AA"),s.toUpperCase());case/dd/.test(i):i=i.replace(u("dd"),f.fullDate);case/d/.test(i):i=i.replace(u("d"),f.date);case/DD/.test(i):i=i.replace(u("DD"),o.days[f.day]);case/D/.test(i):i=i.replace(u("D"),o.daysShort[f.day]);case/mm/.test(i):i=i.replace(u("mm"),f.fullMonth);case/m/.test(i):i=i.replace(u("m"),f.month+1);case/MM/.test(i):i=i.replace(u("MM"),this.loc.months[f.month]);case/M/.test(i):i=i.replace(u("M"),o.monthsShort[f.month]);case/ii/.test(i):i=i.replace(u("ii"),f.fullMinutes);case/i/.test(i):i=i.replace(u("i"),f.minutes);case/hh/.test(i):i=i.replace(u("hh"),c);case/h/.test(i):i=i.replace(u("h"),l);case/yyyy/.test(i):i=i.replace(u("yyyy"),f.year);case/yyyy1/.test(i):i=i.replace(u("yyyy1"),h[0]);case/yyyy2/.test(i):i=i.replace(u("yyyy2"),h[1]);case/yy/.test(i):i=i.replace(u("yy"),f.year.toString().slice(-2))}return i},_getWordBoundaryRegExp:function(n){return new RegExp("\\b(?=[a-zA-Z0-9äöüßÄÖÜ<])"+n+"(?![>a-zA-Z0-9äöüßÄÖÜ])")},selectDate:function(n){var t=this,i=t.opts,e=t.parsedDate,o=t.selectedDates,f=o.length,u="";if(Array.isArray(n))return void n.forEach(function(n){t.selectDate(n)});if(n instanceof Date){if(this.lastSelectedDate=n,this.timepicker&&this.timepicker._setTime(n),t._trigger("selectDate",n),this.timepicker&&(n.setHours(this.timepicker.hours),n.setMinutes(this.timepicker.minutes)),"days"==t.view&&n.getMonth()!=e.month&&i.moveToOtherMonthsOnSelect&&(u=new Date(n.getFullYear(),n.getMonth(),1)),"years"==t.view&&n.getFullYear()!=e.year&&i.moveToOtherYearsOnSelect&&(u=new Date(n.getFullYear(),0,1)),u&&(t.silent=!0,t.date=u,t.silent=!1,t.nav._render()),i.multipleDates&&!i.range){if(f===i.multipleDates)return;t._isSelected(n)||t.selectedDates.push(n)}else i.range?2==f?(t.selectedDates=[n],t.minRange=n,t.maxRange=""):1==f?(t.selectedDates.push(n),t.maxRange?t.minRange=n:t.maxRange=n,r.bigger(t.maxRange,t.minRange)&&(t.maxRange=t.minRange,t.minRange=n),t.selectedDates=[t.minRange,t.maxRange]):(t.selectedDates=[n],t.minRange=n):t.selectedDates=[n];t._setInputValue();i.onSelect&&t._triggerOnChange();i.autoClose&&!this.timepickerIsActive&&(i.multipleDates||i.range?i.range&&2==t.selectedDates.length&&t.hide():t.hide());t.views[this.currentView]._render()}},removeDate:function(n){var i=this.selectedDates,t=this;if(n instanceof Date)return i.some(function(u,f){if(r.isSame(u,n))return(i.splice(f,1),t.selectedDates.length?t.lastSelectedDate=t.selectedDates[t.selectedDates.length-1]:(t.minRange="",t.maxRange="",t.lastSelectedDate=""),t.views[t.currentView]._render(),t._setInputValue(),t.opts.onSelect&&t._triggerOnChange(),!0)})},today:function(){this.silent=!0;this.view=this.opts.minView;this.silent=!1;this.date=new Date;this.opts.todayButton instanceof Date&&this.selectDate(this.opts.todayButton)},clear:function(){this.selectedDates=[];this.minRange="";this.maxRange="";this.views[this.currentView]._render();this._setInputValue();this.opts.onSelect&&this._triggerOnChange()},update:function(n,i){var r=arguments.length;return 2==r?this.opts[n]=i:1==r&&"object"==typeof n&&(this.opts=t.extend(!0,this.opts,n)),this._createShortCuts(),this._syncWithMinMaxDates(),this._defineLocale(this.opts.language),this.nav._addButtonsIfNeed(),this.nav._render(),this.views[this.currentView]._render(),this.elIsInput&&!this.opts.inline&&(this._setPositionClasses(this.opts.position),this.visible&&this.setPosition(this.opts.position)),this.opts.classes&&this.$datepicker.addClass(this.opts.classes),this.opts.timepicker&&(this.timepicker._handleDate(this.lastSelectedDate),this.timepicker._updateRanges(),this.timepicker._updateCurrentTime(),this.lastSelectedDate&&(this.lastSelectedDate.setHours(this.timepicker.hours),this.lastSelectedDate.setMinutes(this.timepicker.minutes))),this._setInputValue(),this},_syncWithMinMaxDates:function(){var n=this.date.getTime();this.silent=!0;this.minTime>n&&(this.date=this.minDate);this.maxTime<n&&(this.date=this.maxDate);this.silent=!1},_isSelected:function(n,t){var i=!1;return this.selectedDates.some(function(u){if(r.isSame(u,n,t))return(i=u,!0)}),i},_setInputValue:function(){var t,n=this,r=n.opts,u=n.loc.dateFormat,f=r.altFieldDateFormat,i=n.selectedDates.map(function(t){return n.formatDate(u,t)});r.altField&&n.$altField.length&&(t=this.selectedDates.map(function(t){return n.formatDate(f,t)}),t=t.join(this.opts.multipleDatesSeparator),this.$altField.val(t));i=i.join(this.opts.multipleDatesSeparator);this.$el.val(i)},_isInRange:function(n,t){var u=n.getTime(),i=r.getParsedDate(n),f=r.getParsedDate(this.minDate),e=r.getParsedDate(this.maxDate),s=new Date(i.year,i.month,f.date).getTime(),h=new Date(i.year,i.month,e.date).getTime(),o={day:u>=this.minTime&&u<=this.maxTime,month:s>=this.minTime&&h<=this.maxTime,year:i.year>=f.year&&i.year<=e.year};return t?o[t]:o.day},_getDimensions:function(n){var t=n.offset();return{width:n.outerWidth(),height:n.outerHeight(),left:t.left,top:t.top}},_getDateFromCell:function(n){var t=this.parsedDate,r=n.data("year")||t.year,u=n.data("month")==i?t.month:n.data("month"),f=n.data("date")||1;return new Date(r,u,f)},_setPositionClasses:function(n){n=n.split(" ");var t=n[0],r=n[1],i="datepicker -"+t+"-"+r+"- -from-"+t+"-";this.visible&&(i+=" active");this.$datepicker.removeAttr("class").addClass(i)},setPosition:function(n){n=n||this.opts.position;var i,r,t=this._getDimensions(this.$el),u=this._getDimensions(this.$datepicker),e=n.split(" "),f=this.opts.offset,o=e[0],s=e[1];switch(o){case"top":i=t.top-u.height-f;break;case"right":r=t.left+t.width+f;break;case"bottom":i=t.top+t.height+f;break;case"left":r=t.left-u.width-f}switch(s){case"top":i=t.top;break;case"right":r=t.left+t.width-u.width;break;case"bottom":i=t.top+t.height-u.height;break;case"left":r=t.left;break;case"center":/left|right/.test(o)?i=t.top+t.height/2-u.height/2:r=t.left+t.width/2-u.width/2}this.$datepicker.css({left:r,top:i})},show:function(){this.setPosition(this.opts.position);this.$datepicker.addClass("active");this.visible=!0},hide:function(){this.$datepicker.removeClass("active").css({left:"-100000px"});this.focused="";this.keys=[];this.inFocus=!1;this.visible=!1;this.$el.blur()},down:function(n){this._changeView(n,"down")},up:function(n){this._changeView(n,"up")},_changeView:function(n,t){n=n||this.focused||this.date;var i="up"==t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2);0>i&&(i=0);this.silent=!0;this.date=new Date(n.getFullYear(),n.getMonth(),1);this.silent=!1;this.view=this.viewIndexes[i]},_handleHotKey:function(n){var f,t,o,s=r.getParsedDate(this._getFocusedDate()),i=this.opts,h=!1,c=!1,l=!1,u=s.year,e=s.month,a=s.date;switch(n){case"ctrlRight":case"ctrlUp":e+=1;h=!0;break;case"ctrlLeft":case"ctrlDown":e-=1;h=!0;break;case"shiftRight":case"shiftUp":c=!0;u+=1;break;case"shiftLeft":case"shiftDown":c=!0;u-=1;break;case"altRight":case"altUp":l=!0;u+=10;break;case"altLeft":case"altDown":l=!0;u-=10;break;case"ctrlShiftUp":this.up()}o=r.getDaysCount(new Date(u,e));t=new Date(u,e,a);a>o&&(a=o);t.getTime()<this.minTime?t=this.minDate:t.getTime()>this.maxTime&&(t=this.maxDate);this.focused=t;f=r.getParsedDate(t);h&&i.onChangeMonth&&i.onChangeMonth(f.month,f.year);c&&i.onChangeYear&&i.onChangeYear(f.year);l&&i.onChangeDecade&&i.onChangeDecade(this.curDecade)},_registerKey:function(n){var t=this.keys.some(function(t){return t==n});t||this.keys.push(n)},_unRegisterKey:function(n){var t=this.keys.indexOf(n);this.keys.splice(t,1)},_isHotKeyPressed:function(){var n,i=!1,u=this,r=this.keys.sort(),t;for(t in h)n=h[t],r.length==n.length&&n.every(function(n,t){return n==r[t]})&&(u._trigger("hotKey",t),i=!0);return i},_trigger:function(n,t){this.$el.trigger(n,t)},_focusNextCell:function(n,t){var i;t=t||this.cellType;var o=r.getParsedDate(this._getFocusedDate()),u=o.year,f=o.month,e=o.date;if(!this._isHotKeyPressed()){switch(n){case 37:"day"==t?e-=1:"";"month"==t?f-=1:"";"year"==t?u-=1:"";break;case 38:"day"==t?e-=7:"";"month"==t?f-=3:"";"year"==t?u-=4:"";break;case 39:"day"==t?e+=1:"";"month"==t?f+=1:"";"year"==t?u+=1:"";break;case 40:"day"==t?e+=7:"";"month"==t?f+=3:"";"year"==t?u+=4:""}i=new Date(u,f,e);i.getTime()<this.minTime?i=this.minDate:i.getTime()>this.maxTime&&(i=this.maxDate);this.focused=i}},_getFocusedDate:function(){var n=this.focused||this.selectedDates[this.selectedDates.length-1],t=this.parsedDate;if(!n)switch(this.view){case"days":n=new Date(t.year,t.month,(new Date).getDate());break;case"months":n=new Date(t.year,t.month,1);break;case"years":n=new Date(t.year,0,1)}return n},_getCell:function(n,t){t=t||this.cellType;var u,i=r.getParsedDate(n),f='.datepicker--cell[data-year="'+i.year+'"]';switch(t){case"month":f='[data-month="'+i.month+'"]';break;case"day":f+='[data-month="'+i.month+'"][data-date="'+i.date+'"]'}return u=this.views[this.currentView].$el.find(f),u.length?u:""},destroy:function(){var n=this;n.$el.off(".adp").data("datepicker","");n.selectedDates=[];n.focused="";n.views={};n.keys=[];n.minRange="";n.maxRange="";n.opts.inline||!n.elIsInput?n.$datepicker.closest(".datepicker-inline").remove():n.$datepicker.remove()},_onShowEvent:function(){this.visible||this.show()},_onBlur:function(){!this.inFocus&&this.visible&&this.hide()},_onMouseDownDatepicker:function(){this.inFocus=!0},_onMouseUpDatepicker:function(n){this.inFocus=!1;n.originalEvent.inFocus=!0;n.originalEvent.timepickerFocus||this.$el.focus()},_onKeyUpGeneral:function(){var n=this.$el.val();n||this.clear()},_onResize:function(){this.visible&&this.setPosition()},_onMouseUpBody:function(n){n.originalEvent.inFocus||this.visible&&!this.inFocus&&this.hide()},_onMouseUpEl:function(n){n.originalEvent.inFocus=!0;setTimeout(this._onKeyUpGeneral.bind(this),4)},_onKeyDown:function(n){var t=n.which,i;if(this._registerKey(t),t>=37&&40>=t&&(n.preventDefault(),this._focusNextCell(t)),13==t&&this.focused){if(this._getCell(this.focused).hasClass("-disabled-"))return;this.view!=this.opts.minView?this.down():(i=this._isSelected(this.focused,this.cellType),i?i&&this.opts.toggleSelected&&this.removeDate(this.focused):(this.timepicker&&(this.focused.setHours(this.timepicker.hours),this.focused.setMinutes(this.timepicker.minutes)),this.selectDate(this.focused)))}27==t&&this.hide()},_onKeyUp:function(n){var t=n.which;this._unRegisterKey(t)},_onHotKey:function(n,t){this._handleHotKey(t)},_onMouseEnterCell:function(n){var i=t(n.target).closest(".datepicker--cell"),u=this._getDateFromCell(i);this.silent=!0;this.focused&&(this.focused="");i.addClass("-focus-");this.focused=u;this.silent=!1;this.opts.range&&1==this.selectedDates.length&&(this.minRange=this.selectedDates[0],this.maxRange="",r.less(this.minRange,this.focused)&&(this.maxRange=this.minRange,this.minRange=""),this.views[this.currentView]._update())},_onMouseLeaveCell:function(n){var i=t(n.target).closest(".datepicker--cell");i.removeClass("-focus-");this.silent=!0;this.focused="";this.silent=!1},_onTimeChange:function(n,t,i){var r=new Date,f=this.selectedDates,u=!1;f.length&&(u=!0,r=this.lastSelectedDate);r.setHours(t);r.setMinutes(i);u||this._getCell(r).hasClass("-disabled-")?(this._setInputValue(),this.opts.onSelect&&this._triggerOnChange()):this.selectDate(r)},_onClickCell:function(n,t){this.timepicker&&(t.setHours(this.timepicker.hours),t.setMinutes(this.timepicker.minutes));this.selectDate(t)},set focused(n){if(!n&&this.focused){var t=this._getCell(this.focused);t.length&&t.removeClass("-focus-")}this._focused=n;this.opts.range&&1==this.selectedDates.length&&(this.minRange=this.selectedDates[0],this.maxRange="",r.less(this.minRange,this._focused)&&(this.maxRange=this.minRange,this.minRange=""));this.silent||(this.date=n)},get focused(){return this._focused},get parsedDate(){return r.getParsedDate(this.date)},set date(n){if(n instanceof Date)return(this.currentDate=n,this.inited&&!this.silent&&(this.views[this.view]._render(),this.nav._render(),this.visible&&this.elIsInput&&this.setPosition()),n)},get date(){return this.currentDate},set view(n){return this.viewIndex=this.viewIndexes.indexOf(n),this.viewIndex<0?void 0:(this.prevView=this.currentView,this.currentView=n,this.inited&&(this.views[n]?this.views[n]._render():this.views[n]=new t.fn.datepicker.Body(this,n,this.opts),this.views[this.prevView].hide(),this.views[n].show(),this.nav._render(),this.opts.onChangeView&&this.opts.onChangeView(n),this.elIsInput&&this.visible&&this.setPosition()),n)},get view(){return this.currentView},get cellType(){return this.view.substring(0,this.view.length-1)},get minTime(){var n=r.getParsedDate(this.minDate);return new Date(n.year,n.month,n.date).getTime()},get maxTime(){var n=r.getParsedDate(this.maxDate);return new Date(n.year,n.month,n.date).getTime()},get curDecade(){return r.getDecade(this.date)}};r.getDaysCount=function(n){return new Date(n.getFullYear(),n.getMonth()+1,0).getDate()};r.getParsedDate=function(n){return{year:n.getFullYear(),month:n.getMonth(),fullMonth:n.getMonth()+1<10?"0"+(n.getMonth()+1):n.getMonth()+1,date:n.getDate(),fullDate:n.getDate()<10?"0"+n.getDate():n.getDate(),day:n.getDay(),hours:n.getHours(),fullHours:n.getHours()<10?"0"+n.getHours():n.getHours(),minutes:n.getMinutes(),fullMinutes:n.getMinutes()<10?"0"+n.getMinutes():n.getMinutes()}};r.getDecade=function(n){var t=10*Math.floor(n.getFullYear()/10);return[t,t+9]};r.template=function(n,t){return n.replace(/#\{([\w]+)\}/g,function(n,i){if(t[i]||0===t[i])return t[i]})};r.isSame=function(n,t,i){if(!n||!t)return!1;var u=r.getParsedDate(n),f=r.getParsedDate(t),e=i?i:"day",o={day:u.date==f.date&&u.month==f.month&&u.year==f.year,month:u.month==f.month&&u.year==f.year,year:u.year==f.year};return o[e]};r.less=function(n,t){return n&&t?t.getTime()<n.getTime():!1};r.bigger=function(n,t){return n&&t?t.getTime()>n.getTime():!1};r.getLeadingZeroNum=function(n){return parseInt(n)<10?"0"+n:n};t.fn.datepicker=function(n){return this.each(function(){if(t.data(this,f)){var i=t.data(this,f);i.opts=t.extend(!0,i.opts,n);i.update()}else t.data(this,f,new e(this,n))})};t.fn.datepicker.Constructor=e;t.fn.datepicker.language={ru:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.mm.yyyy",timeFormat:"hh:ii",firstDay:1}};t(function(){t(c).datepicker()})}(),function(){var u={days:'<div class="datepicker--days datepicker--body"><div class="datepicker--days-names"><\/div><div class="datepicker--cells datepicker--cells-days"><\/div><\/div>',months:'<div class="datepicker--months datepicker--body"><div class="datepicker--cells datepicker--cells-months"><\/div><\/div>',years:'<div class="datepicker--years datepicker--body"><div class="datepicker--cells datepicker--cells-years"><\/div><\/div>'},r=t.fn.datepicker,n=r.Constructor;r.Body=function(n,t,i){this.d=n;this.type=t;this.opts=i;this.init()};r.Body.prototype={init:function(){this._buildBaseHtml();this._render();this._bindEvents()},_bindEvents:function(){this.$el.on("click",".datepicker--cell",t.proxy(this._onClickCell,this))},_buildBaseHtml:function(){this.$el=t(u[this.type]).appendTo(this.d.$content);this.$names=t(".datepicker--days-names",this.$el);this.$cells=t(".datepicker--cells",this.$el)},_getDayNamesHtml:function(n,t,r,u){return t=t!=i?t:n,r=r?r:"",u=u!=i?u:0,u>7?r:7==t?this._getDayNamesHtml(n,0,r,++u):(r+='<div class="datepicker--day-name'+(this.d.isWeekend(t)?" -weekend-":"")+'">'+this.d.loc.daysMin[t]+"<\/div>",this._getDayNamesHtml(n,++t,r,++u))},_getCellContents:function(t,i){var u="datepicker--cell datepicker--cell-"+i,c=new Date,r=this.d,e=r.opts,s=n.getParsedDate(t),f={},o=s.date,h;switch(e.onRenderCell&&(f=e.onRenderCell(t,i)||{},o=f.html?f.html:o,u+=f.classes?" "+f.classes:""),i){case"day":r.isWeekend(s.day)&&(u+=" -weekend-");s.month!=this.d.parsedDate.month&&(u+=" -other-month-",e.selectOtherMonths||(u+=" -disabled-"),e.showOtherMonths||(o=""));break;case"month":o=r.loc[r.opts.monthsField][s.month];break;case"year":h=r.curDecade;o=s.year;(s.year<h[0]||s.year>h[1])&&(u+=" -other-decade-",e.selectOtherYears||(u+=" -disabled-"),e.showOtherYears||(o=""))}return e.onRenderCell&&(f=e.onRenderCell(t,i)||{},o=f.html?f.html:o,u+=f.classes?" "+f.classes:""),e.range&&(n.isSame(r.minRange,t,i)&&(u+=" -range-from-"),n.isSame(r.maxRange,t,i)&&(u+=" -range-to-"),1==r.selectedDates.length&&r.focused?((n.bigger(r.minRange,t)&&n.less(r.focused,t)||n.less(r.maxRange,t)&&n.bigger(r.focused,t))&&(u+=" -in-range-"),n.less(r.maxRange,t)&&n.isSame(r.focused,t)&&(u+=" -range-from-"),n.bigger(r.minRange,t)&&n.isSame(r.focused,t)&&(u+=" -range-to-")):2==r.selectedDates.length&&n.bigger(r.minRange,t)&&n.less(r.maxRange,t)&&(u+=" -in-range-")),n.isSame(c,t,i)&&(u+=" -current-"),r.focused&&n.isSame(t,r.focused,i)&&(u+=" -focus-"),r._isSelected(t,i)&&(u+=" -selected-"),(!r._isInRange(t,i)||f.disabled)&&(u+=" -disabled-"),{html:o,classes:u}},_getDaysHtml:function(t){var f=n.getDaysCount(t),h=new Date(t.getFullYear(),t.getMonth(),1).getDay(),c=new Date(t.getFullYear(),t.getMonth(),f).getDay(),i=h-this.d.loc.firstDay,r=6-c+this.d.loc.firstDay;i=0>i?i+7:i;r=r>6?r-7:r;for(var e,o,l=-i+1,s="",u=l,a=f+r;a>=u;u++)o=t.getFullYear(),e=t.getMonth(),s+=this._getDayHtml(new Date(o,e,u));return s},_getDayHtml:function(n){var t=this._getCellContents(n,"day");return'<div class="'+t.classes+'" data-date="'+n.getDate()+'" data-month="'+n.getMonth()+'" data-year="'+n.getFullYear()+'">'+t.html+"<\/div>"},_getMonthsHtml:function(t){for(var r="",u=n.getParsedDate(t),i=0;12>i;)r+=this._getMonthHtml(new Date(u.year,i)),i++;return r},_getMonthHtml:function(n){var t=this._getCellContents(n,"month");return'<div class="'+t.classes+'" data-month="'+n.getMonth()+'">'+t.html+"<\/div>"},_getYearsHtml:function(t){var r=(n.getParsedDate(t),n.getDecade(t)),f=r[0]-1,u="",i=f;for(i;i<=r[1]+1;i++)u+=this._getYearHtml(new Date(i,0));return u},_getYearHtml:function(n){var t=this._getCellContents(n,"year");return'<div class="'+t.classes+'" data-year="'+n.getFullYear()+'">'+t.html+"<\/div>"},_renderTypes:{days:function(){var n=this._getDayNamesHtml(this.d.loc.firstDay),t=this._getDaysHtml(this.d.currentDate);this.$cells.html(t);this.$names.html(n)},months:function(){var n=this._getMonthsHtml(this.d.currentDate);this.$cells.html(n)},years:function(){var n=this._getYearsHtml(this.d.currentDate);this.$cells.html(n)}},_render:function(){this._renderTypes[this.type].bind(this)()},_update:function(){var i,r,u,f=t(".datepicker--cell",this.$cells),n=this;f.each(function(){r=t(this);u=n.d._getDateFromCell(t(this));i=n._getCellContents(u,n.d.cellType);r.attr("class",i.classes)})},show:function(){this.$el.addClass("active");this.acitve=!0},hide:function(){this.$el.removeClass("active");this.active=!1},_handleClick:function(n){var r=n.data("date")||1,u=n.data("month")||0,f=n.data("year")||this.d.parsedDate.year,i,t;if(this.d.view!=this.opts.minView)return void this.d.down(new Date(f,u,r));i=new Date(f,u,r);t=this.d._isSelected(i,this.d.cellType);t?t&&this.opts.toggleSelected?this.d.removeDate(i):t&&!this.opts.toggleSelected&&(this.d.lastSelectedDate=t,this.d.opts.timepicker&&(this.d.timepicker._setTime(t),this.d.timepicker.update())):this.d._trigger("clickCell",i)},_onClickCell:function(n){var i=t(n.target).closest(".datepicker--cell");i.hasClass("-disabled-")||this._handleClick.bind(this)(i)}}}(),function(){var r='<div class="datepicker--nav-action" data-action="prev">#{prevHtml}<\/div><div class="datepicker--nav-title">#{title}<\/div><div class="datepicker--nav-action" data-action="next">#{nextHtml}<\/div>',u='<div class="datepicker--buttons"><\/div>',f='<span class="datepicker--button" data-action="#{action}">#{label}<\/span>',n=t.fn.datepicker,i=n.Constructor;n.Navigation=function(n,t){this.d=n;this.opts=t;this.$buttonsContainer="";this.init()};n.Navigation.prototype={init:function(){this._buildBaseHtml();this._bindEvents()},_bindEvents:function(){this.d.$nav.on("click",".datepicker--nav-action",t.proxy(this._onClickNavButton,this));this.d.$nav.on("click",".datepicker--nav-title",t.proxy(this._onClickNavTitle,this));this.d.$datepicker.on("click",".datepicker--button",t.proxy(this._onClickNavButton,this))},_buildBaseHtml:function(){this._render();this._addButtonsIfNeed()},_addButtonsIfNeed:function(){this.opts.todayButton&&this._addButton("today");this.opts.clearButton&&this._addButton("clear")},_render:function(){var n=this._getTitle(this.d.currentDate),u=i.template(r,t.extend({title:n},this.opts));this.d.$nav.html(u);"years"==this.d.view&&t(".datepicker--nav-title",this.d.$nav).addClass("-disabled-");this.setNavStatus()},_getTitle:function(n){return this.d.formatDate(this.opts.navTitles[this.d.view],n)},_addButton:function(n){this.$buttonsContainer.length||this._addButtonsContainer();var r={action:n,label:this.d.loc[n]},u=i.template(f,r);t("[data-action="+n+"]",this.$buttonsContainer).length||this.$buttonsContainer.append(u)},_addButtonsContainer:function(){this.d.$datepicker.append(u);this.$buttonsContainer=t(".datepicker--buttons",this.d.$datepicker)},setNavStatus:function(){if((this.opts.minDate||this.opts.maxDate)&&this.opts.disableNavWhenOutOfRange){var r=this.d.parsedDate,n=r.month,t=r.year,i=r.date;switch(this.d.view){case"days":this.d._isInRange(new Date(t,n-1,i),"month")||this._disableNav("prev");this.d._isInRange(new Date(t,n+1,i),"month")||this._disableNav("next");break;case"months":this.d._isInRange(new Date(t-1,n,i),"year")||this._disableNav("prev");this.d._isInRange(new Date(t+1,n,i),"year")||this._disableNav("next");break;case"years":this.d._isInRange(new Date(t-10,n,i),"year")||this._disableNav("prev");this.d._isInRange(new Date(t+10,n,i),"year")||this._disableNav("next")}}},_disableNav:function(n){t('[data-action="'+n+'"]',this.d.$nav).addClass("-disabled-")},_activateNav:function(n){t('[data-action="'+n+'"]',this.d.$nav).removeClass("-disabled-")},_onClickNavButton:function(n){var i=t(n.target).closest("[data-action]"),r=i.data("action");this.d[r]()},_onClickNavTitle:function(n){if(!t(n.target).hasClass("-disabled-"))return"days"==this.d.view?this.d.view="months":void(this.d.view="years")}}}(),function(){var r='<div class="datepicker--time"><div class="datepicker--time-current">   <span class="datepicker--time-current-hours">#{hourValue}<\/span>   <span class="datepicker--time-current-colon">:<\/span>   <span class="datepicker--time-current-minutes">#{minValue}<\/span><\/div><div class="datepicker--time-sliders">   <div class="datepicker--time-row">      <input type="range" name="hours" value="#{hourValue}" min="#{hourMin}" max="#{hourMax}" step="#{hourStep}"/>   <\/div>   <div class="datepicker--time-row">      <input type="range" name="minutes" value="#{minValue}" min="#{minMin}" max="#{minMax}" step="#{minStep}"/>   <\/div><\/div><\/div>',i=t.fn.datepicker,n=i.Constructor;i.Timepicker=function(n,t){this.d=n;this.opts=t;this.init()};i.Timepicker.prototype={init:function(){var n="input";this._setTime(this.d.date);this._buildHTML();navigator.userAgent.match(/trident/gi)&&(n="change");this.d.$el.on("selectDate",this._onSelectDate.bind(this));this.$ranges.on(n,this._onChangeRange.bind(this));this.$ranges.on("mouseup",this._onMouseUpRange.bind(this));this.$ranges.on("mousemove focus ",this._onMouseEnterRange.bind(this));this.$ranges.on("mouseout blur",this._onMouseOutRange.bind(this))},_setTime:function(t){var i=n.getParsedDate(t);this._handleDate(t);this.hours=i.hours<this.minHours?this.minHours:i.hours;this.minutes=i.minutes<this.minMinutes?this.minMinutes:i.minutes},_setMinTimeFromDate:function(n){this.minHours=n.getHours();this.minMinutes=n.getMinutes()},_setMaxTimeFromDate:function(n){this.maxHours=n.getHours();this.maxMinutes=n.getMinutes()},_setDefaultMinMaxTime:function(){var t=23,i=59,n=this.opts;this.minHours=n.minHours<0||n.minHours>t?0:n.minHours;this.minMinutes=n.minMinutes<0||n.minMinutes>i?0:n.minMinutes;this.maxHours=n.maxHours<0||n.maxHours>t?t:n.maxHours;this.maxMinutes=n.maxMinutes<0||n.maxMinutes>i?i:n.maxMinutes},_validateHoursMinutes:function(){this.hours<this.minHours?this.hours=this.minHours:this.hours>this.maxHours&&(this.hours=this.maxHours);this.minutes<this.minMinutes?this.minutes=this.minMinutes:this.minutes>this.maxMinutes&&(this.minutes=this.maxMinutes)},_buildHTML:function(){var i=n.getLeadingZeroNum,u={hourMin:this.minHours,hourMax:i(this.maxHours),hourStep:this.opts.hoursStep,hourValue:i(this.displayHours),minMin:this.minMinutes,minMax:i(this.maxMinutes),minStep:this.opts.minutesStep,minValue:i(this.minutes)},f=n.template(r,u);this.$timepicker=t(f).appendTo(this.d.$datepicker);this.$ranges=t('[type="range"]',this.$timepicker);this.$hours=t('[name="hours"]',this.$timepicker);this.$minutes=t('[name="minutes"]',this.$timepicker);this.$hoursText=t(".datepicker--time-current-hours",this.$timepicker);this.$minutesText=t(".datepicker--time-current-minutes",this.$timepicker);this.d.ampm&&(this.$ampm=t('<span class="datepicker--time-current-ampm">').appendTo(t(".datepicker--time-current",this.$timepicker)).html(this.dayPeriod),this.$timepicker.addClass("-am-pm-"))},_updateCurrentTime:function(){var t=n.getLeadingZeroNum(this.displayHours),i=n.getLeadingZeroNum(this.minutes);this.$hoursText.html(t);this.$minutesText.html(i);this.d.ampm&&this.$ampm.html(this.dayPeriod)},_updateRanges:function(){this.$hours.attr({min:this.minHours,max:this.maxHours}).val(this.hours);this.$minutes.attr({min:this.minMinutes,max:this.maxMinutes}).val(this.minutes)},_handleDate:function(t){this._setDefaultMinMaxTime();t&&(n.isSame(t,this.d.opts.minDate)?this._setMinTimeFromDate(this.d.opts.minDate):n.isSame(t,this.d.opts.maxDate)&&this._setMaxTimeFromDate(this.d.opts.maxDate));this._validateHoursMinutes(t)},update:function(){this._updateRanges();this._updateCurrentTime()},_getValidHoursFromDate:function(t){var u=t,i=t,f,r;if(t instanceof Date&&(u=n.getParsedDate(t),i=u.hours),f=this.d.ampm,r="am",f)switch(!0){case 0==i:i=12;break;case 12==i:r="pm";break;case i>11:i-=12;r="pm"}return{hours:i,dayPeriod:r}},set hours(n){this._hours=n;var t=this._getValidHoursFromDate(n);this.displayHours=t.hours;this.dayPeriod=t.dayPeriod},get hours(){return this._hours},_onChangeRange:function(n){var i=t(n.target),r=i.attr("name");this.d.timepickerIsActive=!0;this[r]=i.val();this._updateCurrentTime();this.d._trigger("timeChange",[this.hours,this.minutes])},_onSelectDate:function(n,t){this._handleDate(t);this.update()},_onMouseEnterRange:function(n){var i=t(n.target).attr("name");t(".datepicker--time-current-"+i,this.$timepicker).addClass("-focus-")},_onMouseOutRange:function(n){var i=t(n.target).attr("name");this.d.inFocus||t(".datepicker--time-current-"+i,this.$timepicker).removeClass("-focus-")},_onMouseUpRange:function(){this.d.timepickerIsActive=!1}}}()}(window,jQuery),function(n){n.fn.datepicker.language.en={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],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"],today:"Today",clear:"Clear",dateFormat:"mm/dd/yyyy",timeFormat:"hh:ii aa",firstDay:0}}(jQuery)