-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzebra_datepicker.js
1 lines (1 loc) · 21.4 KB
/
zebra_datepicker.js
1
(function(c){c.Zebra_DatePicker=function(ha,H){var sa={always_visible:!1,days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),days_abbr:!1,direction:0,disabled_dates:!1,enabled_dates:!1,first_day_of_week:1,format:"Y-m-d",inside:!0,lang_clear_date:"Clear date",months:"January February March April May June July August September October November December".split(" "),months_abbr:!1,offset:[5,-5],pair:!1,readonly_element:!0,select_other_months:!1,show_clear_date:0,show_icon:!0,show_other_months:!0, show_select_today:"Today",show_week_number:!1,start_date:!1,view:"days",weekend_days:[0,6],zero_pad:!1,onChange:null,onClear:null,onSelect:null},z,r,s,D,E,I,J,T,U,M,Z,k,t,A,x,p,$,N,O,V,G,aa,u,v,ba,P,W,ka,la,ma,B,ia,ca,X,da,a=this;a.settings={};var h=c(ha),pa=function(d){d||(a.settings=c.extend({},sa,H));a.settings.readonly_element&&h.attr("readonly","readonly");var b={days:["d","j","D"],months:["F","m","M","n","t"],years:["o","Y","y"]},g=!1,f=!1,n=!1,l=null;for(l in b)c.each(b[l],function(c,b){-1< a.settings.format.indexOf(b)&&("days"==l?g=!0:"months"==l?f=!0:"years"==l&&(n=!0))});B=g&&f&&n?["years","months","days"]:!g&&f&&n?["years","months"]:g||f||!n?g||!f||n?["years","months","days"]:["months"]:["years"];-1==c.inArray(a.settings.view,B)&&(a.settings.view=B[B.length-1]);G=[];V=[];for(var e=0;2>e;e++)b=0===e?a.settings.disabled_dates:a.settings.enabled_dates,c.isArray(b)&&0<b.length&&c.each(b,function(){for(var a=this.split(" "),b=0;4>b;b++){a[b]||(a[b]="*");a[b]=-1<a[b].indexOf(",")?a[b].split(","): Array(a[b]);for(var d=0;d<a[b].length;d++)if(-1<a[b][d].indexOf("-")){var f=a[b][d].match(/^([0-9]+)\-([0-9]+)/);if(null!==f){for(var g=q(f[1]);g<=q(f[2]);g++)-1==c.inArray(g,a[b])&&a[b].push(g+"");a[b].splice(d,1)}}for(d=0;d<a[b].length;d++)a[b][d]=isNaN(q(a[b][d]))?a[b][d]:q(a[b][d])}0===e?G.push(a):V.push(a)});var b=new Date,F=a.settings.reference_date?a.settings.reference_date:h.data("zdp_reference_date")&&void 0!==h.data("zdp_reference_date")?h.data("zdp_reference_date"):b,m,L;v=u=void 0;k=F.getMonth(); U=b.getMonth();t=F.getFullYear();M=b.getFullYear();A=F.getDate();Z=b.getDate();if(!0===a.settings.direction)u=F;else if(!1===a.settings.direction)v=F,W=v.getMonth(),P=v.getFullYear(),ba=v.getDate();else if(!c.isArray(a.settings.direction)&&Y(a.settings.direction)&&0<q(a.settings.direction)||c.isArray(a.settings.direction)&&((m=ea(a.settings.direction[0]))||!0===a.settings.direction[0]||Y(a.settings.direction[0])&&0<a.settings.direction[0])&&((L=ea(a.settings.direction[1]))||!1===a.settings.direction[1]|| Y(a.settings.direction[1])&&0<=a.settings.direction[1]))u=m?m:new Date(t,k,A+(c.isArray(a.settings.direction)?q(!0===a.settings.direction[0]?0:a.settings.direction[0]):q(a.settings.direction))),k=u.getMonth(),t=u.getFullYear(),A=u.getDate(),L&&+L>=+u?v=L:!L&&(!1!==a.settings.direction[1]&&c.isArray(a.settings.direction))&&(v=new Date(t,k,A+q(a.settings.direction[1]))),v&&(W=v.getMonth(),P=v.getFullYear(),ba=v.getDate());else if(!c.isArray(a.settings.direction)&&Y(a.settings.direction)&&0>q(a.settings.direction)|| c.isArray(a.settings.direction)&&(!1===a.settings.direction[0]||Y(a.settings.direction[0])&&0>a.settings.direction[0])&&((m=ea(a.settings.direction[1]))||Y(a.settings.direction[1])&&0<=a.settings.direction[1]))v=new Date(t,k,A+(c.isArray(a.settings.direction)?q(!1===a.settings.direction[0]?0:a.settings.direction[0]):q(a.settings.direction))),W=v.getMonth(),P=v.getFullYear(),ba=v.getDate(),m&&+m<+v?u=m:!m&&c.isArray(a.settings.direction)&&(u=new Date(P,W,ba-q(a.settings.direction[1]))),u&&(k=u.getMonth(), t=u.getFullYear(),A=u.getDate());else if(c.isArray(a.settings.disabled_dates)&&0<a.settings.disabled_dates.length)for(var w in G)if("*"==G[w][0]&&"*"==G[w][1]&&"*"==G[w][2]&&"*"==G[w][3]){var ga=[];c.each(V,function(){"*"!=this[2][0]&&ga.push(parseInt(this[2][0]+("*"==this[1][0]?"12":y(this[1][0],2))+("*"==this[0][0]?"*"==this[1][0]?"31":(new Date(this[2][0],this[1][0],0)).getDate():y(this[0][0],2)),10))});ga.sort();if(0<ga.length){var Q=(ga[0]+"").match(/([0-9]{4})([0-9]{2})([0-9]{2})/);t=parseInt(Q[1], 10);k=parseInt(Q[2],10)-1;A=parseInt(Q[3],10)}break}if(C(t,k,A)){for(;C(t);)u?(t++,k=0):(t--,k=11);for(;C(t,k);)u?(k++,A=1):(k--,A=(new Date(t,k+1,0)).getDate()),11<k?(t++,k=0,A=1):0>k&&(t--,k=11,A=(new Date(t,k+1,0)).getDate());for(;C(t,k,A);)u?A++:A--,b=new Date(t,k,A),t=b.getFullYear(),k=b.getMonth(),A=b.getDate();b=new Date(t,k,A);t=b.getFullYear();k=b.getMonth();A=b.getDate()}(m=ea(h.val()||(a.settings.start_date?a.settings.start_date:"")))&&C(m.getFullYear(),m.getMonth(),m.getDate())&&h.val(""); na(m);if(!a.settings.always_visible&&(d||(a.settings.show_icon?(m=jQuery('<span class="Zebra_DatePicker_Icon_Wrapper"></span>').css({display:h.css("display"),position:"static"==h.css("position")?"relative":h.css("position"),"float":h.css("float"),top:h.css("top"),right:h.css("right"),bottom:h.css("bottom"),left:h.css("left")}),h.wrap(m).css({position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}),s=jQuery('<button type="button" class="Zebra_DatePicker_Icon'+("disabled"==h.attr("disabled")? " Zebra_DatePicker_Icon_Disabled":"")+'">Pick a date</button>'),a.icon=s,ia=s.add(h)):ia=h,ia.bind("click",function(b){b.preventDefault();h.attr("disabled")||("none"!=r.css("display")?a.hide():a.show())}),void 0!==s&&s.insertAfter(h)),void 0!==s)){s.attr("style","");a.settings.inside&&s.addClass("Zebra_DatePicker_Icon_Inside");m=h.outerWidth();L=h.outerHeight();w=parseInt(h.css("marginLeft"),10)||0;var b=parseInt(h.css("marginTop"),10)||0,F=s.outerWidth(),oa=s.outerHeight(),ta=parseInt(s.css("marginLeft"), 10)||0,ua=parseInt(s.css("marginRight"),10)||0;a.settings.inside?s.css({top:b+(L-oa)/2,left:w+(m-F-ua)}):s.css({top:b+(L-oa)/2,left:w+m+ta})}void 0!==s&&(h.is(":visible")?s.show():s.hide());da=!1!==a.settings.show_select_today&&-1<c.inArray("days",B)&&!C(M,U,Z)?a.settings.show_select_today:!1;d||(s&&c(window).bind("resize",a.update),r=c('<div class="Zebra_DatePicker"><table class="dp_header"><tr><td class="dp_previous">«</td><td class="dp_caption"> </td><td class="dp_next">»</td></tr></table><table class="dp_daypicker"></table><table class="dp_monthpicker"></table><table class="dp_yearpicker"></table><table class="dp_footer"><tr><td class="dp_today"'+ (!1!==a.settings.show_clear_date?' style="width:50%"':"")+">"+da+'</td><td class="dp_clear"'+(!1!==da?' style="width:50%"':"")+">"+a.settings.lang_clear_date+"</td></tr></table></div>"),a.datepicker=r,D=c("table.dp_header",r),E=c("table.dp_daypicker",r),I=c("table.dp_monthpicker",r),J=c("table.dp_yearpicker",r),X=c("table.dp_footer",r),ca=c("td.dp_today",X),T=c("td.dp_clear",X),a.settings.always_visible?h.attr("disabled")||(a.settings.always_visible.append(r),a.show()):c("body").append(r),r.delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked, .dp_week_number)", "mouseover",function(){c(this).addClass("dp_hover")}).delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked, .dp_week_number)","mouseout",function(){c(this).removeClass("dp_hover")}),va(c("td",D)),c(".dp_previous",D).bind("click",function(){c(this).hasClass("dp_blocked")||("months"==z?p--:"years"==z?p-=12:0>--x&&(x=11,p--),R())}),c(".dp_caption",D).bind("click",function(){z="days"==z?-1<c.inArray("months",B)?"months":-1<c.inArray("years",B)?"years":"days":"months"==z? -1<c.inArray("years",B)?"years":-1<c.inArray("days",B)?"days":"months":-1<c.inArray("days",B)?"days":-1<c.inArray("months",B)?"months":"years";R()}),c(".dp_next",D).bind("click",function(){c(this).hasClass("dp_blocked")||("months"==z?p++:"years"==z?p+=12:12==++x&&(x=0,p++),R())}),E.delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_week_number)","click",function(){a.settings.select_other_months&&null!==(Q=c(this).attr("class").match(/date\_([0-9]{4})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/))? fa(Q[1],Q[2],Q[3],"days",c(this)):fa(p,x,q(c(this).html()),"days",c(this))}),I.delegate("td:not(.dp_disabled)","click",function(){var b=c(this).attr("class").match(/dp\_month\_([0-9]+)/);x=q(b[1]);-1==c.inArray("days",B)?fa(p,x,1,"months",c(this)):(z="days",a.settings.always_visible&&h.val(""),R())}),J.delegate("td:not(.dp_disabled)","click",function(){p=q(c(this).html());-1==c.inArray("months",B)?fa(p,1,1,"years",c(this)):(z="months",a.settings.always_visible&&h.val(""),R())}),c(ca).bind("click", function(b){b.preventDefault();fa(M,U,Z,"days",c(".dp_current",E));a.settings.always_visible&&a.show();a.hide()}),c(T).bind("click",function(b){b.preventDefault();h.val("");a.settings.always_visible||(p=x=O=N=$=null);a.hide();if(a.settings.onClear&&"function"==typeof a.settings.onClear)a.settings.onClear(h)}),a.settings.always_visible||c(document).bind({mousedown:a._mousedown,keyup:a._keyup}),R())};a.hide=function(){a.settings.always_visible||(qa("hide"),r.hide())};a.show=function(){z=a.settings.view; var d=ea(h.val()||(a.settings.start_date?a.settings.start_date:""));d?(N=d.getMonth(),x=d.getMonth(),O=d.getFullYear(),p=d.getFullYear(),$=d.getDate(),C(O,N,$)&&(h.val(""),x=k,p=t)):(x=k,p=t);R();if(a.settings.always_visible)r.show();else{var d=r.outerWidth(),b=r.outerHeight(),g=(void 0!==s?s.offset().left+s.outerWidth(!0):h.offset().left+h.outerWidth(!0))+a.settings.offset[0],f=(void 0!==s?s.offset().top:h.offset().top)-b+a.settings.offset[1],n=c(window).width(),l=c(window).height(),e=c(window).scrollTop(), F=c(window).scrollLeft();g+d>F+n&&(g=F+n-d);g<F&&(g=F);f+b>e+l&&(f=e+l-b);f<e&&(f=e);r.css({left:g,top:f});r.fadeIn("explorer"==S.name&&9>S.version?0:150,"linear");qa()}};a.update=function(d){a.original_direction&&(a.original_direction=a.direction);a.settings=c.extend(a.settings,d);pa(!0)};var ea=function(d){d+="";if(""!==c.trim(d)){for(var b=a.settings.format.replace(/([-.,*+?^${}()|[\]\/\\])/g,"\\$1"),g="dDjlNSwFmMnYy".split(""),f=[],n=[],l=null,e=null,h=0;h<g.length;h++)-1<(l=b.indexOf(g[h]))&& f.push({character:g[h],position:l});f.sort(function(a,b){return a.position-b.position});c.each(f,function(a,b){switch(b.character){case "d":n.push("0[1-9]|[12][0-9]|3[01]");break;case "D":n.push("[a-z]{3}");break;case "j":n.push("[1-9]|[12][0-9]|3[01]");break;case "l":n.push("[a-z]+");break;case "N":n.push("[1-7]");break;case "S":n.push("st|nd|rd|th");break;case "w":n.push("[0-6]");break;case "F":n.push("[a-z]+");break;case "m":n.push("0[1-9]|1[012]+");break;case "M":n.push("[a-z]{3}");break;case "n":n.push("[1-9]|1[012]"); break;case "Y":n.push("[0-9]{4}");break;case "y":n.push("[0-9]{2}")}});if(n.length&&(f.reverse(),c.each(f,function(a,c){b=b.replace(c.character,"("+n[n.length-a-1]+")")}),n=RegExp("^"+b+"$","ig"),e=n.exec(d))){d=new Date;var m=d.getDate(),p=d.getMonth()+1,w=d.getFullYear(),k="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),r="January February March April May June July August September October November December".split(" "),t,s=!0;f.reverse();c.each(f,function(b,d){if(!s)return!0; switch(d.character){case "m":case "n":p=q(e[b+1]);break;case "d":case "j":m=q(e[b+1]);break;case "D":case "l":case "F":case "M":t="D"==d.character||"l"==d.character?a.settings.days:a.settings.months;s=!1;c.each(t,function(a,c){if(s)return!0;if(e[b+1].toLowerCase()==c.substring(0,"D"==d.character||"M"==d.character?3:c.length).toLowerCase()){switch(d.character){case "D":e[b+1]=k[a].substring(0,3);break;case "l":e[b+1]=k[a];break;case "F":e[b+1]=r[a];p=a+1;break;case "M":e[b+1]=r[a].substring(0,3),p= a+1}s=!0}});break;case "Y":w=q(e[b+1]);break;case "y":w="19"+q(e[b+1])}});if(s&&(f=new Date(w,(p||1)-1,m||1),f.getFullYear()==w&&f.getDate()==(m||1)&&f.getMonth()==(p||1)-1))return f}return!1}},va=function(a){"firefox"==S.name?a.css("MozUserSelect","none"):"explorer"==S.name?a.bind("selectstart",function(){return!1}):a.mousedown(function(){return!1})},ra=function(){var d=(new Date(p,x+1,0)).getDate(),b=(new Date(p,x,1)).getDay(),g=(new Date(p,x,0)).getDate(),b=b-a.settings.first_day_of_week,b=0>b? 7+b:b;ja(a.settings.months[x]+", "+p);var f="<tr>";a.settings.show_week_number&&(f+="<th>"+a.settings.show_week_number+"</th>");for(var n=0;7>n;n++)f+="<th>"+(c.isArray(a.settings.days_abbr)&&void 0!==a.settings.days_abbr[(a.settings.first_day_of_week+n)%7]?a.settings.days_abbr[(a.settings.first_day_of_week+n)%7]:a.settings.days[(a.settings.first_day_of_week+n)%7].substr(0,2))+"</th>";f+="</tr><tr>";for(n=0;42>n;n++){0<n&&0===n%7&&(f+="</tr><tr>");if(0===n%7&&a.settings.show_week_number){var l=new Date(p, x,n-b+1),e=l.getFullYear(),h=l.getMonth()+1,l=l.getDate(),m=void 0,k=void 0,w=void 0,s=w=void 0,q=void 0,w=k=m=void 0;3>h?(m=e-1,k=(m/4|0)-(m/100|0)+(m/400|0),w=((m-1)/4|0)-((m-1)/100|0)+((m-1)/400|0),w=k-w,s=0,q=l-1+31*(h-1)):(m=e,k=(m/4|0)-(m/100|0)+(m/400|0),w=((m-1)/4|0)-((m-1)/100|0)+((m-1)/400|0),w=k-w,s=w+1,q=l+((153*(h-3)+2)/5|0)+58+w);m=(m+k)%7;l=(q+m-s)%7;k=q+3-l;w=0>k?53-((m-w)/5|0):k>364+w?1:(k/7|0)+1;f+='<td class="dp_week_number">'+w+"</td>"}e=n-b+1;if(a.settings.select_other_months&& (n<b||e>d))var r=new Date(p,x,e),t=r.getFullYear(),u=r.getMonth(),v=r.getDate(),r=t+y(u,2)+y(v,2);n<b?f+='<td class="'+(a.settings.select_other_months&&!C(t,u,v)?"dp_not_in_month_selectable date_"+r:"dp_not_in_month")+'">'+(a.settings.select_other_months||a.settings.show_other_months?y(g-b+n+1,a.settings.zero_pad?2:0):" ")+"</td>":e>d?f+='<td class="'+(a.settings.select_other_months&&!C(t,u,v)?"dp_not_in_month_selectable date_"+r:"dp_not_in_month")+'">'+(a.settings.select_other_months||a.settings.show_other_months? y(e-d,a.settings.zero_pad?2:0):" ")+"</td>":(h=(a.settings.first_day_of_week+n)%7,l="",C(p,x,e)?(l=-1<c.inArray(h,a.settings.weekend_days)?"dp_weekend_disabled":l+" dp_disabled",x==U&&(p==M&&Z==e)&&(l+=" dp_disabled_current")):(-1<c.inArray(h,a.settings.weekend_days)&&(l="dp_weekend"),x==N&&(p==O&&$==e)&&(l+=" dp_selected"),x==U&&(p==M&&Z==e)&&(l+=" dp_current")),f+="<td"+(""!==l?' class="'+c.trim(l)+'"':"")+">"+(a.settings.zero_pad?y(e,2):e)+"</td>")}E.html(c(f+"</tr>"));a.settings.always_visible&& (ka=c("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked, .dp_week_number)",E));E.show()},wa=function(){ja(p);for(var d="<tr>",b=0;12>b;b++){0<b&&0===b%3&&(d+="</tr><tr>");var g="dp_month_"+b;C(p,b)?g+=" dp_disabled":!1!==N&&N==b?g+=" dp_selected":U==b&&M==p&&(g+=" dp_current");d+='<td class="'+c.trim(g)+'">'+(c.isArray(a.settings.months_abbr)&&void 0!==a.settings.months_abbr[b]?a.settings.months_abbr[b]:a.settings.months[b].substr(0,3))+"</td>"}I.html(c(d+"</tr>"));a.settings.always_visible&& (la=c("td:not(.dp_disabled)",I));I.show()},xa=function(){ja(p-7+" - "+(p+4));for(var d="<tr>",b=0;12>b;b++){0<b&&0===b%3&&(d+="</tr><tr>");var g="";C(p-7+b)?g+=" dp_disabled":O&&O==p-7+b?g+=" dp_selected":M==p-7+b&&(g+=" dp_current");d+="<td"+(""!==c.trim(g)?' class="'+c.trim(g)+'"':"")+">"+(p-7+b)+"</td>"}J.html(c(d+"</tr>"));a.settings.always_visible&&(ma=c("td:not(.dp_disabled)",J));J.show()},qa=function(a){if("explorer"==S.name&&6==S.version){if(!aa){var b=q(r.css("zIndex"))-1;aa=jQuery("<iframe>", {src:'javascript:document.write("")',scrolling:"no",frameborder:0,allowtransparency:"true",css:{zIndex:b,position:"absolute",top:-1E3,left:-1E3,width:r.outerWidth(),height:r.outerHeight(),filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)",display:"none"}});c("body").append(aa)}switch(a){case "hide":aa.hide();break;default:a=r.offset(),aa.css({top:a.top,left:a.left,display:"block"})}}},C=function(d,b,g){if((void 0===d||isNaN(d))&&(void 0===b||isNaN(b))&&(void 0===g||isNaN(g)))return!1;if(c.isArray(a.settings.direction)|| 0!==q(a.settings.direction)){var f=q(K(d,"undefined"!=typeof b?y(b,2):"","undefined"!=typeof g?y(g,2):"")),h=(f+"").length;if(8==h&&("undefined"!=typeof u&&f<q(K(t,y(k,2),y(A,2)))||"undefined"!=typeof v&&f>q(K(P,y(W,2),y(ba,2))))||6==h&&("undefined"!=typeof u&&f<q(K(t,y(k,2)))||"undefined"!=typeof v&&f>q(K(P,y(W,2))))||4==h&&("undefined"!=typeof u&&f<t||"undefined"!=typeof v&&f>P))return!0}"undefined"!=typeof b&&(b+=1);var l=!1,e=!1;G&&c.each(G,function(){if(!l&&(-1<c.inArray(d,this[2])||-1<c.inArray("*", this[2]))&&("undefined"!=typeof b&&-1<c.inArray(b,this[1])||-1<c.inArray("*",this[1]))&&("undefined"!=typeof g&&-1<c.inArray(g,this[0])||-1<c.inArray("*",this[0]))){if("*"==this[3])return l=!0;var a=(new Date(d,b-1,g)).getDay();if(-1<c.inArray(a,this[3]))return l=!0}});V&&c.each(V,function(){if(!e&&(-1<c.inArray(d,this[2])||-1<c.inArray("*",this[2]))&&(e=!0,"undefined"!=typeof b))if(e=!0,-1<c.inArray(b,this[1])||-1<c.inArray("*",this[1])){if("undefined"!=typeof g){e=!0;if(-1<c.inArray(g,this[0])|| -1<c.inArray("*",this[0])){if("*"==this[3])return e=!0;var a=(new Date(d,b-1,g)).getDay();if(-1<c.inArray(a,this[3]))return e=!0}e=!1}}else e=!1});return V&&e||!G||!l?!1:!0},Y=function(a){return(a+"").match(/^\-?[0-9]+$/)?!0:!1},ja=function(d){c(".dp_caption",D).html(d);if(c.isArray(a.settings.direction)||0!==q(a.settings.direction)||1==B.length&&"months"==B[0]){d=p;var b=x,g,f;if("days"==z)f=!C(0>b-1?K(d-1,"11"):K(d,y(b-1,2))),g=!C(11<b+1?K(d+1,"00"):K(d,y(b+1,2)));else if("months"==z){if(!u||u.getFullYear()<= d-1)f=!0;if(!v||v.getFullYear()>=d+1)g=!0}else if("years"==z){if(!u||u.getFullYear()<d-7)f=!0;if(!v||v.getFullYear()>d+4)g=!0}f?c(".dp_previous",D).removeClass("dp_blocked"):(c(".dp_previous",D).addClass("dp_blocked"),c(".dp_previous",D).removeClass("dp_hover"));g?c(".dp_next",D).removeClass("dp_blocked"):(c(".dp_next",D).addClass("dp_blocked"),c(".dp_next",D).removeClass("dp_hover"))}},R=function(){if(""===E.text()||"days"==z){if(""===E.text()){a.settings.always_visible||r.css("left",-1E3);r.show(); ra();var d=E.outerWidth(),b=E.outerHeight();I.css({width:d,height:b});J.css({width:d,height:b});D.css("width",d);X.css("width",d);r.hide()}else ra();I.hide();J.hide()}else"months"==z?(wa(),E.hide(),J.hide()):"years"==z&&(xa(),E.hide(),I.hide());a.settings.onChange&&("function"==typeof a.settings.onChange&&void 0!==z)&&(d="days"==z?E.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked)"):"months"==z?I.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked)"): J.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_blocked)"),d.each(function(){if("days"==z)c(this).data("date",p+"-"+y(x+1,2)+"-"+y(q(c(this).text()),2));else if("months"==z){var a=c(this).attr("class").match(/dp\_month\_([0-9]+)/);c(this).data("date",p+"-"+y(q(a[1])+1,2))}else c(this).data("date",q(c(this).text()))}),a.settings.onChange(z,d,h));X.show();!0===a.settings.show_clear_date||0===a.settings.show_clear_date&&""!==h.val()||a.settings.always_visible&&!1!==a.settings.show_clear_date? (T.show(),da?(ca.css("width","50%"),T.css("width","50%")):(ca.hide(),T.css("width","100%"))):(T.hide(),da?ca.show().css("width","100%"):X.hide())},fa=function(d,b,g,f,n){var l=new Date(d,b,g,12,0,0);f="days"==f?ka:"months"==f?la:ma;var e;e="";for(var k=l.getDate(),m=l.getDay(),r=a.settings.days[m],q=l.getMonth()+1,s=a.settings.months[q-1],t=l.getFullYear()+"",u=0;u<a.settings.format.length;u++){var v=a.settings.format.charAt(u);switch(v){case "y":t=t.substr(2);case "Y":e+=t;break;case "m":q=y(q,2); case "n":e+=q;break;case "M":s=c.isArray(a.settings.months_abbr)&&void 0!=a.settings.months_abbr[q-1]?a.settings.months_abbr[q-1]:a.settings.months[q-1].substr(0,3);case "F":e+=s;break;case "d":k=y(k,2);case "j":e+=k;break;case "D":r=c.isArray(a.settings.days_abbr)&&void 0!=a.settings.days_abbr[m]?a.settings.days_abbr[m]:a.settings.days[m].substr(0,3);case "l":e+=r;break;case "N":m++;case "w":e+=m;break;case "S":e=1==k%10&&"11"!=k?e+"st":2==k%10&&"12"!=k?e+"nd":3==k%10&&"13"!=k?e+"rd":e+"th";break; default:e+=v}}h.val(e);a.settings.always_visible&&(N=l.getMonth(),x=l.getMonth(),O=l.getFullYear(),p=l.getFullYear(),$=l.getDate(),f.removeClass("dp_selected"),n.addClass("dp_selected"));a.hide();na(l);if(a.settings.onSelect&&"function"==typeof a.settings.onSelect)a.settings.onSelect(e,d+"-"+y(b+1,2)+"-"+y(g,2),l,h);h.focus()},K=function(){for(var a="",b=0;b<arguments.length;b++)a+=arguments[b]+"";return a},y=function(a,b){for(a+="";a.length<b;)a="0"+a;return a},q=function(a){return parseInt(a,10)}, na=function(d){a.settings.pair&&c.each(a.settings.pair,function(){var a=c(this);a.data&&a.data("Zebra_DatePicker")?(a=a.data("Zebra_DatePicker"),a.update({reference_date:d,direction:0===a.settings.direction?1:a.settings.direction}),a.settings.always_visible&&a.show()):a.data("zdp_reference_date",d)})};a._keyup=function(c){"block"!=r.css("display")&&27!=c.which||a.hide();return!0};a._mousedown=function(d){if("block"==r.css("display")){if(a.settings.show_icon&&c(d.target).get(0)===s.get(0))return!0; 0===c(d.target).parents().filter(".Zebra_DatePicker").length&&a.hide()}return!0};var S={init:function(){this.name=this.searchString(this.dataBrowser)||"";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||""},searchString:function(a){for(var b=0;b<a.length;b++){var c=a[b].string,f=a[b].prop;this.versionSearchString=a[b].versionSearch||a[b].identity;if(c){if(-1!=c.indexOf(a[b].subString))return a[b].identity}else if(f)return a[b].identity}},searchVersion:function(a){var b= a.indexOf(this.versionSearchString);if(-1!=b)return parseFloat(a.substring(b+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Firefox",identity:"firefox"},{string:navigator.userAgent,subString:"MSIE",identity:"explorer",versionSearch:"MSIE"}]};S.init();pa()};c.fn.Zebra_DatePicker=function(ha){return this.each(function(){if(void 0!==c(this).data("Zebra_DatePicker")){var H=c(this).data("Zebra_DatePicker");void 0!==H.icon&&H.icon.remove();H.datepicker.remove(); c(document).unbind("keyup",H._keyup);c(document).unbind("mousedown",H._mousedown)}H=new c.Zebra_DatePicker(this,ha);c(this).data("Zebra_DatePicker",H)})}})(jQuery);