7eb17a91c9
These files have no route in mvc, so only cause 404 errors in browser dev tools.
4 lines
37 KiB
JavaScript
4 lines
37 KiB
JavaScript
/*! jQuery Timepicker Addon - v1.4.3 - 2013-11-30
|
|
* http://trentrichardson.com/examples/timepicker
|
|
* Copyright (c) 2013 Trent Richardson; Licensed MIT */
|
|
(function($){var Timepicker;if($.ui.timepicker=$.ui.timepicker||{},!$.ui.timepicker.version){$.extend($.ui,{timepicker:{version:"1.4.3"}});Timepicker=function(){this.regional=[];this.regional[""]={currentText:"Now",closeText:"Done",amNames:["AM","A"],pmNames:["PM","P"],timeFormat:"HH:mm",timeSuffix:"",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second",millisecText:"Millisecond",microsecText:"Microsecond",timezoneText:"Time Zone",isRTL:!1};this._defaults={showButtonPanel:!0,timeOnly:!1,showHour:null,showMinute:null,showSecond:null,showMillisec:null,showMicrosec:null,showTimezone:null,showTime:!0,stepHour:1,stepMinute:1,stepSecond:1,stepMillisec:1,stepMicrosec:1,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMin:0,minuteMin:0,secondMin:0,millisecMin:0,microsecMin:0,hourMax:23,minuteMax:59,secondMax:59,millisecMax:999,microsecMax:999,minDateTime:null,maxDateTime:null,onSelect:null,hourGrid:0,minuteGrid:0,secondGrid:0,millisecGrid:0,microsecGrid:0,alwaysSetTime:!0,separator:" ",altFieldTimeOnly:!0,altTimeFormat:null,altSeparator:null,altTimeSuffix:null,pickerTimeFormat:null,pickerTimeSuffix:null,showTimepicker:!0,timezoneList:null,addSliderAccess:!1,sliderAccessArgs:null,controlType:"slider",defaultValue:null,parse:"strict"};$.extend(this._defaults,this.regional[""])};$.extend(Timepicker.prototype,{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,millisec_slider:null,microsec_slider:null,timezone_select:null,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMinOriginal:null,minuteMinOriginal:null,secondMinOriginal:null,millisecMinOriginal:null,microsecMinOriginal:null,hourMaxOriginal:null,minuteMaxOriginal:null,secondMaxOriginal:null,millisecMaxOriginal:null,microsecMaxOriginal:null,ampm:"",formattedDate:"",formattedTime:"",formattedDateTime:"",timezoneList:null,units:["hour","minute","second","millisec","microsec"],support:{},control:null,setDefaults:function(t){return n(this._defaults,t||{}),this},_newInst:function($input,opts){var tp_inst=new Timepicker,inlineSettings={},fns={},overrides,i,attrName,attrValue,timezoneList;for(attrName in this._defaults)if(this._defaults.hasOwnProperty(attrName)&&(attrValue=$input.attr("time:"+attrName),attrValue))try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}overrides={beforeShow:function(n,t){if($.isFunction(tp_inst._defaults.evnts.beforeShow))return tp_inst._defaults.evnts.beforeShow.call($input[0],n,t,tp_inst)},onChangeMonthYear:function(n,t,i){tp_inst._updateDateTime(i);$.isFunction(tp_inst._defaults.evnts.onChangeMonthYear)&&tp_inst._defaults.evnts.onChangeMonthYear.call($input[0],n,t,i,tp_inst)},onClose:function(n,t){tp_inst.timeDefined===!0&&$input.val()!==""&&tp_inst._updateDateTime(t);$.isFunction(tp_inst._defaults.evnts.onClose)&&tp_inst._defaults.evnts.onClose.call($input[0],n,t,tp_inst)}};for(i in overrides)overrides.hasOwnProperty(i)&&(fns[i]=opts[i]||null);tp_inst._defaults=$.extend({},this._defaults,inlineSettings,opts,overrides,{evnts:fns,timepicker:tp_inst});tp_inst.amNames=$.map(tp_inst._defaults.amNames,function(n){return n.toUpperCase()});tp_inst.pmNames=$.map(tp_inst._defaults.pmNames,function(n){return n.toUpperCase()});tp_inst.support=detectSupport(tp_inst._defaults.timeFormat+(tp_inst._defaults.pickerTimeFormat?tp_inst._defaults.pickerTimeFormat:"")+(tp_inst._defaults.altTimeFormat?tp_inst._defaults.altTimeFormat:""));typeof tp_inst._defaults.controlType=="string"?(tp_inst._defaults.controlType==="slider"&&typeof $.ui.slider=="undefined"&&(tp_inst._defaults.controlType="select"),tp_inst.control=tp_inst._controls[tp_inst._defaults.controlType]):tp_inst.control=tp_inst._defaults.controlType;timezoneList=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,660,690,720,765,780,840];tp_inst._defaults.timezoneList!==null&&(timezoneList=tp_inst._defaults.timezoneList);var tzl=timezoneList.length,tzi=0,tzv=null;if(tzl>0&&typeof timezoneList[0]!="object")for(;tzi<tzl;tzi++)tzv=timezoneList[tzi],timezoneList[tzi]={value:tzv,label:$.timepicker.timezoneOffsetString(tzv,tp_inst.support.iso8601)};return tp_inst._defaults.timezoneList=timezoneList,tp_inst.timezone=tp_inst._defaults.timezone!==null?$.timepicker.timezoneOffsetNumber(tp_inst._defaults.timezone):(new Date).getTimezoneOffset()*-1,tp_inst.hour=tp_inst._defaults.hour<tp_inst._defaults.hourMin?tp_inst._defaults.hourMin:tp_inst._defaults.hour>tp_inst._defaults.hourMax?tp_inst._defaults.hourMax:tp_inst._defaults.hour,tp_inst.minute=tp_inst._defaults.minute<tp_inst._defaults.minuteMin?tp_inst._defaults.minuteMin:tp_inst._defaults.minute>tp_inst._defaults.minuteMax?tp_inst._defaults.minuteMax:tp_inst._defaults.minute,tp_inst.second=tp_inst._defaults.second<tp_inst._defaults.secondMin?tp_inst._defaults.secondMin:tp_inst._defaults.second>tp_inst._defaults.secondMax?tp_inst._defaults.secondMax:tp_inst._defaults.second,tp_inst.millisec=tp_inst._defaults.millisec<tp_inst._defaults.millisecMin?tp_inst._defaults.millisecMin:tp_inst._defaults.millisec>tp_inst._defaults.millisecMax?tp_inst._defaults.millisecMax:tp_inst._defaults.millisec,tp_inst.microsec=tp_inst._defaults.microsec<tp_inst._defaults.microsecMin?tp_inst._defaults.microsecMin:tp_inst._defaults.microsec>tp_inst._defaults.microsecMax?tp_inst._defaults.microsecMax:tp_inst._defaults.microsec,tp_inst.ampm="",tp_inst.$input=$input,tp_inst._defaults.altField&&(tp_inst.$altInput=$(tp_inst._defaults.altField).css({cursor:"pointer"}).focus(function(){$input.trigger("focus")})),(tp_inst._defaults.minDate===0||tp_inst._defaults.minDateTime===0)&&(tp_inst._defaults.minDate=new Date),(tp_inst._defaults.maxDate===0||tp_inst._defaults.maxDateTime===0)&&(tp_inst._defaults.maxDate=new Date),tp_inst._defaults.minDate!==undefined&&tp_inst._defaults.minDate instanceof Date&&(tp_inst._defaults.minDateTime=new Date(tp_inst._defaults.minDate.getTime())),tp_inst._defaults.minDateTime!==undefined&&tp_inst._defaults.minDateTime instanceof Date&&(tp_inst._defaults.minDate=new Date(tp_inst._defaults.minDateTime.getTime())),tp_inst._defaults.maxDate!==undefined&&tp_inst._defaults.maxDate instanceof Date&&(tp_inst._defaults.maxDateTime=new Date(tp_inst._defaults.maxDate.getTime())),tp_inst._defaults.maxDateTime!==undefined&&tp_inst._defaults.maxDateTime instanceof Date&&(tp_inst._defaults.maxDate=new Date(tp_inst._defaults.maxDateTime.getTime())),tp_inst.$input.bind("focus",function(){tp_inst._onFocus()}),tp_inst},_addTimePicker:function(n){var t=this.$altInput&&this._defaults.altFieldTimeOnly?this.$input.val()+" "+this.$altInput.val():this.$input.val();this.timeDefined=this._parseTime(t);this._limitMinMaxDateTime(n,!1);this._injectTimePicker()},_parseTime:function(n,t){var i,r,f;if(this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),t||!this._defaults.timeOnly){i=$.datepicker._get(this.inst,"dateFormat");try{if(r=u(i,this._defaults.timeFormat,n,$.datepicker._getFormatConfig(this.inst),this._defaults),!r.timeObj)return!1;$.extend(this,r.timeObj)}catch(e){return $.timepicker.log("Error parsing the date/time string: "+e+"\ndate/time string = "+n+"\ntimeFormat = "+this._defaults.timeFormat+"\ndateFormat = "+i),!1}return!0}return(f=$.datepicker.parseTime(this._defaults.timeFormat,n,this._defaults),!f)?!1:($.extend(this,f),!0)},_injectTimePicker:function(){var v=this.inst.dpDiv,i=this.inst.settings,r=this,n="",e="",c=null,l={},s={},y=null,o=0,p=0,h,f,w,nt,a,k,u,tt,d,it,g,b;if(v.find("div.ui-timepicker-div").length===0&&i.showTimepicker){for(h=' style="display:none;"',f='<div class="ui-timepicker-div'+(i.isRTL?" ui-timepicker-rtl":"")+'"><dl><dt class="ui_tpicker_time_label"'+(i.showTime?"":h)+">"+i.timeText+'<\/dt><dd class="ui_tpicker_time"'+(i.showTime?"":h)+"><\/dd>",o=0,p=this.units.length;o<p;o++){if(n=this.units[o],e=n.substr(0,1).toUpperCase()+n.substr(1),c=i["show"+e]!==null?i["show"+e]:this.support[n],l[n]=parseInt(i[n+"Max"]-(i[n+"Max"]-i[n+"Min"])%i["step"+e],10),s[n]=0,f+='<dt class="ui_tpicker_'+n+'_label"'+(c?"":h)+">"+i[n+"Text"]+'<\/dt><dd class="ui_tpicker_'+n+'"><div class="ui_tpicker_'+n+'_slider"'+(c?"":h)+"><\/div>",c&&i[n+"Grid"]>0){if(f+='<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>',n==="hour")for(w=i[n+"Min"];w<=l[n];w+=parseInt(i[n+"Grid"],10))s[n]++,nt=$.datepicker.formatTime(this.support.ampm?"hht":"HH",{hour:w},i),f+='<td data-for="'+n+'">'+nt+"<\/td>";else for(a=i[n+"Min"];a<=l[n];a+=parseInt(i[n+"Grid"],10))s[n]++,f+='<td data-for="'+n+'">'+(a<10?"0":"")+a+"<\/td>";f+="<\/tr><\/table><\/div>"}f+="<\/dd>"}for(k=i.showTimezone!==null?i.showTimezone:this.support.timezone,f+='<dt class="ui_tpicker_timezone_label"'+(k?"":h)+">"+i.timezoneText+"<\/dt>",f+='<dd class="ui_tpicker_timezone" '+(k?"":h)+"><\/dd>",f+="<\/dl><\/div>",u=$(f),i.timeOnly===!0&&(u.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">'+i.timeOnlyTitle+"<\/div><\/div>"),v.find(".ui-datepicker-header, .ui-datepicker-calendar").hide()),o=0,p=r.units.length;o<p;o++)n=r.units[o],e=n.substr(0,1).toUpperCase()+n.substr(1),c=i["show"+e]!==null?i["show"+e]:this.support[n],r[n+"_slider"]=r.control.create(r,u.find(".ui_tpicker_"+n+"_slider"),n,r[n],i[n+"Min"],l[n],i["step"+e]),c&&i[n+"Grid"]>0&&(y=100*s[n]*i[n+"Grid"]/(l[n]-i[n+"Min"]),u.find(".ui_tpicker_"+n+" table").css({width:y+"%",marginLeft:i.isRTL?"0":y/(-2*s[n])+"%",marginRight:i.isRTL?y/(-2*s[n])+"%":"0",borderCollapse:"collapse"}).find("td").click(function(){var i=$(this),u=i.html(),t=parseInt(u.replace(/[^0-9]/g),10),f=u.replace(/[^apm]/ig),e=i.data("for");e==="hour"&&(f.indexOf("p")!==-1&&t<12?t+=12:f.indexOf("a")!==-1&&t===12&&(t=0));r.control.value(r,r[e+"_slider"],n,t);r._onTimeChange();r._onSelectHandler()}).css({cursor:"pointer",width:100/s[n]+"%",textAlign:"center",overflow:"hidden"}));this.timezone_select=u.find(".ui_tpicker_timezone").append("<select><\/select>").find("select");$.fn.append.apply(this.timezone_select,$.map(i.timezoneList,function(n){return $("<option />").val(typeof n=="object"?n.value:n).text(typeof n=="object"?n.label:n)}));typeof this.timezone!="undefined"&&this.timezone!==null&&this.timezone!==""?(tt=new Date(this.inst.selectedYear,this.inst.selectedMonth,this.inst.selectedDay,12).getTimezoneOffset()*-1,tt===this.timezone?t(r):this.timezone_select.val(this.timezone)):typeof this.hour!="undefined"&&this.hour!==null&&this.hour!==""?this.timezone_select.val(i.timezone):t(r);this.timezone_select.change(function(){r._onTimeChange();r._onSelectHandler()});d=v.find(".ui-datepicker-buttonpane");d.length?d.before(u):v.append(u);this.$timeObj=u.find(".ui_tpicker_time");this.inst!==null&&(it=this.timeDefined,this._onTimeChange(),this.timeDefined=it);this._defaults.addSliderAccess&&(g=this._defaults.sliderAccessArgs,b=this._defaults.isRTL,g.isRTL=b,setTimeout(function(){if(u.find(".ui-slider-access").length===0){u.find(".ui-slider:visible").sliderAccess(g);var n=u.find(".ui-slider-access:eq(0)").outerWidth(!0);n&&u.find("table:visible").each(function(){var t=$(this),i=t.outerWidth(),f=t.css(b?"marginRight":"marginLeft").toString().replace("%",""),r=i-n,e=f*r/i+"%",u={width:r,marginRight:0,marginLeft:0};u[b?"marginRight":"marginLeft"]=e;t.css(u)})}},10));r._limitMinMaxDateTime(this.inst,!0)}},_limitMinMaxDateTime:function(n,t){var i=this._defaults,f=new Date(n.selectedYear,n.selectedMonth,n.selectedDay),r,e,u,o;if(this._defaults.showTimepicker&&($.datepicker._get(n,"minDateTime")!==null&&$.datepicker._get(n,"minDateTime")!==undefined&&f&&(r=$.datepicker._get(n,"minDateTime"),e=new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0,0),(this.hourMinOriginal===null||this.minuteMinOriginal===null||this.secondMinOriginal===null||this.millisecMinOriginal===null||this.microsecMinOriginal===null)&&(this.hourMinOriginal=i.hourMin,this.minuteMinOriginal=i.minuteMin,this.secondMinOriginal=i.secondMin,this.millisecMinOriginal=i.millisecMin,this.microsecMinOriginal=i.microsecMin),n.settings.timeOnly||e.getTime()===f.getTime()?(this._defaults.hourMin=r.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=r.getMinutes(),this.minute<=this._defaults.minuteMin?(this.minute=this._defaults.minuteMin,this._defaults.secondMin=r.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=r.getMilliseconds(),this.millisec<=this._defaults.millisecMin?(this.millisec=this._defaults.millisecMin,this._defaults.microsecMin=r.getMicroseconds()):(this.microsec<this._defaults.microsecMin&&(this.microsec=this._defaults.microsecMin),this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.hourMin=this.hourMinOriginal,this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)),$.datepicker._get(n,"maxDateTime")!==null&&$.datepicker._get(n,"maxDateTime")!==undefined&&f&&(u=$.datepicker._get(n,"maxDateTime"),o=new Date(u.getFullYear(),u.getMonth(),u.getDate(),0,0,0,0),(this.hourMaxOriginal===null||this.minuteMaxOriginal===null||this.secondMaxOriginal===null||this.millisecMaxOriginal===null)&&(this.hourMaxOriginal=i.hourMax,this.minuteMaxOriginal=i.minuteMax,this.secondMaxOriginal=i.secondMax,this.millisecMaxOriginal=i.millisecMax,this.microsecMaxOriginal=i.microsecMax),n.settings.timeOnly||o.getTime()===f.getTime()?(this._defaults.hourMax=u.getHours(),this.hour>=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=u.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,this._defaults.secondMax=u.getSeconds(),this.second>=this._defaults.secondMax?(this.second=this._defaults.secondMax,this._defaults.millisecMax=u.getMilliseconds(),this.millisec>=this._defaults.millisecMax?(this.millisec=this._defaults.millisecMax,this._defaults.microsecMax=u.getMicroseconds()):(this.microsec>this._defaults.microsecMax&&(this.microsec=this._defaults.microsecMax),this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)),t!==undefined&&t===!0)){var s=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),h=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),c=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,10),l=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),a=parseInt(this._defaults.microsecMax-(this._defaults.microsecMax-this._defaults.microsecMin)%this._defaults.stepMicrosec,10);this.hour_slider&&(this.control.options(this,this.hour_slider,"hour",{min:this._defaults.hourMin,max:s}),this.control.value(this,this.hour_slider,"hour",this.hour-this.hour%this._defaults.stepHour));this.minute_slider&&(this.control.options(this,this.minute_slider,"minute",{min:this._defaults.minuteMin,max:h}),this.control.value(this,this.minute_slider,"minute",this.minute-this.minute%this._defaults.stepMinute));this.second_slider&&(this.control.options(this,this.second_slider,"second",{min:this._defaults.secondMin,max:c}),this.control.value(this,this.second_slider,"second",this.second-this.second%this._defaults.stepSecond));this.millisec_slider&&(this.control.options(this,this.millisec_slider,"millisec",{min:this._defaults.millisecMin,max:l}),this.control.value(this,this.millisec_slider,"millisec",this.millisec-this.millisec%this._defaults.stepMillisec));this.microsec_slider&&(this.control.options(this,this.microsec_slider,"microsec",{min:this._defaults.microsecMin,max:a}),this.control.value(this,this.microsec_slider,"microsec",this.microsec-this.microsec%this._defaults.stepMicrosec))}},_onTimeChange:function(){var c,o;if(this._defaults.showTimepicker){var n=this.hour_slider?this.control.value(this,this.hour_slider,"hour"):!1,i=this.minute_slider?this.control.value(this,this.minute_slider,"minute"):!1,r=this.second_slider?this.control.value(this,this.second_slider,"second"):!1,u=this.millisec_slider?this.control.value(this,this.millisec_slider,"millisec"):!1,f=this.microsec_slider?this.control.value(this,this.microsec_slider,"microsec"):!1,e=this.timezone_select?this.timezone_select.val():!1,t=this._defaults,s=t.pickerTimeFormat||t.timeFormat,h=t.pickerTimeSuffix||t.timeSuffix;typeof n=="object"&&(n=!1);typeof i=="object"&&(i=!1);typeof r=="object"&&(r=!1);typeof u=="object"&&(u=!1);typeof f=="object"&&(f=!1);typeof e=="object"&&(e=!1);n!==!1&&(n=parseInt(n,10));i!==!1&&(i=parseInt(i,10));r!==!1&&(r=parseInt(r,10));u!==!1&&(u=parseInt(u,10));f!==!1&&(f=parseInt(f,10));e!==!1&&(e=e.toString());c=t[n<12?"amNames":"pmNames"][0];o=n!==parseInt(this.hour,10)||i!==parseInt(this.minute,10)||r!==parseInt(this.second,10)||u!==parseInt(this.millisec,10)||f!==parseInt(this.microsec,10)||this.ampm.length>0&&n<12!=($.inArray(this.ampm.toUpperCase(),this.amNames)!==-1)||this.timezone!==null&&e!==this.timezone.toString();o&&(n!==!1&&(this.hour=n),i!==!1&&(this.minute=i),r!==!1&&(this.second=r),u!==!1&&(this.millisec=u),f!==!1&&(this.microsec=f),e!==!1&&(this.timezone=e),this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0));this.support.ampm&&(this.ampm=c);this.formattedTime=$.datepicker.formatTime(t.timeFormat,this,t);this.$timeObj&&(s===t.timeFormat?this.$timeObj.text(this.formattedTime+h):this.$timeObj.text($.datepicker.formatTime(s,this,t)+h));this.timeDefined=!0;o&&(this._updateDateTime(),this.$input.focus())}},_onSelectHandler:function(){var n=this._defaults.onSelect||this.inst.settings.onSelect,t=this.$input?this.$input[0]:null;n&&t&&n.apply(t,[this.formattedDateTime,this])},_updateDateTime:function(n){var t;n=this.inst||n;var e=n.currentYear>0?new Date(n.currentYear,n.currentMonth,n.currentDay):new Date(n.selectedYear,n.selectedMonth,n.selectedDay),i=$.datepicker._daylightSavingAdjust(e),o=$.datepicker._get(n,"dateFormat"),u=$.datepicker._getFormatConfig(n),s=i!==null&&this.timeDefined;if(this.formattedDate=$.datepicker.formatDate(o,i===null?new Date:i,u),t=this.formattedDate,n.lastVal===""&&(n.currentYear=n.selectedYear,n.currentMonth=n.selectedMonth,n.currentDay=n.selectedDay),this._defaults.timeOnly===!0?t=this.formattedTime:this._defaults.timeOnly!==!0&&(this._defaults.alwaysSetTime||s)&&(t+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix),this.formattedDateTime=t,this._defaults.showTimepicker)if(this.$altInput&&this._defaults.timeOnly===!1&&this._defaults.altFieldTimeOnly===!0)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);else if(this.$altInput){this.$input.val(t);var r="",h=this._defaults.altSeparator?this._defaults.altSeparator:this._defaults.separator,f=this._defaults.altTimeSuffix?this._defaults.altTimeSuffix:this._defaults.timeSuffix;this._defaults.timeOnly||(r=this._defaults.altFormat?$.datepicker.formatDate(this._defaults.altFormat,i===null?new Date:i,u):this.formattedDate,r&&(r+=h));r+=this._defaults.altTimeFormat?$.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+f:this.formattedTime+f;this.$altInput.val(r)}else this.$input.val(t);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 n=$.datepicker._getInst(this.$input.get(0)),t=$.datepicker._get(n,"timepicker");if(t&&t._defaults.timeOnly&&n.input.val()!==n.lastVal)try{$.datepicker._updateDatepicker(n)}catch(i){$.timepicker.log(i)}}},_controls:{slider:{create:function(n,t,i,r,u,f,e){var o=n._defaults.isRTL;return t.prop("slide",null).slider({orientation:"horizontal",value:o?r*-1:r,min:o?f*-1:u,max:o?u*-1:f,step:e,slide:function(t,r){n.control.value(n,$(this),i,o?r.value*-1:r.value);n._onTimeChange()},stop:function(){n._onSelectHandler()}})},options:function(n,t,i,r,u){if(n._defaults.isRTL){if(typeof r=="string")return r==="min"||r==="max"?u!==undefined?t.slider(r,u*-1):Math.abs(t.slider(r)):t.slider(r);var f=r.min,e=r.max;return r.min=r.max=null,f!==undefined&&(r.max=f*-1),e!==undefined&&(r.min=e*-1),t.slider(r)}return typeof r=="string"&&u!==undefined?t.slider(r,u):t.slider(r)},value:function(n,t,i,r){return n._defaults.isRTL?r!==undefined?t.slider("value",r*-1):Math.abs(t.slider("value")):r!==undefined?t.slider("value",r):t.slider("value")}},select:{create:function(n,t,i,r,u,f,e){for(var s='<select class="ui-timepicker-select" data-unit="'+i+'" data-min="'+u+'" data-max="'+f+'" data-step="'+e+'">',h=n._defaults.pickerTimeFormat||n._defaults.timeFormat,o=u;o<=f;o+=e)s+='<option value="'+o+'"'+(o===r?" selected":"")+">",s+=i==="hour"?$.datepicker.formatTime($.trim(h.replace(/[^ht ]/ig,"")),{hour:o},n._defaults):i==="millisec"||i==="microsec"||o>=10?o:"0"+o.toString(),s+="<\/option>";return s+="<\/select>",t.children("select").remove(),$(s).appendTo(t).change(function(){n._onTimeChange();n._onSelectHandler()}),t},options:function(n,t,i,r,u){var e={},f=t.children("select");if(typeof r=="string"){if(u===undefined)return f.data(r);e[r]=u}else e=r;return n.control.create(n,t,f.data("unit"),f.val(),e.min||f.data("min"),e.max||f.data("max"),e.step||f.data("step"))},value:function(n,t,i,r){var u=t.children("select");return r!==undefined?u.val(r):u.val()}}}});$.fn.extend({timepicker:function(n){n=n||{};var t=Array.prototype.slice.call(arguments);return typeof n=="object"&&(t[0]=$.extend(n,{timeOnly:!0})),$(this).each(function(){$.fn.datetimepicker.apply($(this),t)})},datetimepicker:function(n){n=n||{};var t=arguments;return typeof n=="string"?n==="getDate"?$.fn.datepicker.apply($(this[0]),t):this.each(function(){var n=$(this);n.datepicker.apply(n,t)}):this.each(function(){var t=$(this);t.datepicker($.timepicker._newInst(t,n)._defaults)})}});$.datepicker.parseDateTime=function(n,t,i,r,f){var o=u(n,t,i,r,f),e;return o.timeObj&&(e=o.timeObj,o.date.setHours(e.hour,e.minute,e.second,e.millisec),o.date.setMicroseconds(e.microsec)),o.date};$.datepicker.parseTime=function(t,i,r){var u=n(n({},$.timepicker._defaults),r||{}),o=t.replace(/\'.*?\'/g,"").indexOf("Z")!==-1,f=function(n,t,i){var o=function(n,t){var i=[];return n&&$.merge(i,n),t&&$.merge(i,t),i=$.map(i,function(n){return n.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")}),"("+i.join("|")+")?"},s=function(n){var i=n.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|c{1}|t{1,2}|z|'.*?')/g),r={h:-1,m:-1,s:-1,l:-1,c:-1,t:-1,z:-1},t;if(i)for(t=0;t<i.length;t++)r[i[t].toString().charAt(0)]===-1&&(r[i[t].toString().charAt(0)]=t+1);return r},h="^"+n.toString().replace(/([hH]{1,2}|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(n){var t=n.length;switch(n.charAt(0).toLowerCase()){case"h":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"m":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"s":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"l":return"(\\d?\\d?\\d)";case"c":return"(\\d?\\d?\\d)";case"z":return"(z|[-+]\\d\\d:?\\d\\d|\\S+)?";case"t":return o(i.amNames,i.pmNames);default:return"("+n.replace(/\'/g,"").replace(/(\.|\$|\^|\\|\/|\(|\)|\[|\]|\?|\+|\*)/g,function(n){return"\\"+n})+")?"}}).replace(/\s/g,"\\s?")+i.timeSuffix+"$",r=s(n),e="",u,f;return(u=t.match(new RegExp(h,"i")),f={hour:0,minute:0,second:0,millisec:0,microsec:0},u)?(r.t!==-1&&(u[r.t]===undefined||u[r.t].length===0?(e="",f.ampm=""):(e=$.inArray(u[r.t].toUpperCase(),i.amNames)!==-1?"AM":"PM",f.ampm=i[e==="AM"?"amNames":"pmNames"][0])),r.h!==-1&&(f.hour=e==="AM"&&u[r.h]==="12"?0:e==="PM"&&u[r.h]!=="12"?parseInt(u[r.h],10)+12:Number(u[r.h])),r.m!==-1&&(f.minute=Number(u[r.m])),r.s!==-1&&(f.second=Number(u[r.s])),r.l!==-1&&(f.millisec=Number(u[r.l])),r.c!==-1&&(f.microsec=Number(u[r.c])),r.z!==-1&&u[r.z]!==undefined&&(f.timezone=$.timepicker.timezoneOffsetNumber(u[r.z])),f):!1},e=function(n,t,i){try{var r=new Date("2012-01-01 "+t);if(isNaN(r.getTime())&&(r=new Date("2012-01-01T"+t),isNaN(r.getTime())&&(r=new Date("01/01/2012 "+t),isNaN(r.getTime()))))throw"Unable to parse time with native Date: "+t;return{hour:r.getHours(),minute:r.getMinutes(),second:r.getSeconds(),millisec:r.getMilliseconds(),microsec:r.getMicroseconds(),timezone:r.getTimezoneOffset()*-1}}catch(u){try{return f(n,t,i)}catch(e){$.timepicker.log("Unable to parse \ntimeString: "+t+"\ntimeFormat: "+n)}}return!1};return typeof u.parse=="function"?u.parse(t,i,u):u.parse==="loose"?e(t,i,u):f(t,i,u)};$.datepicker.formatTime=function(n,t,r){r=r||{};r=$.extend({},$.timepicker._defaults,r);t=$.extend({hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null},t);var e=n,u=r.amNames[0],f=parseInt(t.hour,10);return f>11&&(u=r.pmNames[0]),e.replace(/(?:HH?|hh?|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(n){switch(n){case"HH":return("0"+f).slice(-2);case"H":return f;case"hh":return("0"+i(f)).slice(-2);case"h":return i(f);case"mm":return("0"+t.minute).slice(-2);case"m":return t.minute;case"ss":return("0"+t.second).slice(-2);case"s":return t.second;case"l":return("00"+t.millisec).slice(-3);case"c":return("00"+t.microsec).slice(-3);case"z":return $.timepicker.timezoneOffsetString(t.timezone===null?r.timezone:t.timezone,!1);case"Z":return $.timepicker.timezoneOffsetString(t.timezone===null?r.timezone:t.timezone,!0);case"T":return u.charAt(0).toUpperCase();case"TT":return u.toUpperCase();case"t":return u.charAt(0).toLowerCase();case"tt":return u.toLowerCase();default:return n.replace(/'/g,"")}})};$.datepicker._base_selectDate=$.datepicker._selectDate;$.datepicker._selectDate=function(n,t){var i=this._getInst($(n)[0]),r=this._get(i,"timepicker");r?(r._limitMinMaxDateTime(i,!0),i.inline=i.stay_open=!0,this._base_selectDate(n,t),i.inline=i.stay_open=!1,this._notifyChange(i),this._updateDatepicker(i)):this._base_selectDate(n,t)};$.datepicker._base_updateDatepicker=$.datepicker._updateDatepicker;$.datepicker._updateDatepicker=function(n){var i=n.input[0],t;$.datepicker._curInst&&$.datepicker._curInst!==n&&$.datepicker._datepickerShowing&&$.datepicker._lastInput!==i||(typeof n.stay_open!="boolean"||n.stay_open===!1)&&(this._base_updateDatepicker(n),t=this._get(n,"timepicker"),t&&t._addTimePicker(n))};$.datepicker._base_doKeyPress=$.datepicker._doKeyPress;$.datepicker._doKeyPress=function(n){var r=$.datepicker._getInst(n.target),t=$.datepicker._get(r,"timepicker");if(t&&$.datepicker._get(r,"constrainInput")){var i=t.support.ampm,e=t._defaults.showTimezone!==null?t._defaults.showTimezone:t.support.timezone,u=$.datepicker._possibleChars($.datepicker._get(r,"dateFormat")),o=t._defaults.timeFormat.toString().replace(/[hms]/g,"").replace(/TT/g,i?"APM":"").replace(/Tt/g,i?"AaPpMm":"").replace(/tT/g,i?"AaPpMm":"").replace(/T/g,i?"AP":"").replace(/tt/g,i?"apm":"").replace(/t/g,i?"ap":"")+" "+t._defaults.separator+t._defaults.timeSuffix+(e?t._defaults.timezoneList.join(""):"")+t._defaults.amNames.join("")+t._defaults.pmNames.join("")+u,f=String.fromCharCode(n.charCode===undefined?n.keyCode:n.charCode);return n.ctrlKey||f<" "||!u||o.indexOf(f)>-1}return $.datepicker._base_doKeyPress(n)};$.datepicker._base_updateAlternate=$.datepicker._updateAlternate;$.datepicker._updateAlternate=function(n){var t=this._get(n,"timepicker"),r;if(t){if(r=t._defaults.altField,r){var h=t._defaults.altFormat||t._defaults.dateFormat,u=this._getDate(n),e=$.datepicker._getFormatConfig(n),i="",f=t._defaults.altSeparator?t._defaults.altSeparator:t._defaults.separator,o=t._defaults.altTimeSuffix?t._defaults.altTimeSuffix:t._defaults.timeSuffix,s=t._defaults.altTimeFormat!==null?t._defaults.altTimeFormat:t._defaults.timeFormat;i+=$.datepicker.formatTime(s,t,t._defaults)+o;t._defaults.timeOnly||t._defaults.altFieldTimeOnly||u===null||(i=t._defaults.altFormat?$.datepicker.formatDate(t._defaults.altFormat,u,e)+f+i:t.formattedDate+f+i);$(r).val(i)}}else $.datepicker._base_updateAlternate(n)};$.datepicker._base_doKeyUp=$.datepicker._doKeyUp;$.datepicker._doKeyUp=function(n){var t=$.datepicker._getInst(n.target),i=$.datepicker._get(t,"timepicker");if(i&&i._defaults.timeOnly&&t.input.val()!==t.lastVal)try{$.datepicker._updateDatepicker(t)}catch(r){$.timepicker.log(r)}return $.datepicker._base_doKeyUp(n)};$.datepicker._base_gotoToday=$.datepicker._gotoToday;$.datepicker._gotoToday=function(n){var i=this._getInst($(n)[0]),f=i.dpDiv,r,u;this._base_gotoToday(n);r=this._get(i,"timepicker");t(r);u=new Date;this._setTime(i,u);$(".ui-datepicker-today",f).click()};$.datepicker._disableTimepickerDatepicker=function(n){var t=this._getInst(n),i;t&&(i=this._get(t,"timepicker"),$(n).datepicker("getDate"),i&&(t.settings.showTimepicker=!1,i._defaults.showTimepicker=!1,i._updateDateTime(t)))};$.datepicker._enableTimepickerDatepicker=function(n){var t=this._getInst(n),i;t&&(i=this._get(t,"timepicker"),$(n).datepicker("getDate"),i&&(t.settings.showTimepicker=!0,i._defaults.showTimepicker=!0,i._addTimePicker(t),i._updateDateTime(t)))};$.datepicker._setTime=function(n,t){var i=this._get(n,"timepicker"),r;i&&(r=i._defaults,i.hour=t?t.getHours():r.hour,i.minute=t?t.getMinutes():r.minute,i.second=t?t.getSeconds():r.second,i.millisec=t?t.getMilliseconds():r.millisec,i.microsec=t?t.getMicroseconds():r.microsec,i._limitMinMaxDateTime(n,!0),i._onTimeChange(),i._updateDateTime(n))};$.datepicker._setTimeDatepicker=function(n,t,i){var f=this._getInst(n),r,u;f&&(r=this._get(f,"timepicker"),r&&(this._setDateFromField(f),t&&(typeof t=="string"?(r._parseTime(t,i),u=new Date,u.setHours(r.hour,r.minute,r.second,r.millisec),u.setMicroseconds(r.microsec)):(u=new Date(t.getTime()),u.setMicroseconds(t.getMicroseconds())),u.toString()==="Invalid Date"&&(u=undefined),this._setTime(f,u))))};$.datepicker._base_setDateDatepicker=$.datepicker._setDateDatepicker;$.datepicker._setDateDatepicker=function(n,t){var u=this._getInst(n),r,i;u&&(typeof t=="string"&&(t=new Date(t),t.getTime()||$.timepicker.log("Error creating Date object from string.")),r=this._get(u,"timepicker"),t instanceof Date?(i=new Date(t.getTime()),i.setMicroseconds(t.getMicroseconds())):i=t,r&&i&&(r.support.timezone||r._defaults.timezone!==null||(r.timezone=i.getTimezoneOffset()*-1),t=$.timepicker.timezoneAdjust(t,r.timezone),i=$.timepicker.timezoneAdjust(i,r.timezone)),this._updateDatepicker(u),this._base_setDateDatepicker.apply(this,arguments),this._setTimeDatepicker(n,i,!0))};$.datepicker._base_getDateDatepicker=$.datepicker._getDateDatepicker;$.datepicker._getDateDatepicker=function(n,t){var u=this._getInst(n),i,r;if(u)return(i=this._get(u,"timepicker"),i)?(u.lastVal===undefined&&this._setDateFromField(u,t),r=this._getDate(u),r&&i._parseTime($(n).val(),i.timeOnly)&&(r.setHours(i.hour,i.minute,i.second,i.millisec),r.setMicroseconds(i.microsec),i.timezone!=null&&(i.support.timezone||i._defaults.timezone!==null||(i.timezone=r.getTimezoneOffset()*-1),r=$.timepicker.timezoneAdjust(r,i.timezone))),r):this._base_getDateDatepicker(n,t)};$.datepicker._base_parseDate=$.datepicker.parseDate;$.datepicker.parseDate=function(n,t,i){var u;try{u=this._base_parseDate(n,t,i)}catch(r){if(r.indexOf(":")>=0)u=this._base_parseDate(n,t.substring(0,t.length-(r.length-r.indexOf(":")-2)),i),$.timepicker.log("Error parsing the date string: "+r+"\ndate string = "+t+"\ndate format = "+n);else throw r;}return u};$.datepicker._base_formatDate=$.datepicker._formatDate;$.datepicker._formatDate=function(n){var t=this._get(n,"timepicker");return t?(t._updateDateTime(n),t.$input.val()):this._base_formatDate(n)};$.datepicker._base_optionDatepicker=$.datepicker._optionDatepicker;$.datepicker._optionDatepicker=function(n,t,i){var a=this._getInst(n),s,o;if(!a)return null;if(o=this._get(a,"timepicker"),o){var u=null,e=null,l=null,h=o._defaults.evnts,c={},r;if(typeof t=="string"){if(t==="minDate"||t==="minDateTime")u=i;else if(t==="maxDate"||t==="maxDateTime")e=i;else if(t==="onSelect")l=i;else if(h.hasOwnProperty(t)){if(typeof i=="undefined")return h[t];c[t]=i;s={}}}else if(typeof t=="object"){t.minDate?u=t.minDate:t.minDateTime?u=t.minDateTime:t.maxDate?e=t.maxDate:t.maxDateTime&&(e=t.maxDateTime);for(r in h)h.hasOwnProperty(r)&&t[r]&&(c[r]=t[r])}for(r in c)c.hasOwnProperty(r)&&(h[r]=c[r],s||(s=$.extend({},t)),delete s[r]);if(s&&f(s))return;u?(u=u===0?new Date:new Date(u),o._defaults.minDate=u,o._defaults.minDateTime=u):e?(e=e===0?new Date:new Date(e),o._defaults.maxDate=e,o._defaults.maxDateTime=e):l&&(o._defaults.onSelect=l)}return i===undefined?this._base_optionDatepicker.call($.datepicker,n,t):this._base_optionDatepicker.call($.datepicker,n,s||t,i)};var f=function(n){for(var t in n)if(n.hasOwnProperty(t))return!1;return!0},n=function(n,t){$.extend(n,t);for(var i in t)(t[i]===null||t[i]===undefined)&&(n[i]=t[i]);return n},detectSupport=function(n){var i=n.replace(/'.*?'/g,"").toLowerCase(),t=function(n,t){return n.indexOf(t)!==-1?!0:!1};return{hour:t(i,"h"),minute:t(i,"m"),second:t(i,"s"),millisec:t(i,"l"),microsec:t(i,"c"),timezone:t(i,"z"),ampm:t(i,"t")&&t(n,"h"),iso8601:t(n,"Z")}},i=function(n){return n%=12,n===0&&(n=12),String(n)},r=function(n,t){return n&&n[t]?n[t]:$.timepicker._defaults[t]},e=function(n,t){var i=r(t,"separator"),o=r(t,"timeFormat"),s=o.split(i),f=s.length,u=n.split(i),e=u.length;return e>1?{dateString:u.splice(0,e-f).join(i),timeString:u.splice(0,f).join(i)}:{dateString:n,timeString:""}},u=function(n,t,i,r,u){var o,f,s;if(f=e(i,u),o=$.datepicker._base_parseDate(n,f.dateString,r),f.timeString==="")return{date:o};if(s=$.datepicker.parseTime(t,f.timeString,u),!s)throw"Wrong time format";return{date:o,timeObj:s}},t=function(n,t){if(n&&n.timezone_select){var i=t||new Date;n.timezone_select.val(-i.getTimezoneOffset())}};$.timepicker=new Timepicker;$.timepicker.timezoneOffsetString=function(n,t){if(isNaN(n)||n>840||n<-720)return n;var i=n,r=i%60,f=(i-r)/60,e=t?":":"",u=(i>=0?"+":"-")+("0"+Math.abs(f)).slice(-2)+e+("0"+Math.abs(r)).slice(-2);return u==="+00:00"?"Z":u};$.timepicker.timezoneOffsetNumber=function(n){var t=n.toString().replace(":","");return t.toUpperCase()==="Z"?0:/^(\-|\+)\d{4}$/.test(t)?(t.substr(0,1)==="-"?-1:1)*(parseInt(t.substr(1,2),10)*60+parseInt(t.substr(3,2),10)):n};$.timepicker.timezoneAdjust=function(n,t){var i=$.timepicker.timezoneOffsetNumber(t);return isNaN(i)||n.setMinutes(n.getMinutes()+-n.getTimezoneOffset()-i),n};$.timepicker.timeRange=function(n,t,i){return $.timepicker.handleRange("timepicker",n,t,i)};$.timepicker.datetimeRange=function(n,t,i){$.timepicker.handleRange("datetimepicker",n,t,i)};$.timepicker.dateRange=function(n,t,i){$.timepicker.handleRange("datepicker",n,t,i)};$.timepicker.handleRange=function(n,t,i,r){function f(u,f){var s=t[n]("getDate"),h=i[n]("getDate"),c=u[n]("getDate"),e,o;s!==null&&(e=new Date(s.getTime()),o=new Date(s.getTime()),e.setMilliseconds(e.getMilliseconds()+r.minInterval),o.setMilliseconds(o.getMilliseconds()+r.maxInterval),r.minInterval>0&&e>h?i[n]("setDate",e):r.maxInterval>0&&o<h?i[n]("setDate",o):s>h&&f[n]("setDate",c))}function u(t,i,u){if(t.val()){var f=t[n].call(t,"getDate");f!==null&&r.minInterval>0&&(u==="minDate"&&f.setMilliseconds(f.getMilliseconds()+r.minInterval),u==="maxDate"&&f.setMilliseconds(f.getMilliseconds()-r.minInterval));f.getTime&&i[n].call(i,"option",u,f)}}return r=$.extend({},{minInterval:0,maxInterval:0,start:{},end:{}},r),$.fn[n].call(t,$.extend({onClose:function(){f($(this),i)},onSelect:function(){u($(this),i,"minDate")}},r,r.start)),$.fn[n].call(i,$.extend({onClose:function(){f($(this),t)},onSelect:function(){u($(this),t,"maxDate")}},r,r.end)),f(t,i),u(t,i,"minDate"),u(i,t,"maxDate"),$([t.get(0),i.get(0)])};$.timepicker.log=function(n){window.console&&window.console.log(n)};$.timepicker._util={_extendRemove:n,_isEmptyObject:f,_convert24to12:i,_detectSupport:detectSupport,_selectLocalTimezone:t,_computeEffectiveSetting:r,_splitDateTime:e,_parseDateTimeInternal:u};Date.prototype.getMicroseconds||(Date.prototype.microseconds=0,Date.prototype.getMicroseconds=function(){return this.microseconds},Date.prototype.setMicroseconds=function(n){return this.setMilliseconds(this.getMilliseconds()+Math.floor(n/1e3)),this.microseconds=n%1e3,this});$.timepicker.version="1.4.3"}})(jQuery); |