/*
* jQuery Mobile Framework : plugin to provide a date and time picker.
* Copyright (c) JTSage
* CC 3.0 Attribution. May be relicensed without permission/notification.
* https://github.com/jtsage/jquery-mobile-datebox
*/
(function(a){a.extend(a.mobile.datebox.prototype.options,{themeDatePick:"b",themeDate:"a",useSetButton:true,durationSteppers:{d:1,h:1,i:1,s:1}});a.extend(a.mobile.datebox.prototype,{_durfbox_pos:function(){var b=this,f=null,e=null,d=this.d.intHTML.find(".ui-datebox-flipcontent").innerHeight(),c=null;b.d.intHTML.find(".ui-datebox-flipcenter").each(function(){f=a(this);e=f.innerHeight();f.css("top",((d/2)-(e/2)-3)*-1)});b.d.intHTML.find("ul").each(function(){f=a(this);d=f.parent().innerHeight();e=f.find("li").first();c=f.find("li").size()*e.outerHeight();fixer=f.find("li").last().offset().top-f.find("li").first().offset().top;pos1=(((c/2)-(d/2)+(e.outerHeight()/2))*-1);if(fixer>0){pos1=((((fixer-d)/2)+e.outerHeight())*-1)}e.css("marginTop",pos1)})},_durfbox_series:function(k,g,h){var j=this,c=this.options,f=[[k.toString(),k]],b,e;for(var d=1;d<=g;d++){b=k+(d*c.durationSteppers[h]);e=k-(d*c.durationSteppers[h]);f.unshift([b.toString(),b]);if(e>-1){f.push([e.toString(),e])}else{f.push(["",-1])}}return f}});a.extend(a.mobile.datebox.prototype._build,{durationflipbox:function(){var q=this,e=this.options,g,l,k,r,h,m,d=["d","h","i","s"],f=[0,0,0,0],p={},n={d:60*60*24,h:60*60,i:60},j="ui-datebox-",c=a("
"),b=a("",{"class":j+"flipcontent "+j+"flipcontentd"});if(typeof q.d.intHTML!=="boolean"){q.d.intHTML.empty().remove()}q.d.input.on("datebox",function(o,i){if(i.method==="postrefresh"){q._durfbox_pos()}});q.d.headerText=((q._grabLabel()!==false)?q._grabLabel():q.__("titleDateDialogLabel"));q.d.intHTML=a("
");q.fldOrder=q.__("durationOrder");h=a('');for(l=0;l'+q.__("durationLabel")[jQuery.inArray(q.fldOrder[l],["d","h","i","s"])]+" ").css("textAlign","center").appendTo(h)}h.appendTo(q.d.intHTML);q.d.intHTML.append(b);g=q.theDate.getEpoch()-q.initDate.getEpoch();if(g<0){g=0;q.theDate.setTime(q.initDate.getTime())}q.lastDuration=g;f[0]=parseInt(g/n.d,10);g=g%n.d;f[1]=parseInt(g/n.h,10);g=g%n.h;f[2]=parseInt(g/n.i,10);f[3]=g%n.i;p.d=q._durfbox_series(f[0],16,"d");p.h=q._durfbox_series(f[1],16,"h");p.i=q._durfbox_series(f[2],20,"i");p.s=q._durfbox_series(f[3],20,"s");for(l=0;l",{"class":"ui-body-"+h}).html(""+p[k][g][0]+"").appendTo(r.find("ul"))}r.appendTo(b)}a("",{"class":j+"flipcenter ui-overlay-shadow"}).css("pointerEvents","none").appendTo(q.d.intHTML);if(e.useSetButton||e.useClearButton){l=a("
",{"class":j+"controls"});if(e.useSetButton){a('
'+q.__("setDurationButtonLabel")+"").appendTo(l).buttonMarkup({theme:e.theme,icon:"check",iconpos:"left",corners:true,shadow:true}).on(e.clickEventAlt,function(i){i.preventDefault();q.d.input.trigger("datebox",{method:"set",value:q._formatter(q.__fmt(),q.theDate),date:q.theDate});q.d.input.trigger("datebox",{method:"close"})})}if(e.useClearButton){a('
'+q.__("clearButton")+"").appendTo(l).buttonMarkup({theme:e.theme,icon:"delete",iconpos:"left",corners:true,shadow:true}).on(e.clickEventAlt,function(i){i.preventDefault();q.d.input.val("");q.d.input.trigger("datebox",{method:"clear"});q.d.input.trigger("datebox",{method:"close"})})}if(e.useCollapsedBut){l.addClass("ui-datebox-collapse")}l.appendTo(q.d.intHTML)}if(q.wheelExists){q.d.intHTML.on("mousewheel",".ui-overlay-shadow",function(i,o){i.preventDefault();q._offset(a(this).data("field"),((o<0)?-1:1)*a(this).data("amount"))})}q.d.intHTML.on(q.drag.eStart,"ul",function(o,i){if(!q.drag.move){if(typeof i!=="undefined"){o=i}q.drag.move=true;q.drag.target=a(this).find("li").first();q.drag.pos=parseInt(q.drag.target.css("marginTop").replace(/px/i,""),10);q.drag.start=q.touch?o.originalEvent.changedTouches[0].pageY:o.pageY;q.drag.end=false;o.stopPropagation();o.preventDefault()}});q.d.intHTML.on(q.drag.eStart,"."+j+"flipcenter",function(i){if(!q.drag.move){q.drag.target=q.touch?i.originalEvent.changedTouches[0].pageX-a(i.currentTarget).offset().left:i.pageX-a(i.currentTarget).offset().left;q.drag.tmp=q.d.intHTML.find("."+j+"flipcenter").innerWidth()/((a.inArray("a",q.fldOrder)>-1&&q.__("timeFormat")!==12)?q.fldOrder.length-1:q.fldOrder.length);a(q.d.intHTML.find("ul").get(parseInt(q.drag.target/q.drag.tmp,10))).trigger(q.drag.eStart,i)}})}});a.extend(a.mobile.datebox.prototype._drag,{durationflipbox:function(){var b=this,d=this.options,c=this.drag;a(document).on(c.eMove,function(f){if(c.move&&d.mode==="durationflipbox"){c.end=b.touch?f.originalEvent.changedTouches[0].pageY:f.pageY;c.target.css("marginTop",(c.pos+c.end-c.start)+"px");f.preventDefault();f.stopPropagation();return false}});a(document).on(c.eEnd,function(f){if(c.move&&d.mode==="durationflipbox"){c.move=false;if(c.end!==false){f.preventDefault();f.stopPropagation();c.tmp=c.target.parent().parent();b._offset(c.tmp.data("field"),(parseInt((c.start-c.end)/c.target.innerHeight(),10)*c.tmp.data("amount")*-1))}c.start=false;c.end=false}})}})})(jQuery);