summaryrefslogtreecommitdiff
path: root/pickadate.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'pickadate.min.js')
-rwxr-xr-xpickadate.min.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/pickadate.min.js b/pickadate.min.js
new file mode 100755
index 0000000..ca83ecc
--- /dev/null
+++ b/pickadate.min.js
@@ -0,0 +1,7 @@
+/*!
+ * pickadate.js v1.4.0 - 06 December, 2012
+ * By Amsul (http://amsul.ca)
+ * Hosted on https://github.com/amsul/pickadate.js
+ * Licensed under MIT ("expat" flavour) license.
+ */
+;(function(e,h,i,a){var o=7,g=6,f=g*o,n="div",m="pickadate__",c=e(i),j=function(G,ab){var J=function(){},t=J.prototype={constructor:J,init:function(){G.on({"focusin click":t.open,keydown:function(ad){var P=ad.keyCode;if(P==8||!U.isOpen&&v[P]){ad.preventDefault();ad.stopPropagation();if(P!=8){t.open()}}}}).after([D,K]);if(S.autofocus){t.open()}Z();b(ab.onStart,t);return t},open:function(){if(U.isOpen){return t}U.isOpen=true;G.addClass(L.inputFocus);D.addClass(L.open);if(U.selectMonth){U.selectMonth.tabIndex=0}if(U.selectYear){U.selectYear.tabIndex=0}c.on("click.P"+U.id+" focusin.P"+U.id+" keydown.P"+U.id,w);b(ab.onOpen,t);return t},close:function(){U.isOpen=false;G.removeClass(L.inputFocus);D.removeClass(L.open);if(U.selectMonth){U.selectMonth.tabIndex=-1}if(U.selectYear){U.selectYear.tabIndex=-1}c.off(".P"+U.id);b(ab.onClose,t);return t},show:function(ad,P){I(--ad,P);return t},getDate:function(ad,P){return H.toArray(ad||ab.format).map(function(ae){return b(H[ae],P||N)||ae}).join("")},setDate:function(ad,af,P,ae){A(q([ad,--af,P]),ae);return t},getDateLimit:function(P,ad){return t.getDate(ad,P?Y:x)},setDateLimit:function(P,ad){if(ad){Y=R(P,ad);if(T.TIME>Y.TIME){T=Y}}else{x=R(P);if(T.TIME<x.TIME){T=x}}aa();return t}},S=(function(P){P.autofocus=(P==i.activeElement);P.type="text";P.readOnly=true;return P})(G[0]),U={id:~~(Math.random()*1000000000)},L=ab.klass,H=(function(){function ae(af){return af.match(/\w+/)[0].length}function P(af){return(/\d/).test(af[1])?2:1}function ad(ag,af,ai){var ah=ag.match(/\w+/)[0];if(!af.mm&&!af.m){af.m=ai.indexOf(ah)+1}return ah.length}return{d:function(af){return af?P(af):this.DATE},dd:function(af){return af?2:d(this.DATE)},ddd:function(af){return af?ae(af):ab.weekdaysShort[this.DAY]},dddd:function(af){return af?ae(af):ab.weekdaysFull[this.DAY]},m:function(af){return af?P(af):this.MONTH+1},mm:function(af){return af?2:d(this.MONTH+1)},mmm:function(af,ag){var ah=ab.monthsShort;return af?ad(af,ag,ah):ah[this.MONTH]},mmmm:function(af,ag){var ah=ab.monthsFull;return af?ad(af,ag,ah):ah[this.MONTH]},yy:function(af){return af?2:(""+this.YEAR).slice(2)},yyyy:function(af){return af?4:this.YEAR},toArray:function(af){return af.split(/(?=\b)(d{1,4}|m{1,4}|y{4}|yy)+(\b)/g)}}})(),p=k(),x=R(ab.dateMin),Y=R(ab.dateMax,1),r=(function(P){if(Array.isArray(P)){if(P[0]===true){U.disabled=P.shift()}return P.map(function(ad){if(!isNaN(ad)){return --ad+ab.firstDay}--ad[1];return k(ad)})}})(ab.datesDisabled),C=(function(){var P=function(ad){return this.TIME==ad.TIME||r.indexOf(this.DAY)>-1};return U.disabled?function(ad,ae,af){return(af.map(P,this).indexOf(true)<0)}:P})(),y=(function(ad,P){if(ad){P={};H.toArray(ab.formatSubmit).map(function(af){var ae=H[af]?H[af](ad,P):af.length;if(H[af]){P[af]=ad.slice(0,ae)}ad=ad.slice(ae)});P=[+(P.yyyy||P.yy),+(P.mm||P.m)-1,+(P.dd||P.d)]}else{P=Date.parse(P)}return q(!isNaN(P)||Array.isArray(P)?P:p)})(S.getAttribute("data-value"),S.value),N=y,T=y,K=ab.formatSubmit?e("<input type=hidden name="+S.name+ab.hiddenSuffix+">").val(S.value?t.getDate(ab.formatSubmit):"")[0]:null,O=(function(P){if(ab.firstDay){P.push(P.splice(0,1)[0])}return l("thead",l("tr",P.map(function(ad){return l("th",ad,L.weekdays)})))})((ab.showWeekdaysShort?ab.weekdaysShort:ab.weekdaysFull).slice(0)),D=e(l(n,B(),L.holder)).on("click",F),v={40:7,38:-7,39:1,37:-1};function s(ad){if((ad&&T.YEAR>=Y.YEAR&&T.MONTH>=Y.MONTH)||(!ad&&T.YEAR<=x.YEAR&&T.MONTH<=x.MONTH)){return""}var P="month"+(ad?"Next":"Prev");return l(n,ab[P],L[P],"data-nav="+(ad||-1))}function E(P){return ab.monthSelector?l("select",P.map(function(ad,ae){return l("option",ad,0,"value="+ae+(T.MONTH==ae?" selected":"")+u(ae,T.YEAR," disabled",""))}),L.monthSelector,"tabindex="+(U.isOpen?0:-1)):l(n,P[T.MONTH],L.month)}function W(){var aj=T.YEAR,ah=ab.yearSelector;if(ah){ah=ah===true?5:~~(ah/2);var ae=[],P=aj-ah,ai=X(P,x.YEAR),ag=aj+ah+(ai-P),af=X(ag,Y.YEAR,1);ah=ag-af;if(ah){ai=X(P-ah,x.YEAR)}for(var ad=0;ad<=af-ai;ad+=1){ae.push(ai+ad)}return l("select",ae.map(function(ak){return l("option",ak,0,"value="+ak+(aj==ak?" selected":""))}),L.yearSelector,"tabindex="+(U.isOpen?0:-1))}return l(n,aj,L.year)}function z(){var ai,P,af,aj=[],ah="",ak=k([T.YEAR,T.MONTH+1,0]).DATE,ad=M(T.DATE,T.DAY),ag=function(am,an){var ao=false,al=[L.day,(an?L.dayInfocus:L.dayOutfocus)];if(am.TIME<x.TIME||am.TIME>Y.TIME||(r&&r.filter(C,am).length)){ao=true;al.push(L.dayDisabled)}if(am.TIME==p.TIME){al.push(L.dayToday)}if(am.TIME==y.TIME){al.push(L.dayHighlighted)}if(am.TIME==N.TIME){al.push(L.daySelected)}return[al.join(" "),"data-"+(ao?"disabled":"date")+"="+[am.YEAR,am.MONTH,am.DATE].join("/")]};for(var ae=0;ae<f;ae+=1){P=ae-ad;ai=k([T.YEAR,T.MONTH,P]);af=ag(ai,(P>0&&P<=ak));aj.push(l("td",l(n,ai.DATE,af[0],af[1])));if((ae%o)+1==o){ah+=l("tr",aj.splice(0,o))}}return l("tbody",ah,L.calendarBody)}function B(){return l(n,l(n,l(n,s()+s(1),L.monthNav)+l(n,E(ab.showMonthsFull?ab.monthsFull:ab.monthsShort),L.monthWrap)+l(n,W(),L.yearWrap)+l("table",[O,z()],L.calendarTable),L.calendar),L.calendarWrap)}function X(ae,P,ad){return((ad&&ae<P)||(!ad&&ae>P)?ae:P)}function M(ad,ae){var P=ad%o,af=ae-P+(ab.firstDay?-1:0);return ae>=P?af:o+af}function A(ad,P){y=ad;T=ad;if(P){aa()}else{ac(ad,1)}}function ac(ad,P){N=ad;S.value=t.getDate();if(K){K.value=t.getDate(ab.formatSubmit)}if(P){aa()}b(ab.onSelect,t)}function Q(ad,P){return(T=k([P,ad,1]))}function V(P){return D.find("."+P)}function I(ad,P){P=P||T.YEAR;ad=u(ad,P);Q(ad,P);aa()}function R(P,ad){if(P===true){return p}if(Array.isArray(P)){--P[1];return k(P)}if(P&&!isNaN(P)){return k([p.YEAR,p.MONTH,p.DATE+P])}return k(0,ad?Infinity:-Infinity)}function q(P,ae){P=!P.TIME?k(P):P;if(r){var ad=P;while(r.filter(C,P).length){P=k([P.YEAR,P.MONTH,P.DATE+(ae||1)]);if(P.MONTH!=ad.MONTH){P=k([ad.YEAR,ad.MONTH,ae>0?++ad.DATE:--ad.DATE]);ad=P}}}if(P.TIME<x.TIME){P=q(x)}else{if(P.TIME>Y.TIME){P=q(Y,-1)}}return P}function u(af,ad,P,ae){if(ad<=x.YEAR&&af<x.MONTH){return P||x.MONTH}if(ad>=Y.YEAR&&af>Y.MONTH){return P||Y.MONTH}return ae!=null?ae:af}function aa(){D.html(B());Z()}function Z(){U.selectMonth=V(L.monthSelector).on({click:function(P){P.stopPropagation()},change:function(){I(+this.value);V(L.monthSelector).focus()}})[0];U.selectYear=V(L.yearSelector).on({click:function(P){P.stopPropagation()},change:function(){I(T.MONTH,+this.value);V(L.yearSelector).focus()}})[0]}function F(ad){var P=e(ad.target),af=P.data();ad.stopPropagation();G.focus();if(af.date){var ae=af.date.split("/").map(function(ag){return +ag});A(k(ae),false,P);t.close()}if(af.nav){I(T.MONTH+af.nav)}}function w(ad){var P=ad.keyCode,ae=ad.target;if(ae!=S&&ae!=U.selectMonth&&ae!=U.selectYear){t.close();return}if(ae==U.selectMonth||ae==U.selectYear){G.removeClass(L.inputFocus);return}if(P&&ae==S){if(!ad.metaKey&&P!=9){ad.preventDefault()}if(P==13){ac(y,1);t.close();return}if(P==27){t.close();return}if(v[P]){A(q([T.YEAR,T.MONTH,y.DATE+v[P]],v[P]),1)}}}return new t.init()};function b(q,p){if(typeof q=="function"){return q.call(p)}}function d(p){return(p<10?"0":"")+p}function l(s,r,p,q){r=Array.isArray(r)?r.join(""):r;p=p?' class="'+p+'"':"";q=q?" "+q:"";return"<"+s+p+q+">"+r+"</"+s+">"}function k(q,p){if(Array.isArray(q)){q=new Date(q[0],q[1],q[2])}else{if(!isNaN(q)){q=new Date(q)}else{if(!p){q=new Date();q.setHours(0,0,0,0)}}}return{YEAR:p||q.getFullYear(),MONTH:p||q.getMonth(),DATE:p||q.getDate(),DAY:p||q.getDay(),TIME:p||q.getTime()}}e.fn.pickadate=function(p){var q="pickadate";p=e.extend(true,{},e.fn.pickadate.defaults,p);if(p.disablePicker){return this}return this.each(function(){var r=e(this);if(this.nodeName=="INPUT"&&!r.data(q)){r.data(q,new j(r,p))}})};e.fn.pickadate.defaults={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"],monthPrev:"&#9664;",monthNext:"&#9654;",showMonthsFull:true,showWeekdaysShort:true,format:"d mmmm, yyyy",formatSubmit:false,hiddenSuffix:"_submit",firstDay:0,monthSelector:false,yearSelector:false,dateMin:false,dateMax:false,datesDisabled:false,disablePicker:false,onOpen:null,onClose:null,onSelect:null,onStart:null,klass:{inputFocus:m+"input--focused",holder:m+"holder",open:m+"holder--opened",calendar:m+"calendar",calendarWrap:m+"calendar--wrap",calendarTable:m+"calendar--table",calendarBody:m+"calendar--body",year:m+"year",yearWrap:m+"year--wrap",yearSelector:m+"year--selector",month:m+"month",monthWrap:m+"month--wrap",monthSelector:m+"month--selector",monthNav:m+"month--nav",monthPrev:m+"month--prev",monthNext:m+"month--next",week:m+"week",weekdays:m+"weekday",day:m+"day",dayDisabled:m+"day--disabled",daySelected:m+"day--selected",dayHighlighted:m+"day--highlighted",dayToday:m+"day--today",dayInfocus:m+"day--infocus",dayOutfocus:m+"day--outfocus"}}})(jQuery,window,document); \ No newline at end of file