!function(e){"function"==typeof define&&define.amd?define(["./picker","jquery"],e):"object"==typeof exports?module.exports=e(require("./picker.js"),require("jquery")):e(Picker,jQuery)}((function(e,t){var a,n=e._;function i(e,t){var a,n=this,i=e.$node[0],r=i.value,o=e.$node.data("value"),s=o||r,l=o?t.formatSubmit:t.format,c=function(){return i.currentStyle?"rtl"==i.currentStyle.direction:"rtl"==getComputedStyle(e.$root[0]).direction};n.settings=t,n.$node=e.$node,n.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},n.item={},n.item.clear=null,n.item.disable=(t.disable||[]).slice(0),n.item.enable=-(!0===(a=n.item.disable)[0]?a.shift():-1),n.set("min",t.min).set("max",t.max).set("now"),s?n.set("select",s,{format:l,defaultValue:!0}):n.set("select",null).set("highlight",n.item.now),n.key={40:7,38:-7,39:function(){return c()?-1:1},37:function(){return c()?1:-1},go:function(e){var t=n.item.highlight,a=new Date(t.year,t.month,t.date+e);n.set("highlight",a,{interval:e}),this.render()}},e.on("render",(function(){e.$root.find("."+t.klass.selectMonth).on("change",(function(){var a=this.value;a&&(e.set("highlight",[e.get("view").year,a,e.get("highlight").date]),e.$root.find("."+t.klass.selectMonth).trigger("focus"))})),e.$root.find("."+t.klass.selectYear).on("change",(function(){var a=this.value;a&&(e.set("highlight",[a,e.get("view").month,e.get("highlight").date]),e.$root.find("."+t.klass.selectYear).trigger("focus"))}))}),1).on("open",(function(){var a="";n.disabled(n.get("now"))&&(a=":not(."+t.klass.buttonToday+")"),e.$root.find("button"+a+", select").attr("disabled",!1)}),1).on("close",(function(){e.$root.find("button, select").attr("disabled",!0)}),1)}i.prototype.set=function(e,t,a){var n=this,i=n.item;return null===t?("clear"==e&&(e="select"),i[e]=t,n):(i["enable"==e?"disable":"flip"==e?"enable":e]=n.queue[e].split(" ").map((function(i){return t=n[i](e,t,a)})).pop(),"select"==e?n.set("highlight",i.select,a):"highlight"==e?n.set("view",i.highlight,a):e.match(/^(flip|min|max|disable|enable)$/)&&(i.select&&n.disabled(i.select)&&n.set("select",i.select,a),i.highlight&&n.disabled(i.highlight)&&n.set("highlight",i.highlight,a)),n)},i.prototype.get=function(e){return this.item[e]},i.prototype.create=function(e,a,i){var r,o=this;return(a=void 0===a?e:a)==-1/0||a==1/0?r=a:t.isPlainObject(a)&&n.isInteger(a.pick)?a=a.obj:t.isArray(a)?(a=new Date(a[0],a[1],a[2]),a=n.isDate(a)?a:o.create().obj):a=n.isInteger(a)||n.isDate(a)?o.normalize(new Date(a),i):o.now(e,a,i),{year:r||a.getFullYear(),month:r||a.getMonth(),date:r||a.getDate(),day:r||a.getDay(),obj:r||a,pick:r||a.getTime()}},i.prototype.createRange=function(e,a){var i=this,r=function(e){return!0===e||t.isArray(e)||n.isDate(e)?i.create(e):e};return n.isInteger(e)||(e=r(e)),n.isInteger(a)||(a=r(a)),n.isInteger(e)&&t.isPlainObject(a)?e=[a.year,a.month,a.date+e]:n.isInteger(a)&&t.isPlainObject(e)&&(a=[e.year,e.month,e.date+a]),{from:r(e),to:r(a)}},i.prototype.withinRange=function(e,t){return e=this.createRange(e.from,e.to),t.pick>=e.from.pick&&t.pick<=e.to.pick},i.prototype.overlapRanges=function(e,t){var a=this;return e=a.createRange(e.from,e.to),t=a.createRange(t.from,t.to),a.withinRange(e,t.from)||a.withinRange(e,t.to)||a.withinRange(t,e.from)||a.withinRange(t,e.to)},i.prototype.now=function(e,t,a){return t=new Date,a&&a.rel&&t.setDate(t.getDate()+a.rel),this.normalize(t,a)},i.prototype.navigate=function(e,a,n){var i,r,o,s,l=t.isArray(a),c=t.isPlainObject(a),d=this.item.view;if(l||c){for(c?(r=a.year,o=a.month,s=a.date):(r=+a[0],o=+a[1],s=+a[2]),n&&n.nav&&d&&d.month!==o&&(r=d.year,o=d.month),r=(i=new Date(r,o+(n&&n.nav?n.nav:0),1)).getFullYear(),o=i.getMonth();new Date(r,o,s).getMonth()!==o;)s-=1;a=[r,o,s]}return a},i.prototype.normalize=function(e){return e.setHours(0,0,0,0),e},i.prototype.measure=function(e,t){return n.isInteger(t)?t=this.now(e,t,{rel:t}):t?"string"==typeof t&&(t=this.parse(e,t)):t="min"==e?-1/0:1/0,t},i.prototype.viewset=function(e,t){return this.create([t.year,t.month,1])},i.prototype.validate=function(e,a,i){var r,o,s,l,c=this,d=a,u=i&&i.interval?i.interval:1,h=-1===c.item.enable,m=c.item.min,f=c.item.max,p=h&&c.item.disable.filter((function(e){if(t.isArray(e)){var i=c.create(e).pick;i<a.pick?r=!0:i>a.pick&&(o=!0)}return n.isInteger(e)})).length;if((!i||!i.nav&&!i.defaultValue)&&(!h&&c.disabled(a)||h&&c.disabled(a)&&(p||r||o)||!h&&(a.pick<=m.pick||a.pick>=f.pick)))for(h&&!p&&(!o&&u>0||!r&&u<0)&&(u*=-1);c.disabled(a)&&(Math.abs(u)>1&&(a.month<d.month||a.month>d.month)&&(a=d,u=u>0?1:-1),a.pick<=m.pick?(s=!0,u=1,a=c.create([m.year,m.month,m.date+(a.pick===m.pick?0:-1)])):a.pick>=f.pick&&(l=!0,u=-1,a=c.create([f.year,f.month,f.date+(a.pick===f.pick?0:1)])),!s||!l);)a=c.create([a.year,a.month,a.date+u]);return a},i.prototype.disabled=function(e){var a=this,i=a.item.disable.filter((function(i){return n.isInteger(i)?e.day===(a.settings.firstDay?i:i-1)%7:t.isArray(i)||n.isDate(i)?e.pick===a.create(i).pick:t.isPlainObject(i)?a.withinRange(i,e):void 0}));return i=i.length&&!i.filter((function(e){return t.isArray(e)&&"inverted"==e[3]||t.isPlainObject(e)&&e.inverted})).length,-1===a.item.enable?!i:i||e.pick<a.item.min.pick||e.pick>a.item.max.pick},i.prototype.parse=function(e,t,a){var i=this,r={};return t&&"string"==typeof t?(a&&a.format||((a=a||{}).format=i.settings.format),i.formats.toArray(a.format).map((function(e){var a=i.formats[e],o=a?n.trigger(a,i,[t,r]):e.replace(/^!/,"").length;a&&(r[e]=t.substr(0,o)),t=t.substr(o)})),[r.yyyy||r.yy,+(r.mm||r.m)-1,r.dd||r.d]):t},i.prototype.formats=function(){function e(e,t,a){var n=e.match(/[^\x00-\x7F]+|[a-zA-Z0-9_\u0080-\u00FF]+/)[0];return a.mm||a.m||(a.m=t.indexOf(n)+1),n.length}function t(e){return e.match(/[a-zA-Z0-9_\u0080-\u00FF]+/)[0].length}return{d:function(e,t){return e?n.digits(e):t.date},dd:function(e,t){return e?2:n.lead(t.date)},ddd:function(e,a){return e?t(e):this.settings.weekdaysShort[a.day]},dddd:function(e,a){return e?t(e):this.settings.weekdaysFull[a.day]},m:function(e,t){return e?n.digits(e):t.month+1},mm:function(e,t){return e?2:n.lead(t.month+1)},mmm:function(t,a){var n=this.settings.monthsShort;return t?e(t,n,a):n[a.month]},mmmm:function(t,a){var n=this.settings.monthsFull;return t?e(t,n,a):n[a.month]},yy:function(e,t){return e?2:(""+t.year).slice(2)},yyyy:function(e,t){return e?4:t.year},toArray:function(e){return e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(e,t){var a=this;return a.formats.toArray(e).map((function(e){return n.trigger(a.formats[e],a,[0,t])||e.replace(/^!/,"")})).join("")}}}(),i.prototype.isDateExact=function(e,a){var i=this;return n.isInteger(e)&&n.isInteger(a)||"boolean"==typeof e&&"boolean"==typeof a?e===a:(n.isDate(e)||t.isArray(e))&&(n.isDate(a)||t.isArray(a))?i.create(e).pick===i.create(a).pick:!(!t.isPlainObject(e)||!t.isPlainObject(a))&&(i.isDateExact(e.from,a.from)&&i.isDateExact(e.to,a.to))},i.prototype.isDateOverlap=function(e,a){var i=this,r=i.settings.firstDay?1:0;return n.isInteger(e)&&(n.isDate(a)||t.isArray(a))?(e=e%7+r)===i.create(a).day+1:n.isInteger(a)&&(n.isDate(e)||t.isArray(e))?(a=a%7+r)===i.create(e).day+1:!(!t.isPlainObject(e)||!t.isPlainObject(a))&&i.overlapRanges(e,a)},i.prototype.flipEnable=function(e){var t=this.item;t.enable=e||(-1==t.enable?1:-1)},i.prototype.deactivate=function(e,a){var i=this,r=i.item.disable.slice(0);return"flip"==a?i.flipEnable():!1===a?(i.flipEnable(1),r=[]):!0===a?(i.flipEnable(-1),r=[]):a.map((function(e){for(var a,o=0;o<r.length;o+=1)if(i.isDateExact(e,r[o])){a=!0;break}a||(n.isInteger(e)||n.isDate(e)||t.isArray(e)||t.isPlainObject(e)&&e.from&&e.to)&&r.push(e)})),r},i.prototype.activate=function(e,a){var i=this,r=i.item.disable,o=r.length;return"flip"==a?i.flipEnable():!0===a?(i.flipEnable(1),r=[]):!1===a?(i.flipEnable(-1),r=[]):a.map((function(e){var a,s,l,c;for(l=0;l<o;l+=1){if(s=r[l],i.isDateExact(s,e)){a=r[l]=null,c=!0;break}if(i.isDateOverlap(s,e)){t.isPlainObject(e)?(e.inverted=!0,a=e):t.isArray(e)?(a=e)[3]||a.push("inverted"):n.isDate(e)&&(a=[e.getFullYear(),e.getMonth(),e.getDate(),"inverted"]);break}}if(a)for(l=0;l<o;l+=1)if(i.isDateExact(r[l],e)){r[l]=null;break}if(c)for(l=0;l<o;l+=1)if(i.isDateOverlap(r[l],e)){r[l]=null;break}a&&r.push(a)})),r.filter((function(e){return null!=e}))},i.prototype.nodes=function(e){var t,a,i=this,r=i.settings,o=i.item,s=o.now,l=o.select,c=o.highlight,d=o.view,u=o.disable,h=o.min,m=o.max,f=(t=(r.showWeekdaysFull?r.weekdaysFull:r.weekdaysShort).slice(0),a=r.weekdaysFull.slice(0),r.firstDay&&(t.push(t.shift()),a.push(a.shift())),n.node("thead",n.node("tr",n.group({min:0,max:6,i:1,node:"th",item:function(e){return[t[e],r.klass.weekdays,'scope=col title="'+a[e]+'"']}})))),p=function(e){return n.node("div"," ",r.klass["nav"+(e?"Next":"Prev")]+(e&&d.year>=m.year&&d.month>=m.month||!e&&d.year<=h.year&&d.month<=h.month?" "+r.klass.navDisabled:""),"data-nav="+(e||-1)+' tabindex="0" '+n.ariaAttr({role:"button",controls:i.$node[0].id+"_table"})+' title="'+(e?r.labelMonthNext:r.labelMonthPrev)+'"')},y=function(){var t=r.showMonthsShort?r.monthsShort:r.monthsFull;return r.selectMonths?n.node("select",n.group({min:0,max:11,i:1,node:"option",item:function(e){return[t[e],0,"value="+e+(d.month==e?" selected":"")+(d.year==h.year&&e<h.month||d.year==m.year&&e>m.month?" disabled":"")]}}),r.klass.selectMonth,(e?"":"disabled")+" "+n.ariaAttr({controls:i.$node[0].id+"_table"})+' title="'+r.labelMonthSelect+'"'):n.node("div",t[d.month],r.klass.month)},g=function(){var t=d.year,a=!0===r.selectYears?5:~~(r.selectYears/2);if(a){var o=h.year,s=m.year,l=t-a,c=t+a;if(o>l&&(c+=o-l,l=o),s<c){var u=l-o,f=c-s;l-=u>f?f:u,c=s}return n.node("select",n.group({min:l,max:c,i:1,node:"option",item:function(e){return[e,0,"value="+e+(t==e?" selected":"")]}}),r.klass.selectYear,(e?"":"disabled")+" "+n.ariaAttr({controls:i.$node[0].id+"_table"})+' title="'+r.labelYearSelect+'"')}return n.node("div",t,r.klass.year)};return n.node("div",(r.selectYears?g()+y():y()+g())+p()+p(1),r.klass.header)+n.node("table",f+n.node("tbody",n.group({min:0,max:5,i:1,node:"tr",item:function(e){var t=r.firstDay&&0===i.create([d.year,d.month,1]).day?-7:0;return[n.group({min:7*e-d.day+t+1,max:function(){return this.min+7-1},i:1,node:"td",item:function(e){e=i.create([d.year,d.month,e+(r.firstDay?1:0)]);var t,a=l&&l.pick==e.pick,o=c&&c.pick==e.pick,f=u&&i.disabled(e)||e.pick<h.pick||e.pick>m.pick,p=n.trigger(i.formats.toString,i,[r.format,e]),y=r.id+"_"+e.pick;return[n.node("div",e.date,(t=[r.klass.day],t.push(d.month==e.month?r.klass.infocus:r.klass.outfocus),s.pick==e.pick&&t.push(r.klass.now),a&&t.push(r.klass.selected),o&&t.push(r.klass.highlighted),f&&t.push(r.klass.disabled),t.join(" ")),"data-pick="+e.pick+" id="+y+' tabindex="0" '+n.ariaAttr({role:"gridcell",label:p,selected:!(!a||i.$node.val()!==p)||null,activedescendant:o?e.pick:null,disabled:!!f||null})),""]}})]}})),r.klass.table,'id="'+i.$node[0].id+'_table" '+n.ariaAttr({role:"grid",controls:i.$node[0].id,readonly:!0}))+n.node("div",n.node("button",r.today,r.klass.buttonToday,"type=button data-pick="+s.pick+(e&&!i.disabled(s)?"":" disabled")+" "+n.ariaAttr({controls:i.$node[0].id}))+n.node("button",r.clear,r.klass.buttonClear,"type=button data-clear=1"+(e?"":" disabled")+" "+n.ariaAttr({controls:i.$node[0].id}))+n.node("button",r.close,r.klass.buttonClose,"type=button data-close=true "+(e?"":" disabled")+" "+n.ariaAttr({controls:i.$node[0].id})),r.klass.footer)},i.defaults={labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["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"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",close:"Close",closeOnSelect:!0,closeOnClear:!0,updateInput:!0,format:"d mmmm, yyyy",klass:{table:(a=e.klasses().picker+"__")+"table",header:a+"header",navPrev:a+"nav--prev",navNext:a+"nav--next",navDisabled:a+"nav--disabled",month:a+"month",year:a+"year",selectMonth:a+"select--month",selectYear:a+"select--year",weekdays:a+"weekday",day:a+"day",disabled:a+"day--disabled",selected:a+"day--selected",highlighted:a+"day--highlighted",now:a+"day--today",infocus:a+"day--infocus",outfocus:a+"day--outfocus",footer:a+"footer",buttonClear:a+"button--clear",buttonToday:a+"button--today",buttonClose:a+"button--close"}},e.extend("pickadate",i)}));