www-thermferm/jqwidgets/jqxdatetimeinput.js

Sun, 07 Jul 2019 14:31:10 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 07 Jul 2019 14:31:10 +0200
branch
stable
changeset 603
fcff55324b84
parent 511
2d1d43c3a2c2
child 617
b216f9d4b917
permissions
-rw-r--r--

Merged fix from default

117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /*
511
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
2 jQWidgets v4.5.2 (2017-May)
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
3 Copyright (c) 2011-2017 jQWidgets.
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 License: http://jqwidgets.com/license/
511
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
5 */
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
6 !function(a){a.jqx.jqxWidget("jqxDateTimeInput","",{}),a.extend(a.jqx._jqxDateTimeInput.prototype,{defineInstance:function(){var b={value:a.jqx._jqxDateTimeInput.getDateTime(new Date),minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date),min:new Date(1900,0,1),max:new Date(2100,0,1),rowHeaderWidth:25,enableViews:!0,views:["month","year","decade"],selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],change:null,changing:null,template:"default",columnHeaderHeight:20,titleHeight:30,firstDayOfWeek:0,showWeekNumbers:!1,showTimeButton:!1,cookies:!1,cookieoptions:null,showFooter:!1,formatString:"dd/MM/yyyy",width:200,height:25,dayNameFormat:"firstTwoLetters",textAlign:"left",readonly:!1,culture:"default",activeEditor:null,showCalendarButton:!0,openDelay:250,closeDelay:300,closeCalendarAfterSelection:!0,isEditing:!1,enableBrowserBoundsDetection:!1,dropDownHorizontalAlignment:"left",dropDownVerticalAlignment:"bottom",enableAbsoluteSelection:!1,disabled:!1,buttonSize:21,animationType:"slide",dropDownWidth:"200px",restrictedDates:new Array,dropDownHeight:"205px",dropDownContainer:"default",selectionMode:"default",renderMode:"full",rtl:!1,timeRange:null,_editor:!1,todayString:"Today",clearString:"Clear",popupZIndex:9999999999999,allowNullDate:!0,changeType:null,placeHolder:"",enableHover:!0,allowKeyboardDelete:!0,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","open","close","change"],aria:{"aria-valuenow":{name:"getDate",type:"date"},"aria-valuetext":{name:"getText",type:"string"},"aria-valuemin":{name:"min",type:"date"},"aria-valuemax":{name:"max",type:"date"},"aria-disabled":{name:"disabled",type:"boolean"}}};return this===a.jqx._jqxDateTimeInput.prototype?b:(a.extend(!0,this,b),this.value._setHours(0),this.value._setMinutes(0),this.value._setSeconds(0),this.value._setMilliseconds(0),this.minDate._setYear(1900),this.minDate._setMonth(1),this.minDate._setDay(1),this.minDate._setHours(1),this.minDate._setMinutes(1),this.minDate._setSeconds(1),this.minDate._setMilliseconds(1),this.maxDate._setYear(2100),this.maxDate._setMonth(1),this.maxDate._setDay(1),this.maxDate._setHours(1),this.maxDate._setMinutes(1),this.maxDate._setSeconds(1),this.maxDate._setMilliseconds(1),this.defaultMinDate=this.minDate,this.defaultMaxDate=this.maxDate,b)},createInstance:function(b){var c="",d=this;if(!d.host.jqxCalendar)throw new Error("jqxDateTimeInput: Missing reference to jqxcalendar.js.");if("dd/MM/yyyy"!=d.formatString){var e=d.formatString.split(" ");if(e&&e.length>1){for(var f="",g=0;g<e.length;g++)f+="1"==e[g].length?d._getFormatValue(e[g]):e[g],g<e.length-1&&(f+=" ");d.formatString=f}}if("input"==d.element.nodeName.toLowerCase()){var h=d.element.getAttribute("type");if(h&&"dd/MM/yyyy"==d.formatString){if("date"==h&&(d.formatString="d"),"datetime"==h){var i=d._getFormatValue("d")+" "+d._getFormatValue("t");d.formatString=i,d.showTimeButton=!0}"time"==h&&(d.formatString="t",d.showTimeButton=!0,d.showCalendarButton=!1)}if(d.field=d.element,d.field.getAttribute("min")){var j=new Date(d.field.getAttribute("min"));"Invalid Date"!=j&&(d.min=j)}if(d.field.getAttribute("max")){var k=new Date(d.field.getAttribute("max"));"Invalid Date"!=k&&(d.max=k)}d.field.className&&(d._className=d.field.className);var l={title:d.field.title};d.field.value&&(l.value=d.field.value),d.field.id.length?l.id=d.field.id.replace(/[^\w]/g,"_")+"_jqxDateTimeInput":l.id=a.jqx.utilities.createId()+"_jqxDateTimeInput";var m=a("<div></div>",l);m[0].style.cssText=d.field.style.cssText,d.width||(d.width=a(d.field).width()),d.height||(d.height=a(d.field).outerHeight()),a(d.field).hide().after(m);var n=d.host.data();if(d.host=m,d.host.data(n),d.element=m[0],d.element.id=d.field.id,d.field.id=l.id,d._className&&(d.host.addClass(d._className),a(d.field).removeClass(d._className)),d.field.tabIndex){var o=d.field.tabIndex;d.field.tabIndex=-1,d.element.tabIndex=o}}if(d.host.attr("value")){c=!0;var p=d.host.attr("value");if("range"!=d.selectionMode){var q=new Date(p);void 0==q||isNaN(q)||(d.value=a.jqx._jqxDateTimeInput.getDateTime(q))}}if(null!=d.value&&d.value instanceof Date)d.value=a.jqx._jqxDateTimeInput.getDateTime(d.value);else if(null!=d.value&&"string"==typeof d.value){var q=new Date(d.value);if(void 0==q||isNaN(q)){if(d.value.indexOf(",")>=0){d.value=d.value.replace(/\,/g,"/");var q=new Date(d.value);void 0==q||isNaN(q)||(d.value=a.jqx._jqxDateTimeInput.getDateTime(q))}}else d.value=a.jqx._jqxDateTimeInput.getDateTime(q)}if(this._initTimeRange(),this._validateTimeRange(),d.host.attr("data-role","input"),d.render(),a.jqx.aria(this),null!=d.getDate()?a.jqx.aria(this,"aria-label","Current focused date is "+d.getDate().toLocaleString()):a.jqx.aria(this,"aria-label","Current focused date is Null"),d.minDate!==d.defaultMinDate&&(d.min=d.minDate),d.maxDate!==d.defaultMaxDate&&(d.max=d.maxDate),d.setMaxDate(d.max,!1),d.setMinDate(d.min,!1),"range"==d.selectionMode)if(c){var p=d.host.attr("value"),r=p.substring(0,p.indexOf("-")),s=p.substring(p.indexOf("-")+1),t=new Date(r),u=new Date(s);void 0==t||isNaN(t)||void 0==u||isNaN(u)||d.setRange(t,u)}else null!=d.getDate()&&d.setRange(d.getDate(),d.getDate())},_validateTimeRange:function(){if(this.timeRange){var a=this.value.dateTime.getHours(),b=this.value.dateTime.getMinutes();a<=this.timeRange.minHour&&(this.value._setHours(this.timeRange.minHour),b<this.timeRange.minMinute?(this.value._setMinutes(this.timeRange.minMinute),this._updateEditorsValue()):this._updateEditorsValue()),a>=this.timeRange.maxHour&&(this.value._setHours(this.timeRange.maxHour),b>this.timeRange.maxMinute?(this.value._setMinutes(this.timeRange.maxMinute),this._updateEditorsValue()):this._updateEditorsValue())}},_initTimeRange:function(){if(this.timeRange){if(this.timeRange.min){var a=null;(this.timeRange.min.indexOf("AM")>=0||this.timeRange.min.indexOf("PM")>=0)&&(a=this.timeRange.min.indexOf("AM")>=0?"AM":"PM");var b=this.timeRange.min.split(":"),c=parseInt(b[0]),d=parseInt(b[1]);a&&(this.timeRange.minDefaultHour=c,this.timeRange.minMeridian=a),a&&"PM"==a&&(c+=12),this.timeRange.minHour=c,this.timeRange.minMinute=d}if(this.timeRange.max){var a=null;(this.timeRange.max.indexOf("AM")>=0||this.timeRange.max.indexOf("PM")>=0)&&(a=this.timeRange.max.indexOf("AM")>=0?"AM":"PM");var e=this.timeRange.max.split(":"),c=parseInt(e[0]),d=parseInt(e[1]);a&&(this.timeRange.maxDefaultHour=c,this.timeRange.maxMeridian=a),a&&"PM"==a&&(c+=12),this.timeRange.maxHour=c,this.timeRange.maxMinute=d}}},_format:function(b,c,d){var e=!1;try{void 0!=Globalize&&(e=!0)}catch(a){}if(a.global)return a.global.format(b,c,this.culture);if(!e){if(a.jqx.dataFormat)return b instanceof Date?a.jqx.dataFormat.formatdate(b,c,this.localization.calendar):"number"==typeof b?a.jqx.dataFormat.formatnumber(b,c,this.localization.calendar):a.jqx.dataFormat.formatdate(b,c,this.localization.calendar);throw new Error("jqxDateTimeInput: Missing reference to globalize.js.")}try{var c=Globalize.format(b,c,this.culture);return c}catch(a){return Globalize.format(b,c)}},render:function(){var b=this;b._removeHandlers(),b.element.innerHTML="",b.host.attr({role:"textbox"}),b.id=a.jqx.utilities.createId();a.jqx.utilities.createId(),a.jqx.utilities.createId();b._setSize(),null==b.width&&(b.width=b.host.width(),b.host.width(b.width)),b.touch=a.jqx.mobile.isTouchDevice();var c=a("<div class='jqx-max-size jqx-position-relative'></div>").appendTo(b.host);b.dateTimeInput=a("<input style='border: none; padding-left: 3px; padding-right: 3px;' class='jqx-position-absolute' id='input"+b.element.id+"' autocomplete='off' type='textarea'/>").appendTo(c),b.dateTimeInput.addClass(b.toThemeProperty("jqx-reset")),b.dateTimeInput.addClass(b.toThemeProperty("jqx-clear")),b.dateTimeInput.addClass(b.toThemeProperty("jqx-input-content")),b.dateTimeInput.addClass(b.toThemeProperty("jqx-widget-content")),b.dateTimeInput.addClass(b.toThemeProperty("jqx-rc-all")),b.dateTimeInput.attr("placeHolder",b.placeHolder),"full"!=b.renderMode&&b.dateTimeInput.remove();var d=b.host.attr("name");d&&b.dateTimeInput.attr("name",d),b.host.attr("tabindex")&&(b.dateTimeInput.attr("tabindex",b.host.attr("tabindex")),b.host.removeAttr("tabindex")),b.rtl&&(b.dateTimeInput.css("direction","rtl"),b.dateTimeInput.addClass("jqx-rtl")),b.calendarButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c),b.rtl?b.calendarButton.addClass(b.toThemeProperty("jqx-action-button-rtl")):b.calendarButton.addClass(b.toThemeProperty("jqx-action-button")),b.calendarButtonIcon=a(b.calendarButton.children()[0]),b.calendarButtonIcon.addClass(b.toThemeProperty("jqx-icon")),b.calendarButtonIcon.addClass(b.toThemeProperty("jqx-icon-calendar")),b.calendarButton.addClass(b.toThemeProperty("jqx-fill-state-normal")),b.rtl?b.calendarButton.addClass(b.toThemeProperty("jqx-rc-l")):b.showTimeButton||b.calendarButton.addClass(b.toThemeProperty("jqx-rc-r")),b.timeButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c),b.rtl?b.timeButton.addClass(b.toThemeProperty("jqx-action-button-rtl")):b.timeButton.addClass(b.toThemeProperty("jqx-action-button")),b.template&&(b.timeButton.addClass(b.toThemeProperty("jqx-"+b.template)),b.calendarButton.addClass(b.toThemeProperty("jqx-"+b.template))),b.timeButtonIcon=a(b.timeButton.children()[0]),b.timeButtonIcon.addClass(b.toThemeProperty("jqx-icon")),b.timeButtonIcon.addClass(b.toThemeProperty("jqx-icon-time")),b.timeButton.addClass(b.toThemeProperty("jqx-fill-state-normal")),b.rtl?b.timeButton.addClass(b.toThemeProperty("jqx-rc-l")):b.timeButton.addClass(b.toThemeProperty("jqx-rc-r"));var e=this;if(b._arrange(),null!=a.jqx._jqxCalendar&&void 0!=a.jqx._jqxCalendar)try{var f="calendar"+b.id,g=a(a.find("#"+f));g.length>0&&g.remove(),a.jqx.aria(this,"aria-owns",f),a.jqx.aria(this,"aria-haspopup",!0),a.jqx.aria(this,"aria-readonly","range"==b.selectionMode);var h=a("<div style='overflow: hidden; background: transparent; position: absolute;' id='calendar"+b.id+"'><div id='innerCalendar"+b.id+"'></div><div id='innerTime"+b.id+"'></div></div>");"opera"==a.jqx.utilities.getBrowser().browser&&h.hide(),"element"==b.dropDownContainer?h.appendTo(b.host):h.appendTo(document.body),b.container=h,b.calendarContainer=a(a.find("#innerCalendar"+b.id)).jqxCalendar({restrictedDates:this.restrictedDates,changing:b.changing,change:b.change,enableViews:b.enableViews,selectableDays:b.selectableDays,views:b.views,rowHeaderWidth:b.rowHeaderWidth,titleHeight:b.titleHeight,columnHeaderHeight:b.columnHeaderHeight,_checkForHiddenParent:!1,enableAutoNavigation:!1,canRender:!1,localization:b.localization,todayString:b.todayString,clearString:b.clearString,dayNameFormat:b.dayNameFormat,rtl:b.rtl,culture:b.culture,showFooter:b.showFooter,selectionMode:b.selectionMode,firstDayOfWeek:b.firstDayOfWeek,showWeekNumbers:b.showWeekNumbers,width:b.dropDownWidth,height:b.dropDownHeight,theme:b.theme}),"element"==b.dropDownContainer?b.calendarContainer.css({position:"absolute",top:0,left:0}):b.calendarContainer.css({position:"absolute",zIndex:b.popupZIndex,top:0,left:0}),b.calendarContainer.addClass(b.toThemeProperty("jqx-popup")),a.jqx.browser.msie&&b.calendarContainer.addClass(b.toThemeProperty("jqx-noshadow")),b.timeContainer=a(a.find("#innerTime"+b.id)),b.timeContainer.css({position:"absolute",zIndex:b.popupZIndex,top:0,left:0}),b.timeContainer.addClass(b.toThemeProperty("jqx-popup")),a.jqx.browser.msie&&b.timeContainer.addClass(b.toThemeProperty("jqx-noshadow")),b._calendar=a.data(b.calendarContainer[0],"jqxCalendar").instance;var e=this;b._calendar.today=function(){e.today()},b._calendar.clear=function(){e.clear()},"opera"==a.jqx.utilities.getBrowser().browser&&h.show(),h.height(parseInt(b.calendarContainer.height())+25),h.width(parseInt(b.calendarContainer.width())+25),"range"==b.selectionMode&&(b.readonly=!0),"none"==b.animationType?b.container.css("display","none"):b.container.hide()}catch(a){}if(a.global&&a.global.preferCulture(b.culture),b.selectedText="",b._addHandlers(),b.self=this,b.oldValue=b.getDate(),b.items=new Array,b.editors=new Array,b._loadItems(),b.editorText="",1==b.readonly&&b.dateTimeInput.css("readonly",b.readonly),b.dateTimeInput.css("text-align",b.textAlign),b.host.addClass(b.toThemeProperty("jqx-widget")),b.host.addClass(b.toThemeProperty("jqx-datetimeinput")),b.host.addClass(b.toThemeProperty("jqx-input")),b.host.addClass(b.toThemeProperty("jqx-overflow-hidden")),b.host.addClass(b.toThemeProperty("jqx-rc-all")),b.host.addClass(b.toThemeProperty("jqx-reset")),b.host.addClass(b.toThemeProperty("jqx-clear")),b.host.addClass(b.toThemeProperty("jqx-widget-content")),b.propertyChangeMap.disabled=function(b,c,d,f){f?(b.host.addClass(e.toThemeProperty("jqx-input-disabled")),b.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))):(b.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled")),b.host.removeClass(e.toThemeProperty("jqx-input-disabled"))),a.jqx.aria(this,"aria-disabled",f)},b.disabled&&(b.host.addClass(b.toThemeProperty("jqx-input-disabled")),b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled")),b.dateTimeInput.attr("disabled",!0)),b.host.parents("form").length>0&&b.addHandler(b.host.parents("form"),"reset",function(){setTimeout(function(){e.setDate(new Date)},10)}),b.cookies){var i=a.jqx.cookie.cookie("jqxDateTimeInput"+b.element.id);null!=i&&b.setDate(new Date(i))}if(a.jqx.browser.msie&&a.jqx.browser.version<8&&b.host.parents(".jqx-window").length>0){var j=b.host.parents(".jqx-window").css("z-index");b.container.css("z-index",j+10),b.calendarContainer.css("z-index",j+10)}"default"!=b.culture&&b._applyCulture(),b.value&&(b.calendarContainer.jqxCalendar("_isDisabled",b.value.dateTime)?b.dateTimeInput.addClass(b.toThemeProperty("jqx-input-invalid")):b.dateTimeInput.removeClass(b.toThemeProperty("jqx-input-invalid")))},val:function(a){var b=this;if(0!=arguments.length){if(null==a&&b.setDate(null),"range"==b.selectionMode)return b.setRange(arguments[0],arguments[1]),b.getText();if(a instanceof Date&&b.setDate(a),"string"==typeof a){if("date"==a)return b.getDate();b.setDate(a)}b._calendar.getDate()!=b.getDate()&&b._calendar.setDate(b.getDate())}return b.getText()},_setSize:function(){null!=this.width&&this.width.toString().indexOf("px")!=-1?this.element.style.width=parseInt(this.width)+"px":void 0==this.width||isNaN(this.width)||(this.element.style.width=parseInt(this.width)+"px"),null!=this.height&&this.height.toString().indexOf("px")!=-1?this.element.style.height=parseInt(this.height)+"px":void 0==this.height||isNaN(this.height)||(this.element.style.height=parseInt(this.height)+"px");var b=!1;null!=this.width&&this.width.toString().indexOf("%")!=-1&&(b=!0,this.host.width(this.width)),null!=this.height&&this.height.toString().indexOf("%")!=-1&&(b=!0,this.host.height(this.height));var c=this,d=function(){c.calendarContainer&&c._arrange()};if(b&&this.calendarContainer){this._arrange();var e=this.host.width();"auto"!=this.dropDownWidth&&(e=this.dropDownWidth),this.calendarContainer.jqxCalendar({width:e}),this.container.width(parseInt(e)+25)}a.jqx.utilities.resize(this.host,function(){d()})},_arrange:function(){null==this.height&&(this.height=27,this.host.height(27));var b=parseInt(this.host.width()),c=parseInt(this.host.height()),d=this.buttonSize,e=2;this.showCalendarButton||this.showTimeButton||(d=0,buttonHeight=0,this.calendarButton.hide(),e=0),this.showCalendarButton?this.calendarButton.show():this.calendarButton.hide(),this.showTimeButton?this.timeButton.show():this.timeButton.hide();var f=b-d-1*e;if(this.showTimeButton&&this.showCalendarButton)var f=b-2*d-1*e;else if(this.showTimeButton||this.showCalendarButton)var f=b-d-1*e;f>0&&(this.dateTimeInput[0].style.width=f+"px"),this.rtl&&(this.dateTimeInput[0].style.width=-1+f+"px"),this.dateTimeInput[0].style.left="0px",this.dateTimeInput[0].style.top="0px",this.calendarButton[0].style.width=d+1+"px",this.calendarButton[0].style.left=1+f+"px",this.timeButton[0].style.width=d+1+"px",this.showCalendarButton?this.timeButton[0].style.left=1+this.calendarButton.width()+f+"px":this.timeButton[0].style.left=1+f+"px","full"!=this.renderMode&&(this.calendarButton[0].style.width="100%",this.calendarButton[0].style.left="0px",this.calendarButton.css("border","none"),this.timeButton[0].style.width="100%",this.timeButton[0].style.left="0px",this.timeButton.css("border","none"));var g=this.dateTimeInput.height();0==g&&"full"!=this.renderMode?(g=parseInt(this.dateTimeInput.css("font-size"))+3,this.calendarButton.addClass(this.toThemeProperty("jqx-rc-all")),this.timeButton.addClass(this.toThemeProperty("jqx-rc-all"))):g=17,this.dateTimeInput[0].className.indexOf("jqx-rc-all")==-1&&this.dateTimeInput.addClass(this.toThemeProperty("jqx-rc-all"));var h=parseInt(c)/2-parseInt(g)/2;if(h>0){var i=this.dateTimeInput.css("font-size");""==i&&(i=13);var h=c-2-parseInt(i)-2;isNaN(h)&&(h=0),h<0&&(h=0);var j=h/2;a.jqx.browser.msie&&a.jqx.browser.version<8&&(j=h/4),this.dateTimeInput[0].style.paddingTop=Math.round(j)+"px",this.dateTimeInput[0].style.paddingBottom=Math.round(j)+"px"}this.rtl&&(this.calendarButton[0].style.width=d+"px",this.timeButton[0].style.width=d+"px",this.calendarButton.css("left","0px"),this.showCalendarButton?this.timeButton.css("left",d+"px"):this.timeButton.css("left","0px"),this.dateTimeInput.css("left",this.calendarButton.width()),this.showTimeButton&&this.showCalendarButton&&this.dateTimeInput.css("left",this.timeButton.width()+this.calendarButton.width()),a.jqx.browser.msie&&a.jqx.browser.version<=8&&(this.dateTimeInput.css("left",1+this.calendarButton.width()),this.showTimeButton&&this.showCalendarButton&&this.dateTimeInput.css("left",1+this.timeButton.width()+this.calendarButton.width())))},_removeHandlers:function(){this.removeHandler(a(document),"mousedown."+this.id),this.dateTimeInput&&(this.removeHandler(this.dateTimeInput,"keydown."+this.id),this.removeHandler(this.dateTimeInput,"blur"),this.removeHandler(this.dateTimeInput,"focus"),this.removeHandler(this.host,"focus"),this.removeHandler(this.dateTimeInput,"mousedown"),this.removeHandler(this.dateTimeInput,"mouseup"),this.removeHandler(this.dateTimeInput,"keydown"),this.removeHandler(this.dateTimeInput,"keyup"),this.removeHandler(this.dateTimeInput,"keypress")),null!=this.calendarButton&&this.removeHandler(this.calendarButton,"mousedown"),null!=this.timeButton&&this.removeHandler(this.timeButton,"mousedown"),null!=this.calendarContainer&&(this.removeHandler(this.calendarContainer,"cellSelected"),this.removeHandler(this.calendarContainer,"cellMouseDown")),this.removeHandler(a(window),"resize."+this.id)},isOpened:function(){var b=this,c=a.data(document.body,"openedJQXCalendar"+this.id);return null!=c&&c==b.calendarContainer},wheel:function(a,b){if(b.isEditing){b.changeType="mouse";var c=0;if(a||(a=window.event),a.originalEvent&&a.originalEvent.wheelDelta&&(a.wheelDelta=a.originalEvent.wheelDelta),a.wheelDelta?c=a.wheelDelta/120:a.detail&&(c=-a.detail/3),c){var d=b._handleDelta(c);return!d&&(a.preventDefault&&a.preventDefault(),a.returnValue=!1,d)}a.preventDefault&&a.preventDefault(),a.returnValue=!1}},_handleDelta:function(a){return a<0?this.spinDown():this.spinUp(),!1},focus:function(){try{var a=this;a._firstFocusDate=a.getDate(),this._setSelectionStart(0),this._selectGroup(-1),this.dateTimeInput.focus(),setTimeout(function(){a._setSelectionStart(0),a._selectGroup(-1),a.dateTimeInput.focus()},25)}catch(a){}},_addHandlers:function(){var b=(this.element.id,this.element,this);this.host.parents()&&this.addHandler(this.host.parents(),"scroll.datetimeinput"+this.element.id,function(a){var c=b.isOpened();c&&b.close()}),this.addHandler(this.host,"mouseenter",function(){!b.disabled&&b.enableHover&&(hovered=!0,b.calendarButtonIcon.addClass(b.toThemeProperty("jqx-icon-calendar-hover")),b.calendarButton.addClass(b.toThemeProperty("jqx-fill-state-hover")),b.showTimeButton&&(b.timeButtonIcon.addClass(b.toThemeProperty("jqx-icon-time-hover")),b.timeButton.addClass(b.toThemeProperty("jqx-fill-state-hover"))))}),this.addHandler(this.host,"mouseleave",function(){!b.disabled&&b.enableHover&&(b.calendarButtonIcon.removeClass(b.toThemeProperty("jqx-icon-calendar-hover")),b.calendarButton.removeClass(b.toThemeProperty("jqx-fill-state-hover")),b.showTimeButton&&(b.timeButtonIcon.removeClass(b.toThemeProperty("jqx-icon-time-hover")),b.timeButton.removeClass(b.toThemeProperty("jqx-fill-state-hover"))))}),this.addHandler(this.host,"mousewheel",function(a){b.wheel(a,b)}),this.addHandler(a(document),"mousedown."+this.id,this._closeOpenedCalendar,{me:this}),a.jqx.mobile.isTouchDevice()&&this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,this._closeOpenedCalendar,{me:this}),this.addHandler(this.dateTimeInput,"keydown."+this.id,function(c){var d=a.data(document.body,"openedJQXCalendar"+b.id);if(null!=d&&d==b.calendarContainer){var e=b.handleCalendarKey(c,b);return e}}),null!=this.calendarContainer&&(this.addHandler(this.calendarContainer,"keydown",function(a){if(13==a.keyCode)return!(b.isOpened()&&!b._calendar._viewAnimating&&"month"==b._calendar.view)||(b.hideCalendar("selected","keyboard"),b.dateTimeInput.focus(),!1);if(9==a.keyCode){if(b.isOpened())return b.hideCalendar("selected","keyboard"),!0}else if(27==a.keyCode)return!b.isOpened()||(b.hideCalendar(null,"keyboard"),b.dateTimeInput.focus(),!1);if(b.timePopup=!1,84==a.keyCode&&(b.timePopup=!0),115==a.keyCode){if(b.isOpened())return b.hideCalendar("keyboard","keyboard"),b.dateTimeInput.focus(),!1;if(!b.isOpened())return b.showCalendar("keyboard","keyboard"),b.dateTimeInput.focus(),!1}if(a.altKey)if(38==a.keyCode){if(b.isOpened())return b.hideCalendar("keyboard","keyboard"),b.dateTimeInput.focus(),!1}else if(40==a.keyCode&&!b.isOpened())return b.showCalendar("keyboard","keyboard"),b.dateTimeInput.focus(),!1}),this.addHandler(this.calendarContainer,"cellSelected",function(c){if(b.closeCalendarAfterSelection){a.data(document.body,"openedJQXCalendarValue");"mouse"==c.args.selectionType&&("range"!=b.selectionMode?b.hideCalendar("selected","mouse"):0==b._calendar._clicks&&b.hideCalendar("selected","mouse"))}}),this.addHandler(this.calendarContainer,"cellMouseDown",function(c){b.closeCalendarAfterSelection&&b._calendar.value&&a.data(document.body,"openedJQXCalendarValue",new a.jqx._jqxDateTimeInput.getDateTime(b._calendar.value.dateTime))})),this.addHandler(this.dateTimeInput,"blur",function(a){if(null!=b.value){b.isEditing=!1;b.value.dateTime.getDay(),b._oldDT;b._validateValue(!0),a.stopPropagation&&a.stopPropagation(),b._updateText(),b._raiseEvent(9,a)}b.isOpened()||b.host.removeClass(b.toThemeProperty("jqx-fill-state-focus"))}),this.addHandler(this.host,"focus",function(a){b.focus()}),this.addHandler(this.dateTimeInput,"focus",function(a){if(b._firstFocusDate=b.getDate(),null!=b.value?("range"!=b.selectionMode?b._oldDT=new Date(b.value.dateTime):b._oldDT=b.getRange(),setTimeout(function(){var a=b._selection();b.isEditing=!0,b._validateValue(),b._updateText(),b._setSelectionStart(0),b._selectGroup(-1,a),b.host.addClass(b.toThemeProperty("jqx-fill-state-focus"))})):(b._setSelectionStart(0),b._selectGroup(-1),b.host.addClass(b.toThemeProperty("jqx-fill-state-focus"))),a.stopPropagation&&a.stopPropagation(),a.preventDefault)return a.preventDefault(),!1});var c="mousedown";this.touch&&(c=a.jqx.mobile.getTouchEventName("touchstart")),this.addHandler(this.calendarButton,c,function(a){var c=b.container,d="block"==c.css("display");if(b.timePopup=!1,b.calendarPopup=!0,!b.disabled&&!b.isanimating){if(d)return b.hideCalendar(),!1;b.showCalendar("mouse"),a.preventDefault()}}),this.addHandler(this.timeButton,c,function(a){var c=b.container,d="block"==c.css("display");if(b.timePopup=!0,b.calendarPopup=!1,!b.disabled&&!b.isanimating){if(d)return b.hideCalendar("mouse","mouse"),!1;b.showCalendar("mouse"),a.preventDefault()}}),this.addHandler(this.dateTimeInput,"mousedown",function(a){return b._raiseEvent(2,a)}),this.addHandler(this.dateTimeInput,"mouseup",function(a){return b._raiseEvent(3,a)}),this.addHandler(this.dateTimeInput,"keydown",function(a){return b._raiseEvent(4,a)}),this.addHandler(this.dateTimeInput,"keyup",function(a){return b._raiseEvent(5,a)}),this.addHandler(this.dateTimeInput,"keypress",function(a){return b._raiseEvent(6,a)})},createID:function(){var a=Math.random()+"";return a=a.replace(".",""),a="99"+a,a/=1,"dateTimeInput"+a},setMaxDate:function(b,c){null!=b&&(null!=b&&"string"==typeof b&&(b=new Date(b),"Invalid Date"==b)||(this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b),null!=this._calendar&&this._calendar.setMaxDate(b),0!=c&&(null!=this.getDate()&&this.getDate()>b&&this.setDate(b),a.jqx.aria(this,"aria-valuemax",b),this._refreshValue(),this._updateText())))},getMaxDate:function(){return null!=this.maxDate&&void 0!=this.maxDate?this.maxDate.dateTime:null},setMinDate:function(b,c){null!=b&&(null!=b&&"string"==typeof b&&(b=new Date(b),"Invalid Date"==b)||(this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b),null!=this._calendar&&this._calendar.setMinDate(b),0!=c&&(null!=this.getDate()&&this.getDate()<b&&this.setDate(b),a.jqx.aria(this,"aria-valuemin",b),this._refreshValue(),this._updateText())))},getMinDate:function(){return null!=this.minDate&&void 0!=this.minDate?this.minDate.dateTime:null},_applyCulture:function(){var b=!1;try{void 0!=Globalize&&(b=!0)}catch(a){}try{if(a.global)a.global.preferCulture(this.culture),this.localization.calendar=a.global.culture.calendar;else if(b){var c=Globalize.culture(this.culture);this.localization.calendar=c.calendar}this._loadItems(),null!=this._calendar&&(this._calendar.culture=this.culture,this._calendar.localization=this.localization,this._calendar.render())}catch(a){}},propertyMap:function(a){return"value"==a?"range"!=this.selectionMode?this.getDate():this.getRange():null},propertiesChangedHandler:function(a,b,c){c&&c.width&&c.height&&2==Object.keys(c).length&&(a.refresh(),a.close())},propertyChangedHandler:function(b,c,d,e){if(void 0!=b.isInitialized&&0!=b.isInitialized&&!(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&2==Object.keys(b.batchUpdate).length)){if("template"==c&&(b.timeButton.removeClass(b.toThemeProperty("jqx-"+d)),b.calendarButton.removeClass(b.toThemeProperty("jqx-"+d)),b.timeButton.addClass(b.toThemeProperty("jqx-"+b.template)),b.calendarButton.addClass(b.toThemeProperty("jqx-"+b.template))),"restrictedDates"==c&&b.calendarContainer.css({restrictedDates:e}),"popupZIndex"==c&&b.calendarContainer.css({zIndex:e}),"showCalendarButton"==c&&b._arrange(),"showTimeButton"==c&&(b._arrange(),b.timePopupElement&&(b.timePopupElement.remove(),b.timePopupElement=null)),"selectionMode"==c&&(b._calendar.selectionMode=e,b.refreshValue()),"min"==c&&("string"==typeof e?b.setMinDate(new Date(e)):b.setMinDate(e)),"max"==c&&("string"==typeof e?b.setMaxDate(new Date(e)):b.setMaxDate(e)),"value"==c)if(null!=e&&e instanceof Date){if(isNaN(e.getFullYear())||isNaN(e.getMonth())||isNaN(e.getDate()))return void(this.value=d);e=a.jqx._jqxDateTimeInput.getDateTime(e)}else if(null!=e&&"string"==typeof e){var f=new Date(e);void 0==f||isNaN(f)||(this.value=a.jqx._jqxDateTimeInput.getDateTime(f))}if("views"==c&&b.calendarContainer.jqxCalendar({views:e}),"enableViews"==c&&b.calendarContainer.jqxCalendar({enableViews:e}),"selectableDays"==c&&b.calendarContainer.jqxCalendar({selectableDays:e}),"showFooter"==c&&b.calendarContainer.jqxCalendar({showFooter:e}),"rtl"==c&&(b.calendarContainer.jqxCalendar({rtl:e}),e?(b.dateTimeInput.css("direction","rtl"),b.dateTimeInput.addClass("jqx-rtl")):(b.dateTimeInput.css("direction","ltr"),b.dateTimeInput.removeClass("jqx-rtl"))),"todayString"!=c&&"clearString"!=c||b.calendarContainer.jqxCalendar({clearString:b.clearString,todayString:b.todayString}),"dayNameFormat"==c&&b.calendarContainer.jqxCalendar({dayNameFormat:e}),"firstDayOfWeek"==c&&b.calendarContainer.jqxCalendar({firstDayOfWeek:e}),"showWeekNumbers"==c&&b.calendarContainer.jqxCalendar({showWeekNumbers:e}),"culture"==c||"localization"==c?b._applyCulture():"formatString"==c&&(b.items=new Array,b._loadItems()),"theme"==c&&(a.jqx.utilities.setTheme(d,e,b.host),b.calendarContainer.jqxCalendar({theme:e})),"width"==c||"height"==c)return b.close(),void b.refresh();b._setOption(c,e,d),"dropDownWidth"!=c&&"dropDownHeight"!=c||(b.calendarContainer.jqxCalendar({width:b.dropDownWidth,height:b.dropDownHeight}),b._calendar.render(),b.container.height(b.calendarContainer.height()),b.container.width(b.calendarContainer.width()))}},clear:function(){this.allowNullDate?("range"!=this.selectionMode?this.setDate(null):(this._calendar._clicks=1,this.setRange(null,null)),this._calendar._clicks=0):"range"!=this.selectionMode?this.setDate(me.getMinDate()):(this._calendar._clicks=1,this.setRange(me.getMinDate(),me.getMinDate()),this._calendar._clicks=0),this.hideCalendar()},today:function(){var a=new Date;if(a.setHours(0,0,0,0),"range"!=this.selectionMode)this.setDate(a);else{this._calendar._clicks=0;var b=new Date;b.setHours(23,59,59,0),this.setRange(a,b),this._calendar._clicks=0}this.hideCalendar()},setDate:function(b){var c=this.getDate();if(null!=b&&"string"==typeof b){var d=b;if(b.toString().indexOf(",")>=0&&(b=b.replace(/\,/g,"/"),b=new Date(b),"Invalid Date"==b&&(b=d)),b.toString().indexOf("-")>=0&&(b=b.replace(/\-/g,"/"),b=new Date(b),"Invalid Date"==b&&(b=d)),""!=b){var e=b;if(b=void 0!=Globalize?Globalize.parseDate(e,this.formatString,this.culture):a.jqx.dataFormat?a.jqx.dataFormat.parsedate(e,this.formatString,this.localization.calendar):new Date(b),"Invalid Date"==b)return;null===b&&null!==e&&"Invalid Date"!=e&&(b=e)}}if(null!=b&&"null"!=b&&"undefined"!=b||this.allowNullDate||(b=this.min),"Invalid Date"==b&&(b=null),null==b||"null"==b||"undefined"==b||""===b)return void(null!=this.value&&(this.value=null,this._calendar.setDate(null),this._refreshValue(),this.cookies&&null!=this.value&&a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions),this._setSelectionStart(0),this._selectGroup(-1),this._raiseEvent("0",b,c),this._raiseEvent("9",b,c)));if(!(b<this.getMinDate()||b>this.getMaxDate())){null==this.value&&(this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date),this.value._setHours(0),this.value._setMinutes(0),this.value._setSeconds(0),this.value._setMilliseconds(0)),b.getFullYear&&(this.value._setYear(b.getFullYear()),this.value._setDay(1),this.value._setMonth(b.getMonth()+1),this.value._setHours(b.getHours()),this.value._setMinutes(b.getMinutes()),this.value._setSeconds(b.getSeconds()),this.value._setMilliseconds(b.getMilliseconds()),this.value._setDay(b.getDate())),this._validateTimeRange(),this._refreshValue(),this.cookies&&null!=this.value&&a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions);var f=this.getDate(),g=f-c;return 0!=g?(this._raiseEvent("0",b,c),this._raiseEvent("9",b,c),!0):void 0}},getDate:function(){return void 0==this.value?null:new Date(this.value.dateTime);
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
7 },getText:function(){return this.dateTimeInput.val()},setRange:function(b,c){if("Invalid Date"==b&&(b=null),"Invalid Date"==c&&(c=null),!(null!=b&&"string"==typeof b&&(b=new Date(b),"Invalid Date"==b)||null!=c&&"string"==typeof c&&(c=new Date(c),"Invalid Date"==c)||b&&isNaN(b)&&"NaN"==b.toString()&&"string"!=typeof b||c&&isNaN(c)&&"NaN"==c.toString()&&"string"!=typeof c)){this._calendar.setRange(b,c),c&&b&&c.valueOf()!=b.valueOf()?this._range={from:b,to:c}:this._range=this._calendar.getRange();var d=b;null!=d&&d.getFullYear&&(null==this.value&&(this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date),this.value._setHours(0),this.value._setMinutes(0),this.value._setSeconds(0),this.value._setMilliseconds(0)),this.value._setYear(d.getFullYear()),this.value._setMonth(d.getMonth()+1),this.value._setHours(d.getHours()),this.value._setMinutes(d.getMinutes()),this.value._setSeconds(d.getSeconds()),this.value._setMilliseconds(d.getMilliseconds()),this.value._setDay(d.getDate())),this._refreshValue(),this.value?this._raiseEvent("0",this.value.dateTime):this._raiseEvent("0",null)}},getRange:function(){var a=this._calendar.getRange();if(this._range){var b=this._range.from,c=this._range.to;c&&b&&c.valueOf()!=b.valueOf()&&(a.from&&a.from.setHours(b.getHours(),b.getMinutes(),b.getSeconds(),b.getMilliseconds()),a.to&&a.to.setHours(c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()))}return a},_validateValue:function(a){for(var b=!1,c=0;c<this.items.length;c++){var d=this.editors[c].value;switch(this.items[c].type){case"FORMAT_AMPM":d<0?d=0:d>1&&(d=1);break;case"Character":break;case"Day":d<1?d=1:d>31&&(d=31);break;case"FORMAT_hh":d<1?d=1:d>12&&(d=12);break;case"FORMAT_HH":d<0?d=0:d>23&&(d=23);break;case"Millisecond":d<0?d=0:d>999&&(d=999);break;case"Minute":d<0?d=0:d>59&&(d=59);break;case"Month":d<1?d=1:d>12&&(d=12);break;case"ReadOnly":break;case"Second":d<0?d=0:d>59&&(d=59);break;case"Year":d<this.minDate.year?d=this.minDate.year:d>this.maxDate.year&&(d=this.maxDate.year)}this.editors[c].value!=d&&(this.editors[c].value=d,b=!0)}this.updateValue(a),null!=this.value&&a===!0&&(this.value.dateTime>this.maxDate.dateTime?(this._internalSetValue(this.maxDate),this._updateEditorsValue()):this.value.dateTime<this.minDate.dateTime&&(this._internalSetValue(this.minDate),this._updateEditorsValue()),this._updateText())},spinUp:function(){var a=this.value;if(null!=a){if(null!=this.activeEditor){var b=this.editors.indexOf(this.activeEditor);if(b==-1)return;"Day"==this.items[b].type&&null!=this.value&&(this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month));var c=this.activeEditor.positions;this.activeEditor.increaseValue(this.enableAbsoluteSelection),this.activeEditor.positions=c}this.isEditing&&(this.isEditing=!1),this.updateValue(),this.isEditing=!0,this._updateText();var d=this.editors.indexOf(this.activeEditor);d>=0&&this._selectGroup(d)}},spinDown:function(){var a=this.value;if(null!=a){if(null!=this.activeEditor){var b=this.editors.indexOf(this.activeEditor);if(b==-1)return;"Day"==this.items[b].type&&null!=this.value&&(this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month));var c=this.activeEditor.positions;this.activeEditor.decreaseValue(this.enableAbsoluteSelection),this.activeEditor.positions=c}this.isEditing&&(this.isEditing=!1),this.updateValue(),this.isEditing=!0,this._updateText();var d=this.editors.indexOf(this.activeEditor);d>=0&&this._selectGroup(d)}},_passKeyToCalendar:function(a){if(13==a.keyCode||9==a.keyCode)return this.hideCalendar("selected","keyboard"),!0;if(27==a.keyCode){var b=(this.calendarContainer,this._calendar),c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=!1,b.setDate(this.value.dateTime),this.closeCalendarAfterSelection=c,this.hideCalendar()}var c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=!1;var d=this._calendar._handleKey(a);return this.closeCalendarAfterSelection=c,d},handleCalendarKey:function(b,c){var d=(a(b.target),a.data(document.body,"openedJQXCalendar"+this.id));if(null!=d&&d.length>0){var e=c._passKeyToCalendar(b);return e}return!0},_findPos:function(b){if(null!=b){for(;b&&("hidden"==b.type||1!=b.nodeType||a.expr.filters.hidden(b));)b=b.nextSibling;var c=a(b).coord(!0);return[c.left,c.top]}},testOffset:function(b,c,d){var e=b.outerWidth(),f=b.outerHeight(),g=a(window).width()+a(window).scrollLeft(),h=a(window).height()+a(window).scrollTop();if(c.left+e>g&&e>this.host.width()){var i=this.host.coord().left,j=e-this.host.width();c.left=i-j+2}return c.left<0&&(c.left=parseInt(this.host.coord().left)+"px"),c.top-=Math.min(c.top,c.top+f>h&&h>f?Math.abs(f+d+23):0),c},open:function(a){"time"==a?this.timePopup=!0:this.timePopup=!1,this.showCalendar()},close:function(a){this.hideCalendar()},_getBodyOffset:function(){var b=0,c=0;return"0px"!=a("body").css("border-top-width")&&(b=parseInt(a("body").css("border-top-width")),isNaN(b)&&(b=0)),"0px"!=a("body").css("border-left-width")&&(c=parseInt(a("body").css("border-left-width")),isNaN(c)&&(c=0)),{left:c,top:b}},initTimePopup:function(){this.timePopupElement=a("<div style='border-style: solid; border-width: 0px;'></div>").appendTo(this.timeContainer),this.timePopupElement.addClass(this.toThemeProperty("jqx-widget-content jqx-widget jqx-date-time-input-popup"));var b="";b+="<table><tbody><tr><td><a class='increment-hour-column' href='javascript:;' data-action='incrementHour'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-minute-column' href='javascript:;' data-action='incrementMinute'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-second-column' href='javascript:;' data-action='incrementSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-millisecond-column' href='javascript:;' data-action='incrementMSSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td class='increment-meridian-column'><a href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-up'></div></a></td></tr><tr><td><input type='text' class='jqx-timepicker-hour' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-minute' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-second' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-millisecond' maxlength='3'></td><td class='separator'>&nbsp;</td><td><input type='text' class='jqx-timepicker-meridian' maxlength='2'></td></tr><tr><td><a class='decrement-hour-column' href='javascript:;' data-action='decrementHour'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-minute-column' href='javascript:;' data-action='decrementMinute'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-second-column' href='javascript:;' data-action='decrementSecond'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-millisecond-column' href='javascript:;' data-action='decrementMillisecond'><div class='jqx-icon-down'></div></a></td><td class='separator'>&nbsp;</td><td><a class='decrement-meridian-column' href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-down'></div></a></td></tr></tbody></table>";var c=this._getFormatValue(this.formatString);"range"!=this.selectionMode?this.timePopupElement[0].innerHTML=b:this.timePopupElement[0].innerHTML="<table><tr><td>"+b+"</td><td>-</td><td>"+b+"</td></tr></table>",this.timePopupElement.find(".jqx-icon-down").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-down")),this.timePopupElement.find(".jqx-icon-up").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-up"));var d=this.timePopupElement.find("input");d.addClass(this.toThemeProperty("jqx-input")),d.addClass(this.toThemeProperty("jqx-rc-all")),this.addHandler(d,"mousedown",function(a){a.stopPropagation()});var e=function(b){b.target.className.indexOf("hour")>=0&&h._decrementHour(a(b.target)),b.target.className.indexOf("minute")>=0&&h._decrementMinuteSecond(a(b.target)),b.target.className.indexOf("second")>=0&&h._decrementMinuteSecond(a(b.target)),b.target.className.indexOf("millisecond")>=0&&h._decrementMillisecond(a(b.target)),b.target.className.indexOf("meridian")>=0&&h._decrementMeridian(a(b.target))},f=function(b){b.target.className.indexOf("hour")>=0&&h._incrementHour(a(b.target)),b.target.className.indexOf("minute")>=0&&h._incrementMinuteSecond(a(b.target)),b.target.className.indexOf("second")>=0&&h._incrementMinuteSecond(a(b.target)),b.target.className.indexOf("millisecond")>=0&&h._incrementMillisecond(a(b.target)),b.target.className.indexOf("meridian")>=0&&h._incrementMeridian(a(b.target))},g=function(a,b){if(b.isEditing){var c=0;a||(a=window.event),a.originalEvent&&a.originalEvent.wheelDelta&&(a.wheelDelta=a.originalEvent.wheelDelta),a.originalEvent&&void 0!=a.originalEvent.deltaY&&(c=-a.originalEvent.deltaY),a.wheelDelta?c=a.wheelDelta/120:a.detail&&(c=-a.detail/3),c&&(document.activeElement==a.target&&"input"==a.target.nodeName.toLowerCase()&&(c<0?e(a):f(a)),a.preventDefault&&a.preventDefault(),a.returnValue=!1),a.preventDefault&&a.preventDefault(),a.returnValue=!1}};this.addHandler(d,"wheel",function(a){g(a,h)}),this.addHandler(d,"keydown",function(b){a(b.target);if(b.ctrlKey)if(38==b.keyCode){if(h.isOpened())return h.hideCalendar("keyboard","keyboard"),h.dateTimeInput.focus(),!1}else if(40==b.keyCode&&!h.isOpened())return h.showCalendar("keyboard","keyboard"),h.dateTimeInput.focus(),!1;40==b.keyCode?(e(b),b.preventDefault()):38==b.keyCode?(f(b),b.preventDefault()):13==b.keyCode?(b.preventDefault(),h.hideCalendar("keyboard","keyboard"),h.dateTimeInput.focus()):27==b.keyCode&&(b.preventDefault(),h.hideCalendar("cancel"),h.dateTimeInput.focus())}),this.hourInput=a(d[0]),this.minuteInput=a(d[1]),this.secondInput=a(d[2]),this.mssecondInput=a(d[3]),this.meridianInput=a(d[4]),this.hourInput2=a(d[5]),this.minuteInput2=a(d[6]),this.secondInput2=a(d[7]),this.mssecondInput2=a(d[8]),this.meridianInput2=a(d[9]);var h=this,i=this.timePopupElement.find(".increment-hour-column");this.hourIncrement=a(i[0]),this.hourIncrement2=a(i[1]),this.addHandler(d,"change",function(b){var d=a(b.target);if(d.val().length<=1&&d.val("0"+a(b.target).val()),b.target.className.indexOf("hour")>=0){var e=parseInt(a(b.target).val());if(c.indexOf("HH")>=0)for(;e>24;)e-=24;else for(;e>12;)e-=12;e<10&&(e="0"+e),d.val()!=e&&d.val(e)}if(b.target.className.indexOf("minute")>=0||b.target.className.indexOf("second")>=0){for(var e=parseInt(a(b.target).val());e>59;)e--;e<10&&(e="0"+e),d.val()!=e&&d.val(e)}}),this._incrementHour=function(a){var b=parseInt(a.val());b++,c.indexOf("HH")>=0?b>23&&(b=0):b>12&&(b=1),b<10&&(b="0"+b),a.val(b)},this._incrementMinuteSecond=function(a){var b=parseInt(a.val());b++,b>59&&(b=0),b<10&&(b="0"+b),a.val(b)},this._incrementMillisecond=function(a){var b=parseInt(a.val());b++,b>999&&(b=0),b<10&&(b="0"+b),a.val(b)},this._incrementMeridian=function(a){var b=a.val();b=b.toLowerCase().indexOf("a")>=0?"PM":"AM",a.val(b)},this._decrementHour=function(a){var b=parseInt(a.val());b--,c.indexOf("HH")>=0?b<0&&(b=23):b<1&&(b=12),b<10&&(b="0"+b),a.val(b)},this._decrementMinuteSecond=function(a){var b=parseInt(a.val());b--,b<0&&(b=59),b<10&&(b="0"+b),a.val(b)},this._decrementMillisecond=function(a){var b=parseInt(a.val());b--,b<0&&(b=999),b<10&&(b="0"+b),a.val(b)},this._decrementMeridian=function(a){var b=a.val();b=b.toLowerCase().indexOf("a")>=0?"PM":"AM",a.val(b)},this.addHandler(this.hourIncrement,"mousedown",function(a){a.stopPropagation(),h._incrementHour(h.hourInput)}),this.addHandler(this.hourIncrement2,"mousedown",function(a){a.stopPropagation(),h._incrementHour(h.hourInput2)});var j=this.timePopupElement.find(".increment-minute-column");this.minuteIncrement=a(j[0]),this.minuteIncrement2=a(j[1]),this.addHandler(this.minuteIncrement,"mousedown",function(a){a.stopPropagation(),h._incrementMinuteSecond(h.minuteInput)}),this.addHandler(this.minuteIncrement2,"mousedown",function(a){a.stopPropagation(),h._incrementMinuteSecond(h.minuteInput2)});var k=this.timePopupElement.find(".increment-second-column");this.secondIncrement=a(k[0]),this.secondIncrement2=a(k[1]),this.addHandler(this.secondIncrement,"mousedown",function(a){a.stopPropagation(),h._incrementMinuteSecond(h.secondInput)}),this.addHandler(this.secondIncrement2,"mousedown",function(a){a.stopPropagation(),h._incrementMinuteSecond(h.secondInput2)});var l=this.timePopupElement.find(".increment-millisecond-column");this.millisecondsIncrement=a(l[0]),this.millisecondsIncrement2=a(l[1]),this.addHandler(this.millisecondsIncrement,"mousedown",function(a){a.stopPropagation(),h._incrementMillisecond(h.mssecondInput)}),this.addHandler(this.millisecondsIncrement2,"mousedown",function(a){a.stopPropagation(),h._incrementMillisecond(h.mssecondInput2)});var m=this.timePopupElement.find(".increment-meridian-column");this.meridianIncrement=a(m[0]),this.meridianIncrement2=a(m[1]),this.addHandler(this.meridianIncrement,"mousedown",function(a){a.stopPropagation(),h._incrementMeridian(h.meridianInput)}),this.addHandler(this.meridianIncrement2,"mousedown",function(a){a.stopPropagation(),h._incrementMeridian(h.meridianInput2)});var n=this.timePopupElement.find(".decrement-hour-column");this.hourDecrement=a(n[0]),this.hourDecrement2=a(n[1]),this.addHandler(this.hourDecrement,"mousedown",function(a){a.stopPropagation(),h._decrementHour(h.hourInput)}),this.addHandler(this.hourDecrement2,"mousedown",function(a){a.stopPropagation(),h._decrementHour(h.hourInput2)});var o=this.timePopupElement.find(".decrement-minute-column");this.minuteDecrement=a(o[0]),this.minuteDecrement2=a(o[1]),this.addHandler(this.minuteDecrement,"mousedown",function(a){a.stopPropagation(),h._decrementMinuteSecond(h.minuteInput)}),this.addHandler(this.minuteDecrement2,"mousedown",function(a){a.stopPropagation(),h._decrementMinuteSecond(h.minuteInput2)});var p=this.timePopupElement.find(".decrement-second-column");this.secondDecrement=a(p[0]),this.secondDecrement2=a(p[1]),this.addHandler(this.secondDecrement,"mousedown",function(a){a.stopPropagation(),h._decrementMinuteSecond(h.secondInput)}),this.addHandler(this.secondDecrement2,"mousedown",function(a){a.stopPropagation(),h._decrementMinuteSecond(h.secondInput2)});var q=this.timePopupElement.find(".decrement-millisecond-column");this.millisecondsDecrement=a(q[0]),this.millisecondsDecrement2=a(q[1]),this.addHandler(this.millisecondsDecrement,"mousedown",function(a){a.stopPropagation(),h._decrementMillisecond(h.mssecondInput)}),this.addHandler(this.millisecondsDecrement2,"mousedown",function(a){a.stopPropagation(),h._decrementMillisecond(h.mssecondInput2)});var r=this.timePopupElement.find(".decrement-meridian-column");this.meridianDecrement=a(r[0]),this.meridianDecrement2=a(r[1]),this.addHandler(this.meridianDecrement,"mousedown",function(a){a.stopPropagation(),h._decrementMeridian(h.meridianInput)}),this.addHandler(this.meridianDecrement2,"mousedown",function(a){a.stopPropagation(),h._decrementMeridian(h.meridianInput2)});var s=this.timePopupElement.find("table");this.addHandler(this.timePopupElement,"mousedown",function(a){a.stopPropagation()});var t=function(b){var d=b.find("tr");c.indexOf("ss")==-1&&(h.secondInput.hide(),h.secondInput2.hide(),a(a(d[0]).children()[3]).hide(),a(a(d[0]).children()[4]).hide(),a(a(d[1]).children()[3]).hide(),a(a(d[1]).children()[4]).hide(),a(a(d[2]).children()[3]).hide(),a(a(d[2]).children()[4]).hide()),c.indexOf("tt")==-1&&c.indexOf("hh")==-1&&(h.meridianInput.hide(),h.meridianInput2.hide(),a(a(d[0]).children()[7]).hide(),a(a(d[0]).children()[8]).hide(),a(a(d[1]).children()[7]).hide(),a(a(d[1]).children()[8]).hide(),a(a(d[2]).children()[7]).hide(),a(a(d[2]).children()[8]).hide()),c.indexOf("zz")==-1&&(h.mssecondInput.hide(),h.mssecondInput2.hide(),a(a(d[0]).children()[5]).hide(),a(a(d[0]).children()[6]).hide(),a(a(d[1]).children()[5]).hide(),a(a(d[1]).children()[6]).hide(),a(a(d[2]).children()[5]).hide(),a(a(d[2]).children()[6]).hide())};1==s.length?t(s):(t(a(a(s)[1])),t(a(a(s)[2])))},updateTimePopup:function(){var a=this._getFormatValue(this.formatString);if("range"!=this.selectionMode){var b=this.getDate();if(this.hourInput){if(b)var c=b.getHours(),d=b.getMinutes(),e=b.getHours(),f=b.getSeconds(),g=b.getMilliseconds();else var c=0,d=0,e=0,f=0,g=0;c>=12?(e="PM",a.indexOf("HH")==-1&&(c-=12,0==c&&(c=12))):e="AM","none"!=this.meridianInput.css("display")&&0==c&&(c=12),c<10&&(c="0"+c),d<10&&(d="0"+d),f<10&&(f="0"+f),g<10&&(g="0"+g),this.hourInput.val(c),this.minuteInput.val(d),this.secondInput.val(f),this.mssecondInput.val(g),this.meridianInput.val(e)}}else{var b=this.getRange().from;if(this.hourInput){if(b)var c=b.getHours(),d=b.getMinutes(),e=b.getHours(),f=b.getSeconds(),g=b.getMilliseconds();else var c=0,d=0,e=0,f=0,g=0;c>=12?(e="PM",a.indexOf("HH")==-1&&(c-=12,0==c&&(c=12))):e="AM","none"!=this.meridianInput.css("display")&&0==c&&(c=12),c<10&&(c="0"+c),d<10&&(d="0"+d),f<10&&(f="0"+f),g<10&&(g="0"+g),this.hourInput.val(c),this.minuteInput.val(d),this.secondInput.val(f),this.mssecondInput.val(g),this.meridianInput.val(e)}var b=this.getRange().to;if(this.hourInput2){if(b)var c=b.getHours(),d=b.getMinutes(),e=b.getHours(),f=b.getSeconds(),g=b.getMilliseconds();else var c=0,d=0,e=0,f=0,g=0;c>=12?(e="PM",a.indexOf("HH")==-1&&(c-=12,0==c&&(c=12))):e="AM","none"!=this.meridianInput.css("display")&&0==c&&(c=12),c<10&&(c="0"+c),d<10&&(d="0"+d),f<10&&(f="0"+f),g<10&&(g="0"+g),this.hourInput2.val(c),this.minuteInput2.val(d),this.secondInput2.val(f),this.mssecondInput2.val(g),this.meridianInput2.val(e)}}},showCalendar:function(){var b=this.calendarContainer,c=this._calendar;if(a.jqx.aria(this,"aria-expanded",!0),this.showTimeButton)if(this.timePopup){this.timePopupElement||this.initTimePopup(),this.calendarContainer.css("visibility","hidden"),this.timeContainer.css("visibility","visible"),this.updateTimePopup();for(var d=this.timeContainer.find("input"),e=0,f=0;f<d.length;f++)"none"!=d[f].style.display&&(e+=50);this.container.width(parseInt(e)),this.touch||setTimeout(function(){d[0].focus(),a(d[0]).select()},150+this.openDelay)}else this.container.width(parseInt(this.calendarContainer.width())+25),this.timeContainer.css("visibility","hidden"),this.calendarContainer.css("visibility","visible");null!=this.value?"range"!=this.selectionMode?this._oldDT=new Date(this.value.dateTime):this._oldDT=this.getRange():this._oldDT=null,c.canRender||(c.canRender=!0,c.render());var g,h=(this.container,this),i=(a(window).scrollTop(),a(window).scrollLeft(),parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px"),j=parseInt(Math.round(this.host.coord(!0).left));"element"===this.dropDownContainer&&(i=parseInt(this.host.outerHeight())-1+"px",g=0),g=j+"px";var k=a.jqx.mobile.isSafariMobileBrowser()||a.jqx.mobile.isWindowsPhone();null!=k&&k&&(g=a.jqx.mobile.getLeftPos(this.element),i=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight()),"0px"!=a("body").css("border-top-width")&&(i=parseInt(i)-this._getBodyOffset().top+"px"),"0px"!=a("body").css("border-left-width")&&(g=parseInt(g)-this._getBodyOffset().left+"px")),this.container.css("left",g),this.container.css("top",i);var l=this.closeCalendarAfterSelection;if(this.closeCalendarAfterSelection=!1,this.isEditing=!1,"default"==h.selectionMode){this._validateValue(),this._updateText();var m=null!=this.value?this.value.dateTime:new Date;c.setDate(m)}this.closeCalendarAfterSelection=l;var n=!1;if("right"==this.dropDownHorizontalAlignment||this.rtl){var o=this.container.outerWidth(),p=Math.abs(o-this.host.outerWidth()+2);if(this.rtl||(p-=2),o>this.host.width()){var q=23;this.container.css("left",q+parseInt(Math.round(j))-p+"px")}else this.container.css("left",25+parseInt(Math.round(j))+p+"px")}if("top"==this.dropDownVerticalAlignment){var r=b.height();this.timePopup&&this.timeContainer.css("top",this.container.height()-75),n=!0,b.css("top",23),b.addClass(this.toThemeProperty("jqx-popup-up"));var s=parseInt(this.host.outerHeight()),t=parseInt(i)-Math.abs(r+s+23);this.container.css("top",t)}if(this.enableBrowserBoundsDetection){var u=this.testOffset(b,{left:parseInt(this.container.css("left")),top:parseInt(i)},parseInt(this.host.outerHeight()));parseInt(this.container.css("top"))!=u.top?(n=!0,b.css("top",23),b.addClass(this.toThemeProperty("jqx-popup-up"))):b.css("top",0),this.container.css("top",u.top),parseInt(this.container.css("left"))!=u.left&&this.container.css("left",u.left)}if(this._raiseEvent(7,b),"none"!=this.animationType){this.container.css("display","block");var v=parseInt(b.outerHeight());b.stop(),this.isanimating=!0,this.opening=!0,"fade"==this.animationType?(b.css("margin-top",0),b.css("opacity",0),b.animate({opacity:1},this.openDelay,function(){h.isanimating=!1,h.opening=!1,a.data(document.body,"openedJQXCalendar"+h.id,b),h.calendarContainer.focus()}),this.timePopup&&(this.timeContainer.css("margin-top",0),this.timeContainer.css("opacity",0),this.timeContainer.animate({opacity:1},this.openDelay,function(){h.isanimating=!1,h.opening=!1,a.data(document.body,"openedJQXCalendar"+h.id,b),h.timeContainer.focus()}))):(b.css("opacity",1),this.timePopup&&this.timeContainer.css("opacity",1),n?b.css("margin-top",v):b.css("margin-top",-v),this.timePopup&&(n?this.timeContainer.css("margin-top",v):this.timeContainer.css("margin-top",-v),this.timeContainer.animate({"margin-top":0},this.openDelay,function(){h.isanimating=!1,h.opening=!1,a.data(document.body,"openedJQXCalendar"+h.id,b),h.timeContainer.focus()})),b.animate({"margin-top":0},this.openDelay,function(){h.isanimating=!1,h.opening=!1,a.data(document.body,"openedJQXCalendar"+h.id,b),h.calendarContainer.focus()}))}else b.stop(),h.isanimating=!1,h.opening=!1,b.css("opacity",1),b.css("margin-top",0),this.container.css("display","block"),a.data(document.body,"openedJQXCalendar"+h.id,b),this.calendarContainer.focus(),this.timePopup&&(this.timeContainer.stop(),this.timeContainer.css("opacity",1),this.timeContainer.css("margin-top",0),this.timeContainer.focus());null==this.value&&this._calendar&&this._calendar._getSelectedCell()&&(this._calendar._getSelectedCell().isSelected=!1),this.timePopup?(this.timeButtonIcon.addClass(this.toThemeProperty("jqx-icon-time-pressed")),this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-hover")),this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-pressed")),this.timeContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))):(this.calendarButtonIcon.addClass(this.toThemeProperty("jqx-icon-calendar-pressed")),this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-hover")),this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-pressed")),this.calendarContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))),this.host.addClass(this.toThemeProperty("jqx-fill-state-focus"))},hideCalendar:function(b,c){c&&(this.changeType=c);var d=this.calendarContainer,e=this.container,f=this;if(a.jqx.aria(this,"aria-expanded",!1),this.showTimeButton&&"hidden"!=this.timeContainer.css("visibility")&&"cancel"!=b)if("range"!=this.selectionMode&&this.hourInput){var g=this.getDate(),h=parseInt(this.hourInput.val()),i=parseInt(this.minuteInput.val()),j=parseInt(this.secondInput.val()),k=parseInt(this.mssecondInput.val()),l=this.meridianInput.val();isNaN(h)&&(h=0),isNaN(i)&&(i=0),isNaN(j)&&(j=0),isNaN(k)&&(k=0),"none"!=this.meridianInput.css("display")&&(l.toLowerCase().indexOf("p")>=0&&h<12&&(h+=12),l.toLowerCase().indexOf("a")>=0&&h>=12&&(h-=12)),g||(g=new Date),g.setHours(h,i,j,k),this.setDate(g)}else if(this.hourInput&&"selected"!=b){var m=this.getRange(),h=parseInt(this.hourInput.val()),i=parseInt(this.minuteInput.val()),j=parseInt(this.secondInput.val()),k=parseInt(this.mssecondInput.val()),l=this.meridianInput.val();isNaN(h)&&(h=0),isNaN(i)&&(i=0),isNaN(j)&&(j=0),isNaN(k)&&(k=0),"none"!=this.meridianInput.css("display")&&(l.toLowerCase().indexOf("p")>=0&&h<12&&(h+=12),l.toLowerCase().indexOf("a")>=0&&h>=12&&(h-=12));var n=m.from;n||(n=new Date),n.setHours(h,i,j,k);var h=parseInt(this.hourInput2.val()),i=parseInt(this.minuteInput2.val()),j=parseInt(this.secondInput2.val()),k=parseInt(this.mssecondInput2.val()),l=this.meridianInput2.val();""==i&&(i=0),""==j&&(j=0),""==k&&(k=0),"none"!=this.meridianInput2.css("display")&&(l.toLowerCase().indexOf("p")>=0&&h<12&&(h+=12),l.toLowerCase().indexOf("a")>=0&&h>=12&&(h-=12));var o=m.to;if(o||(o=new Date),o.setHours(h,i,j,k),o.valueOf()<n.valueOf())return!1;this.setRange(n,o)}else if("selected"==b)return;if(a.data(document.body,"openedJQXCalendar"+this.id,null),"none"!=this.animationType){var p=d.outerHeight();d.css("margin-top",0),this.showTimeButton&&this.timeContainer.css("margin-top",0),this.isanimating=!0;var q=-p;parseInt(this.container.coord().top)<parseInt(this.host.coord().top)&&(q=p),"fade"==this.animationType?d.animate({opacity:0},this.closeDelay,function(){e.css("display","none"),f.isanimating=!1}):d.animate({"margin-top":q},this.closeDelay,function(){e.css("display","none"),f.isanimating=!1}),this.showTimeButton&&("fade"==this.animationType?this.timeContainer.animate({opacity:0},this.closeDelay,function(){e.css("display","none"),f.isanimating=!1}):this.timeContainer.animate({"margin-top":q},this.closeDelay,function(){e.css("display","none"),f.isanimating=!1}))}else e.css("display","none");void 0!=b&&this._updateSelectedDate(b),this.timeButtonIcon.removeClass(this.toThemeProperty("jqx-icon-time-pressed")),this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-hover")),this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed")),this.calendarButtonIcon.removeClass(this.toThemeProperty("jqx-icon-calendar-pressed")),this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-hover")),this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed")),this.host.removeClass(this.toThemeProperty("jqx-fill-state-focus")),this.timeContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus")),this.calendarContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus")),this._raiseEvent(8,d)},_updateSelectedDate:function(){var b=this.value;null==b&&(b=new a.jqx._jqxDateTimeInput.getDateTime(new Date),b._setHours(0),b._setMinutes(0),b._setSeconds(0),b._setMilliseconds(0));var c=b.hour,d=b.minute,e=b.second,f=b.millisecond;if("range"==this.selectionMode&&null==this._calendar.getRange().from)return void this.setDate(null);var g=new a.jqx._jqxDateTimeInput.getDateTime(this._calendar.value.dateTime);g._setHours(c),g._setMinutes(d),g._setSeconds(e),g._setMilliseconds(f);var h=this.setDate(g.dateTime);if("range"==this.selectionMode&&!h&&this._oldDT){var i=this.getRange(),j=(this._oldDT,!1),k=!1,l=this._oldDT.from,g=i.from;null!=g&&l&&g.getFullYear()==l.getFullYear()&&g.getMonth()==l.getMonth()&&g.getDate()==l.getDate()&&g.getHours()==l.getHours()&&g.getMinutes()==l.getMinutes()&&g.getSeconds()==l.getSeconds()&&(j=!0);var g=i.to;if(null!=g&&(l=this._oldDT.to,l&&g.getFullYear()==l.getFullYear()&&g.getMonth()==l.getMonth()&&g.getDate()==l.getDate()&&g.getHours()==l.getHours()&&g.getMinutes()==l.getMinutes()&&g.getSeconds()==l.getSeconds()&&(k=!0)),j&&k)return!0;this._raiseEvent(0,{}),this._raiseEvent(9,{})}},_closeOpenedCalendar:function(b){var c=a(b.target),d=a.data(document.body,"openedJQXCalendar"+b.data.me.id),e=!1;if(a.each(c.parents(),function(){if(this.className&&this.className.indexOf){if(this.className.indexOf("jqx-calendar")!=-1)return e=!0,!1;if(this.className.indexOf("jqx-date-time-input-popup")!=-1)return e=!0,!1;if(this.className.indexOf("jqx-input")!=-1)return!1}}),a(b.target).ischildof(b.data.me.host))return!0;if(null!=b.target&&("B"==b.target.tagName||"b"==b.target.tagName)){var f=b.data.me.host.coord(),g=b.data.me.host.width(),h=b.data.me.host.height(),i=parseInt(f.top),j=parseInt(f.left);if(i<=b.pageY&&b.pageY<=i+h&&j<=b.pageX&&b.pageX<=j+g)return!0}if(null!=d&&!e&&d.length>0){var k=d[0].id.toString(),l=k.toString().substring(13),m=(a(document).find("#"+l),b.data.me.hideCalendar());m!==!1&&a.data(document.body,"openedJQXCalendar"+b.data.me.id,null)}},_loadItems:function(){if(null!=this.value){this.items=new Array;var a=this._getFormatValue(this.formatString);this.items=this._parseFormatValue(a),this.editors=new Array;for(var b=0;b<this.items.length;b++){var c=this.items[b].getDateTimeEditorByItemType(this.value,this);this.editors[b]=c}}this._updateEditorsValue(),this._updateText()},_updateText:function(){var b=this,c="";if(0==b.items.length&&null!=b.value&&b._loadItems(),null!=b.value){b.items.length>=1&&(c=b.format(b.value,0,b.items.length));var d=b.dateTimeInput.val();d!=c&&b._raiseEvent(1,b.value)}if("range"==b.selectionMode){var e=b.getRange();if(fromText=b.format(b.value,0,b.items.length),e.to){var f=a.jqx._jqxDateTimeInput.getDateTime(e.from);fromText=b.format(f,0,b.items.length);var g=a.jqx._jqxDateTimeInput.getDateTime(e.to);toText=b.format(g,0,b.items.length);var c=fromText+" - "+toText;" - "==c&&(c="")}else c=""}b.dateTimeInput.val(c)},format:function(a,b,c){for(var d="",e=b;e<c;++e){var f=this.items[e].dateParser(a,this);if(this.isEditing&&"ReadOnly"!=this.items[e].type&&"range"!=this.selectionMode){var g="Day"==this.items[e].type&&this.items[e].format.length>2;if("FORMAT_AMPM"==this.items[e].type&&(g=!0,f=0==this.editors[e].value?this.editors[e].amString:this.editors[e].pmString),!g)for(f=this.items[e].dateParserInEditMode(new Number(this.editors[e].value),"d"+this.editors[e].maxEditPositions,this);f.length<this.editors[e].maxEditPositions;)f="0"+f}d+=f}return d},_getFormatValueGroupLength:function(a){for(i=1;i<a.toString().length;++i)if(a.substring(i,i+1)!=a.substring(0,1))return i;return a.length},_parseFormatValue:function(b){for(var c=new Array,d=b.toString(),e=0;d.length>0;){var f=this._getFormatValueGroupLength(d),g=null;switch(d.substring(0,1)){case":":case"/":f=1,g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,1),"ReadOnly",this.culture);break;case'"':case"'":var h=d.indexOf(d[0],1);g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(1,1+Math.max(1,h-1)),"ReadOnly",this.culture),f=Math.max(1,h+1);break;case"\\":d.length>=2&&(g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(1,1),"ReadOnly",this.culture),f=2);break;case"d":case"D":g=f>2?a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Day",this.culture):a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Day",this.culture);break;case"f":case"F":f>7&&(f=7),g=f>3?a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"ReadOnly",this.culture):a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Millisecond",this.culture);break;case"g":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"ReadOnly",this.culture);break;case"h":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"FORMAT_hh",this.culture);break;case"H":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"FORMAT_HH",this.culture);break;case"m":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Minute",this.culture);break;case"M":f>4&&(f=4),g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Month",this.culture);break;case"s":case"S":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Second",this.culture);break;case"t":case"T":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"FORMAT_AMPM",this.culture);break;case"y":case"Y":f>1?g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"Year",this.culture):(f=1,g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,1),dateTimeFormatInfo,"ReadOnly",this.culture));break;case"z":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,f),"ReadOnly",this.culture);
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
8 break;default:f=1,g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(d.substring(0,1),"ReadOnly",this.culture)}c[e]=a.extend(!0,{},g),d=d.substring(f),e++}return c},_getFormatValue:function(a){if(null!=a&&0!=a.length||(a="d"),1==a.length)switch(a.substring(0,1)){case"d":return this.localization.calendar.patterns.d;case"D":return this.localization.calendar.patterns.D;case"t":return this.localization.calendar.patterns.t;case"T":return this.localization.calendar.patterns.T;case"f":return this.localization.calendar.patterns.f;case"F":return this.localization.calendar.patterns.F;case"M":return this.localization.calendar.patterns.M;case"Y":return this.localization.calendar.patterns.Y;case"S":return this.localization.calendar.patterns.S}return 2==a.length&&"%"==a.substring(0,1)&&(a=a.substring(1)),a},_updateEditorsValue:function(){var a=this.value;if(null!=a){var b=a.year,c=a.day,d=a.hour,e=a.millisecond,f=a.second,g=a.minute,h=a.month;if(null!=this.items)for(var i=0;i<this.items.length;i++)switch(this.items[i].type){case"FORMAT_AMPM":var j=d%12;0==j&&(j=12),d>=0&&d<12?this.editors[i].value=0:this.editors[i].value=1;break;case"Day":this.editors[i].value=c;break;case"FORMAT_hh":var j=d%12;0==j&&(j=12),this.editors[i].value=j;break;case"FORMAT_HH":this.editors[i].value=d;break;case"Millisecond":this.editors[i].value=e;break;case"Minute":this.editors[i].value=g;break;case"Month":this.editors[i].value=h;break;case"Second":this.editors[i].value=f;break;case"Year":this.editors[i].value=b}}},updateValue:function(b){if(!(this.isEditing||this.items&&0==this.items.length)){for(var c=1,d=1,e=0,f=0,g=0,h=0,i=1,j=0,k=!1,l=!1,m=!1,n=!1,o=!1,p=!1,q=!1,r=new Array,s=null,t=0,u=0;u<this.items.length;u++)switch(this.items[u].type){case"FORMAT_AMPM":j=this.editors[u].value,s=this.editors[u];break;case"Character":break;case"Day":this.items[u].format.length<3&&(d=this.editors[u].value,r[t++]=this.editors[u],0==d&&(d=1),m=!0);break;case"FORMAT_hh":var v=this.editors[u];e=v.value,n=!0;break;case"FORMAT_HH":e=this.editors[u].value,n=!0;break;case"Millisecond":f=this.editors[u].value,q=!0;break;case"Minute":h=this.editors[u].value,o=!0;break;case"Month":i=this.editors[u].value,l=!0,0==i&&(i=1);break;case"ReadOnly":break;case"Second":g=this.editors[u].value,p=!0;break;case"Year":k=!0,c=this.editors[u].value;var w=this.editors[u].getDateTimeItem().format;if(w.length<3){var x="1900";if(4==x.Length){var y,z=""+x[0]+x[1];y=parseInt(z),c+=100*y}}0==c&&(c=1)}var A=null!=this.value?new Date(this.value.dateTime):null;if(c>0&&i>0&&d>0&&h>=0&&e>=0&&g>=0&&f>=0){var B=this.value;null!=B&&(k||(c=B.year),l||(i=B.month),m||(d=B.day));try{if(i>12&&(i=12),i<1&&(i=1),b&&B._daysInMonth(c,i)<=d&&(d=B._daysInMonth(c,i),null!=r&&r.length>0))for(u=0;u<r.length;u++)r[u].value=d;null!=s&&(0==s.value?e>=12&&(e-=12):e+12<24&&(e+=12));this.value.dateTime.getDate();this.value._setYear(parseInt(c)),this.value._setDay(d),this.value._setMonth(i),n&&this.value._setHours(e),o&&this.value._setMinutes(h),p&&this.value._setSeconds(g),q&&this.value._setMilliseconds(f),this._validateTimeRange()}catch(a){this.value=B}if(null!=A){var C=this.value.dateTime.getFullYear()==A.getFullYear()&&this.value.dateTime.getDate()==A.getDate()&&this.value.dateTime.getMonth()==A.getMonth()&&this.value.dateTime.getHours()==A.getHours()&&this.value.dateTime.getMinutes()==A.getMinutes()&&this.value.dateTime.getSeconds()==A.getSeconds();if(!C){if(this.changing){var D=this.changing(A,this.value.dateTime);D&&(this.value=a.jqx._jqxDateTimeInput.getDateTime(D))}this._raiseEvent("0",this.value.dateTime),this.cookies&&null!=this.value&&a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions),this.change&&this.change(this.value.dateTime)}}}var E=this.editors.indexOf(this.activeEditor);this.items[E];this.value&&(this.calendarContainer.jqxCalendar("_isDisabled",this.value.dateTime)?this.dateTimeInput.addClass(this.toThemeProperty("jqx-input-invalid")):this.dateTimeInput.removeClass(this.toThemeProperty("jqx-input-invalid")))}},_internalSetValue:function(a){this.value._setYear(parseInt(a.year)),this.value._setDay(a.day),this.value._setMonth(a.month),this.value._setHours(a.hour),this.value._setMinutes(a.minute),this.value._setSeconds(a.second),this.value._setMilliseconds(a.milisecond)},_raiseEvent:function(b,c,d){var e=this.events[b],f={};f.owner=this,null==c&&(c={}),null==d&&(d=c);var g=c.charCode?c.charCode:c.keyCode?c.keyCode:0,h=!0,i=this.readonly,j=new a.Event(e);if(j.owner=this,j.args=f,j.args.date=this.getDate(),9==b&&(j.args.type=this.changeType,this.changeType=null),this.element.value=this.dateTimeInput.val(),9==b&&"range"!=this.selectionMode){var k=j.args.date;if(this._oldDT){if(null!=k&&k.getFullYear()==this._oldDT.getFullYear()&&k.getMonth()==this._oldDT.getMonth()&&k.getDate()==this._oldDT.getDate()&&k.getHours()==this._oldDT.getHours()&&k.getMinutes()==this._oldDT.getMinutes()&&k.getSeconds()==this._oldDT.getSeconds())return!0;a.jqx.aria(this,"aria-valuenow",this.getDate()),a.jqx.aria(this,"aria-valuetext",this.getText()),null!=this.getDate()?a.jqx.aria(this,"aria-label","Current focused date is "+this.getDate().toLocaleString()):a.jqx.aria(this,"aria-label","Current focused date is Null")}j.args.oldValue=d,j.args.newValue=j.args.date,this._oldDT&&(j.args.oldValue=this._oldDT)}if("range"==this.selectionMode){if(j.args.date=this.getRange(),this._oldDT){var k=j.args.date.from;if(9==b){var l=!1,m=!1,n=this._oldDT.from;null!=k&&n&&k.getFullYear()==n.getFullYear()&&k.getMonth()==n.getMonth()&&k.getDate()==n.getDate()&&k.getHours()==n.getHours()&&k.getMinutes()==n.getMinutes()&&k.getSeconds()==n.getSeconds()&&(l=!0);var k=j.args.date.to;if(null!=k&&(n=this._oldDT.to,n&&k.getFullYear()==n.getFullYear()&&k.getMonth()==n.getMonth()&&k.getDate()==n.getDate()&&k.getHours()==n.getHours()&&k.getMinutes()==n.getMinutes()&&k.getSeconds()==n.getSeconds()&&(m=!0)),l&&m)return!0;var l=j.args.date.from;l=null==l?"":l.toString();var m=j.args.date.to;m=null==m?"":m.toString(),a.jqx.aria(this,"aria-valuenow",l+"-"+m),a.jqx.aria(this,"aria-valuetext",this.getText()),l&&m&&a.jqx.aria(this,"aria-label","Current focused range is "+l.toLocaleString()+"-"+m.toLocaleString())}}j.args.oldValue=d,j.args.newValue=j.args.date,this._oldDT&&(j.args.oldValue=this._oldDT)}if("none"==this.host.css("display"))return!0;2!=b&&3!=b&&4!=b&&5!=b&&6!=b&&(h=this.host.trigger(j),j.stopPropagation&&j.stopPropagation());var o=this;if(i||2!=b||this.disabled||setTimeout(function(){o.isEditing=!0,"range"==this.selectionMode?o._selectGroup(-1):o._selectGroup(-1)},25),4==b){if(i||this.disabled){if(8!=g&&46!=g||(this.isEditing=!1,this.allowKeyboardDelete&&(this.allowNullDate?this.setDate(null):"range"!=this.selectionMode?this.setDate(this.getMinDate()):this.setRange(this.getMinDate(),this.getMinDate()))),9==g)return!0;if(!c.altKey)return!1}h=this._handleKeyDown(c,g)}else if(5==b){if(9==g)return!0;if(i||this.disabled)return!1}else if(6==b){if(9==g)return!0;if(i||this.disabled)return!1;h=this._handleKeyPress(c,g)}return h},_doLeftKey:function(){if(null!=this.activeEditor){this.isEditing||(this.isEditing=!0);var a=this.activeEditor,b=!1,c=this.editors.indexOf(this.activeEditor),d=c;if(this.enableAbsoluteSelection&&c>=0&&this.activeEditor.positions>0)return this.activeEditor.positions--,void this._selectGroup(c);for(;c>0;)if(this.activeEditor=this.editors[--c],this._selectGroup(c),"ReadOnly"!=this.items[c].type){b=!0;break}return b||d>=0&&(this.activeEditor=this.editors[d]),null!=this.activeEditor&&a!=this.activeEditor&&"ReadOnly"!=this.items[c].type&&(this.enableAbsoluteSelection?this.activeEditor.positions=this.activeEditor.maxEditPositions-1:this.activeEditor.positions=0),this.activeEditor!=a&&(this._validateValue(),this._updateText(),this._selectGroup(this.editors.indexOf(this.activeEditor)),!0)}},_doRightKey:function(){if(null!=this.activeEditor){this.isEditing||(this.isEditing=!0);var a=this.activeEditor,b=!1,c=this.editors.indexOf(this.activeEditor),d=c;if(this.enableAbsoluteSelection&&c>=0&&this.activeEditor.positions<this.activeEditor.maxEditPositions-1)return this.activeEditor.positions++,void this._selectGroup(c);for(;c<=this.editors.length-2;)if(this.activeEditor=this.editors[++c],this._selectGroup(c),"ReadOnly"!=this.items[c].type){if("Day"==this.items[c].type&&this.items[c].format.length>2)break;b=!0;break}return b||d>=0&&(this.activeEditor=this.editors[d]),null!=this.activeEditor&&this.activeEditor!=a&&"ReadOnly"!=this.items[c].type&&(this.activeEditor.positions=0),this.activeEditor!=a&&(this._validateValue(),this._updateText(),this._selectGroup(this.editors.indexOf(this.activeEditor)),!0)}},_saveSelectedText:function(){var a=this._selection(),b="",c=this.dateTimeInput.val();if(a.start>0||a.length>0)for(i=a.start;i<a.end;i++)b+=c[i];return window.clipboardData&&window.clipboardData.setData("Text",b),b},_selectWithAdvancePattern:function(){var a=this.editors.indexOf(this.activeEditor),b=!1;if("ReadOnly"!=this.items[a].type&&(b=!0),b){var c=this.activeEditor;if(null!=c){var d=c.positions==c.maxEditPositions;if(d){this.editorText="";var e=c.value,f=!1;switch(this.items[a].type){case"FORMAT_AMPM":e<0?e=0:e>1&&(e=1);break;case"Character":break;case"Day":e<1?e=1:e>31&&(e=31);break;case"FORMAT_hh":e<1?e=1:e>12&&(e=12);break;case"FORMAT_HH":e<0?e=0:e>23&&(e=23);break;case"Millisecond":e<0?e=0:e>99&&(e=99);break;case"Minute":e<0?e=0:e>59&&(e=59);break;case"Month":e<1?e=1:e>12&&(e=12);break;case"ReadOnly":break;case"Second":e<0?e=0:e>59&&(e=59);break;case"Year":e<this.minDate.year?e=this.minDate.year:e>this.maxDate.year&&(e=this.maxDate.year)}return c.value!=e&&(f=!0),!f&&(this.isEditing=!1,this._validateValue(),this._updateText(),this.isEditing=!0,this._doRightKey(),!0)}}}},_handleKeyPress:function(a,b){var c=this._selection(),d=this,e=a.ctrlKey||a.metaKey;if(e&&97==b||e&&65==b)return!0;if(8==b)return c.start>0&&d._setSelectionStart(c.start),!1;if(46==b)return c.start<this.items.length&&d._setSelectionStart(c.start),!1;if(27===b)return this._firstFocusDate&&(this.setDate(this._firstFocusDate),this._setSelectionStart(0),this._selectGroup(-1)),!1;if(c.start>=0){this.changeType="keyboard";var f=String.fromCharCode(b),g=parseInt(f);if("p"!=f&&"a"!=f&&"A"!=f&&"P"!=f||"FORMAT_AMPM"==this.activeEditor.item.type&&(0!=this.activeEditor.value||"p"!=f&&"P"!=f?1!=this.activeEditor.value||"a"!=f&&"A"!=f||this.spinDown():this.spinUp()),!isNaN(g)){"block"==this.container.css("display")&&this.hideCalendar(),this.updateValue(),this._updateText();var h=!1,i=this.editors.indexOf(this.activeEditor),j=null;if(this.isEditing=!0,"ReadOnly"!=i.type&&(j=this.activeEditor),null!=j&&0==j.positions&&(this.editorText=""),null==this.activeEditor&&(this.activeEditor=this.editors[0]),null==this.activeEditor)return!1;this.activeEditor.insert(f),null!=j&&this.editorText.length>=j.maxEditPositions&&(this.editorText=""),this.editorText+=f;var k=this._selectWithAdvancePattern();if(this.activeEditor.positions==this.activeEditor.maxEditPositions){var l=this._getLastEditableEditorIndex();this.editors.indexOf(this.activeEditor)==l&&k&&this.enableAbsoluteSelection?this.activeEditor.positions=this.activeEditor.maxEditPositions-1:this.activeEditor.positions=0}return h=!0,this.updateValue(),this._updateText(),this._selectGroup(this.editors.indexOf(this.activeEditor)),!1}}var m=this._isSpecialKey(b);return m},_getLastEditableEditorIndex:function(){for(itemIndex=this.items.length-1;itemIndex>=0;itemIndex--)if("ReadOnly"!=this.items[itemIndex].type)return itemIndex;return-1},_handleKeyDown:function(b,c){var d=this;if(this.timePopup=!1,84==c&&(this.timePopup=!0),115==b.keyCode){if(d.isOpened())return d.hideCalendar("keyboard","keyboard"),!1;if(!d.isOpened())return d.showCalendar("keyboard","keyboard"),!1}if(b.altKey){if(38==b.keyCode){if(d.isOpened())return d.hideCalendar("keyboard","keyboard"),!1}else if(40==b.keyCode&&!d.isOpened())return d.showCalendar("keyboard","keyboard"),!1}else if(b.ctrlKey)if(this.timePopup=!0,38==b.keyCode){if(d.isOpened())return d.hideCalendar("keyboard","keyboard"),!1}else if(40==b.keyCode&&!d.isOpened())return d.showCalendar("keyboard","keyboard"),!1;if(!d.isOpened()){var e=(d._selection(),b.ctrlKey||b.metaKey);if(e&&99==c||e&&67==c)return d._saveSelectedText(b),!0;if(e&&122==c||e&&90==c)return!1;if(e&&118==c||e&&86==c||b.shiftKey&&45==c){var f=(d.val(),this),g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');return a("body").append(g),g.select(),setTimeout(function(){var a=g.val();f.setDate(a),g.remove()},100),!0}if(8==c||46==c){if(b.altKey||e||46!=c){if(null!=d.activeEditor){var h=d.editors.indexOf(d.activeEditor);if(d.activeEditor.positions>=0){var i=d._format(Number(d.activeEditor.value),"d"+d.activeEditor.maxEditPositions,d.culture);if(tmp=i,tmp=tmp.substring(0,d.activeEditor.positions)+"0"+tmp.substring(d.activeEditor.positions+1),parseInt(tmp)<d.activeEditor.minValue&&(tmp=d._format(Number(d.activeEditor.minValue),"d"+d.activeEditor.maxEditPositions,d.culture)),d.enableAbsoluteSelection?d.activeEditor.value=tmp:d.activeEditor.value=d.activeEditor.minValue,d._validateValue(),d._updateText(),d.changeType="keyboard",8==c){var j=this;d.enableAbsoluteSelection&&d.activeEditor.positions>0?setTimeout(function(){j.activeEditor.positions=j.activeEditor.positions-1,j._selectGroup(h)},10):setTimeout(function(){j._doLeftKey()},10)}else d._selectGroup(h)}else d._doLeftKey()}}else d.isEditing=!1,d.allowKeyboardDelete&&(d.changeType="keyboard",d.allowNullDate?d.setDate(null):"range"!=d.selectionMode?d.setDate(d.getMinDate()):d.setRange(d.getMinDate(),d.getMinDate()));return!1}if(38==c)return this.spinUp(),d.changeType="keyboard",!1;if(40==c)return this.spinDown(),d.changeType="keyboard",!1;if(9==c){if(null==d.value)return!0;if(b.shiftKey)var k=this._doLeftKey();else var k=this._doRightKey();return!k}if(37==c){if(this._editor){var k=this._doLeftKey();return k||(this.isEditing=!1,this._validateValue()),!k}var k=this._doLeftKey();return!1}if(39==c||191==c){if(this._editor){var k=this._doRightKey();return k||(this.isEditing=!1,this._validateValue()),!k}var k=this._doRightKey();return!1}var l=this._isSpecialKey(c);return null==this.value&&(c>=48&&c<=57||c>=96&&c<=105)&&(d.changeType="keyboard",new Date>=this.getMinDate()&&new Date<=this.getMaxDate()?this.setDate(new Date):this.setDate(this.getMaxDate())),!a.jqx.browser.mozilla||(!!(a.jqx.browser.mozilla&&a.jqx.browser.version>24)||l)}if(9==b.keyCode)return d.hideCalendar("selected","keyboard"),!0},_isSpecialKey:function(a){return 8==a||9==a||13==a||35==a||36==a||37==a||39==a||27==a||46==a},_selection:function(){if("selectionStart"in this.dateTimeInput[0]){var a=this.dateTimeInput[0],b=a.selectionEnd-a.selectionStart;return{start:a.selectionStart,end:a.selectionEnd,length:b,text:a.value}}var c=document.selection.createRange();if(null==c)return{start:0,end:a.value.length,length:0};var d=this.dateTimeInput[0].createTextRange(),e=d.duplicate();d.moveToBookmark(c.getBookmark()),e.setEndPoint("EndToStart",d);var b=c.text.length;return{start:e.text.length,end:e.text.length+c.text.length,length:b,text:c.text}},_selectGroup:function(a,b){if("none"!=this.host.css("display")&&!this.readonly){if(!b)var b=this._selection();for(var c="",d="",e=null,f=0;f<this.items.length;f++){if(d=this.items[f].dateParser(this.value,this),this.isEditing&&"ReadOnly"!=this.items[f].type){var g="Day"==this.items[f].type&&this.items[f].format.length>2;if(!g&&"FORMAT_AMPM"!=this.items[f].type)for(d=this.items[f].dateParserInEditMode(new Number(this.editors[f].value),"d"+this.editors[f].maxEditPositions,this);d.length<this.editors[f].maxEditPositions;)d="0"+d}if(c+=d,"ReadOnly"!=this.items[f].type&&!("Day"==this.items[f].type&&this.items[f].format.length>2))if(void 0!=a&&a!=-1){if(f>=a){var h=c.length-d.length,i=d.length;this.enableAbsoluteSelection&&!isNaN(parseInt(d))&&this.isEditing&&a!=-1&&(i=1,h+=this.editors[f].positions),h==this.dateTimeInput.val().length&&h--,this._setSelection(h,h+i),e=this.editors[f],this.activeEditor=e;break}}else if(c.length>=b.start){e=this.editors[f],this.activeEditor=e;var h=c.length-d.length,i=1;this.enableAbsoluteSelection?!isNaN(parseInt(d))&&this.isEditing&&a!=-1&&(i=1,h+=this.editors[f].positions):i=d.length,this._setSelection(h,h+i);break}}f<this.items.length&&a==-1&&"ReadOnly"!=this.items[f].type&&(this.activeEditor.positions=0);var j=this._selection();if(0==j.length&&j.start>0){this._getLastEditableEditorIndex()}}},_getLastEditableEditorIndex:function(){var a=-1;for(i=0;i<this.editors.length;i++)"ReadOnly"!=this.items[i].type&&("Day"==this.items[i].type&&this.items[i].format.length>2||(a=i));return a},_setSelection:function(a,b){try{if("selectionStart"in this.dateTimeInput[0])this.dateTimeInput[0].setSelectionRange(a,b);else{var c=this.dateTimeInput[0].createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}}catch(a){}},_setSelectionStart:function(a){this._setSelection(a,a)},destroy:function(){a.jqx.utilities.resize(this.host,null,!0),this.host.removeClass("jqx-rc-all"),this.timePopupElement&&this.timePopupElement.remove(),this._calendar.destroy(),this.container.remove(),this._removeHandlers(),this.dateTimeInput.remove(),this.host.remove()},refreshValue:function(){this._refreshValue()},refresh:function(a){1!=a&&(this._setSize(),this._arrange())},resize:function(a,b){this.width=a,this.height=b,this.refresh()},_setOption:function(a,b,c){"value"===a&&("range"!=this.selectionMode?this._oldDT=null:this._oldDT=null,this.value=b,this._refreshValue(),this._raiseEvent(9,{type:null})),"maxDate"==a&&(this._calendar.maxDate=b,this._raiseEvent(9,{type:null})),"minDate"==a&&(this._calendar.minDate=b,this._raiseEvent(9,{type:null})),"showCalendarButton"==a&&(b?this.calendarButton.css("display","block"):this.calendarButton.css("display","none")),"disabled"==a&&this.dateTimeInput.attr("disabled",b),"readonly"==a&&(this.readonly=b,this.dateTimeInput.css("readonly",b)),"textAlign"==a&&(this.dateTimeInput.css("text-align",b),this.textAlign=b),"width"==a?(this.width=b,this.width=parseInt(this.width),this._arrange()):"height"==a&&(this.height=b,this.height=parseInt(this.height),this._arrange())},_refreshValue:function(){this._updateEditorsValue(),this.updateValue(),this._validateValue(),this._updateText()}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.DateTimeFormatItem={},a.extend(a.jqx._jqxDateTimeInput.DateTimeFormatItem,{_create:function(a,b,c){return this.format=a,this.type=b,this.culture=c,this},_itemValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},_maximumValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},dateParser:function(a,b){if(null==a)return"";var c=b._format(a.dateTime,1==this.format.length?"%"+this.format:this.format,this.culture);return c},dateParserInEditMode:function(a,b,c){if(null==a)return"";var d=c._format(a.toString(),1==b.length?"%"+b:b,this.culture);return d},getDateTimeEditorByItemType:function(b,c){switch(this.type){case"FORMAT_AMPM":var d=a.jqx._jqxDateTimeInput.AmPmEditor._createAmPmEditor(this.format,b.hour/12,c.localization.calendar.AM[0],c.localization.calendar.PM[0],this,c),e=a.extend({},d);return e;case"Character":return null;case"Day":var f,g=b.year,h=b.month;f=3==this.format.length?c.localization.calendar.days.namesAbbr:this.format.length>3?c.localization.calendar.days.names:null;var i=b.day;null!=f&&(i=b.dayOfWeek+1);var j=a.jqx._jqxDateTimeInput.DateEditor._createDayEditor(b,b.day,1,b._daysInMonth(g,h),1==this.format.length?1:2,2,f,this,c),e=a.extend({},j);return e;case"FORMAT_hh":var k=b.hour%12;0==k&&(k=12);var l=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(k,1,12,1==this.format.length?1:2,2,this,c),e=a.extend({},l);return e;case"FORMAT_HH":var m=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(b.hour,0,23,1==this.format.length?1:2,2,this,c),e=a.extend({},m);return e;case"Millisecond":var n=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(b.millisecond/this._itemValue(),0,this._maximumValue(),this.format.length,this.format.length,this,c),e=a.extend({},n);return e;case"Minute":var o=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(b.minute,0,59,1==this.format.length?1:2,2,this,c),e=a.extend({},o);return e;case"Month":var p;p=3==this.format.length?c.localization.calendar.months.namesAbbr:this.format.length>3?c.localization.calendar.months.names:null;var q=a.jqx._jqxDateTimeInput.DateEditor._createMonthEditor(b.month,2==this.format.length?2:1,p,this,c),e=a.extend({},q);return e;case"ReadOnly":return a.jqx._jqxDateTimeInput.DisabledEditor._create(this.format.length,b.day,this,c);case"Second":var r=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(b.second,0,59,1==this.format.length?1:2,2,this,c),e=a.extend({},r);return e;case"Year":var s=a.jqx._jqxDateTimeInput.DateEditor._createYearEditor(b.year,4,this,c),e=a.extend({},s);return e}return null}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.DateEditor=a.extend(a.jqx._jqxDateTimeInput.DateEditor,{formatValueLength:0,handleYears:!1,handleDays:!1,handleMonths:!1,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,dateTimeFormatInfo:null,days:null,dateTimeMonths:null,lastDayInput:null,minPositions:function(){return this.handleYears&&4==this.formatValueLength?this.positions<=1?1:this.positions>=4?4:this.positions:this.minEditPositions},initializeFields:function(a,b,c,d,e){this.minValue=a,this.maxValue=b,this.minEditPositions=c,this.maxEditPositions=d,this.updateActiveEditor(a),this.item=e},_createYearEditor:function(b,c,d,e){return a.jqx._jqxDateTimeInput.DateEditor=a.extend(!0,{},this),this.initializeFields(0,c<4?99:9999,2==c?2:1,c>3?4:2,d),this.initializeYearEditor(b,c,d.culture),this.handleYears=!0,this.that=e,this},initializeYearEditor:function(a,b,c){this.formatValueLength=b,this.dateTimeFormatInfo=c;var d=a;d=Math.min(d,9999),d=Math.max(d,1),d=this.formatValueLength<4?d%100:d,this.updateActiveEditor(d),this.value=d},updateActiveEditor:function(a){this.value=a,this.positions=0},_createDayEditor:function(b,c,d,e,f,g,h,i,j){return a.jqx._jqxDateTimeInput.DateEditor=a.extend(!0,{},this),this.initializeFields(d,e,1,g,i),this.currentValue=b,this.value=c,this.days=h,this.handleDays=!0,this.that=j,this},getDayOfWeek:function(b){return typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime&&this.currentValue.dayOfWeek(),b},defaultTextValue:function(){var a=(this.value,this.minEditPositions),b=a,c=this.that._format(this.value,"d"+b,"");return c},textValue:function(){if(this.handleDays){if(null==this.days)return this.defaultTextValue();var a=this.value%7+1;return a=this.getDayOfWeek(a),this.days[a]}return this.handleMonths?null==this.dateTimeMonths||this.value<1||this.value>12?this.defaultTextValue():this.dateTimeMonths[this.value-1]:this.defaultTextValue()},defaultInsertString:function(a){if(null==a)return this.deleteValue();if(0==a.length)return this.deleteValue();var b=a.substring(0,1);if(!isNaN(b)){var c,d=1,e=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);return c=e,this.positions>=this.maxEditPositions&&(this.positions=0),c=c.substring(0,this.positions)+b+c.substring(this.positions+1),c=this.setValueByString(c,d),!0}},setValueByString:function(a,b){a=this.fixValueString(a);var c=new Number(a);return this.value=c,this.positions+=b,a},fixValueString:function(a){return a.length>this.maxEditPositions&&(a=a.substring(a.length-this.maxEditPositions)),a},initializeValueString:function(a){var b;return b="",this.hasDigits()&&(b=a),b},deleteValue:function(){return(this.value!=this.minValue||0!=this.hasDigits())&&(this.updateActiveEditor(this.minValue),!0)},hasDigits:function(){return this.positions>0},insert:function(a){if(this.handleDays){if(null!=this.days){var b=!1;if(b=this.insertLongString(a,b))return b;if(b=this.insertShortString(a,b))return b}return 1==this.value&&null!=this.lastDayInput&&this.lastDayInput.toString().length>0&&"0"==this.lastDayInput.toString()&&(this.value=0),this.lastDayInput=a,this.defaultInsertString(a)}if(this.handleMonths&&null!=this.dateTimeMonths){var b=!1;if(b=this.insertLongString2(a,b))return b;if(b=this.insertShortString2(a,b))return b}return this.defaultInsertString(a)},insertShortString:function(a,b){if(1==a.length)for(i=0;i<6;++i){var c=(this.value+i)%7+1,d=this.days[c-1];if(d.substring(0,1)==a)return this.updateActiveEditor(c),b=!0}return b},insertLongString:function(a,b){if(a.length>0)for(i=0;i<6;++i){var c=(this.value+i)%7+1;if(this.days[c-1]==a)return this.updateActiveEditor(c),b=!0}return b},_createMonthEditor:function(b,c,d,e,f){return a.jqx._jqxDateTimeInput.DateEditor=a.extend(!0,{},this),this.initializeFields(1,12,c,2,e),this.dateTimeMonths=d,this.value=b,null!=this.dateTimeMonths&&null!=this.dateTimeMonths[12]&&this.dateTimeMonths[12].length>0&&(this.dateTimeMonths=null),this.handleMonths=!0,this.that=f,this},insertLongString2:function(a,b){if(a.length>0)for(i=0;i<11;++i)if(month=(this.value+i)%12+1,this.dateTimeMonths[month-1]==a)return this.updateActiveEditor(month),b=!0;return b},insertShortString2:function(a,b){if(1==a.length)for(i=0;i<11;++i){var c=(this.value+i)%12+1,d=this.dateTimeMonths[c-1];if(d.substring(0,1)==a)return this.updateActiveEditor(c),b=!0}return b},correctMaximumValue:function(a){return a>this.maxValue&&(a=this.minValue),a},correctMinimumValue:function(a){return a<this.minValue&&(a=this.maxValue),a},increaseValue:function(a){var b=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture),c=b.toString()[this.positions];if(c=parseInt(c)+1,c>9&&(c=0),!a){var d=this.value+1;return d=this.correctMaximumValue(d),this.updateActiveEditor(d),!0}var e=b.substring(0,this.positions)+c+b.substring(this.positions+1);return!(e==this.value&&!this.hasDigits())&&(this.updateActiveEditor(e),!0)},decreaseValue:function(a){var b=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture),c=b.toString()[this.positions];if(c=parseInt(c)-1,c<0&&(c=9),!a){var d=this.value-1;return d=this.correctMinimumValue(d),this.updateActiveEditor(d),!0}var e=b.substring(0,this.positions)+c+b.substring(this.positions+1);return!(e==this.value&&!this.hasDigits())&&(this.updateActiveEditor(e),!0)},getDateTimeItem:function(){return this.item}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.NumberEditor={},a.extend(a.jqx._jqxDateTimeInput.NumberEditor,{formatValueLength:0,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,minPositions:function(){return this.handleYears&&4==this.formatValueLength?this.positions<=1?1:this.positions>=4?4:this.positions:this.minEditPositions},_createNumberEditor:function(b,c,d,e,f,g,h){return a.jqx._jqxDateTimeInput.NumberEditor=a.extend(!0,{},this),this.initializeFields(c,d,e,f,g),this.that=h,this},initializeFields:function(a,b,c,d,e){this.minValue=a,this.maxValue=b,this.minEditPositions=c,this.maxEditPositions=d,this.updateActiveEditor(a),this.item=e},updateActiveEditor:function(a){this.value=a,this.positions=0},getDayOfWeek:function(b){return typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime&&this.currentValue.dayOfWeek(),b},textValue:function(){var a=(this.value,this.minEditPositions),b=a,c=this.that._format(this.value,"d"+b,"");return c},insert:function(a){if(null==a)return this.deleteValue();if(0==a.length)return this.deleteValue();var b=a.substring(0,1);if(!isNaN(b)){var c,d=1,e=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);return c=e,this.positions>=this.maxEditPositions&&(this.positions=0),c=c.substring(0,this.positions)+b+c.substring(this.positions+1),c=this.setValueByString(c,d),!0}},setValueByString:function(a,b){a=this.fixValueString(a);var c=new Number(a);return this.value=c,this.positions+=b,a},fixValueString:function(a){return a.length>this.maxEditPositions&&(a=a.substring(a.length-this.maxEditPositions)),a},initializeValueString:function(a){var b;return b="",this.hasDigits()&&(b=a),b},deleteValue:function(){return(this.value!=this.minValue||0!=this.hasDigits())&&(this.updateActiveEditor(this.minValue),!0)},hasDigits:function(){return this.positions>0},correctMaximumValue:function(a){return a>this.maxValue&&(a=this.minValue),a},correctMinimumValue:function(a){return a<this.minValue&&(a=this.maxValue),a},increaseValue:function(a){var b=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture),c=b.toString()[this.positions];if(c=parseInt(c)+1,c>9&&(c=0),!a){var d=this.value+1;return d=this.correctMaximumValue(d),this.updateActiveEditor(d),!0}var e=b.substring(0,this.positions)+c+b.substring(this.positions+1);return!(e==this.value&&!this.hasDigits())&&(this.updateActiveEditor(e),!0)},decreaseValue:function(a){var b=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture),c=b.toString()[this.positions];if(c=parseInt(c)-1,c<0&&(c=9),!a){var d=this.value-1;return d=this.correctMinimumValue(d),this.updateActiveEditor(d),!0}var e=b.substring(0,this.positions)+c+b.substring(this.positions+1);return!(e==this.value&&!this.hasDigits())&&(this.updateActiveEditor(e),!0)},getDateTimeItem:function(){return this.item}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.DisabledEditor={},a.extend(a.jqx._jqxDateTimeInput.DisabledEditor,{_create:function(a,b,c,d,e,f){return this.format=a,this.value=-1,this.item=e,this.that=f,this},textValue:function(){return""},insert:function(a){return!1},deleteValue:function(){return!1},increaseValue:function(){return!1},decreaseValue:function(){return!1},getDateTimeItem:function(){return this.item}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.AmPmEditor={},a.extend(a.jqx._jqxDateTimeInput.AmPmEditor,{_createAmPmEditor:function(a,b,c,d,e,f){return this.format=a,this.value=b,this.minValue=0,this.amString=c,this.pmString=d,this.item=e,this.that=f,c==d&&(this.amString="<"+c,this.pmString=">"+d),this},textValue:function(){var a=this.amString;return 0!=this.value&&(a=this.pmString),1==this.format.length&&a.length>1&&(a=a.substring(0,1)),a},insert:function(a){var b=a.toString();if(0==b.Length)return this.deleteValue();var c=!1;if(this.amString.Length>0&&this.pmString.Length>0){var d=amString[0],e=b[0],f=pmString[0];d.toString()==e.toString()?(this.value=0,c=!0):f.toString()==e.toString()&&(this.value=1,c=!0)}else this.pmString.Length>0?(this.value=1,c=!0):this.amString.Length>0&&(this.value=0,c=!0);return c},deleteValue:function(){var a=!0;if(0==this.amString.Length&&0!=this.pmString.Length){if(0==this.value)return!1;this.value=0}else{if(1==this.value)return!1;this.value=1}return a},increaseValue:function(){return this.value=1-this.value,!0},decreaseValue:function(){return this.increaseValue(),!0},getDateTimeItem:function(){return this.item}})}(jqxBaseFramework),function(a){a.jqx._jqxDateTimeInput.getDateTime=function(a){var b={dateTime:new Date(a),daysPer4Years:1461,daysPerYear:365,daysToMonth365:{0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334,12:365},daysToMonth366:{0:0,1:31,2:60,3:91,4:121,5:152,6:182,7:213,8:244,9:274,10:305,11:335,12:366},maxValue:3155378976e9,millisPerDay:864e5,millisPerHour:36e5,millisPerMinute:6e4,millisPerSecond:1e3,minTicks:0,minValue:0,ticksPerDay:864e9,ticksPerHour:36e9,ticksPerMillisecond:1e4,ticksPerMinute:6e8,ticksPerSecond:1e7,hour:a.getHours(),minute:a.getMinutes(),day:a.getDate(),second:a.getSeconds(),month:1+a.getMonth(),year:a.getFullYear(),millisecond:a.getMilliseconds(),dayOfWeek:a.getDay(),isWeekend:function(a){void 0!=a&&null!=a||(a=this.dateTime);var b=a.getDay()%6==0;return b},dayOfYear:function(a){void 0!=a&&null!=a||(a=this.dateTime);var b=new Date(a.getFullYear(),0,1);return Math.ceil((a-b)/864e5)},_setDay:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setDate(a),this.day=this.dateTime.getDate()},_setMonth:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setMonth(a-1),
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
9 this.month=1+this.dateTime.getMonth()},_setYear:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setFullYear(a),this.year=this.dateTime.getFullYear()},_setHours:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setHours(a),this.hour=this.dateTime.getHours()},_setMinutes:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setMinutes(a),this.minute=this.dateTime.getMinutes()},_setSeconds:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setSeconds(a),this.second=this.dateTime.getSeconds()},_setMilliseconds:function(a){void 0!=a&&null!=a||(a=0),this.dateTime.setMilliseconds(a),this.millisecond=this.dateTime.getMilliseconds()},_addDays:function(a){var b=this.dateTime,c=b.getDate();return b.setDate(b.getDate()+a),c===b.getDate()&&b.setHours(b.getHours()+b.getTimezoneOffset()/60),b},_addWeeks:function(a){var b=this.dateTime;return b.setDate(b.getDate()+7*a),b},_addMonths:function(a){var b=this.dateTime;return b.setMonth(b.getMonth()+a),b},_addYears:function(a){var b=this.dateTime;return b.setFullYear(b.getFullYear()+a),b},_addHours:function(a){var b=this.dateTime;return b.setHours(b.getHours()+a),b},_addMinutes:function(a){var b=this.dateTime;return b.setMinutes(b.getMinutes()+a),b},_addSeconds:function(a){var b=this.dateTime;return b.setSeconds(b.getSeconds()+a),b},_addMilliseconds:function(a){var b=this.dateTime;return b.setMilliseconds(b.getMilliseconds()+a),b},_isLeapYear:function(a){if(a<1||a>9999)throw"invalid year";return a%4==0&&(a%100!=0||a%400==0)},_dateToTicks:function(a,b,c){if(a>=1&&a<=9999&&b>=1&&b<=12){var d=this._isLeapYear(a)?this.daysToMonth366:this.daysToMonth365;if(c>=1&&c<=d[b]-d[b-1]){var a=a-1,e=365*a+a/4-a/100+a/400+d[b-1]+c-1;return 864e9*e}}},_daysInMonth:function(a,b){if(b<1||b>12)throw"Invalid month.";var c=this._isLeapYear(a)?this.daysToMonth366:this.daysToMonth365;return c[b]-c[b-1]},_timeToTicks:function(a,b,c){var d=3600*a+60*b+c;return 1e7*d},_equalDate:function(a){return this.year==a.getFullYear()&&this.day==a.getDate()&&this.month==a.getMonth()+1}};return b}}(jqxBaseFramework);
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
10

mercurial