diff --git a/cdn/js/bootstrap-datepicker.min.js b/cdn/js/bootstrap-datepicker.min.js
new file mode 100755
index 0000000..0f75864
--- /dev/null
+++ b/cdn/js/bootstrap-datepicker.min.js
@@ -0,0 +1 @@
+!function(a){var b=function(b,d){this.element=a(b);this.format=c.parseFormat(d.format||this.element.data("date-format")||"mm/dd/yyyy");this.picker=a(c.template).appendTo("body").on({click:a.proxy(this.click,this),mousedown:a.proxy(this.mousedown,this)});this.isInput=this.element.is("input");this.component=this.element.is(".date")?this.element.find(".add-on"):false;if(this.isInput){this.element.on({focus:a.proxy(this.show,this),blur:a.proxy(this.hide,this),keyup:a.proxy(this.update,this)})}else{if(this.component){this.component.on("click",a.proxy(this.show,this))}else{this.element.on("click",a.proxy(this.show,this))}}this.viewMode=0;this.weekStart=d.weekStart||this.element.data("date-weekstart")||0;this.weekEnd=this.weekStart==0?6:this.weekStart-1;this.fillDow();this.fillMonths();this.update();this.showMode()};b.prototype={constructor:b,show:function(b){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();this.place();a(window).on("resize",a.proxy(this.place,this));if(b){b.stopPropagation();b.preventDefault()}if(!this.isInput){a(document).on("mousedown",a.proxy(this.hide,this))}this.element.trigger({type:"show",date:this.date})},hide:function(){this.picker.hide();a(window).off("resize",this.place);this.viewMode=0;this.showMode();if(!this.isInput){a(document).off("mousedown",this.hide)}this.setValue();this.element.trigger({type:"hide",date:this.date})},setValue:function(){var a=c.formatDate(this.date,this.format);if(!this.isInput){if(this.component){this.element.find("input").prop("value",a)}this.element.data("date",a)}else{this.element.prop("value",a)}},place:function(){var a=this.component?this.component.offset():this.element.offset();this.picker.css({top:a.top+this.height,left:a.left})},update:function(){this.date=c.parseDate(this.isInput?this.element.prop("value"):this.element.data("date"),this.format);this.viewDate=new Date(this.date);this.fill()},fillDow:function(){var a=this.weekStart;var b="
";while(a'+c.dates.daysMin[a++%7]+""}b+=" ";this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){var a="";var b=0;while(b<12){a+=''+c.dates.monthsShort[b++]+" "}this.picker.find(".datepicker-months td").append(a)},fill:function(){var a=new Date(this.viewDate),b=a.getFullYear(),d=a.getMonth(),e=this.date.valueOf();this.picker.find(".datepicker-days th:eq(1)").text(c.dates.months[d]+" "+b);var f=new Date(b,d-1,28,0,0,0,0),g=c.getDaysInMonth(f.getFullYear(),f.getMonth());f.setDate(g);f.setDate(g-(f.getDay()-this.weekStart+7)%7);var h=new Date(f);h.setDate(h.getDate()+42);h=h.valueOf();html=[];var i;while(f.valueOf()")}i="";if(f.getMonth()d){i+=" new"}if(f.valueOf()==e){i+=" active"}html.push(''+f.getDate()+" ");if(f.getDay()==this.weekEnd){html.push("")}f.setDate(f.getDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(html.join(""));var j=this.date.getFullYear();var k=this.picker.find(".datepicker-months").find("th:eq(1)").text(b).end().find("span").removeClass("active");if(j==b){k.eq(this.date.getMonth()).addClass("active")}html="";b=parseInt(b/10,10)*10;var l=this.picker.find(".datepicker-years").find("th:eq(1)").text(b+"-"+(b+9)).end().find("td");b-=1;for(var m=-1;m<11;m++){html+=''+b+" ";b+=1}l.html(html)},click:function(b){b.stopPropagation();b.preventDefault();var d=a(b.target).closest("span, td, th");if(d.length==1){switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"switch":this.showMode(1);break;case"prev":case"next":this.viewDate["set"+c.modes[this.viewMode].navFnc].call(this.viewDate,this.viewDate["get"+c.modes[this.viewMode].navFnc].call(this.viewDate)+c.modes[this.viewMode].navStep*(d[0].className=="prev"?-1:1));this.fill();break}break;case"span":if(d.is(".month")){var e=d.parent().find("span").index(d);this.viewDate.setMonth(e)}else{var f=parseInt(d.text(),10)||0;this.viewDate.setFullYear(f)}this.showMode(-1);this.fill();break;case"td":if(d.is(".day")){var g=parseInt(d.text(),10)||1;var e=this.viewDate.getMonth();if(d.is(".old")){e-=1}else if(d.is(".new")){e+=1}var f=this.viewDate.getFullYear();this.date=new Date(f,e,g,0,0,0,0);this.viewDate=new Date(f,e,g,0,0,0,0);this.fill();this.setValue();this.element.trigger({type:"changeDate",date:this.date})}break}}},mousedown:function(a){a.stopPropagation();a.preventDefault()},showMode:function(a){if(a){this.viewMode=Math.max(0,Math.min(2,this.viewMode+a))}this.picker.find(">div").hide().filter(".datepicker-"+c.modes[this.viewMode].clsName).show()}};a.fn.datepicker=function(c){return this.each(function(){var d=a(this),e=d.data("datepicker"),f=typeof c=="object"&&c;if(!e){d.data("datepicker",e=new b(this,a.extend({},a.fn.datepicker.defaults,f)))}if(typeof c=="string")e[c]()})};a.fn.datepicker.defaults={};a.fn.datepicker.Constructor=b;var c={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],dates:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,c.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},parseFormat:function(a){var b=a.match(/[.\/-].*?/),c=a.split(/\W+/);if(!b||!c||c.length==0){throw new Error("Invalid date format.")}return{separator:b,parts:c}},parseDate:function(a,b){var c=a.split(b.separator),a=new Date(1970,1,1,0,0,0),d;if(c.length==b.parts.length){for(var e=0,f=b.parts.length;e"+""+' '+' '+' '+" "+"",contTemplate:' '};c.template='"}(window.jQuery)
\ No newline at end of file
diff --git a/cdn/js/bootstrap-timepicker.min.js b/cdn/js/bootstrap-timepicker.min.js
new file mode 100755
index 0000000..1dc034f
--- /dev/null
+++ b/cdn/js/bootstrap-timepicker.min.js
@@ -0,0 +1 @@
+!function(a){"use strict";var b=function(b,c){this.$element=a(b);this.options=a.extend({},a.fn.timepicker.defaults,c,this.$element.data());this.minuteStep=this.options.minuteStep||this.minuteStep;this.secondStep=this.options.secondStep||this.secondStep;this.showMeridian=this.options.showMeridian||this.showMeridian;this.showSeconds=this.options.showSeconds||this.showSeconds;this.showInputs=this.options.showInputs||this.showInputs;this.disableFocus=this.options.disableFocus||this.disableFocus;this.template=this.options.template||this.template;this.modalBackdrop=this.options.modalBackdrop||this.modalBackdrop;this.defaultTime=this.options.defaultTime||this.defaultTime;this.open=false;this.init()};b.prototype={constructor:b,init:function(){if(this.$element.parent().hasClass("input-append")){this.$element.parent(".input-append").find(".add-on").on("click",a.proxy(this.showWidget,this));this.$element.on({focus:a.proxy(this.highlightUnit,this),click:a.proxy(this.highlightUnit,this),keypress:a.proxy(this.elementKeypress,this),blur:a.proxy(this.blurElement,this)})}else{if(this.template){this.$element.on({focus:a.proxy(this.showWidget,this),click:a.proxy(this.showWidget,this),blur:a.proxy(this.blurElement,this)})}else{this.$element.on({focus:a.proxy(this.highlightUnit,this),click:a.proxy(this.highlightUnit,this),keypress:a.proxy(this.elementKeypress,this),blur:a.proxy(this.blurElement,this)})}}this.$widget=a(this.getTemplate()).appendTo("body");this.$widget.on("click",a.proxy(this.widgetClick,this));if(this.showInputs){this.$widget.find("input").on({click:function(){this.select()},keypress:a.proxy(this.widgetKeypress,this),change:a.proxy(this.updateFromWidgetInputs,this)})}this.setDefaultTime(this.defaultTime)},showWidget:function(b){b.stopPropagation();b.preventDefault();if(this.open){return}this.$element.trigger("show");if(this.disableFocus){this.$element.blur()}var c=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});this.updateFromElementVal();a("html").trigger("click.timepicker.data-api").one("click.timepicker.data-api",a.proxy(this.hideWidget,this));if(this.template==="modal"){this.$widget.modal("show").on("hidden",a.proxy(this.hideWidget,this))}else{this.$widget.css({top:c.top+c.height,left:c.left});if(!this.open){this.$widget.addClass("open")}}this.open=true;this.$element.trigger("shown")},hideWidget:function(){this.$element.trigger("hide");if(this.template==="modal"){this.$widget.modal("hide")}else{this.$widget.removeClass("open")}this.open=false;this.$element.trigger("hidden")},widgetClick:function(b){b.stopPropagation();b.preventDefault();var c=a(b.target).closest("a").data("action");if(c){this[c]();this.update()}},widgetKeypress:function(b){var c=a(b.target).closest("input").attr("name");switch(b.keyCode){case 9:if(this.showMeridian){if(c=="meridian"){this.hideWidget()}}else{if(this.showSeconds){if(c=="second"){this.hideWidget()}}else{if(c=="minute"){this.hideWidget()}}}break;case 27:this.hideWidget();break;case 38:switch(c){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian();break}this.update();break;case 40:switch(c){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian();break}this.update();break}},elementKeypress:function(a){var b=this.$element.get(0);switch(a.keyCode){case 0:break;case 9:this.updateFromElementVal();if(this.showMeridian){if(this.highlightedUnit!="meridian"){a.preventDefault();this.highlightNextUnit()}}else{if(this.showSeconds){if(this.highlightedUnit!="second"){a.preventDefault();this.highlightNextUnit()}}else{if(this.highlightedUnit!="minute"){a.preventDefault();this.highlightNextUnit()}}}break;case 27:this.updateFromElementVal();break;case 37:this.updateFromElementVal();this.highlightPrevUnit();break;case 38:switch(this.highlightedUnit){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian();break}this.updateElement();break;case 39:this.updateFromElementVal();this.highlightNextUnit();break;case 40:switch(this.highlightedUnit){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian();break}this.updateElement();break}if(a.keyCode!==0&&a.keyCode!==8&&a.keyCode!==9&&a.keyCode!==46){a.preventDefault()}},setValues:function(a){if(this.showMeridian){var b=a.split(" ");var c=b[0].split(":");this.meridian=b[1]}else{var c=a.split(":")}this.hour=parseInt(c[0],10);this.minute=parseInt(c[1],10);this.second=parseInt(c[2],10);if(isNaN(this.hour)){this.hour=1}if(isNaN(this.minute)){this.minute=0}if(this.showMeridian){if(this.hour>12){this.hour=12}else if(this.hour<1){this.hour=1}if(this.meridian=="am"||this.meridian=="a"){this.meridian="AM"}else if(this.meridian=="pm"||this.meridian=="p"){this.meridian="PM"}if(this.meridian!="AM"&&this.meridian!="PM"){this.meridian="AM"}}if(this.minute<0){this.minute=0}else if(this.minute>60){this.minute=60}if(this.showSeconds){if(isNaN(this.second)){this.second=0}else if(this.second<0){this.second=0}else if(this.second>60){this.second=60}}this.updateElement();this.updateWidget()},setMeridian:function(a){if(a=="a"||a=="am"||a=="AM"){this.meridian="AM"}else if(a=="p"||a=="pm"||a=="PM"){this.meridian="PM"}else{this.updateWidget()}this.updateElement()},setDefaultTime:function(a){if(a){if(a==="current"){var b=new Date;var c=b.getHours();var d=Math.floor(b.getMinutes()/this.minuteStep)*this.minuteStep;var e=Math.floor(b.getSeconds()/this.secondStep)*this.secondStep;var f="AM";if(this.showMeridian){if(c===0){c=12}else if(c>=12){if(c>12){c=c-12}f="PM"}else{f="AM"}}this.hour=c;this.minute=d;this.second=e;this.meridian=f}else if(a==="value"){this.setValues(this.$element.val())}else{this.setValues(a)}this.update()}else{this.hour=0;this.minute=0;this.second=0}},formatTime:function(a,b,c,d){a=a<10?"0"+a:a;b=b<10?"0"+b:b;c=c<10?"0"+c:c;return a+":"+b+(this.showSeconds?":"+c:"")+(this.showMeridian?" "+d:"")},getTime:function(){return this.formatTime(this.hour,this.minute,this.second,this.meridian)},setTime:function(a){this.setValues(a);this.update()},update:function(){this.updateElement();this.updateWidget()},blurElement:function(){this.highlightedUnit=undefined;this.updateFromElementVal()},updateElement:function(){var a=this.getTime();this.$element.val(a).change();switch(this.highlightedUnit){case"hour":this.highlightHour();break;case"minute":this.highlightMinute();break;case"second":this.highlightSecond();break;case"meridian":this.highlightMeridian();break}},updateWidget:function(){if(this.showInputs){this.$widget.find("input.bootstrap-timepicker-hour").val(this.hour<10?"0"+this.hour:this.hour);this.$widget.find("input.bootstrap-timepicker-minute").val(this.minute<10?"0"+this.minute:this.minute);if(this.showSeconds){this.$widget.find("input.bootstrap-timepicker-second").val(this.second<10?"0"+this.second:this.second)}if(this.showMeridian){this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)}}else{this.$widget.find("span.bootstrap-timepicker-hour").text(this.hour);this.$widget.find("span.bootstrap-timepicker-minute").text(this.minute<10?"0"+this.minute:this.minute);if(this.showSeconds){this.$widget.find("span.bootstrap-timepicker-second").text(this.second<10?"0"+this.second:this.second)}if(this.showMeridian){this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian)}}},updateFromElementVal:function(a){var b=this.$element.val();if(b){this.setValues(b);this.updateWidget()}},updateFromWidgetInputs:function(){var b=a("input.bootstrap-timepicker-hour").val()+":"+a("input.bootstrap-timepicker-minute").val()+(this.showSeconds?":"+a("input.bootstrap-timepicker-second").val():"")+(this.showMeridian?" "+a("input.bootstrap-timepicker-meridian").val():"");this.setValues(b)},getCursorPosition:function(){var a=this.$element.get(0);if("selectionStart"in a){return a.selectionStart}else if(document.selection){a.focus();var b=document.selection.createRange();var c=document.selection.createRange().text.length;b.moveStart("character",-a.value.length);return b.text.length-c}},highlightUnit:function(){var a=this.$element.get(0);this.position=this.getCursorPosition();if(this.position>=0&&this.position<=2){this.highlightHour()}else if(this.position>=3&&this.position<=5){this.highlightMinute()}else if(this.position>=6&&this.position<=8){if(this.showSeconds){this.highlightSecond()}else{this.highlightMeridian()}}else if(this.position>=9&&this.position<=11){this.highlightMeridian()}},highlightNextUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMinute();break;case"minute":if(this.showSeconds){this.highlightSecond()}else{this.highlightMeridian()}break;case"second":this.highlightMeridian();break;case"meridian":this.highlightHour();break}},highlightPrevUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMeridian();break;case"minute":this.highlightHour();break;case"second":this.highlightMinute();break;case"meridian":if(this.showSeconds){this.highlightSecond()}else{this.highlightMinute()}break}},highlightHour:function(){this.highlightedUnit="hour";this.$element.get(0).setSelectionRange(0,2)},highlightMinute:function(){this.highlightedUnit="minute";this.$element.get(0).setSelectionRange(3,5)},highlightSecond:function(){this.highlightedUnit="second";this.$element.get(0).setSelectionRange(6,8)},highlightMeridian:function(){this.highlightedUnit="meridian";if(this.showSeconds){this.$element.get(0).setSelectionRange(9,11)}else{this.$element.get(0).setSelectionRange(6,8)}},incrementHour:function(){if(this.showMeridian){if(this.hour===11){this.toggleMeridian()}else if(this.hour===12){return this.hour=1}}if(this.hour===23){return this.hour=0}this.hour=this.hour+1},decrementHour:function(){if(this.showMeridian){if(this.hour===1){return this.hour=12}else if(this.hour===12){this.toggleMeridian()}}if(this.hour===0){return this.hour=23}this.hour=this.hour-1},incrementMinute:function(){var a=this.minute+this.minuteStep-this.minute%this.minuteStep;if(a>59){this.incrementHour();this.minute=a-60}else{this.minute=a}},decrementMinute:function(){var a=this.minute-this.minuteStep;if(a<0){this.decrementHour();this.minute=a+60}else{this.minute=a}},incrementSecond:function(){var a=this.second+this.secondStep-this.second%this.secondStep;if(a>59){this.incrementMinute();this.second=a-60}else{this.second=a}},decrementSecond:function(){var a=this.second-this.secondStep;if(a<0){this.decrementMinute();this.second=a+60}else{this.second=a}},toggleMeridian:function(){this.meridian=this.meridian==="AM"?"PM":"AM";this.update()},getTemplate:function(){if(this.options.templates[this.options.template]){return this.options.templates[this.options.template]}if(this.showInputs){var a=' ';var b=' ';var c=' ';var d=' '}else{var a=' ';var b=' ';var c=' ';var d=' '}var e=''+""+' '+' '+' '+(this.showSeconds?' '+' ':"")+(this.showMeridian?' '+' ':"")+" "+""+""+a+" "+': '+""+b+" "+(this.showSeconds?': '+""+c+" ":"")+(this.showMeridian?' '+""+d+" ":"")+" "+""+' '+' '+' '+(this.showSeconds?' '+' ':"")+(this.showMeridian?' '+' ':"")+" "+"
";var f;switch(this.options.template){case"modal":f='";break;case"dropdown":f='";break}return f}};a.fn.timepicker=function(c){return this.each(function(){var d=a(this),e=d.data("timepicker"),f=typeof c=="object"&&c;if(!e){d.data("timepicker",e=new b(this,f))}if(typeof c=="string"){e[c]()}})};a.fn.timepicker.defaults={minuteStep:15,secondStep:15,disableFocus:false,defaultTime:"current",showSeconds:false,showInputs:true,showMeridian:true,template:"dropdown",modalBackdrop:false,templates:{}};a.fn.timepicker.Constructor=b}(window.jQuery)
\ No newline at end of file
diff --git a/cdn/js/jasny.bootstrap.min.js b/cdn/js/jasny.bootstrap.min.js
new file mode 100755
index 0000000..1dc034f
--- /dev/null
+++ b/cdn/js/jasny.bootstrap.min.js
@@ -0,0 +1 @@
+!function(a){"use strict";var b=function(b,c){this.$element=a(b);this.options=a.extend({},a.fn.timepicker.defaults,c,this.$element.data());this.minuteStep=this.options.minuteStep||this.minuteStep;this.secondStep=this.options.secondStep||this.secondStep;this.showMeridian=this.options.showMeridian||this.showMeridian;this.showSeconds=this.options.showSeconds||this.showSeconds;this.showInputs=this.options.showInputs||this.showInputs;this.disableFocus=this.options.disableFocus||this.disableFocus;this.template=this.options.template||this.template;this.modalBackdrop=this.options.modalBackdrop||this.modalBackdrop;this.defaultTime=this.options.defaultTime||this.defaultTime;this.open=false;this.init()};b.prototype={constructor:b,init:function(){if(this.$element.parent().hasClass("input-append")){this.$element.parent(".input-append").find(".add-on").on("click",a.proxy(this.showWidget,this));this.$element.on({focus:a.proxy(this.highlightUnit,this),click:a.proxy(this.highlightUnit,this),keypress:a.proxy(this.elementKeypress,this),blur:a.proxy(this.blurElement,this)})}else{if(this.template){this.$element.on({focus:a.proxy(this.showWidget,this),click:a.proxy(this.showWidget,this),blur:a.proxy(this.blurElement,this)})}else{this.$element.on({focus:a.proxy(this.highlightUnit,this),click:a.proxy(this.highlightUnit,this),keypress:a.proxy(this.elementKeypress,this),blur:a.proxy(this.blurElement,this)})}}this.$widget=a(this.getTemplate()).appendTo("body");this.$widget.on("click",a.proxy(this.widgetClick,this));if(this.showInputs){this.$widget.find("input").on({click:function(){this.select()},keypress:a.proxy(this.widgetKeypress,this),change:a.proxy(this.updateFromWidgetInputs,this)})}this.setDefaultTime(this.defaultTime)},showWidget:function(b){b.stopPropagation();b.preventDefault();if(this.open){return}this.$element.trigger("show");if(this.disableFocus){this.$element.blur()}var c=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});this.updateFromElementVal();a("html").trigger("click.timepicker.data-api").one("click.timepicker.data-api",a.proxy(this.hideWidget,this));if(this.template==="modal"){this.$widget.modal("show").on("hidden",a.proxy(this.hideWidget,this))}else{this.$widget.css({top:c.top+c.height,left:c.left});if(!this.open){this.$widget.addClass("open")}}this.open=true;this.$element.trigger("shown")},hideWidget:function(){this.$element.trigger("hide");if(this.template==="modal"){this.$widget.modal("hide")}else{this.$widget.removeClass("open")}this.open=false;this.$element.trigger("hidden")},widgetClick:function(b){b.stopPropagation();b.preventDefault();var c=a(b.target).closest("a").data("action");if(c){this[c]();this.update()}},widgetKeypress:function(b){var c=a(b.target).closest("input").attr("name");switch(b.keyCode){case 9:if(this.showMeridian){if(c=="meridian"){this.hideWidget()}}else{if(this.showSeconds){if(c=="second"){this.hideWidget()}}else{if(c=="minute"){this.hideWidget()}}}break;case 27:this.hideWidget();break;case 38:switch(c){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian();break}this.update();break;case 40:switch(c){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian();break}this.update();break}},elementKeypress:function(a){var b=this.$element.get(0);switch(a.keyCode){case 0:break;case 9:this.updateFromElementVal();if(this.showMeridian){if(this.highlightedUnit!="meridian"){a.preventDefault();this.highlightNextUnit()}}else{if(this.showSeconds){if(this.highlightedUnit!="second"){a.preventDefault();this.highlightNextUnit()}}else{if(this.highlightedUnit!="minute"){a.preventDefault();this.highlightNextUnit()}}}break;case 27:this.updateFromElementVal();break;case 37:this.updateFromElementVal();this.highlightPrevUnit();break;case 38:switch(this.highlightedUnit){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian();break}this.updateElement();break;case 39:this.updateFromElementVal();this.highlightNextUnit();break;case 40:switch(this.highlightedUnit){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian();break}this.updateElement();break}if(a.keyCode!==0&&a.keyCode!==8&&a.keyCode!==9&&a.keyCode!==46){a.preventDefault()}},setValues:function(a){if(this.showMeridian){var b=a.split(" ");var c=b[0].split(":");this.meridian=b[1]}else{var c=a.split(":")}this.hour=parseInt(c[0],10);this.minute=parseInt(c[1],10);this.second=parseInt(c[2],10);if(isNaN(this.hour)){this.hour=1}if(isNaN(this.minute)){this.minute=0}if(this.showMeridian){if(this.hour>12){this.hour=12}else if(this.hour<1){this.hour=1}if(this.meridian=="am"||this.meridian=="a"){this.meridian="AM"}else if(this.meridian=="pm"||this.meridian=="p"){this.meridian="PM"}if(this.meridian!="AM"&&this.meridian!="PM"){this.meridian="AM"}}if(this.minute<0){this.minute=0}else if(this.minute>60){this.minute=60}if(this.showSeconds){if(isNaN(this.second)){this.second=0}else if(this.second<0){this.second=0}else if(this.second>60){this.second=60}}this.updateElement();this.updateWidget()},setMeridian:function(a){if(a=="a"||a=="am"||a=="AM"){this.meridian="AM"}else if(a=="p"||a=="pm"||a=="PM"){this.meridian="PM"}else{this.updateWidget()}this.updateElement()},setDefaultTime:function(a){if(a){if(a==="current"){var b=new Date;var c=b.getHours();var d=Math.floor(b.getMinutes()/this.minuteStep)*this.minuteStep;var e=Math.floor(b.getSeconds()/this.secondStep)*this.secondStep;var f="AM";if(this.showMeridian){if(c===0){c=12}else if(c>=12){if(c>12){c=c-12}f="PM"}else{f="AM"}}this.hour=c;this.minute=d;this.second=e;this.meridian=f}else if(a==="value"){this.setValues(this.$element.val())}else{this.setValues(a)}this.update()}else{this.hour=0;this.minute=0;this.second=0}},formatTime:function(a,b,c,d){a=a<10?"0"+a:a;b=b<10?"0"+b:b;c=c<10?"0"+c:c;return a+":"+b+(this.showSeconds?":"+c:"")+(this.showMeridian?" "+d:"")},getTime:function(){return this.formatTime(this.hour,this.minute,this.second,this.meridian)},setTime:function(a){this.setValues(a);this.update()},update:function(){this.updateElement();this.updateWidget()},blurElement:function(){this.highlightedUnit=undefined;this.updateFromElementVal()},updateElement:function(){var a=this.getTime();this.$element.val(a).change();switch(this.highlightedUnit){case"hour":this.highlightHour();break;case"minute":this.highlightMinute();break;case"second":this.highlightSecond();break;case"meridian":this.highlightMeridian();break}},updateWidget:function(){if(this.showInputs){this.$widget.find("input.bootstrap-timepicker-hour").val(this.hour<10?"0"+this.hour:this.hour);this.$widget.find("input.bootstrap-timepicker-minute").val(this.minute<10?"0"+this.minute:this.minute);if(this.showSeconds){this.$widget.find("input.bootstrap-timepicker-second").val(this.second<10?"0"+this.second:this.second)}if(this.showMeridian){this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)}}else{this.$widget.find("span.bootstrap-timepicker-hour").text(this.hour);this.$widget.find("span.bootstrap-timepicker-minute").text(this.minute<10?"0"+this.minute:this.minute);if(this.showSeconds){this.$widget.find("span.bootstrap-timepicker-second").text(this.second<10?"0"+this.second:this.second)}if(this.showMeridian){this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian)}}},updateFromElementVal:function(a){var b=this.$element.val();if(b){this.setValues(b);this.updateWidget()}},updateFromWidgetInputs:function(){var b=a("input.bootstrap-timepicker-hour").val()+":"+a("input.bootstrap-timepicker-minute").val()+(this.showSeconds?":"+a("input.bootstrap-timepicker-second").val():"")+(this.showMeridian?" "+a("input.bootstrap-timepicker-meridian").val():"");this.setValues(b)},getCursorPosition:function(){var a=this.$element.get(0);if("selectionStart"in a){return a.selectionStart}else if(document.selection){a.focus();var b=document.selection.createRange();var c=document.selection.createRange().text.length;b.moveStart("character",-a.value.length);return b.text.length-c}},highlightUnit:function(){var a=this.$element.get(0);this.position=this.getCursorPosition();if(this.position>=0&&this.position<=2){this.highlightHour()}else if(this.position>=3&&this.position<=5){this.highlightMinute()}else if(this.position>=6&&this.position<=8){if(this.showSeconds){this.highlightSecond()}else{this.highlightMeridian()}}else if(this.position>=9&&this.position<=11){this.highlightMeridian()}},highlightNextUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMinute();break;case"minute":if(this.showSeconds){this.highlightSecond()}else{this.highlightMeridian()}break;case"second":this.highlightMeridian();break;case"meridian":this.highlightHour();break}},highlightPrevUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMeridian();break;case"minute":this.highlightHour();break;case"second":this.highlightMinute();break;case"meridian":if(this.showSeconds){this.highlightSecond()}else{this.highlightMinute()}break}},highlightHour:function(){this.highlightedUnit="hour";this.$element.get(0).setSelectionRange(0,2)},highlightMinute:function(){this.highlightedUnit="minute";this.$element.get(0).setSelectionRange(3,5)},highlightSecond:function(){this.highlightedUnit="second";this.$element.get(0).setSelectionRange(6,8)},highlightMeridian:function(){this.highlightedUnit="meridian";if(this.showSeconds){this.$element.get(0).setSelectionRange(9,11)}else{this.$element.get(0).setSelectionRange(6,8)}},incrementHour:function(){if(this.showMeridian){if(this.hour===11){this.toggleMeridian()}else if(this.hour===12){return this.hour=1}}if(this.hour===23){return this.hour=0}this.hour=this.hour+1},decrementHour:function(){if(this.showMeridian){if(this.hour===1){return this.hour=12}else if(this.hour===12){this.toggleMeridian()}}if(this.hour===0){return this.hour=23}this.hour=this.hour-1},incrementMinute:function(){var a=this.minute+this.minuteStep-this.minute%this.minuteStep;if(a>59){this.incrementHour();this.minute=a-60}else{this.minute=a}},decrementMinute:function(){var a=this.minute-this.minuteStep;if(a<0){this.decrementHour();this.minute=a+60}else{this.minute=a}},incrementSecond:function(){var a=this.second+this.secondStep-this.second%this.secondStep;if(a>59){this.incrementMinute();this.second=a-60}else{this.second=a}},decrementSecond:function(){var a=this.second-this.secondStep;if(a<0){this.decrementMinute();this.second=a+60}else{this.second=a}},toggleMeridian:function(){this.meridian=this.meridian==="AM"?"PM":"AM";this.update()},getTemplate:function(){if(this.options.templates[this.options.template]){return this.options.templates[this.options.template]}if(this.showInputs){var a=' ';var b=' ';var c=' ';var d=' '}else{var a=' ';var b=' ';var c=' ';var d=' '}var e=''+""+' '+' '+' '+(this.showSeconds?' '+' ':"")+(this.showMeridian?' '+' ':"")+" "+""+""+a+" "+': '+""+b+" "+(this.showSeconds?': '+""+c+" ":"")+(this.showMeridian?' '+""+d+" ":"")+" "+""+' '+' '+' '+(this.showSeconds?' '+' ':"")+(this.showMeridian?' '+' ':"")+" "+"
";var f;switch(this.options.template){case"modal":f='";break;case"dropdown":f='";break}return f}};a.fn.timepicker=function(c){return this.each(function(){var d=a(this),e=d.data("timepicker"),f=typeof c=="object"&&c;if(!e){d.data("timepicker",e=new b(this,f))}if(typeof c=="string"){e[c]()}})};a.fn.timepicker.defaults={minuteStep:15,secondStep:15,disableFocus:false,defaultTime:"current",showSeconds:false,showInputs:true,showMeridian:true,template:"dropdown",modalBackdrop:false,templates:{}};a.fn.timepicker.Constructor=b}(window.jQuery)
\ No newline at end of file