(function($){
$.extend($.ui,{timepicker:{version:"0.9.1"}});
function _1(){
this.regional=[];
this.regional[""]={currentText:"Now",closeText:"Done",ampm:false,timeFormat:"hh:mm tt",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second"};
this._defaults={showButtonPanel:true,timeOnly:false,showHour:true,showMinute:true,showSecond:false,showTime:true,stepHour:0.05,stepMinute:0.05,stepSecond:0.05,hour:0,minute:0,second:0,hourMin:0,minuteMin:0,secondMin:0,hourMax:23,minuteMax:59,secondMax:59,hourGrid:0,minuteGrid:0,secondGrid:0,alwaysSetTime:true};
$.extend(this._defaults,this.regional[""]);
};
$.extend(_1.prototype,{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,hour:0,minute:0,second:0,ampm:"",formattedDate:"",formattedTime:"",formattedDateTime:"",setDefaults:function(_2){
_3(this._defaults,_2||{});
return this;
},_newInst:function(_4,o){
var _5=new _1(),_6={};
_5.hour=_5._defaults.hour;
_5.minute=_5._defaults.minute;
_5.second=_5._defaults.second;
_5.ampm="";
_5.$input=_4;
for(var _7 in this._defaults){
var _8=_4.attr("time:"+_7);
if(_8){
try{
_6[_7]=eval(_8);
}
catch(err){
_6[_7]=_8;
}
}
}
_5._defaults=$.extend({},this._defaults,_6,o,{beforeShow:function(_9,_a){
var _b=new Date();
_5.hour=_5._defaults.hour===0?_b.getHours():_5._defaults.hour;
_5.minute=_5._defaults.minute===0?_b.getMinutes():_5._defaults.minute;
_5.second=_5._defaults.second===0?_b.getSeconds():_5._defaults.second;
if(o.altField){
_5.$altInput=$($.datepicker._get(_a,"altField")).css({cursor:"pointer"}).focus(function(){
_4.trigger("focus");
});
}
if($.isFunction(o.beforeShow)){
o.beforeShow(_9,_a);
}
},onChangeMonthYear:function(_c,_d,_e){
_5._updateDateTime(_e);
if($.isFunction(o.onChangeMonthYear)){
o.onChangeMonthYear(_c,_d,_e);
}
},onClose:function(_f,_10){
if(_5.timeDefined===true&&_4.val()!=""){
_5._updateDateTime(_10);
}
if($.isFunction(o.onClose)){
o.onClose(_f,_10);
}
},timepicker:_5});
return _5;
},_addTimePicker:function(){
var _11=(this.$altInput)?this.$input.val()+" "+this.$altInput.val():this.$input.val();
this.timeDefined=this._parseTime(_11);
this._injectTimePicker();
},_parseTime:function(_12,_13){
var _14=this._defaults.timeFormat.toString().replace(/h{1,2}/ig,"(\\d?\\d)").replace(/m{1,2}/ig,"(\\d?\\d)").replace(/s{1,2}/ig,"(\\d?\\d)").replace(/t{1,2}/ig,"(am|pm|a|p)?").replace(/\s/g,"\\s?")+"$",_15=this._getFormatPositions(),_16;
if(!this.inst){
this.inst=$.datepicker._getInst(this.$input[0]);
}
if(_13||!this._defaults.timeOnly){
var _17=$.datepicker._get(this.inst,"dateFormat");
_14=".{"+_17.length+",}\\s+"+_14;
}
_16=_12.match(new RegExp(_14,"i"));
if(_16){
if(_15.t!==-1){
this.ampm=((_16[_15.t]===undefined||_16[_15.t].length===0)?"":(_16[_15.t].charAt(0).toUpperCase()=="A")?"AM":"PM").toUpperCase();
}
if(_15.h!==-1){
if(this.ampm=="AM"&&_16[_15.h]=="12"){
this.hour=0;
}else{
if(this.ampm=="PM"&&_16[_15.h]!="12"){
this.hour=(parseFloat(_16[_15.h])+12).toFixed(0);
}else{
this.hour=Number(_16[_15.h]);
}
}
}
if(_15.m!==-1){
this.minute=Number(_16[_15.m]);
}
if(_15.s!==-1){
this.second=Number(_16[_15.s]);
}
return true;
}else{
return false;
}
},_getFormatPositions:function(){
var _18=this._defaults.timeFormat.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|t{1,2})/g),_19={h:-1,m:-1,s:-1,t:-1};
if(_18){
for(var i=0;i<_18.length;i++){
if(_19[_18[i].toString().charAt(0)]==-1){
_19[_18[i].toString().charAt(0)]=i+1;
}
}
}
return _19;
},_injectTimePicker:function(){
var $dp=this.inst.dpDiv,o=this._defaults,_1a=this,_1b=(o.hourMax-(o.hourMax%o.stepHour)).toFixed(0),_1c=(o.minuteMax-(o.minuteMax%o.stepMinute)).toFixed(0),_1d=(o.secondMax-(o.secondMax%o.stepSecond)).toFixed(0),_1e=this.inst.id.toString().replace(/([^A-Za-z0-9_])/g,"");
if($dp.find("div#ui-timepicker-div-"+_1e).length===0){
var _1f=" style=\"display:none;\"",_20="<div class=\"ui-timepicker-div\" id=\"ui-timepicker-div-"+_1e+"\"><dl>"+"<dt class=\"ui_tpicker_time_label\" id=\"ui_tpicker_time_label_"+_1e+"\""+((o.showTime)?"":_1f)+">"+o.timeText+"</dt>"+"<dd class=\"ui_tpicker_time\" id=\"ui_tpicker_time_"+_1e+"\""+((o.showTime)?"":_1f)+"></dd>"+"<dt class=\"ui_tpicker_hour_label\" id=\"ui_tpicker_hour_label_"+_1e+"\""+((o.showHour)?"":_1f)+">"+o.hourText+"</dt>",_21=0,_22=0,_23=0,_24;
if(o.showHour&&o.hourGrid>0){
_20+="<dd class=\"ui_tpicker_hour\">"+"<div id=\"ui_tpicker_hour_"+_1e+"\""+((o.showHour)?"":_1f)+"></div>"+"<div style=\"padding-left: 1px\"><table><tr>";
for(var h=o.hourMin;h<_1b;h+=o.hourGrid){
_21++;
var _25=(o.ampm&&h>12)?h-12:h;
if(_25<10){
_25="0"+_25;
}
if(o.ampm){
if(h==0){
_25=12+"a";
}else{
if(h<12){
_25+="a";
}else{
_25+="p";
}
}
}
_20+="<td>"+_25+"</td>";
}
_20+="</tr></table></div>"+"</dd>";
}else{
_20+="<dd class=\"ui_tpicker_hour\" id=\"ui_tpicker_hour_"+_1e+"\""+((o.showHour)?"":_1f)+"></dd>";
}
_20+="<dt class=\"ui_tpicker_minute_label\" id=\"ui_tpicker_minute_label_"+_1e+"\""+((o.showMinute)?"":_1f)+">"+o.minuteText+"</dt>";
if(o.showMinute&&o.minuteGrid>0){
_20+="<dd class=\"ui_tpicker_minute ui_tpicker_minute_"+o.minuteGrid+"\">"+"<div id=\"ui_tpicker_minute_"+_1e+"\""+((o.showMinute)?"":_1f)+"></div>"+"<div style=\"padding-left: 1px\"><table><tr>";
for(var m=o.minuteMin;m<_1c;m+=o.minuteGrid){
_22++;
_20+="<td>"+((m<10)?"0":"")+m+"</td>";
}
_20+="</tr></table></div>"+"</dd>";
}else{
_20+="<dd class=\"ui_tpicker_minute\" id=\"ui_tpicker_minute_"+_1e+"\""+((o.showMinute)?"":_1f)+"></dd>";
}
_20+="<dt class=\"ui_tpicker_second_label\" id=\"ui_tpicker_second_label_"+_1e+"\""+((o.showSecond)?"":_1f)+">"+o.secondText+"</dt>";
if(o.showSecond&&o.secondGrid>0){
_20+="<dd class=\"ui_tpicker_second ui_tpicker_second_"+o.secondGrid+"\">"+"<div id=\"ui_tpicker_second_"+_1e+"\""+((o.showSecond)?"":_1f)+"></div>"+"<div style=\"padding-left: 1px\"><table><tr>";
for(var s=o.secondMin;s<_1d;s+=o.secondGrid){
_23++;
_20+="<td>"+((s<10)?"0":"")+s+"</td>";
}
_20+="</tr></table></div>"+"</dd>";
}else{
_20+="<dd class=\"ui_tpicker_second\" id=\"ui_tpicker_second_"+_1e+"\""+((o.showSecond)?"":_1f)+"></dd>";
}
_20+="</dl></div>";
$tp=$(_20);
if(o.timeOnly===true){
$tp.prepend("<div class=\"ui-widget-header ui-helper-clearfix ui-corner-all\">"+"<div class=\"ui-datepicker-title\">"+o.timeOnlyTitle+"</div>"+"</div>");
$dp.find(".ui-datepicker-header, .ui-datepicker-calendar").hide();
}
this.hour_slider=$tp.find("#ui_tpicker_hour_"+_1e).slider({orientation:"horizontal",value:this.hour,min:o.hourMin,max:_1b,step:o.stepHour,slide:function(_26,ui){
_1a.hour_slider.slider("option","value",ui.value);
_1a._onTimeChange();
}});
this.minute_slider=$tp.find("#ui_tpicker_minute_"+_1e).slider({orientation:"horizontal",value:this.minute,min:o.minuteMin,max:_1c,step:o.stepMinute,slide:function(_27,ui){
_1a.minute_slider.slider("option","value",ui.value);
_1a._onTimeChange();
}});
this.second_slider=$tp.find("#ui_tpicker_second_"+_1e).slider({orientation:"horizontal",value:this.second,min:o.secondMin,max:_1d,step:o.stepSecond,slide:function(_28,ui){
_1a.second_slider.slider("option","value",ui.value);
_1a._onTimeChange();
}});
if(o.showHour&&o.hourGrid>0){
_24=100*_21*o.hourGrid/(_1b-o.hourMin);
$tp.find(".ui_tpicker_hour table").css({width:_24+"%",marginLeft:(_24/(-2*_21))+"%",borderCollapse:"collapse"}).find("td").each(function(_29){
$(this).click(function(){
var h=$(this).html();
if(o.ampm){
var ap=h.substring(2).toLowerCase(),aph=parseInt(h.substring(0,2));
if(ap=="a"){
if(aph==12){
h=0;
}else{
h=aph;
}
}else{
if(aph==12){
h=12;
}else{
h=aph+12;
}
}
}
_1a.hour_slider.slider("option","value",h);
_1a._onTimeChange();
}).css({cursor:"pointer",width:(100/_21)+"%",textAlign:"center",overflow:"hidden"});
});
}
if(o.showMinute&&o.minuteGrid>0){
_24=100*_22*o.minuteGrid/(_1c-o.minuteMin);
$tp.find(".ui_tpicker_minute table").css({width:_24+"%",marginLeft:(_24/(-2*_22))+"%",borderCollapse:"collapse"}).find("td").each(function(_2a){
$(this).click(function(){
_1a.minute_slider.slider("option","value",$(this).html());
_1a._onTimeChange();
}).css({cursor:"pointer",width:(100/_22)+"%",textAlign:"center",overflow:"hidden"});
});
}
if(o.showSecond&&o.secondGrid>0){
$tp.find(".ui_tpicker_second table").css({width:_24+"%",marginLeft:(_24/(-2*_23))+"%",borderCollapse:"collapse"}).find("td").each(function(_2b){
$(this).click(function(){
_1a.second_slider.slider("option","value",$(this).html());
_1a._onTimeChange();
}).css({cursor:"pointer",width:(100/_23)+"%",textAlign:"center",overflow:"hidden"});
});
}
var _2c=$dp.find(".ui-datepicker-buttonpane");
if(_2c.length){
_2c.before($tp);
}else{
$dp.append($tp);
}
this.$timeObj=$("#ui_tpicker_time_"+_1e);
if(this.inst!==null){
var _2d=this.timeDefined;
this._onTimeChange();
this.timeDefined=_2d;
}
}
},_onTimeChange:function(){
var _2e=(this.hour_slider)?this.hour_slider.slider("value"):false,_2f=(this.minute_slider)?this.minute_slider.slider("value"):false,_30=(this.second_slider)?this.second_slider.slider("value"):false,_31=(_2e<12)?"AM":"PM";
var _32=(_2e!=this.hour||_2f!=this.minute||_30!=this.second||(this.ampm.length>0&&this.ampm!=_31));
if(_32){
if(_2e){
this.hour=parseFloat(_2e).toFixed(0);
this.ampm=_31;
}
if(_2f){
this.minute=parseFloat(_2f).toFixed(0);
}
if(_30){
this.second=parseFloat(_30).toFixed(0);
}
}
this._formatTime();
if(this.$timeObj){
this.$timeObj.text(this.formattedTime);
}
this.timeDefined=true;
if(_32){
this._updateDateTime();
}
},_formatTime:function(_33,_34,_35){
if(_35==undefined){
_35=this._defaults.ampm;
}
_33=_33||{hour:this.hour,minute:this.minute,second:this.second,ampm:this.ampm};
var _36=_34||this._defaults.timeFormat.toString();
if(_35){
var _37=((_33.ampm=="AM")?(_33.hour):(_33.hour%12));
_37=(Number(_37)===0)?12:_37;
_36=_36.toString().replace(/hh/g,((_37<10)?"0":"")+_37).replace(/h/g,_37).replace(/mm/g,((_33.minute<10)?"0":"")+_33.minute).replace(/m/g,_33.minute).replace(/ss/g,((_33.second<10)?"0":"")+_33.second).replace(/s/g,_33.second).replace(/TT/g,_33.ampm.toUpperCase()).replace(/tt/g,_33.ampm.toLowerCase()).replace(/T/g,_33.ampm.charAt(0).toUpperCase()).replace(/t/g,_33.ampm.charAt(0).toLowerCase());
}else{
_36=_36.toString().replace(/hh/g,((_33.hour<10)?"0":"")+_33.hour).replace(/h/g,_33.hour).replace(/mm/g,((_33.minute<10)?"0":"")+_33.minute).replace(/m/g,_33.minute).replace(/ss/g,((_33.second<10)?"0":"")+_33.second).replace(/s/g,_33.second);
_36=$.trim(_36.replace(/t/gi,""));
}
if(arguments.length){
return _36;
}else{
this.formattedTime=_36;
}
},_updateDateTime:function(_38){
_38=this.inst||_38,dt=new Date(_38.selectedYear,_38.selectedMonth,_38.selectedDay),dateFmt=$.datepicker._get(_38,"dateFormat"),formatCfg=$.datepicker._getFormatConfig(_38),timeAvailable=dt!==null&&this.timeDefined;
this.formattedDate=$.datepicker.formatDate(dateFmt,(dt===null?new Date():dt),formatCfg);
var _39=this.formattedDate;
if(_38.lastVal!==undefined&&(_38.lastVal.length>0&&this.$input.val().length===0)){
return;
}
if(this._defaults.timeOnly===true){
_39=this.formattedTime;
}else{
if(this._defaults.timeOnly!==true&&(this._defaults.alwaysSetTime||timeAvailable)){
if(this.$altInput){
this.$altInput.val(this.formattedTime);
}else{
_39+=" "+this.formattedTime;
}
}
}
this.formattedDateTime=_39;
this.$input.val(_39).trigger("change");
}});
$.fn.extend({timepicker:function(o){
o=o||{};
var _3a=arguments;
if(typeof o=="object"){
_3a[0]=$.extend(o,{timeOnly:true});
}
return $(this).each(function(){
$.fn.datetimepicker.apply($(this),_3a);
});
},datetimepicker:function(o){
o=o||{};
var _3b=this,_3c=arguments;
if(typeof (o)=="string"){
if(o=="getDate"){
return $.fn.datepicker.apply($(this),_3c);
}else{
return this.each(function(){
$.fn.datepicker.apply($(this),_3c);
});
}
}else{
return this.each(function(){
var $t=$(this);
$t.datepicker($.timepicker._newInst($t,o)._defaults);
});
}
}});
$.datepicker._base_selectDate=$.datepicker._selectDate;
$.datepicker._selectDate=function(id,_3d){
var _3e=this._getInst($(id)[0]),_3f=this._get(_3e,"timepicker");
if(_3f){
_3e.inline=_3e.stay_open=true;
this._base_selectDate(id,_3d);
_3e.inline=_3e.stay_open=false;
this._notifyChange(_3e);
this._updateDatepicker(_3e);
}else{
this._base_selectDate(id,_3d);
}
};
$.datepicker._base_updateDatepicker=$.datepicker._updateDatepicker;
$.datepicker._updateDatepicker=function(_40){
if(typeof (_40.stay_open)!=="boolean"||_40.stay_open===false){
this._base_updateDatepicker(_40);
var _41=this._get(_40,"timepicker");
if(_41){
_41._addTimePicker();
}
}
};
$.datepicker._base_doKeyPress=$.datepicker._doKeyPress;
$.datepicker._doKeyPress=function(_42){
var _43=$.datepicker._getInst(_42.target),_44=$.datepicker._get(_43,"timepicker");
if(_44){
if($.datepicker._get(_43,"constrainInput")){
var _45=_44._defaults.ampm,_46=_44._defaults.timeFormat.toString().replace(/[hms]/g,"").replace(/TT/g,_45?"APM":"").replace(/T/g,_45?"AP":"").replace(/tt/g,_45?"apm":"").replace(/t/g,_45?"ap":"")+" "+$.datepicker._possibleChars($.datepicker._get(_43,"dateFormat")),chr=String.fromCharCode(_42.charCode===undefined?_42.keyCode:_42.charCode);
return _42.ctrlKey||(chr<" "||!_46||_46.indexOf(chr)>-1);
}
}else{
return $.datepicker._base_doKeyPress(_42);
}
};
$.datepicker._base_doKeyUp=$.datepicker._doKeyUp;
$.datepicker._doKeyUp=function(_47){
var _48=$.datepicker._getInst(_47.target),_49=$.datepicker._get(_48,"timepicker");
if(_49){
if(_49._defaults.timeOnly&&(_48.input.val()!=_48.lastVal)){
try{
$.datepicker._updateDatepicker(_48);
}
catch(err){
$.datepicker.log(err);
}
}
}
return $.datepicker._base_doKeyUp(_47);
};
$.datepicker._base_gotoToday=$.datepicker._gotoToday;
$.datepicker._gotoToday=function(id){
this._base_gotoToday(id);
this._setTime(this._getInst($(id)[0]),new Date());
};
$.datepicker._setTime=function(_4a,_4b){
var _4c=this._get(_4a,"timepicker");
if(_4c){
var _4d=_4c._defaults,_4e=_4b?_4b.getHours():_4d.hour,_4f=_4b?_4b.getMinutes():_4d.minute,_50=_4b?_4b.getSeconds():_4d.second;
if((_4e<_4d.hourMin||_4e>_4d.hourMax)||(_4f<_4d.minuteMin||_4f>_4d.minuteMax)||(_50<_4d.secondMin||_50>_4d.secondMax)){
_4e=_4d.hourMin;
_4f=_4d.minuteMin;
_50=_4d.secondMin;
}
if(_4c.hour_slider){
_4c.hour_slider.slider("value",_4e);
}else{
_4c.hour=_4e;
}
if(_4c.minute_slider){
_4c.minute_slider.slider("value",_4f);
}else{
_4c.minute=_4f;
}
if(_4c.second_slider){
_4c.second_slider.slider("value",_50);
}else{
_4c.second=_50;
}
_4c._onTimeChange();
_4c._updateDateTime(_4a);
}
};
$.datepicker._setTimeDatepicker=function(_51,_52,_53){
var _54=this._getInst(_51),_55=this._get(_54,"timepicker");
if(_55){
this._setDateFromField(_54);
var _56;
if(_52){
if(typeof _52=="string"){
_55._parseTime(_52,_53);
_56=new Date();
_56.setHours(_55.hour,_55.minute,_55.second);
}else{
_56=new Date(_52.getTime());
}
if(_56.toString()=="Invalid Date"){
_56=undefined;
}
}
this._setTime(_54,_56);
}
};
$.datepicker._base_setDateDatepicker=$.datepicker._setDateDatepicker;
$.datepicker._setDateDatepicker=function(_57,_58){
var _59=this._getInst(_57),_5a=!!_58?new Date(_58.getTime()):_58;
this._updateDatepicker(_59);
this._base_setDateDatepicker.apply(this,arguments);
this._setTimeDatepicker(_57,_5a,true);
};
$.datepicker._base_getDateDatepicker=$.datepicker._getDateDatepicker;
$.datepicker._getDateDatepicker=function(_5b,_5c){
var _5d=this._getInst(_5b),_5e=this._get(_5d,"timepicker");
if(_5e){
this._setDateFromField(_5d,_5c);
var _5f=this._getDate(_5d);
if(_5f&&_5e._parseTime($(_5b).val(),true)){
_5f.setHours(_5e.hour,_5e.minute,_5e.second);
}
return _5f;
}else{
return this._base_getDateDatepicker(_5b,_5c);
}
};
function _3(_60,_61){
$.extend(_60,_61);
for(var _62 in _61){
if(_61[_62]===null||_61[_62]===undefined){
_60[_62]=_61[_62];
}
}
return _60;
};
$.timepicker=new _1();
$.timepicker.version="0.9.1";
})(jQuery);


