/*
 * jquery-dtpicker jQuery extension
 * http://code.google.com/p/jquery-dtpicker/
 *
 * Copyright (c) 2009 Jack Douglas
 * Released under the MIT license
 * http://www.opensource.net/licenses/mit-license.html
 *
 * Version 1.0a5
 */
(function(c){var d;d=[31,28,31,30,31,30,31,31,30,31,30,31];function b(f){var e;return(f===e)}function a(e){return !b(e)}c.fn.dtpicker=function(e){var g,f;g=c.extend({},c.fn.dtpicker.defaults,e);return this.each(function(){var j,u,w,m,s,C,z,H,n,E,p,r,i,v,q,k,F,B,A,G,l,h,t,x,o,D;k=c.metadata?c.extend({},g,c.metadata.get(this)):g;D=k.timezones;o=k.months;F=k.squeeze;B=k.css;A=B.elementclass;G=B.selectedclass;l=B.clickableclass;x=B.squeezelevels;h=B.squeezeclass;t=[];for(f=1;f<=x;f++){t.push(h+f)}if(this.tagName!=="INPUT"){throw"not an input element"}j=this.getAttribute("type");if((j!=="date")&&(j!=="datetime")&&(j!=="datetime-local")&&(j!=="time")){return}u=this.getAttribute("min");w=this.getAttribute("max");v=(j==="time")?0:11;q=(new Date()).getFullYear();m=(u===null)?1000:+u.slice(0,4);s=(w===null)?3000:+w.slice(0,4);C=(u===null)?1:+u.slice(5,7);z=(w===null)?12:+w.slice(5,7);H=(u===null)?1:+u.slice(8,10);n=(w===null)?31:+w.slice(8,10);E=(u===null)?0:+u.slice(v,v+2);p=(w===null)?23:+w.slice(v,v+2);r=(u===null)?0:(Math.ceil(+u.slice(v+3,v+5)/5)*5);i=(w===null)?55:(Math.floor(+w.slice(v+3,v+5)/5)*5);function y(){var J,L,M;M=(function(){var T;function X(ag){return("0"+ag).slice(-2)}function P(ah,ag,aj,ai){return(a(ah)?X(ah):aj)+ai+(a(ag)?X(ag):aj)}T={z:{},d:{},t:{},ismin:true,ismax:true,clone:function(){var ah;function ag(){}ag.prototype=this;ah=new ag();ag.prototype=this.z;ah.z=new ag();ag.prototype=this.d;ah.d=new ag();ag.prototype=this.t;ah.t=new ag();return ah},hasOutput:function(){return false},getTime:function(){return P(this.t.h,this.t.m,"00",":")},getDate:function(){return this.d.y+"-"+P(this.d.m,this.d.d,"01","-")},getDatetime:function(){return this.getDate()+"T"+this.getTime()},getDatetimeTZ:function(){return this.getDatetime()+this.z.s+((this.z.s==="Z")?"":P(this.z.h,this.z.m,"00",":"))}};function ab(ah,ai){var ag;ag=ah.clone();ag.t.m=ai;ag.text=X(ai);ag.ismin=ag.ismin&&(ai===r);ag.ismax=ag.ismax&&(ai===i);ag.getChildren=function(){return[]};return ag}function af(){var ag,ah;ag=[];for(ah=(this.ismin?r:0);ah<=(this.ismax?i:55);ah+=5){ag.push(ab(this,ah))}return ag}function ae(ai,ag){var ah;ah=ai.clone();ah.t.h=ag;ah.text=X(ag)+":";ah.natural=(ag===8);ah.ismin=ah.ismin&&(ag===E);ah.ismax=ah.ismax&&(ag===p);ah.getChildren=af;ah.hasOutput=function(){return true};return ah}function Q(){var ag,ah;ag=[];for(ah=(this.ismin?E:0);ah<=(this.ismax?p:23);ah++){ag.push(ae(this,ah))}return ag}function S(ai,ag){var ah;ah=ai.clone();ah.d.d=ag;ah.text=X(ag);ah.ismin=ah.ismin&&(ag===H);ah.ismax=ah.ismax&&(ag===n);if(j==="date"){ah.getChildren=function(){return[]}}else{ah.getChildren=Q}return ah}function ac(ai,aj,ag){var ah;ah=ai.clone();ah.text=X(aj)+"-<br>-"+X(ag);ah.getChildren=function(){return ad.call(ai,aj,ag)};ah.hasOutput=function(){return false};return ah}function ad(aj,ag){var ah,ai;ah=[];aj=aj||(this.ismin?H:1);ag=ag||(this.ismax?n:this.d.ds);if((ag-aj)<(F?32:10)){for(ai=aj;ai<=ag;ai++){ah.push(S(this,ai))}}else{if(aj===1){ah.push(S(this,1))}if(aj<10){ah.push(ac(this,Math.max(2,aj),9))}ah.push(ac(this,Math.max(10,aj),Math.min(ag,19)));if(ag>19){ah.push(ac(this,20,Math.min(this.d.ds-1,ag)))}if(ag===this.d.ds){ah.push(S(this,ag))}}ah.squeeze=F;return ah}function aa(ah,ai){var ag;ag=ah.clone();ag.d.m=ai;ag.d.ds=d[ai-1]+((ai===2)?(ag.d.y%4===0)?(ag.d.y%100===0)?(ag.d.y%400===0)?1:0:1:0:0);ag.text=o[ai-1];ag.ismin=ag.ismin&&(ai===C);ag.ismax=ag.ismax&&(ai===z);ag.getChildren=ad;return ag}function V(){var ag,ah;ag=[];for(ah=(this.ismin?C:1);ah<=(this.ismax?z:12);ah++){ag.push(aa(this,ah))}return ag}function R(ai,aj,ag){var ah;ah=ai.clone();ah.text=(aj-aj%10)+"s";ah.natural=((aj<=q)&&(ag>=q));ah.getChildren=function(){return O.call(ai,aj,ag)};return ah}function N(ai,ah){var ag;ag=ai.clone();ag.d.y=ah;ag.text=ah;ag.natural=(ah===q);ag.ismin=(ah===m);ag.ismax=(ah===s);ag.getChildren=V;ag.hasOutput=function(){return true};return ag}function O(aj,ah){var ag,ai;aj=aj||m;ah=ah||s;ag=[];if(((ah-aj)<12)||((q-m)<=10)){for(ai=aj;ai<=ah;ai++){ag.push(N(this,ai))}}else{for(ai=aj;ai<(aj-aj%10+10);ai++){ag.push(N(this,ai))}for(ai=aj-aj%10+10;ai<(ah-ah%10);ai+=10){ag.push(R(this,ai,ai+9))}for(ai=ah-ah%10;ai<=ah;ai++){ag.push(N(this,ai))}}return ag}function Z(ah,ak,ag,aj){var ai;ai=T.clone();ai.z.h=ah;ai.z.m=ak;ai.z.s=ag;ai.getChildren=O;ai.text=aj;return ai}function Y(ah,ai,ag){return Z(ah.z.h,ai,ag,((ag==="+")?"+":"&minus;")+X(ah.z.h)+":"+X(ai))}function U(ag){var ah;ah=T.clone();ah.z.h=ag;ah.text="&plusmn;"+X(ag);ah.getChildren=function(){var ai,aj;ai=[];for(aj=((ah.z.h===0)?15:0);aj<60;aj+=15){ai.push(Y(this,aj,"-"));ai.push(Y(this,aj,"+"))}return ai};return ah}function W(){var ag,ah,ai;ag=[];for(ah=0;ah<D.length;ah++){ai=D[ah];ag.push(Z(+ai.offset.slice(-5,-3),+ai.offset.slice(-2),(ai.offset.slice(0,1)==="0"?"Z":ai.offset.slice(0,1)),ai.name))}for(ah=0;ah<24;ah++){ag.push(U(ah))}return ag}if(j==="time"){T.getChildren=Q;T.getOutput=T.getTime}else{if(j==="date"){T.getChildren=O;T.getOutput=T.getDate}else{if(j==="datetime-local"){T.getChildren=O;T.getOutput=T.getDatetime}else{if(j==="datetime"){T.getChildren=W;T.getOutput=T.getDatetimeTZ}}}}return T.getChildren()}());function I(T,O,U){var S,N,Q,R;if(U===undefined){U=0;for(Q=0;Q<O.length;Q++){if(O[Q].natural){O[Q].natural=false;U=Q}}}U=Math.max(0,Math.min(U,O.length-(O.squeeze?31:11)));if(T===L){c(T).children().remove()}else{c(T).parent().parent().nextAll("div").remove()}S=c(L).append("<div></div>").children("div:last-child").addClass(B.sectionouterclass).css("float","left").append("<div></div>").children().addClass(B.sectioninnerclass);N=O.squeeze?32:12;if(U>0){N-=1}if(U+N<O.length){N-=1}function P(X){var V,W,Y;if(O.squeeze){X.parent().children().removeClass(t.join(" "));X.siblings().addClass(h+x);W=X;Y=X;for(V=1;V<=x;V++){W=W.prev();Y=Y.next();if(W.length===0){W=X.siblings(":last")}if(Y.length===0){Y=X.siblings(":first")}W.add(Y).removeClass(h+x).addClass(h+V)}}}if(U>0){S.append("<div><label>&uarr;</label></div>").children("div:last-child").addClass(A).css("text-align","center").mouseenter(function(V){R=this;c(this).parent().parent().nextAll("div").remove();c(L).children().children().children().removeClass(l);c(this).siblings().removeClass(G);c(this).addClass(l);P(c(this))}).click(function(V){V.stopPropagation();J.focus();I(T,O,U-(O.squeeze?30:10))})}for(Q=U;Q<U+Math.min(O.length,N);Q++){(function(V){S.append("<div><label>"+V.text+"</label></div>").children("div:last-child").addClass(A).click(function(W){W.stopPropagation();if(V.hasOutput()){J.val(V.getOutput());c(L).remove();J.one("focus",y);J.trigger("change")}else{J.focus()}}).mouseenter(function(X){var W;X.stopPropagation();W=this;R=this;c(L).children().children().children().removeClass(l);c(this).siblings().removeClass(G);c(this).addClass(G);if(V.hasOutput()){c(this).addClass(l)}P(c(this));setTimeout(function(){if(W===R){I(R,V.getChildren())}},150)});if(O.squeeze){S.children().addClass(h)}}(O[Q]))}if(O.length>U+N){S.append("<div><label>&darr;</label></div>").children("div:last-child").addClass(A).css("text-align","center").mouseenter(function(V){R=this;c(this).parent().parent().nextAll("div").remove();c(L).children().children().children().removeClass(l);c(this).siblings().removeClass(G);c(this).addClass(l);P(c(this))}).click(function(V){V.stopPropagation();J.focus();I(T,O,U+(O.squeeze?30:10))})}P(S.children("div:first-child"));if(O.length===1){S.children("div:last-child").mouseenter()}}J=c(this);function K(){c(L).remove();J.unbind("blur",K);J.one("focus",y)}L=J.after("<div></div>").next("div").css({display:"inline",position:"absolute","z-index":"1"}).blur(function(){K()}).mouseover(function(){J.unbind("blur",K)}).mouseout(function(N){if((N.pageX<=c(this).offset().left)||(N.pageY<=c(this).offset().top)||(N.pageX>=(c(this).offset().left+c(this).outerWidth(true)))||(N.pageY>=(c(this).offset().top+c(this).outerHeight(true)))){J.bind("blur",K)}}).click(function(){J.focus()}).get(0);J.bind("blur",K);I(L,M)}c(this).one("focus",y)})};c.fn.dtpicker.defaults={months:["January","February","March","April","May","June","July","August","September","October","November","December"],timezones:[{name:"UTC",offset:"00:00"},{name:"AWST",offset:"+08:00"},{name:"WCT",offset:"+08:45"},{name:"AWDT",offset:"+09:00"},{name:"ACST",offset:"+09:30"},{name:"AEST",offset:"+10:00"},{name:"ACDT",offset:"+10:30"},{name:"AEDT",offset:"+11:00"}],squeeze:false,css:{sectionouterclass:"jqdtp-so",sectioninnerclass:"jqdtp-si",elementclass:"jqdtp-e",selectedclass:"jqdtp-s",clickableclass:"jqdtp-c",squeezeclass:"jqdtp-sq",squeezelevels:5}}}(jQuery));