(function(d){function q(){this.regional=[];this.regional[""]={currentText:"Now",closeText:"Done",ampm:!1,amNames:["AM","A"],pmNames:["PM","P"],timeFormat:"hh:mm tt",timeSuffix:"",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second",millisecText:"Millisecond",timezoneText:"Time Zone"};this._defaults={showButtonPanel:!0,timeOnly:!1,showHour:!0,showMinute:!0,showSecond:!1,showMillisec:!1,showTimezone:!1,showTime:!0,stepHour:1,stepMinute:1,stepSecond:1,stepMillisec:1,
hour:0,minute:0,second:0,millisec:0,timezone:null,useLocalTimezone:!1,defaultTimezone:"+0000",hourMin:0,minuteMin:0,secondMin:0,millisecMin:0,hourMax:23,minuteMax:59,secondMax:59,millisecMax:999,minDateTime:null,maxDateTime:null,onSelect:null,hourGrid:0,minuteGrid:0,secondGrid:0,millisecGrid:0,alwaysSetTime:!0,separator:" ",altFieldTimeOnly:!0,altSeparator:null,altTimeSuffix:null,showTimepicker:!0,timezoneIso8601:!1,timezoneList:null,addSliderAccess:!1,sliderAccessArgs:null,defaultValue:null};d.extend(this._defaults,
this.regional[""])}function r(b,c){d.extend(b,c);for(var a in c)if(null===c[a]||void 0===c[a])b[a]=c[a];return b}d.ui.timepicker=d.ui.timepicker||{};if(!d.ui.timepicker.version){d.extend(d.ui,{timepicker:{version:"1.0.4"}});d.extend(q.prototype,{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,millisec_slider:null,timezone_select:null,hour:0,minute:0,second:0,millisec:0,timezone:null,defaultTimezone:"+0000",hourMinOriginal:null,minuteMinOriginal:null,
secondMinOriginal:null,millisecMinOriginal:null,hourMaxOriginal:null,minuteMaxOriginal:null,secondMaxOriginal:null,millisecMaxOriginal:null,ampm:"",formattedDate:"",formattedTime:"",formattedDateTime:"",timezoneList:null,units:["hour","minute","second","millisec"],setDefaults:function(b){r(this._defaults,b||{});return this},_newInst:function(b,c){var a=new q,e={},f;for(f in this._defaults)if(this._defaults.hasOwnProperty(f)){var g=b.attr("time:"+f);if(g)try{e[f]=eval(g)}catch(i){e[f]=g}}a._defaults=
d.extend({},this._defaults,e,c,{beforeShow:function(b,e){if(d.isFunction(c.beforeShow))return c.beforeShow(b,e,a)},onChangeMonthYear:function(e,f,g){a._updateDateTime(g);d.isFunction(c.onChangeMonthYear)&&c.onChangeMonthYear.call(b[0],e,f,g,a)},onClose:function(e,f){!0===a.timeDefined&&""!==b.val()&&a._updateDateTime(f);d.isFunction(c.onClose)&&c.onClose.call(b[0],e,f,a)},timepicker:a});a.amNames=d.map(a._defaults.amNames,function(a){return a.toUpperCase()});a.pmNames=d.map(a._defaults.pmNames,function(a){return a.toUpperCase()});
null===a._defaults.timezoneList&&(e="-1200 -1100 -1000 -0930 -0900 -0800 -0700 -0600 -0500 -0430 -0400 -0330 -0300 -0200 -0100 +0000 +0100 +0200 +0300 +0330 +0400 +0430 +0500 +0530 +0545 +0600 +0630 +0700 +0800 +0845 +0900 +0930 +1000 +1030 +1100 +1130 +1200 +1245 +1300 +1400".split(" "),a._defaults.timezoneIso8601&&(e=d.map(e,function(a){return"+0000"==a?"Z":a.substring(0,3)+":"+a.substring(3)})),a._defaults.timezoneList=e);a.timezone=a._defaults.timezone;a.hour=a._defaults.hour;a.minute=a._defaults.minute;
a.second=a._defaults.second;a.millisec=a._defaults.millisec;a.ampm="";a.$input=b;c.altField&&(a.$altInput=d(c.altField).css({cursor:"pointer"}).focus(function(){b.trigger("focus")}));if(0===a._defaults.minDate||0===a._defaults.minDateTime)a._defaults.minDate=new Date;if(0===a._defaults.maxDate||0===a._defaults.maxDateTime)a._defaults.maxDate=new Date;void 0!==a._defaults.minDate&&a._defaults.minDate instanceof Date&&(a._defaults.minDateTime=new Date(a._defaults.minDate.getTime()));void 0!==a._defaults.minDateTime&&
a._defaults.minDateTime instanceof Date&&(a._defaults.minDate=new Date(a._defaults.minDateTime.getTime()));void 0!==a._defaults.maxDate&&a._defaults.maxDate instanceof Date&&(a._defaults.maxDateTime=new Date(a._defaults.maxDate.getTime()));void 0!==a._defaults.maxDateTime&&a._defaults.maxDateTime instanceof Date&&(a._defaults.maxDate=new Date(a._defaults.maxDateTime.getTime()));a.$input.bind("focus",function(){a._onFocus()});return a},_addTimePicker:function(b){var c=this.$altInput&&this._defaults.altFieldTimeOnly?
this.$input.val()+" "+this.$altInput.val():this.$input.val();this.timeDefined=this._parseTime(c);this._limitMinMaxDateTime(b,!1);this._injectTimePicker()},_parseTime:function(b,c){this.inst||(this.inst=d.datepicker._getInst(this.$input[0]));if(c||!this._defaults.timeOnly){var a=d.datepicker._get(this.inst,"dateFormat");try{var e=s(a,this._defaults.timeFormat,b,d.datepicker._getFormatConfig(this.inst),this._defaults);if(!e.timeObj)return!1;d.extend(this,e.timeObj)}catch(f){return!1}}else{a=d.datepicker.parseTime(this._defaults.timeFormat,
b,this._defaults);if(!a)return!1;d.extend(this,a)}return!0},_injectTimePicker:function(){var b=this.inst.dpDiv,c=this.inst.settings,a=this,e="",f="",g={},i={},h=null;if(0===b.find("div.ui-timepicker-div").length&&c.showTimepicker){for(var h='
- "+c.timeText+'
",l=0,m=this.units.length;l"+c[e+"Text"]+'- ";if(c["show"+f]&&0
';if("hour"==e)for(f=c[e+"Min"];f<=g[e];f+=parseInt(c[e+"Grid"],
10)){i[e]++;var k=c.ampm&&12k&&(k="0"+k);c.ampm&&(k=0===f?"12a":12>f?k+"a":k+"p");h+='| '+k+" | "}else for(f=c[e+"Min"];f<=g[e];f+=parseInt(c[e+"Grid"],10))i[e]++,h+=''+(10>f?"0":"")+f+" | ";h+="
"}h+=""}var h=h+('"+c.timezoneText+""),h=h+('"),
j=d(h+"");!0===c.timeOnly&&(j.prepend('"),b.find(".ui-datepicker-header, .ui-datepicker-calendar").hide());this.hour_slider=j.find(".ui_tpicker_hour_slider").prop("slide",null).slider({orientation:"horizontal",value:this.hour,min:c.hourMin,max:g.hour,step:c.stepHour,slide:function(c,b){a.hour_slider.slider("option","value",b.value);a._onTimeChange()},stop:function(){a._onSelectHandler()}});
this.minute_slider=j.find(".ui_tpicker_minute_slider").prop("slide",null).slider({orientation:"horizontal",value:this.minute,min:c.minuteMin,max:g.minute,step:c.stepMinute,slide:function(c,b){a.minute_slider.slider("option","value",b.value);a._onTimeChange()},stop:function(){a._onSelectHandler()}});this.second_slider=j.find(".ui_tpicker_second_slider").prop("slide",null).slider({orientation:"horizontal",value:this.second,min:c.secondMin,max:g.second,step:c.stepSecond,slide:function(c,b){a.second_slider.slider("option",
"value",b.value);a._onTimeChange()},stop:function(){a._onSelectHandler()}});this.millisec_slider=j.find(".ui_tpicker_millisec_slider").prop("slide",null).slider({orientation:"horizontal",value:this.millisec,min:c.millisecMin,max:g.millisec,step:c.stepMillisec,slide:function(c,b){a.millisec_slider.slider("option","value",b.value);a._onTimeChange()},stop:function(){a._onSelectHandler()}});l=0;for(m=a.units.length;l").find("select");d.fn.append.apply(this.timezone_select,d.map(c.timezoneList,function(a){return d("").val("object"==typeof a?a.value:a).text("object"==typeof a?a.label:a)}));"undefined"!=typeof this.timezone&&null!==this.timezone&&""!==this.timezone?d.timepicker.timeZoneOffsetString(new Date(this.inst.selectedYear,this.inst.selectedMonth,this.inst.selectedDay,12))==this.timezone?n(a):this.timezone_select.val(this.timezone):
"undefined"!=typeof this.hour&&null!==this.hour&&""!==this.hour?this.timezone_select.val(c.defaultTimezone):n(a);this.timezone_select.change(function(){a._defaults.useLocalTimezone=!1;a._onTimeChange()});e=b.find(".ui-datepicker-buttonpane");e.length?e.before(j):b.append(j);this.$timeObj=j.find(".ui_tpicker_time");null!==this.inst&&(b=this.timeDefined,this._onTimeChange(),this.timeDefined=b);if(this._defaults.addSliderAccess){var t=this._defaults.sliderAccessArgs;setTimeout(function(){if(0===j.find(".ui-slider-access").length){j.find(".ui-slider:visible").sliderAccess(t);
var a=j.find(".ui-slider-access:eq(0)").outerWidth(!0);a&&j.find("table:visible").each(function(){var b=d(this),c=b.outerWidth(),e=b.css("marginLeft").toString().replace("%",""),f=c-a;b.css({width:f,marginLeft:e*f/c+"%"})})}},10)}}},_limitMinMaxDateTime:function(b,c){var a=this._defaults,e=new Date(b.selectedYear,b.selectedMonth,b.selectedDay);if(this._defaults.showTimepicker){if(null!==d.datepicker._get(b,"minDateTime")&&void 0!==d.datepicker._get(b,"minDateTime")&&e){var f=d.datepicker._get(b,"minDateTime"),
g=new Date(f.getFullYear(),f.getMonth(),f.getDate(),0,0,0,0);if(null===this.hourMinOriginal||null===this.minuteMinOriginal||null===this.secondMinOriginal||null===this.millisecMinOriginal)this.hourMinOriginal=a.hourMin,this.minuteMinOriginal=a.minuteMin,this.secondMinOriginal=a.secondMin,this.millisecMinOriginal=a.millisecMin;b.settings.timeOnly||g.getTime()==e.getTime()?(this._defaults.hourMin=f.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=
f.getMinutes(),this.minute<=this._defaults.minuteMin?(this.minute=this._defaults.minuteMin,this._defaults.secondMin=f.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=f.getMilliseconds()):(this.millisec=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=f.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,
this._defaults.secondMax=f.getSeconds()):this.second>=this._defaults.secondMax?(this.second=this._defaults.secondMax,this._defaults.millisecMax=f.getMilliseconds()):(this.millisec>this._defaults.millisecMax&&(this.millisec=this._defaults.millisecMax),this._defaults.millisecMax=this.millisecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,
this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal)}void 0!==c&&!0===c&&(a=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),e=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),f=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,
10),g=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),this.hour_slider&&this.hour_slider.slider("option",{min:this._defaults.hourMin,max:a}).slider("value",this.hour),this.minute_slider&&this.minute_slider.slider("option",{min:this._defaults.minuteMin,max:e}).slider("value",this.minute),this.second_slider&&this.second_slider.slider("option",{min:this._defaults.secondMin,max:f}).slider("value",this.second),this.millisec_slider&&
this.millisec_slider.slider("option",{min:this._defaults.millisecMin,max:g}).slider("value",this.millisec))}},_onTimeChange:function(){var b=this.hour_slider?this.hour_slider.slider("value"):!1,c=this.minute_slider?this.minute_slider.slider("value"):!1,a=this.second_slider?this.second_slider.slider("value"):!1,e=this.millisec_slider?this.millisec_slider.slider("value"):!1,f=this.timezone_select?this.timezone_select.val():!1,g=this._defaults;"object"==typeof b&&(b=!1);"object"==typeof c&&(c=!1);"object"==
typeof a&&(a=!1);"object"==typeof e&&(e=!1);"object"==typeof f&&(f=!1);!1!==b&&(b=parseInt(b,10));!1!==c&&(c=parseInt(c,10));!1!==a&&(a=parseInt(a,10));!1!==e&&(e=parseInt(e,10));var i=g[12>b?"amNames":"pmNames"][0],h=b!=this.hour||c!=this.minute||a!=this.second||e!=this.millisec||0b!=(-1!==d.inArray(this.ampm.toUpperCase(),this.amNames))||null===this.timezone&&f!=this.defaultTimezone||null!==this.timezone&&f!=this.timezone;h&&(!1!==b&&(this.hour=b),!1!==c&&(this.minute=c),!1!==
a&&(this.second=a),!1!==e&&(this.millisec=e),!1!==f&&(this.timezone=f),this.inst||(this.inst=d.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0));g.ampm&&(this.ampm=i);this.formattedTime=d.datepicker.formatTime(this._defaults.timeFormat,this,this._defaults);this.$timeObj&&this.$timeObj.text(this.formattedTime+g.timeSuffix);this.timeDefined=!0;h&&this._updateDateTime()},_onSelectHandler:function(){var b=this._defaults.onSelect||this.inst.settings.onSelect,c=this.$input?this.$input[0]:
null;b&&c&&b.apply(c,[this.formattedDateTime,this])},_formatTime:function(b,c){var b=b||{hour:this.hour,minute:this.minute,second:this.second,millisec:this.millisec,ampm:this.ampm,timezone:this.timezone},a=(c||this._defaults.timeFormat).toString(),a=d.datepicker.formatTime(a,b,this._defaults);if(arguments.length)return a;this.formattedTime=a},_updateDateTime:function(b){var b=this.inst||b,c=d.datepicker._daylightSavingAdjust(new Date(b.selectedYear,b.selectedMonth,b.selectedDay)),a=d.datepicker._get(b,
"dateFormat"),b=d.datepicker._getFormatConfig(b),e=null!==c&&this.timeDefined,a=this.formattedDate=d.datepicker.formatDate(a,null===c?new Date:c,b);if(!0===this._defaults.timeOnly)a=this.formattedTime;else if(!0!==this._defaults.timeOnly&&(this._defaults.alwaysSetTime||e))a+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix;this.formattedDateTime=a;if(this._defaults.showTimepicker)if(this.$altInput&&!0===this._defaults.altFieldTimeOnly)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);
else if(this.$altInput){this.$input.val(a);var a="",e=this._defaults.altSeparator?this._defaults.altSeparator:this._defaults.separator,f=this._defaults.altTimeSuffix?this._defaults.altTimeSuffix:this._defaults.timeSuffix;(a=this._defaults.altFormat?d.datepicker.formatDate(this._defaults.altFormat,null===c?new Date:c,b):this.formattedDate)&&(a+=e);a=this._defaults.altTimeFormat?a+(d.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+f):a+(this.formattedTime+f);this.$altInput.val(a)}else this.$input.val(a);
else this.$input.val(this.formattedDate);this.$input.trigger("change")},_onFocus:function(){if(!this.$input.val()&&this._defaults.defaultValue){this.$input.val(this._defaults.defaultValue);var b=d.datepicker._getInst(this.$input.get(0)),c=d.datepicker._get(b,"timepicker");if(c&&c._defaults.timeOnly&&b.input.val()!=b.lastVal)try{d.datepicker._updateDatepicker(b)}catch(a){d.datepicker.log(a)}}}});d.fn.extend({timepicker:function(b){var b=b||{},c=Array.prototype.slice.call(arguments);"object"==typeof b&&
(c[0]=d.extend(b,{timeOnly:!0}));return d(this).each(function(){d.fn.datetimepicker.apply(d(this),c)})},datetimepicker:function(b){var b=b||{},c=arguments;return"string"==typeof b?"getDate"==b?d.fn.datepicker.apply(d(this[0]),c):this.each(function(){var a=d(this);a.datepicker.apply(a,c)}):this.each(function(){var a=d(this);a.datepicker(d.timepicker._newInst(a,b)._defaults)})}});d.datepicker.parseDateTime=function(b,c,a,e,d){b=s(b,c,a,e,d);b.timeObj&&(c=b.timeObj,b.date.setHours(c.hour,c.minute,c.second,
c.millisec));return b.date};d.datepicker.parseTime=function(b,c,a){var a=r(r({},d.timepicker._defaults),a||{}),e="^"+b.toString().replace(/h{1,2}/ig,"(\\d?\\d)").replace(/m{1,2}/ig,"(\\d?\\d)").replace(/s{1,2}/ig,"(\\d?\\d)").replace(/l{1}/ig,"(\\d?\\d?\\d)").replace(/t{1,2}/ig,function(a,b){var c=[];a&&d.merge(c,a);b&&d.merge(c,b);c=d.map(c,function(a){return a.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")});return"("+c.join("|")+")?"}(a.amNames,a.pmNames)).replace(/z{1}/ig,"(z|[-+]\\d\\d:?\\d\\d|\\S+)?").replace(/\s/g,
"\\s?")+a.timeSuffix+"$",f=b.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|t{1,2}|z)/g),b={h:-1,m:-1,s:-1,l:-1,t:-1,z:-1};if(f)for(var g=0;ge||!c||-1new Date(a.val())&&d.val(e)}function g(a,c,e){d(a).val()&&(a=d(a)[b].call(d(a),"getDate"),a.getTime&&d(c)[b].call(d(c),"option",e,a))}d.fn[b].call(c,d.extend({onClose:function(b){f(this,
a,b)},onSelect:function(){g(this,a,"minDate")}},e,e.start));d.fn[b].call(a,d.extend({onClose:function(a){f(this,c,a)},onSelect:function(){g(this,c,"maxDate")}},e,e.end));"timepicker"!=b&&e.reformat&&d([c,a]).each(function(){var a=d(this)[b].call(d(this),"option","dateFormat"),c=new Date(d(this).val());d(this).val()&&c&&d(this).val(d.datepicker.formatDate(a,c))});f(c,a,c.val());g(c,a,"minDate");g(a,c,"maxDate");return d([c.get(0),a.get(0)])};d.timepicker.version="1.0.4"}})(jQuery);