diff --git a/README.md b/README.md index d970031..3d32097 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ Original changes by [@mpasko](https://github.com/mpasko/angular-datepicker). * Updated versions to external libraries and development tools * Tab index on all controlls set to -1 and appropriate listeners were added, so tab key pressed by user causes datepicker modal window to close * Minified versions of CSS and JS files were regenerated + * Picker height is independent of width, Picker width is bound up to reasonable value. + * Startup date is initialized with existing date on input control + * Changed colors to mimic bootstrap [![Join the chat at https://gitter.im/720kb/angular-datepicker](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/720kb/angular-datepicker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/dist/angular-datepicker.min.css b/dist/angular-datepicker.min.css index 9188e0a..9c28684 100644 --- a/dist/angular-datepicker.min.css +++ b/dist/angular-datepicker.min.css @@ -1 +1 @@ -.datepicker a,[datepicker] a,datepicker a{color:inherit;text-decoration:none}.datepicker a:hover,[datepicker] a:hover,datepicker a:hover{text-decoration:none}.datepicker select,.datepicker select:focus,.datepicker select:hover [datepicker] select,[datepicker] select:focus,[datepicker] select:hover,datepicker select,datepicker select:focus,datepicker select:hover{width:100%;overflow:hidden;background:#138EFA;color:#fff;border:1px solid rgba(0,0,0,.05);height:30px;border-radius:2px}._720kb-datepicker-calendar-body,._720kb-datepicker-calendar-days-header,._720kb-datepicker-calendar-header,._720kb-datepicker-calendar-years-pagination-pages,.datepicker,[datepicker],datepicker{font-family:Helvetica Neue;font-size:13.5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;margin:0 auto;float:left;clear:right;position:relative}._720kb-datepicker-calendar{background:#fff;color:#333;position:absolute;z-index:999;min-width:220px;margin:0 auto 0 -.5%;width:101%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;visibility:hidden;overflow:hidden;padding:0 0 2%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar._720kb-datepicker-open{visibility:visible}._720kb-datepicker-calendar-header{text-align:center;font-size:15px;line-height:40px}._720kb-datepicker-calendar-header:nth-child(odd){background:#138EFA}._720kb-datepicker-calendar-header:nth-child(even){background:#7BC6FC}._720kb-datepicker-calendar-header-left,._720kb-datepicker-calendar-header-middle,._720kb-datepicker-calendar-header-right{width:15%;float:left}._720kb-datepicker-calendar-header-middle{width:70%}._720kb-datepicker-calendar-body{width:96%;margin:2%;text-align:center}._720kb-datepicker-calendar-day{cursor:pointer;font-size:12.5px;width:12.2%;margin:5px 1%;padding:1.5% 0;float:left;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}._720kb-datepicker-calendar-day._720kb-datepicker-active,._720kb-datepicker-calendar-day:hover{background:rgba(0,0,0,.03)}._720kb-datepicker-calendar-header a,._720kb-datepicker-calendar-header a:hover{text-decoration:none;padding:3% 9% 4%;font-size:13.5px;color:rgba(0,0,0,.55);font-weight:700;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar-header a:hover{color:rgba(0,0,0,.9);background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-month{color:#fff}._720kb-datepicker-calendar-month span{font-size:13px;margin-left:1%;color:rgba(0,0,0,.4)}._720kb-datepicker-calendar-month a span i{font-style:normal;font-size:15px}._720kb-datepicker-calendar-month a,._720kb-datepicker-calendar-month a:hover{padding:3px;margin-left:1%}._720kb-datepicker-calendar-years-pagination{padding:2% 0 0;float:left;clear:right;width:100%}._720kb-datepicker-calendar-years-pagination a,._720kb-datepicker-calendar-years-pagination a:hover{font-size:12px;padding:0 7px;font-weight:400;margin:3px 1% 0;line-height:20px;display:inline-block}._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active{color:rgba(0,0,0,.9);font-weight:500;background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-years-pagination-pages a,._720kb-datepicker-calendar-years-pagination-pages a:hover{padding:5px 10px}._720kb-datepicker-calendar-days-header{max-width:100%;margin:0 auto;padding:0 2%;background:rgba(19,142,250,.08);border-bottom:1px solid rgba(0,0,0,.02)}._720kb-datepicker-calendar-days-header div{width:12.2%;font-weight:500;font-size:11.5px;padding:10px 0;margin:0 1%;float:left;text-align:center;color:rgba(0,0,0,.7)}._720kb-datepicker-calendar-days ._720kb-datepicker-default-button{font-size:18.5px;position:relative;bottom:-.5px}._720kb-datepicker-calendar-header-middle._720kb-datepicker-mobile-item{width:95%;float:none;margin:0 auto}._720kb-datepicker-item-hidden{visibility:hidden}._720kb-datepicker-calendar-day._720kb-datepicker-disabled,._720kb-datepicker-calendar-day._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled:hover{color:rgba(0,0,0,.2);background:rgba(25,2,0,.02);cursor:default} \ No newline at end of file +.datepicker a,[datepicker] a,datepicker a{color:inherit;text-decoration:none}.datepicker a:hover,[datepicker] a:hover,datepicker a:hover{text-decoration:none}.datepicker select,.datepicker select:focus,.datepicker select:hover [datepicker] select,[datepicker] select:focus,[datepicker] select:hover,datepicker select,datepicker select:focus,datepicker select:hover{width:100%;overflow:hidden;background:#138EFA;color:#fff;border:1px solid rgba(0,0,0,.05);height:30px;border-radius:2px}._720kb-datepicker-calendar-body,._720kb-datepicker-calendar-days-header,._720kb-datepicker-calendar-header,._720kb-datepicker-calendar-years-pagination-pages,.datepicker,[datepicker],datepicker{font-family:Helvetica Neue;font-size:13.5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;margin:0 auto;float:left;clear:right;position:relative}._720kb-datepicker-calendar{background:#fff;color:#333;position:absolute;z-index:999;min-width:245px;max-width:320px;margin:0 auto 0 -.5%;width:101%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;visibility:hidden;overflow:hidden;padding:0 0 2%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;line-height:15px}._720kb-datepicker-calendar._720kb-datepicker-open{visibility:visible}._720kb-datepicker-calendar-header{text-align:center;font-size:15px;line-height:40px}._720kb-datepicker-calendar-header:nth-child(odd){background:rgba(66,139,202,.99)}._720kb-datepicker-calendar-header:nth-child(even){background:#7BC6FC}._720kb-datepicker-calendar-header-left,._720kb-datepicker-calendar-header-middle,._720kb-datepicker-calendar-header-right{width:15%;float:left}._720kb-datepicker-calendar-header-middle{width:70%}._720kb-datepicker-calendar-body{width:96%;margin:0 2% 2px;text-align:center}._720kb-datepicker-calendar-day{cursor:pointer;font-size:12.5px;width:14.2%;margin:0;padding:3px 2%;float:left;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar-day._720kb-datepicker-active,._720kb-datepicker-calendar-day:hover{color:rgba(255,255,255,.99);background:rgba(66,139,202,.99)}._720kb-datepicker-calendar-header a,._720kb-datepicker-calendar-header a:hover{text-decoration:none;padding:3px 9%;font-size:13.5px;color:rgba(0,0,0,.55);font-weight:700;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}._720kb-datepicker-calendar-header a:hover{color:rgba(0,0,0,.9);background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-month{color:#fff}._720kb-datepicker-calendar-month span{font-size:13px;margin-left:1%;color:rgba(255,255,255,.8)}._720kb-datepicker-calendar-month a span i{font-style:normal;font-size:15px}._720kb-datepicker-calendar-month a,._720kb-datepicker-calendar-month a:hover{padding:3px;margin-left:1%}._720kb-datepicker-calendar-years-pagination{padding:2px 0 0;float:left;clear:right;width:100%;line-height:15px}._720kb-datepicker-calendar-years-pagination a,._720kb-datepicker-calendar-years-pagination a:hover{font-size:12px;padding:0 1%;width:19.5%;font-weight:700;margin:0;line-height:10px;display:inline-block}._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active{color:rgba(0,0,0,.9);font-weight:500;background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-years-pagination-pages a,._720kb-datepicker-calendar-years-pagination-pages a:hover{padding:5px 10px}._720kb-datepicker-calendar-days-header{width:96%;font-weight:700;margin:2px 2% 0;background:rgba(19,142,250,.08);border-bottom:1px solid rgba(0,0,0,.02)}._720kb-datepicker-calendar-days-header div{width:14.2%;font-weight:inherit;font-size:11.5px;padding:2px 0;margin:0;float:left;text-align:center;color:rgba(0,0,0,.7)}._720kb-datepicker-calendar-days ._720kb-datepicker-default-button{font-size:18.5px;position:relative;bottom:-.5px}._720kb-datepicker-calendar-header-middle._720kb-datepicker-mobile-item{width:95%;float:none;margin:0 auto}._720kb-datepicker-item-hidden{visibility:hidden}._720kb-datepicker-calendar-day._720kb-datepicker-disabled,._720kb-datepicker-calendar-day._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled:hover{color:rgba(0,0,0,.2);background:rgba(25,2,0,.02);cursor:default} \ No newline at end of file diff --git a/dist/angular-datepicker.min.js b/dist/angular-datepicker.min.js index 256ccc6..347cefe 100644 --- a/dist/angular-datepicker.min.js +++ b/dist/angular-datepicker.min.js @@ -4,9 +4,9 @@ * Released by 720kb.net under the MIT license * www.opensource.org/licenses/MIT * - * 2015-09-22 + * 2016-01-07 */ -!function(a,b){"use strict";a.module("720kb.datepicker",[]).directive("datepicker",["$window","$compile","$locale","$filter","$interpolate",function(c,d,e,f,g){var h=864e5,i=function(a){return b(a).format("MMMM")};return{restrict:"AEC",scope:{dateSet:"@",dateMinLimit:"@",dateMaxLimit:"@",dateMonthTitle:"@",dateYearTitle:"@",buttonNextTitle:"@",buttonPrevTitle:"@"},link:function(b,j,k){b.dateMonthTitle=b.dateMonthTitle||"Select month",b.dateYearTitle=b.dateYearTitle||"Select year",b.buttonNextTitle=b.buttonNextTitle||"Next",b.buttonPrevTitle=b.buttonPrevTitle||"Prev";var l,m,n,o,p=k.selector,q=a.element(p?j[0].querySelector("."+p):j[0].children[0]),r='',s='',t=k.buttonPrev||r,u=k.buttonNext||s,v=k.dateFormat,w=new Date,x=!1,y=!1,z=e.DATETIME_FORMATS,A='
{{d}}
{{px}}{{item}}{{nx}}
';A=A.replace(/{{/g,g.startSymbol()).replace(/}}/g,g.endSymbol()),b.$watch("dateSet",function(a){a&&(w=new Date(a),b.month=i(w),b.monthNumber=Number(f("date")(w,"MM")),b.day=Number(f("date")(w,"dd")),b.year=Number(f("date")(w,"yyyy")),b.setDaysInMonth(b.monthNumber,b.year),b.setInputValue())}),b.$watch("dateMinLimit",function(a){a&&(m=a)}),b.$watch("dateMaxLimit",function(a){a&&(n=a)}),b.month=i(w),b.monthNumber=Number(f("date")(w,"MM")),b.day=Number(f("date")(w,"dd")),b.dateMaxLimit?b.year=Number(f("date")(new Date(b.dateMaxLimit),"yyyy")):b.year=Number(f("date")(w,"yyyy")),b.months=z.MONTH,b.daysInString=["0","1","2","3","4","5","6"].map(function(a){return f("date")(new Date(new Date("06/08/2014").valueOf()+h*a),"EEE")}),q.after(d(a.element(A))(b)),l=j[0].querySelector("._720kb-datepicker-calendar"),q.bind("focus click",function(){y=!0,b.showCalendar()}),q.bind("focusout blur",function(){y=!1,x||b.hideCalendar()});var B=function(a){x=!1,(8===a.keyCode||27===a.keyCode||13===a.keyCode)&&b.hideCalendar()};q.bind("keydown",B),a.element(l).bind("keydown",B),a.element(l).bind("mouseenter",function(){x=!0}),a.element(l).bind("mouseleave",function(){x=!1}),a.element(l).bind("focusin",function(){x=!0}),a.element(c).bind("click focus",function(){x||y||!l||b.hideCalendar()}),b.isMobile=function(){return navigator.userAgent&&(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))?!0:void 0},b.resetToMinDate=function(){b.month=i(new Date(m)),b.monthNumber=Number(f("date")(new Date(m),"MM")),b.day=Number(f("date")(new Date(m),"dd")),b.year=Number(f("date")(new Date(m),"yyyy"))},b.resetToMaxDate=function(){b.month=i(new Date(n)),b.monthNumber=Number(f("date")(new Date(n),"MM")),b.day=Number(f("date")(new Date(n),"dd")),b.year=Number(f("date")(new Date(n),"yyyy"))},b.nextMonth=function(){12===b.monthNumber?(b.monthNumber=1,b.nextYear()):b.monthNumber+=1,b.month=i(new Date(b.year,b.monthNumber-1)),b.setDaysInMonth(b.monthNumber,b.year),n&&(b.isSelectableMaxDate(b.year+"/"+b.monthNumber+"/"+b.day)||b.resetToMaxDate()),b.day=void 0},b.selectedMonthHandle=function(a){b.monthNumber=Number(f("date")(new Date("01 "+a+" 2000"),"MM")),b.setDaysInMonth(b.monthNumber,b.year),b.setInputValue()},b.prevMonth=function(){1===b.monthNumber?(b.monthNumber=12,b.prevYear()):b.monthNumber-=1,b.month=i(new Date(b.year,b.monthNumber-1)),b.setDaysInMonth(b.monthNumber,b.year),m&&(b.isSelectableMinDate(b.year+"/"+b.monthNumber+"/"+b.day)||b.resetToMinDate()),b.day=void 0},b.setNewYear=function(a){if(b.day=void 0,n&&b.yearNumber(a)&&!b.isSelectableMinYear(a))return;b.year=Number(a),b.setDaysInMonth(b.monthNumber,b.year),b.paginateYears(a)},b.nextYear=function(){b.year=Number(b.year)+1},b.prevYear=function(){b.year=Number(b.year)-1},b.setInputValue=function(){if(!b.isSelectableMinDate(b.year+"/"+b.monthNumber+"/"+b.day)||!b.isSelectableMaxDate(b.year+"/"+b.monthNumber+"/"+b.day))return!1;var a=new Date(b.year+"/"+b.monthNumber+"/"+b.day);k.dateFormat?q.val(f("date")(a,v)):q.val(a),q.triggerHandler("input"),q.triggerHandler("change")},b.classHelper={add:function(a,b){if(!(a.className.indexOf(b)>-1)){var c=a.className.split(" ");c.push(b),a.className=c.join(" ")}},remove:function(a,b){var c,d;if(-1!==a.className.indexOf(b)){for(d=a.className.split(" "),c=0;c=d;d+=1)b.days.push(d);if(0!==i){for(f=i,g=1===Number(a)?12:a-1,d=1;d<=new Date(c,g,0).getDate();d+=1)k.push(d);b.prevMonthDays=k.slice(-f)}else b.prevMonthDays=[];if(6>j){for(e=6-j,d=1;e>=d;d+=1)l.push(d);b.nextMonthDays=l}else b.nextMonthDays=[]},b.setDatepickerDay=function(a){b.day=Number(a),b.setInputValue(),b.hideCalendar()},b.paginateYears=function(a){b.paginationYears=[];var c,d=[],e=10,f=10;for(b.isMobile()&&(e=50,f=50,b.dateMinLimit&&b.dateMaxLimit&&(a=new Date(b.dateMaxLimit).getFullYear(),e=a-new Date(b.dateMinLimit).getFullYear(),f=1)),c=e;c>0;c-=1)d.push(Number(a)-c);for(c=0;f>c;c+=1)d.push(Number(a)+c);n&&d&&d.length&&!b.isSelectableMaxYear(Number(d[d.length-1])+1)?b.paginationYearsNextDisabled=!0:b.paginationYearsNextDisabled=!1,m&&d&&d.length&&!b.isSelectableMinYear(Number(d[0])-1)?b.paginationYearsPrevDisabled=!0:b.paginationYearsPrevDisabled=!1,b.paginationYears=d},b.isSelectableMinDate=function(a){return m&&new Date(m)&&new Date(a).getTime()new Date(n).getTime()?!1:!0},b.isSelectableMaxYear=function(a){return n&&a>new Date(n).getFullYear()?!1:!0},b.isSelectableMinYear=function(a){return m&&a‹',u='',v=m.buttonPrev||t,w=m.buttonNext||u,x=m.dateFormat,y=new Date,z=!1,A=!1,B=e.DATETIME_FORMATS,C='';C=C.replace(/{{/g,g.startSymbol()).replace(/}}/g,g.endSymbol());var D=function(a){a&&(y=new Date(a),k.month=j(y),k.monthNumber=Number(f("date")(y,"MM")),k.day=Number(f("date")(y,"dd")),k.year=Number(f("date")(y,"yyyy")),k.setDaysInMonth(k.monthNumber,k.year),k.setInputValue())};k.$watch("dateSet",D),k.$watch("dateMinLimit",function(a){a&&(o=a)}),k.$watch("dateMaxLimit",function(a){a&&(p=a)}),k.month=j(y),k.monthNumber=Number(f("date")(y,"MM")),k.day=Number(f("date")(y,"dd")),k.dateMaxLimit?k.year=Number(f("date")(new Date(k.dateMaxLimit),"yyyy")):k.year=Number(f("date")(y,"yyyy")),k.months=B.MONTH,k.daysInString=["0","1","2","3","4","5","6"].map(function(a){return f("date")(new Date(new Date("06/08/2014").valueOf()+i*a),"EEE")}),s.after(d(a.element(C))(k)),n=l[0].querySelector("._720kb-datepicker-calendar"),s.bind("focus click",function(){A=!0,k.showCalendar()}),s.bind("focusout blur",function(){A=!1,z||k.hideCalendar()});var E=function(a){z=!1,(8===a.keyCode||27===a.keyCode||13===a.keyCode)&&k.hideCalendar()};s.bind("keydown",E),a.element(n).bind("keydown",E),a.element(n).bind("mouseenter",function(){z=!0}),a.element(n).bind("mouseleave",function(){z=!1}),a.element(n).bind("focusin",function(){z=!0}),a.element(c).bind("click focus",function(){z||A||!n||k.hideCalendar()}),k.isMobile=function(){return navigator.userAgent&&(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))?!0:void 0},k.resetToMinDate=function(){k.month=j(new Date(o)),k.monthNumber=Number(f("date")(new Date(o),"MM")),k.day=Number(f("date")(new Date(o),"dd")),k.year=Number(f("date")(new Date(o),"yyyy"))},k.resetToMaxDate=function(){k.month=j(new Date(p)),k.monthNumber=Number(f("date")(new Date(p),"MM")),k.day=Number(f("date")(new Date(p),"dd")),k.year=Number(f("date")(new Date(p),"yyyy"))},k.nextMonth=function(){12===k.monthNumber?(k.monthNumber=1,k.nextYear()):k.monthNumber+=1,k.month=j(new Date(k.year,k.monthNumber-1)),k.setDaysInMonth(k.monthNumber,k.year),p&&(k.isSelectableMaxDate(k.year+"/"+k.monthNumber+"/"+k.day)||k.resetToMaxDate()),k.day=void 0},k.selectedMonthHandle=function(a){k.monthNumber=Number(f("date")(new Date("01 "+a+" 2000"),"MM")),k.setDaysInMonth(k.monthNumber,k.year),k.setInputValue()},k.prevMonth=function(){1===k.monthNumber?(k.monthNumber=12,k.prevYear()):k.monthNumber-=1,k.month=j(new Date(k.year,k.monthNumber-1)),k.setDaysInMonth(k.monthNumber,k.year),o&&(k.isSelectableMinDate(k.year+"/"+k.monthNumber+"/"+k.day)||k.resetToMinDate()),k.day=void 0},k.setNewYear=function(a){if(k.day=void 0,p&&k.yearNumber(a)&&!k.isSelectableMinYear(a))return;k.year=Number(a),k.setDaysInMonth(k.monthNumber,k.year),k.paginateYears(a)},k.nextYear=function(){k.year=Number(k.year)+1},k.prevYear=function(){k.year=Number(k.year)-1},k.setInputValue=function(){if(!k.isSelectableMinDate(k.year+"/"+k.monthNumber+"/"+k.day)||!k.isSelectableMaxDate(k.year+"/"+k.monthNumber+"/"+k.day))return!1;var a=new Date(k.year+"/"+k.monthNumber+"/"+k.day);m.dateFormat?s.val(f("date")(a,x)):s.val(a),s.triggerHandler("input"),s.triggerHandler("change")},k.classHelper={add:function(a,b){if(!(a.className.indexOf(b)>-1)){var c=a.className.split(" ");c.push(b),a.className=c.join(" ")}},remove:function(a,b){var c,d;if(-1!==a.className.indexOf(b)){for(d=a.className.split(" "),c=0;c=c;c+=1)k.days.push(c);if(0!==h){for(e=h,f=1===Number(a)?12:a-1,c=1;c<=new Date(b,f,0).getDate();c+=1)j.push(c);k.prevMonthDays=j.slice(-e)}else k.prevMonthDays=[];if(6>i){for(d=6-i,c=1;d>=c;c+=1)l.push(c);k.nextMonthDays=l}else k.nextMonthDays=[]},k.setDatepickerDay=function(a){k.day=Number(a),k.setInputValue(),k.hideCalendar()},k.paginateYears=function(a){k.paginationYears=[];var b,c=[],d=10,e=10;for(k.isMobile()&&(d=50,e=50,k.dateMinLimit&&k.dateMaxLimit&&(a=new Date(k.dateMaxLimit).getFullYear(),d=a-new Date(k.dateMinLimit).getFullYear(),e=1)),b=d;b>0;b-=1)c.push(Number(a)-b);for(b=0;e>b;b+=1)c.push(Number(a)+b);p&&c&&c.length&&!k.isSelectableMaxYear(Number(c[c.length-1])+1)?k.paginationYearsNextDisabled=!0:k.paginationYearsNextDisabled=!1,o&&c&&c.length&&!k.isSelectableMinYear(Number(c[0])-1)?k.paginationYearsPrevDisabled=!0:k.paginationYearsPrevDisabled=!1,k.paginationYears=c},k.isSelectableMinDate=function(a){return o&&new Date(o)&&new Date(a).getTime()new Date(p).getTime()?!1:!0},k.isSelectableMaxYear=function(a){return p&&a>new Date(p).getFullYear()?!1:!0},k.isSelectableMinYear=function(a){return o&&a