js-pkg
Version:
Npm package of Syncfusion.JavaScript.
10 lines • 50 kB
JavaScript
/*!
* filename: ej.timepicker.min.js
* version : 15.3.0.33
* Copyright Syncfusion Inc. 2001 - 2017. All rights reserved.
* Use of this code is subject to the terms of our license.
* A copy of the current license can be obtained at any time by e-mailing
* licensing@syncfusion.com. Any infringement will be prosecuted under
* applicable laws.
*/
(function(n){typeof define=="function"&&define.amd?define(["./../common/ej.globalize.min","./../common/ej.core.min","./../common/ej.scroller.min"],n):n()})(function(){(function(n,t,r){t.widget("ejTimePicker","ej.TimePicker",{element:null,model:null,validTags:["input"],_addToPersist:["value"],_rootCSS:"e-timepicker",_setFirst:!1,type:"editor",angular:{require:["?ngModel","^?form","^?ngModelOptions"],requireFormatters:!0},_requiresID:!0,defaults:{cssClass:"",timeFormat:"",value:null,enableAnimation:!0,locale:"en-US",htmlAttributes:{},readOnly:!1,showPopupButton:!0,enableStrictMode:!1,interval:30,hourInterval:1,minutesInterval:1,secondsInterval:1,height:"",width:"",minTime:"12:00 AM",maxTime:"11:59 PM",showRoundedCorner:!1,enableRTL:!1,popupHeight:"191px",popupWidth:"auto",enabled:!0,enablePersistence:!1,disableTimeRanges:null,validationRules:null,validationMessages:null,focusIn:null,focusOut:null,beforeChange:null,change:null,select:null,create:null,destroy:null,beforeOpen:null,open:null,close:null},dataTypes:{timeFormat:"string",minTime:"string",maxTime:"string",readOnly:"boolean",interval:"number",showPopupButton:"boolean",locale:"string",hourInterval:"number",minutesInterval:"number",secondsInterval:"number",enabled:"boolean",enablePersistence:"boolean",enableAnimation:"boolean",enableStrictMode:"boolean",disableTimeRanges:"data",htmlAttributes:"data",validationRules:"data",validationMessages:"data"},observables:["value"],enable:function(){this.model.enabled||(this.element[0].disabled=!1,this.element.prop("disabled",!1),this.model.enabled=!0,this.wrapper.removeClass("e-disable"),this.element.removeClass("e-disable").attr("aria-disabled",!1),this.model.showPopupButton&&(this.timeIcon.removeClass("e-disable").attr("aria-disabled",!1),this.popupList&&this.popupList.removeClass("e-disable").attr("aria-disabled",!1)),this._isIE8&&this.timeIcon.children().removeClass("e-disable"))},disable:function(){this.model.enabled&&(this.element[0].disabled=!0,this.model.enabled=!1,this.element.attr("disabled","disabled"),this.wrapper.addClass("e-disable"),this.element.addClass("e-disable").attr("aria-disabled",!0),this.model.showPopupButton&&(this.timeIcon.addClass("e-disable").attr("aria-disabled",!0),this.popupList&&this.popupList.addClass("e-disable").attr("aria-disabled",!0)),this._isIE8&&this.timeIcon.children().addClass("e-disable"),this._hideResult())},getValue:function(){return this.element.val()},setCurrentTime:function(){this.model.readOnly||this._setMask()},show:function(){this.showDropdown||this._getInternalEvents||this._showResult()},hide:function(){this.showDropdown&&this._hideResult()},_ISORegex:function(){this._tokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;this._extISORegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;this._basicISORegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;this._numberRegex={2:/\d\d?/,4:/^\d{4}/,z:/Z|[+-]\d\d(?::?\d\d)?/gi,t:/T/,"-":/\-/,":":/:/};this._zeroRegex=/Z|[+-]\d\d(?::?\d\d)?/;this._dates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]];this._times=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]]},_timeFormat:function(n){var r,i;return n||(n=t.preferredCulture(this.model.locale).calendars.standard.patterns.t),r=this._validateTimeFormat(n),r&&(this.model.timeFormat=r,this.model.minTime=t.format(this._createObject(this._minTimeObj),this.model.timeFormat,this.model.locale),this.model.maxTime=t.format(this._createObject(this._maxTimeObj),this.model.timeFormat,this.model.locale),this.model.value?(this._setModelOption=!0,this.model.value=this._localizeTime(this.model.value),this.element.val(this.model.value)):(this._setModelOption=!1,i=this._localizeTime(this.element.val()),i&&this._checkMinMax(i)&&(this.model.value=i,this.element.val(i)))),r},_getTimeFormat:function(){this._prevTimeFormat&&(this.model.timeFormat=t.preferredCulture(this.model.locale).calendar.patterns.t||"h:mm tt");this.seperator=this._getSeperator()},_changeSkin:function(n){this.wrapper.removeClass(this.model.cssClass).addClass(n);this.popupList&&this.popupList.removeClass(this.model.cssClass).addClass(n)},_localize:function(n){var i=this._createObject(this.model.value,!0);this.model.locale=n;this._getTimeFormat();this.model.minTime=t.format(this._createObject(this._minTimeObj),this.model.timeFormat,this.model.locale);this.model.maxTime=t.format(this._createObject(this._maxTimeObj),this.model.timeFormat,this.model.locale);i?(this.model.value=this._localizeTime(i),this.element.val(this.model.value)):(i=this._localizeTime(this.element.val()),i&&this._checkMinMax(i)&&(this.model.value=i,this.element.val(i)));this._getAmPm()},_setLocalize:function(n){var n=t.preferredCulture(n);n&&(this.model.locale=n.name=="en"?"en-US":n.name,t.isNullOrUndefined(this._options)||!t.isNullOrUndefined(this._options.timeFormat)&&this._options.timeFormat||(this.model.timeFormat=t.preferredCulture(this.model.locale).calendars.standard.patterns.t),this._prevTimeFormat=t.isNullOrUndefined(this._options.timeFormat)||this._options.timeFormat==""?!0:!1)},_updateInput:function(){if(!t.isNullOrUndefined(this._options)){var n=this._localizeTime(this._options.value);t.isNullOrUndefined(n)||typeof n=="string"&&this.model.enableStrictMode&&!this.model.value&&(this.element.val(this._options.value),this.isValidState=this.element.val()==""?!0:!1,this._checkErrorClass())}},_createMinMaxObj:function(){this._minTimeObj=this._createObject(this.model.minTime);this._minTimeObj||(this.model.minTime=t.format(this._createObject((new Date).setHours(0,0,0,0)),this.model.timeFormat,this.model.locale));this._maxTimeObj=this._createObject(this.model.maxTime);this._maxTimeObj||(this.model.maxTime=t.format(this._createObject((new Date).setHours(23,59,59,59)),this.model.timeFormat,this.model.locale))},_setMinMax:function(){var n=(new Date).setHours(0,0,0,0),i=(new Date).setHours(23,59,59,59);!t.isNullOrUndefined(this._options)&&t.isNullOrUndefined(this._options.minTime)&&(this.model.minTime=t.format(this._createObject(n),this.model.timeFormat,this.model.locale));!t.isNullOrUndefined(this._options)&&t.isNullOrUndefined(this._options.maxTime)&&(this.model.maxTime=t.format(this._createObject(i),this.model.timeFormat,this.model.locale));this._createMinMaxObj()},_init:function(n){if(this._options=n,this._cloneElement=this.element.clone(),this._ISORegex(),!this.element.is("input")||this.element.attr("type")&&this.element.attr("type")!="text")return!1;this._initialize();this._render();this._wireEvents();n&&n.value!=r&&n.value!=this.element.val()&&this._trigger("_change",{value:this.element.val()});this._updateInput();this._updateTextbox();this.model.validationRules!=null&&(this._initTimeValidator(),this._setTimeValidation())},_updateTextbox:function(){this._options!==r&&(this._options.value!==r||this.model.value)||this._setTime(this._localizeTime(this.model.minTime))},_setMinMaxTime:function(i,r){!t.isNullOrUndefined(r.minTime)&&n.trim(r.minTime)&&this._isValid(r.minTime)&&(this.model.minTime=r.minTime,this._minTimeObj=this._createObject(this.model.minTime),this._validateTimes());!t.isNullOrUndefined(r.maxTime)&&n.trim(r.maxTime)&&this._isValid(r.maxTime)&&(this.model.maxTime=r.maxTime,this._maxTimeObj=this._createObject(this.model.maxTime),this._validateTimes());this._validateMinMax();this._createMinMaxObj();t.isNullOrUndefined(r.minTime)||(r.minTime=this.model.minTime);t.isNullOrUndefined(r.maxTime)||(r.maxTime=this.model.maxTime);this._checkMinMax(this.model.value)||(this.model.enableStrictMode?(this.isValidState=!1,this.model.value=null):(this.model.minTime&&!this._compareTime(this.model.value,this.model.minTime,!0)&&(this.model.value=this.model.minTime),this.model.maxTime&&!this._compareTime(this.model.maxTime,this.model.value,!0)&&(this.model.value=this.model.maxTime)));i!==this.model.value&&this._isValid(this.model.value,!0)&&this.element.val(this.model.value)},_setModel:function(n){var r=!1,o=this.model.value,i,e,u,f,s;t.isNullOrUndefined(this.popupList)&&this._renderDropdown();for(i in n)switch(i){case"timeFormat":u=this._createObject(this.model.value);this._preTimeformat=this.model.timeFormat;e=this._timeFormat(n[i]);n[i]=this.model.timeFormat;e&&(this.seperator=this._getSeperator());f=this._createObject(this.model.value);r=+u==+f?!1:!0;break;case"locale":u=this._createObject(this.model.value);this._localize(n[i]);this.model.minTime=t.format(this._createObject(this._minTimeObj),this.model.timeFormat,this.model.locale);this.model.maxTime=t.format(this._createObject(this._maxTimeObj),this.model.timeFormat,this.model.locale);f=this._createObject(this.model.value);r=+u==+f?!1:!0;break;case"interval":this.model.interval=n[i];break;case"cssClass":this._changeSkin(n[i]);break;case"showRoundedCorner":this._setRoundedCorner(n[i]);break;case"enableRTL":this._setRtl(n[i]);break;case"height":this._setHeight(n[i]);break;case"width":this.wrapper.width(n[i]);this._setListWidth();break;case"value":t.isPlainObject(n[i])&&(n[i]=null);this.model.value=t.format(this._createObject(n[i],!0),this.model.timeFormat,this.model.locale);this._ensureValue();this._enableMask();this.model.enableStrictMode&&!this._isValid(n[i],!0)&&(s=this._isValid(n[i])?this._localizeTime(n[i]):n[i],this.element.val(s));n[i]=this.model.value;r=!0;break;case"enableStrictMode":this.model.enableStrictMode=n[i];break;case"validationRules":this.model.validationRules!=null&&(this.element.rules("remove"),this.model.validationMessages=null);this.model.validationRules=n[i];this.model.validationRules!=null&&(this._initTimeValidator(),this._setTimeValidation());break;case"validationMessages":this.model.validationMessages=n[i];this.model.validationRules!=null&&this.model.validationMessages!=null&&(this._initTimeValidator(),this._setTimeValidation());break;case"popupHeight":this.model.popupHeight=n[i];this._setListHeight();break;case"popupWidth":this.model.popupWidth=n[i];this._setListWidth();break;case"enabled":n[i]?this.enable():this.disable();break;case"htmlAttributes":this._addAttr(n[i]);break;case"disableTimeRanges":this.model.disableTimeRanges=n[i];this._initStartEnd();this.model.value=t.format(this._createObject(this.element.val(),!0),this.model.timeFormat,this.model.locale);this._ensureValue();this._enableMask();this.model.enableStrictMode&&!this._isValid(this.element.val(),!0)&&this.element.val(this.element.val());r=!0}t.isNullOrUndefined(n.minTime)&&t.isNullOrUndefined(n.maxTime)||(this._setMinMaxTime(o,n),r=!0);t.isNullOrUndefined(n.showPopupButton)?!this.model.showPopupButton||!e&&t.isNullOrUndefined(n.minTime)&&t.isNullOrUndefined(n.maxTime)&&t.isNullOrUndefined(n.locale)&&t.isNullOrUndefined(n.interval)&&t.isNullOrUndefined(n.disableTimeRanges)||this._reRenderDropdown():this._showButton(n[i]);r&&(this._raiseChangeEvent(o,!0),n.value=this.model.value);this._checkErrorClass()},_destroy:function(){this.element.insertAfter(this.wrapper);this.wrapper.remove();this.element.removeClass("e-input").removeAttr("ondragstart draggable aria-atomic aria-live aria-readonly").val(this.element.attr("value"));this._cloneElement.attr("name")||this.element.removeAttr("name");this.popupList&&this.popupList.remove()},_initialize:function(){this.target=this.element[0];this.timeIcon=null;this._disabledItems=[];this.popupList=null;this.focused=!1;this.start=0;this.end=0;this.min=null;this.max=null;this.incomplete=!1;this.downPosition=0;this._setLocalize(this.model.locale);this._setMinMax();this._getAmPm();this.showDropdown=!1;this._activeItem=0;this.isValidState=!0;this._manualFocus=!1;this._isIE7=this._checkIE7();this._initStartEnd();t.isNullOrUndefined(this.model.value)&&this.element[0].value!=""&&(this.model.value=this.element[0].value);this._isIE8=t.browserInfo().name=="msie"&&t.browserInfo().version=="8.0"?!0:!1;this._getInternalEvents=!1;this._dateTimeInternal=!1;this.model.timeFormat?this.seperator=this._getSeperator():this._getTimeFormat()},_render:function(){this._renderWrapper();this._setDimentions();this._renderTimeIcon();this._validateTimes();this._createMinMaxObj();this._addAttr(this.model.htmlAttributes);this._checkProperties();this._enableMask();this._checkErrorClass();this.element.attr({"aria-atomic":"true","aria-live":"assertive","aria-readonly":this.model.readOnly,value:this.model.value});t.isNullOrUndefined(this.model.value)?this.wrapper.addClass("e-valid"):this.wrapper.removeClass("e-valid")},_renderWrapper:function(){this.element.addClass("e-input").attr({tabindex:"0",role:"combobox","aria-expanded":"false"});this.wrapper=t.buildTag("span.e-timewidget e-widget "+this.model.cssClass+"#"+this.target.id+"_timewidget").insertAfter(this.element);this.wrapper.attr("style",this.element.attr("style"));this.element.removeAttr("style");t.isTouchDevice()||this.wrapper.addClass("e-ntouch");this.container=t.buildTag("span.e-in-wrap e-box").append(this.element);this.wrapper.append(this.container)},_addAttr:function(i){var r=this;n.map(i,function(n,i){var u=i.toLowerCase();u=="class"?r.wrapper.addClass(n):u=="disabled"&&n=="disabled"?r.disable():u=="readOnly"&&n=="readOnly"?r.model.readOnly=!0:u=="style"||u=="id"?r.wrapper.attr(i,n):t.isValidAttr(r.element[0],i)?r.element.attr(i,n):r.wrapper.attr(i,n)})},_initTimeValidator:function(){this.element.closest("form").data("validator")||this.element.closest("form").validate()},_setTimeValidation:function(){var r,i,u,f;this.element.rules("add",this.model.validationRules);r=this.element.closest("form").data("validator");r=r?r:this.element.closest("form").validate();name=this.element.attr("name");r.settings.messages[name]={};for(i in this.model.validationRules)if(u=null,!t.isNullOrUndefined(this.model.validationRules[i])){if(t.isNullOrUndefined(this.model.validationRules.messages&&this.model.validationRules.messages[i])){r.settings.messages[name][i]=n.validator.messages[i];for(f in this.model.validationMessages)i==f?u=this.model.validationMessages[i]:""}else u=this.model.validationRules.messages[i];r.settings.messages[name][i]=u!=null?u:n.validator.messages[i]}},_renderTimeIcon:function(){if(this.model.showPopupButton){this.timeIcon=t.buildTag("span.e-select").attr({role:"button","aria-label":"select"});var n=t.buildTag("span.e-icon e-clock").attr("role","presentation");this._isIE8&&(this.timeIcon.attr("unselectable","on"),n.attr("unselectable","on"));this.timeIcon.append(n);this.container.append(this.timeIcon).addClass("e-padding");this._on(this.timeIcon,"mousedown",this._timeIconClick)}},_elementClick:function(){this.showDropdown||this._showResult()},_renderDropdown:function(){var i=n("#"+this.element[0].id+"_popup").get(0),r;if(i&&n(i).remove(),!this.model.showPopupButton||this.popupList)return!1;this.popupList=t.buildTag("div.e-time-popup e-popup e-widget e-box "+this.model.cssClass+"#"+this.target.id+"_popup","",{},{tabindex:0,role:"listbox"});t.isTouchDevice()||this.popupList.addClass("e-ntouch");this.popup=this.popupList;this.ul=t.buildTag("ul.e-ul");this._isIE8&&this.ul.attr("unselectable","on");r=t.buildTag("div").append(this.ul);n("body").append(this.popupList.append(r));this._renderLiTags();this._setListHeight();this._setListWidth();this.popupList.ejScroller({height:this.popupList.height(),width:0,scrollerSize:20});this.scrollerObj=this.popupList.ejScroller("instance");this.popupList.css("display","none");this._listSize=this.ul.find("li").length},_renderLiTags:function(){var r,o,f,s,h,e,i,u;for(this._disabledItems=[],s=this.model.interval*6e4,h=!t.isNullOrUndefined(this.model.disableTimeRanges)&&this.model.disableTimeRanges.length>0?!0:!1,r=this._minTimeObj,o=this._maxTimeObj,e=0;this._compareTime(o,r,!0);)f=this._localizeTime(r),i=n(document.createElement("li")),i[0].appendChild(document.createTextNode(f)),this._isIE8&&i.attr("unselectable","on"),h&&(this._ensureTimeRange(f)?(i.addClass("e-disable"),this._disabledItems.push(e)):i.removeClass("e-disable")),this.ul[0].appendChild(i[0]),r=new Date(r).getTime()+s,e++;u=this.ul.find("li");t.isTouchDevice()||(this._on(u,"mouseenter",n.proxy(this._OnMouseEnter,this)),this._on(u,"mouseleave",n.proxy(this._OnMouseLeave,this)));this._on(u,"click",n.proxy(this._OnMouseClick,this));(this.model.showPopupButton||!t.isNullOrUndefined(this.popupList))&&this.ul.find("li").attr({tabindex:-1,"aria-selected":!1,role:"option"})},_ensureTimeRange:function(n){var r,i;if(!t.isNullOrUndefined(this.model.disableTimeRanges))for(r=this._makeDateTimeObj(n),i=0;i<this.model.disableTimeRanges.length;i++)if(+r>=+this._makeDateTimeObj(this.model.disableTimeRanges[i].startTime)&&+r<=+this._makeDateTimeObj(this.model.disableTimeRanges[i].endTime))return!0;return!1},_initStartEnd:function(){if(this._startTime=[],this._endTime=[],!t.isNullOrUndefined(this.model.disableTimeRanges))for(var n=0;n<this.model.disableTimeRanges.length;n++)this._startTime[n]=this._makeDateTimeObj(this.model.disableTimeRanges[n].startTime),this._endTime[n]=this._makeDateTimeObj(this.model.disableTimeRanges[n].endTime)},_makeDateTimeObj:function(n){var u;if(typeof n=="string"){var r=t.preferredCulture(this.model.locale).calendar.patterns.d,f=t.format(new Date("1/1/2000"),r,this.model.locale),i=t.parseDate(f+" "+n,r+" "+this.model.timeFormat,this.model.locale);if(!i)if(u=new Date(n),isNaN(Date.parse(u))||t.isNullOrUndefined(n))i=new Date("1/1/2000 "+n);else return this._setEmptyDate(n);return i}return n instanceof Date?this._setEmptyDate(n):null},_reRenderDropdown:function(){this.ul.empty();this._renderLiTags();this._refreshScroller();this._changeActiveEle()},_refreshScroller:function(){var t=this.popupList.css("display")=="none"?!0:!1;this.popupList.css("height","auto");this.popupList.find(".e-content, .e-vscroll").removeAttr("style");this.popupList.find(".e-vscroll div").removeAttr("style");t&&this.popupList.css("display","block");this.scrollerObj.model.height=this.popupList.height();this.scrollerObj.model.scrollTop=0;this.scrollerObj.refresh();this._isIE8&&(n("#"+this.scrollerObj._id).children(".e-vscroll").children().attr("unselectable","on"),n("#"+this.scrollerObj._id).find(".e-vhandle").attr("unselectable","on"));t&&this.popupList.css("display","none")},_setListWidth:function(){if(this.popupList){var n=this.model.popupWidth;n&&n!="auto"?this.popupList.css({width:n}):this.popupList.css({width:this.wrapper.width()})}this.scrollerObj&&(this._refreshScroller(),this._updateScrollTop())},_setListHeight:function(){this.popupList&&this.popupList.css({"max-height":this.model.popupHeight||"191px"});this.scrollerObj&&(this._refreshScroller(),this._updateScrollTop())},_updateScrollTop:function(){this.scrollerObj.setModel({scrollTop:this._calcScrollTop()})},_refreshPopup:function(){this.model.popupWidth=="auto"&&this.popupList.css({width:this.wrapper.width()});this._setListPosition();this._refreshScroller()},_setListPosition:function(){var t=this.wrapper,i=this._getOffset(t),f,h=n(document).scrollTop()+n(window).height()-(i.top+n(t).outerHeight()),c=i.top-n(document).scrollTop(),u=this.popupList.outerHeight(),e=this.popupList.outerWidth(),r=i.left,o=t.outerHeight(),l=(o-t.height())/2,a=this._getZindexPartial(),s=3,v=(u<h||u>c?i.top+o+s:i.top-u-s)-l;f=n(document).scrollLeft()+n(window).width()-r;(this.model.enableRTL||e>f&&e<r+t.outerWidth())&&(r-=this.popupList.outerWidth()-t.outerWidth());this.popupList.css({left:r+"px",top:v+"px","z-index":a})},_getOffset:function(n){return t.util.getOffset(n)},_getZindexPartial:function(){return t.util.getZindexPartial(this.element,this.popupList)},_enableMask:function(){this.isValidState=this.model.minTime&&this._compareTime(this.model.minTime,this.model.value)||this.model.maxTime&&this._compareTime(this.model.value,this.model.maxTime)?!1:!0;this._setTime(this.model.value);t.isNullOrUndefined(this.model.value)?this.wrapper.removeClass("e-valid"):this.wrapper.addClass("e-valid");this._getInternalEvents&&!this.isValidState&&this._trigger("outOfRange");this._changeActiveEle();this._preVal=this.element.val()},_setTime:function(n){var t=this._localizeTime(n);this.element.val(t);this.model.value=this.model.enableStrictMode?this._compareTime(this.model.value,this.model.minTime)&&this._compareTime(this.model.maxTime,this.model.value)?t:null:t},_timeFromISO:function(n){var i=this._extISORegex.exec(n)||this._basicISORegex.exec(n),c="",l="",a="",v,e,o,f,r,t,s,u,h,y;if(i){for(e=0;e<this._dates.length;e++)if(this._dates[e][1].exec(i[1])){c=this._dates[e][0];break}if(i[3])for(o=0;o<this._times.length;o++)if(this._times[o][1].exec(i[3])){l=(i[2]||" ")+this._times[o][0];break}for(i[4]&&this._zeroRegex.exec(i[4])&&(a="Z"),v=c+l+a,f=v.match(this._tokens),t=[],u=0;u<f.length;u++)h=f[u],s=this._checkLiteral(f[u]),y=this._numberRegex[s?f[u].toLowerCase():h.length]||new RegExp("^\\d{1,"+h.length+"}"),r=n.match(y),r&&(n.substr(0,n.indexOf(r))>=0&&!s&&(f[u].indexOf("M")>=0?t.push(parseInt(r[0])-1):t.push(parseInt(r[0]))),n=n.slice(n.indexOf(r[0])+r[0].length));return i[4]=="Z"?new Date(Date.UTC.apply(null,t)):new Date(t[0],t[1],t[2],t[3],t[4],t[5])}return new Date(n+"")},_checkLiteral:function(n){return char=n.toLowerCase(),char=="t"||char=="z"||char==":"||char=="-"?!0:!1},_setMask:function(){this.model.value=new Date;this._enableMask()},_validateTimes:function(){var n=this._validateTimeFormat(this.model.timeFormat);this.model.timeFormat=n?n:"h:mm tt";this._isValid(this.model.minTime)||(this.model.minTime="12:00 AM");this._isValid(this.model.maxTime)||(this.model.maxTime="11:59 PM");this._isValid(this.model.value,!0)||(this.model.value=null);this._checkMinMax(this.model.value)||this.model.enableStrictMode||(this.model.minTime&&!this._compareTime(this.model.value,this.model.minTime,!0)&&(this.model.value=this.model.minTime),this.model.maxTime&&!this._compareTime(this.model.maxTime,this.model.value,!0)&&(this.model.value=this.model.maxTime));this._validateMinMax()},_ensureValue:function(){!this._checkMinMax(this.model.value)&&this._isValid(this.model.value,!0)&&(this.model.enableStrictMode?this.isValidState=!1:(this.model.minTime&&!this._compareTime(this.model.value,this.model.minTime,!0)&&(this.model.value=this.model.minTime),this.model.maxTime&&!this._compareTime(this.model.maxTime,this.model.value,!0)&&(this.model.value=this.model.maxTime)))},_validateMinMax:function(){this.model.minTime&&this.model.maxTime&&this._compareTime(this.model.minTime,this.model.maxTime)&&(this.model.minTime=this.model.maxTime)},_checkProperties:function(){this.model.enabled?this.model.enabled&&this.element.hasClass("e-disable")&&(this.model.enabled=!1,this.enable()):(this.model.enabled=!0,this.disable());this._addProperty();this._checkAttributes()},_addProperty:function(){this._setRtl(this.model.enableRTL);this._setRoundedCorner(this.model.showRoundedCorner)},_setRtl:function(n){n?(this.wrapper.addClass("e-rtl"),this.popupList&&this.popupList.addClass("e-rtl")):(this.wrapper.removeClass("e-rtl"),this.popupList&&this.popupList.removeClass("e-rtl"))},_setRoundedCorner:function(n){n?(this.container.addClass("e-corner"),this.popupList&&this.popupList.addClass("e-corner")):(this.container.removeClass("e-corner"),this.popupList&&this.popupList.removeClass("e-corner"))},_showButton:function(t){this.model.showPopupButton=t;t?(this.container.addClass("e-padding"),this._renderTimeIcon(),this._renderDropdown(),this._addProperty()):(this.container.removeClass("e-padding"),this.timeIcon.remove(),this.popupList.remove(),this.timeIcon=this.popupList=null,n(document).off("mousedown",n.proxy(this._OnDocumentClick,this)))},_checkAttributes:function(){this.element.attr("name")||this.element.attr({name:this.element[0].id});"ondragstart"in document.createElement("input")&&this.element.attr({ondragstart:"return false"});"draggable"in document.createElement("input")&&this.element.attr({draggable:"false"})},_getAmPm:function(){var t=new Date;t.setHours(0);this.ttAM=n.trim(this._localizeMeridian(t));t.setHours(23);this.ttPM=n.trim(this._localizeMeridian(t))},_setDimentions:function(){this.model.height||(this.model.height=this.element.attr("height"));this.model.width||(this.model.width=this.element.attr("width"));this._setHeight(this.model.height);this.model.width&&this.wrapper.width(this.model.width)},_setHeight:function(n){n&&this.wrapper.height(n);this._isIE7&&this.element.height(this.container.height())},_validateTimeFormat:function(t){var i=t.split(" "),r="";return i.length==1||i.length==2?(n(i).each(function(t,i){r+=n.trim(i)+" "}),n.trim(r)):null},_getSeperator:function(){for(var i=this._getElePlace(),t=this.model.timeFormat.split(" ")[i.time],r=new RegExp("^[a-zA-Z0-9]+$"),n=0;n<t.length;n++)if(!r.test(t.charAt(n)))return t.charAt(n)},_checkInComplete:function(){var i=this._getCaretSelection(),r=this._getStartEnd(i),u="00",t=this._getSelectedValue(r),n=this._getCategory(r);i.end-i.start==this.element.val().length&&this._checkAll();n&&n!="tt"&&(this._findCategoryPosition(n),t=="__"?((n=="h"||n=="hh")&&(u="12"),this._changeToDefault(u)):n.length!=1&&t.length==1&&(t=this._changeWhole(t),this.element.val(this._replaceAt(this.target.value,this.start,this.end,t))))},_checkAll:function(){for(var r=this._getElePlace(),i=this.model.timeFormat.split(" ")[r.time].split(this.seperator),t,n=0;n<i.length;n++)this._findCategoryPosition(i[n]),t=this._getSelectedValue({start:this.start,end:this.end}),i[n].length!=1&&t.length==1&&(t=this._changeWhole(t),this.element.val(this._replaceAt(this.element.val(),this.start,this.end,t)))},_changeToDefault:function(n){var i,t;this.incomplete=!0;i=this.element[0].value;this.element[0].value=this._replaceAt(this.target.value,this.start,this.end,n);t=this._checkExceedRange(this.target.value);!t||this._setTime(this.model[t]);this._setSelection(this.start,this.end);this._raiseChangeEvent(i)},_setSelection:function(n,t){var i=this.element[0];i.setSelectionRange?i.setSelectionRange(n,t):i.createTextRange&&(i=i.createTextRange(),i.collapse(!0),i.moveEnd("character",t),i.moveStart("character",n),i.select())},_getSelectedValue:function(n){return this.target.value.substring(n.start,n.end)},_getMinMax:function(n,t){n=="hh"||n=="h"?(this.min=1,this.max=11,t&&(this.max=12)):n=="HH"||n=="H"?(this.min=0,this.max=23):(n=="mm"||n=="m"||n=="ss"||n=="s")&&(this.min=0,this.max=59)},_focusElement:function(){this._manualFocus=!0;this.element.focus()},_targetFocus:function(t){this._clearRange();t.preventDefault();this.focused=!0;this.element.on("mousewheel DOMMouseScroll",n.proxy(this._mouseWheel,this));this.wrapper.addClass("e-focus").removeClass("e-error").attr("aria-invalid","false");this._manualFocus||(this._findCategoryPosition(this._getLeast(!1)),this._setSelection(this.start,this.end));this._manualFocus=!1;this._prevTimeVal=this.element.val();this._raiseEvent("focusIn");this.wrapper.addClass("e-valid")},_targetBlur:function(){this.focused=!1;this.element.off("mousewheel DOMMouseScroll",n.proxy(this._mouseWheel,this));this.wrapper.removeClass("e-focus");this.model.enableStrictMode||this.target.value.indexOf("_")>-1&&this.element.val("");!this._checkMinMax(this.target.value)&&this._isValid(this.target.value,!0)?this.model.enableStrictMode?this.isValidState=!1:(this.model.minTime&&!this._compareTime(this._createObject(this.target.value),this.model.minTime,!0)&&this.element.val(this.model.minTime),this.model.maxTime&&!this._compareTime(this.model.maxTime,this._createObject(this.target.value),!0)&&this.element.val(this.model.maxTime),this._isValid(this.model.value,!0)||this.element.val(null),this.isValidState=!0,t.isNullOrUndefined(this.model.value)?this.wrapper.removeClass("e-valid"):this.wrapper.addClass("e-valid")):this.isValidState=!0;this._ensureValue();this._raiseChangeEvent();this._checkErrorClass();this._raiseEvent("focusOut");this.model.enableStrictMode||this._checkInComplete();t.isNullOrUndefined(this.model.value)?this.wrapper.removeClass("e-valid"):this.wrapper.addClass("e-valid")},_clearRange:function(){var n=this.element[0];isNaN(n.selectionStart)||(n.selectionStart=0,n.selectionEnd=0)},_checkErrorClass:function(){this.isValidState?this.wrapper.removeClass("e-error").attr("aria-invalid","false"):this.wrapper.addClass("e-error").attr("aria-invalid","true")},_getCaretSelection:function(){var n=this.element[0],u=0,f=0,e,t,i,r,o;return isNaN(n.selectionStart)?(e=document.selection.createRange().getBookmark(),t=n.createTextRange(),t.moveToBookmark(e),i=n.createTextRange(),i.collapse(!0),i.setEndPoint("EndToStart",t),r=i.text.length,o=t.text.length,{start:r,end:r+o}):(u=n.selectionStart,f=n.selectionEnd,{start:Math.abs(u),end:Math.abs(f)})},_mouseDownOnInput:function(){this.focused||t.isTouchDevice()||this._focusElement();this.downPosition=this._getCaretSelection();n(document).on("mouseup",n.proxy(this._mouseUpOnInput,this))},_mouseUpOnInput:function(t){t.preventDefault();n(document).off("mouseup",n.proxy(this._mouseUpOnInput,this));var i=this._getCaretSelection();this.incomplete&&(this.incomplete=!1,i=this.downPosition);this.target.value!=this._getSelectedText()&&(i=this._getStartEnd(i),this._setSelection(i.start,i.end))},_getCategoryPosition:function(n){var i=0,r=0,u=this.target.value.split(" "),t=this._getElePlace(),h=this.seperator,e=!1,o=this.model.timeFormat.split(" ")[t.time].split(h),c=u[t.time].split(h),s,f;if(o.length>c.length)return{start:i,end:r,isValid:e};if(n=="tt")(u[t.tt]==this.ttAM||u[t.tt]==this.ttPM)&&(i=t.tt==0?0:u[t.time].length+1,r=i+u[t.tt].length,e=!0);else if(i=t.time==0?0:u[t.tt].length+1,s=o.indexOf(n),s!=-1){for(f=0;f<o.length;f++)if(r=c[f].length+1,f==s)break;else i+=r;r+=i-1;e=!0}return{start:i,end:r,isValid:e}},_getCategory:function(n){var t=this.model.timeFormat.split(" "),r=this.seperator,i=this._getElePlace();return n.isTT?t[i.tt]:t[i.time].split(r)[n.index]},_getStartEnd:function(n){for(var f,h=this.seperator,c=this.element.val(),i=c.split(" "),r=0,e=0,o=f=null,u,t=0;t<i.length;t++)if(i[t]!=this.ttAM&&i[t]!=this.ttPM){var s=i[t].split(h),l=r,a=r+s[0].length;for(u=0;u<s.length;u++)if(e=s[u].length+r,n.start<=e){o=u;f=!1;t=i.length;break}else r+=s[u].length+1}else if(n.start<=r+i[t].length){e=i[t].length+r;o=0;f=!0;t=i.length;break}else r+=i[t].length+1;return o==null&&(r=l,e=a,o=0,f=!1),{start:r,end:e,index:o,isTT:f}},_modifyValue:function(n){var i,t,r,u;this._isValid(this.target.value)&&(this.model.enableStrictMode||this._checkInComplete(),i=this._getCaretSelection(),i.start==i.end?(r=this._getLeast(!0),u=this._getCategoryPosition(r),t=this._getStartEnd(u)):t=this._getStartEnd(i),this.start=t.start,this.end=t.end,this._changeValue(t,n))},_keyUpOnInput:function(n){n.preventDefault();this._preVal!=this.element.val()&&(this._preVal=this.element.val())},_getNextCategory:function(t,i){var r=[],e=this.seperator,o=this.model.timeFormat.split(" "),u,f;return(n(o).each(function(n,t){if(t=="tt")r.push(t);else{var i=t.split(e);r=i.concat(r)}}),u=r.indexOf(t),u!=-1)?(f=i?u==0?r.length-1:u-1:u==r.length-1?0:u+1,r[f]):t},_getElePlace:function(){var i=this.model.timeFormat.split(" "),n,t;return i[0]=="tt"?(n=1,t=0):(n=0,t=1),{time:n,tt:t}},_movePosition:function(n,t){var i=this._getStartEnd(n),r=this._getCategory(i),u;r||(r=this._getLeast(t));u=this._getNextCategory(r,t);i=this._getCategoryPosition(u);i.isValid&&this._setSelection(i.start,i.end)},_findActiveIndex:function(){var t=this.ul.find("li"),i=this.element.val(),r=t.first().html(),n;n=(this._parse(i)-this._parse(r))/(this.model.interval*6e4);n=Math.round(n);this._activeItem=n==t.length?n:n+1;(this._activeItem<0||this._activeItem>t.length||isNaN(this._activeItem))&&(this._activeItem=0)},_keyDownOnInput:function(n){var t,u,i,b,h,k,c,e,v,y,d,l,o,g,a,p,f,w,s,r;if(this.model.readOnly&&!this._readOnlyKeys(n)||(i=n.keyCode,this._getInternalEvents&&i!=38&&i!=40&&i!=36&&i!=35&&i!=9))return!1;if(!this.model.enableStrictMode){if(this.showDropdown&&i!=38&&i!=40&&i!=27&&!this._readOnlyKeys(n))return!1;this.showDropdown&&(i==37||i==39)&&(n.keyCode=i==37?38:40)}t=this._getCaretSelection();r=this._getStartEnd(t);u=this._getCategory(r);switch(n.keyCode){case 38:n.preventDefault();this.showDropdown?this.showDropdown&&(n.preventDefault(),this._findActiveIndex(),prevActiveItem=this._activeItem,this._activeItem=this._disableItemSelectUp(this._activeItem-1),this._activeItem==0&&(this._activeItem=prevActiveItem),this._addListHover(),activeItem=this._getActiveItem(),activeItem.length&&this._selectTimeItem(activeItem)):this._isValid(this.target.value)&&this._modifyValue(!0);break;case 40:n.preventDefault();n.altKey&&this.model.showPopupButton?this._showhidePopup():this.showDropdown?this.showDropdown&&(n.preventDefault(),this._findActiveIndex(),prevActiveItem=this._activeItem,this._activeItem=this._disableItemSelectDown(this._activeItem),this._activeItem<this._listSize?this._activeItem+=1:this._activeItem=prevActiveItem,this._addListHover(),this._selectTimeItem(this._getActiveItem())):this._isValid(this.target.value)&&this._modifyValue(!1);break;case 37:n.preventDefault();t.start==t.end?this._setSelection(t.start-1,t.start-1):this._movePosition(t,!0);break;case 39:n.preventDefault();t.start==t.end?this._setSelection(t.start+1,t.start+1):this._movePosition(t,!1);break;case 36:n.preventDefault();this.showDropdown?(this._activeItem=0,prevActiveItem=this._activeItem,this._activeItem=this._disableItemSelectDown(this._activeItem),this._activeItem<this._listSize?this._activeItem+=1:this._activeItem=prevActiveItem,this._addListHover(),this._selectTimeItem(this._getActiveItem())):(b=this._firstlastVal(!0),h=this._getCategoryPosition(b),h.isValid&&this._setSelection(h.start,h.end));break;case 35:n.preventDefault();this.showDropdown?(this._activeItem=this._listSize+1,prevActiveItem=this._activeItem,this._activeItem=this._disableItemSelectUp(this._activeItem-1),this._activeItem==0&&(this._activeItem=prevActiveItem),this._addListHover(),this._selectTimeItem(this._getActiveItem())):(k=this._firstlastVal(!1),c=this._getCategoryPosition(k),c.isValid&&this._setSelection(c.start,c.end));break;case 9:if(this._getInternalEvents)break;this._hideResult();e=null;n.shiftKey&&t.start>0?e=!0:!n.shiftKey&&t.end<this.element.val().length&&(e=!1);e!=null&&(n.preventDefault(),this._checkInComplete(),this._movePosition(t,e));break;case 13:if(!this.showDropdown){this._raiseChangeEvent();break}case 27:n.preventDefault();this._hideResult();break;case 8:case 46:if(this.model.enableStrictMode)return;this.target.value!=this._getSelectedText()&&(n.preventDefault(),u&&u!="tt"&&(this._findCategoryPosition(u),v=i==8&&t.start!=this.start,y=i==46&&t.end!=this.end,d=this.end-this.start,(t.start!=t.end||d==1)&&(v||y||t.start!=t.end)?(l=this.start,o=this.end,this.element[0].value=this._replaceAt(this.target.value,l,o,"__"),g=o-l!=2?o+1:o,this._setSelection(l,g)):v?(this.element[0].value=this._replaceAt(this.target.value,t.start-1,t.start,""),this._setSelection(t.start-1,t.start-1)):y&&(this.element[0].value=this._replaceAt(this.target.value,t.end,t.end+1,""),this._setSelection(t.end,t.end))))}a=this._getSelectedValue(r);p=n.keyCode?n.keyCode:n.charCode;n.keyCode>47&&n.keyCode<58?f=String.fromCharCode(p):n.keyCode>95&&n.keyCode<106&&(f=String.fromCharCode(p-48));u=="tt"&&(!n.shiftKey&&!n.ctrlKey&&!n.altKey&&n.keyCode>64&&n.keyCode<91||n.keyCode>47&&n.keyCode<58||n.keyCode>95&&n.keyCode<106)&&(n.preventDefault(),w=this._getCategoryPosition(u),this.start=w.start,this.end=w.end,this._changeAmPm(a),this._raiseChangeEvent());this.target.value!=this._getSelectedText()||n.shiftKey||n.ctrlKey||n.altKey||(n.keyCode>64&&n.keyCode<91&&!this.model.enableStrictMode&&n.preventDefault(),(n.keyCode>47&&n.keyCode<58||n.keyCode>95&&n.keyCode<106)&&(r=this._getStartEnd(t),this._setSelection(r.start,r.end)));!n.shiftKey&&!n.ctrlKey&&!n.altKey&&n.keyCode>47&&n.keyCode<58||n.keyCode>95&&n.keyCode<106?u!="tt"&&(this._getMinMax(u,!0),t.start==t.end?(this._findCategoryPosition(u),t.start==this.start?(s=f+a,this.model.enableStrictMode==!1&&(this._validateTimes(),this._targetBlur()),this.model.value==null&&this.element.val(this.model.minTime),r=this._getStartEnd(t),this._setSelection(r.start,r.end)):s=a+f,(s.length>2||!(Number(s)>=this.min&&this.max>=Number(s)))&&(this.model.enableStrictMode||n.preventDefault())):Number(f)>=this.min&&this.max>=Number(f)||this.model.enableStrictMode||n.preventDefault()):this._allowKeyCodes(n)||(this.model.enableStrictMode?n.stopPropagation():n.keyCode==8||n.keyCode==46?n.stopPropagation():n.preventDefault())},_getSelectedText:function(){if(window.getSelection){var t=n("#"+this.element[0].id).get(0);return t.value.substring(t.selectionStart,t.selectionEnd)}return document.selection.createRange().text},_allowKeyCodes:function(n){return n.ctrlKey&&(n.keyCode==65||n.keyCode==67||n.keyCode==90||n.keyCode==89)||n.keyCode==9||n.keyCode==116||n.keyCode==13?!0:!1},_readOnlyKeys:function(n){return n.keyCode==35||n.keyCode==36||n.keyCode==37||n.keyCode==39||this._allowKeyCodes(n)?!0:!1},_firstlastVal:function(n){var t=this.model.timeFormat.split(" "),r=this.seperator,i;return n?t[0]!="tt"?t[0].split(r)[0]:"tt":t[0]!="tt"?"tt":t[1]?(i=t[1].split(r),i.length?i[i.length-1]:"tt"):"tt"},_mouseWheel:function(n){if(n.preventDefault(),this.model.readOnly)return!1;var t,i=n.originalEvent;i.wheelDelta?t=i.wheelDelta/120:i.detail&&(t=-i.detail/3);t>0?this._modifyValue(!0):t<0&&this._modifyValue(!1)},_addListHover:function(){this._addSelected();this._updateScrollTop()},_addSelected:function(){this.ul.find("li").removeClass("e-active e-hover");var n=this._getActiveItem();n.length&&!n.hasClass("e-disable")&&n.addClass("e-active")},_disableItemSelectDown:function(t){return(t==null||t<0)&&(t=0),t<this._listSize?n.inArray(t,this._disabledItems)<0?t:this._disableItemSelectDown(t+1):this._listSize},_disableItemSelectUp:function(t){if(t=t-1,(t==null||t<0)&&(t=0),t<this._listSize){if(n.inArray(t,this._disabledItems)<0)return t+1;if(t>0)return this._disableItemSelectUp(t)}return 0},_getActiveItem:function(){return n(this.ul.find("li")[this._activeItem-1])},_timeIconClick:function(n){var i,r;if(t.isNullOrUndefined(this.popupList)&&(this._renderDropdown(),this._addProperty()),i=!1,n.button?i=n.button==2:n.which&&(i=n.which==3),!i){if(n.preventDefault(),!this.model.enabled||this.model.readOnly||this.ul.find("li").length<1)return!1;this._showhidePopup();r=this.element.val().length;t.isTouchDevice()||this._setSelection(r,r)}},_showhidePopup:function(){if(this._getInternalEvents)return!1;this.showDropdown?this._hideResult():this._showResult()},_showResult:function(){this.popupList==null&&this._renderDropdown();this._raiseEvent("beforeOpen");this._refreshPopup();this.focused||t.isTouchDevice()||this._focusElement();this.model.value?this._changeActiveEle():this.ul.find("li").removeClass("e-active");var i=this,r=this._vissibleAndCalculateTop();this.popupList.slideDown(this.model.enableAnimation?200:0,function(){n(document).on("mousedown",n.proxy(i._OnDocumentClick,i))});this.scrollerObj.setModel({scrollTop:r});this.showDropdown=!0;this._listSize=this.ul.find("li").length;n(window).on("resize",n.proxy(this._OnWindowResize,this));this._on(t.getScrollableParents(this.wrapper),"scroll",this._hideResult);this._on(t.getScrollableParents(this.wrapper),"touchmove",this._hideResult);this._raiseEvent("open");this.wrapper.addClass("e-active")},_hideResult:function(i){i&&(i.type=="touchmove"||i.type=="scroll")&&n(i.target).parents("#"+this.popupList[0].id).length>0||this.showDropdown&&!this._getInternalEvents&&(this.showDropdown=!1,this.popupList.slideUp(this.model.enableAnimation?100:0),n(document).off("mousedown",n.proxy(this._OnDocumentClick,this)),n(window).off("resize",n.proxy(this._OnWindowResize,this)),this._off(t.getScrollableParents(this.wrapper),"scroll",this._hideResult),this._off(t.getScrollableParents(this.wrapper),"touchmove",this._hideResult),this._raiseEvent("close"),this.wrapper.removeClass("e-active"))},_vissibleAndCalculateTop:function(){this.popupList.css({display:"block"});var n=this._calcScrollTop();return this.popupList.css({display:"none"}),n},_calcScrollTop:function(){var i=this.ul.outerHeight(),n=this.ul.find("li").outerHeight(),t;return t=this.ul.find("li.e-active").index(),n*t-(this.popupList.outerHeight()-n)/2},_changeActiveEle:function(){if(!this.model.showPopupButton||!this.popupList)return!1;var t=this.ul.find("li"),i=this.element.val(),r=t.first().html(),n;n=(this._parse(i)-this._parse(r))/(this.model.interval*6e4);n=Math.round(n);this._activeItem=n==t.length?n:n+1;(this._activeItem<0||this._activeItem>t.length||isNaN(this._activeItem)||this._ensureTimeRange(i))&&(this._activeItem=0);this._addListHover()},_OnDocumentClick:function(t){n(t.target).is(this.popupList)||n(t.target).parents(".e-time-popup").is(this.popupList)||n(t.target).is(this.wrapper)||n(t.target).parents(".e-timewidget").is(this.wrapper)?(n(t.target).is(this.popupList)||n(t.target).parents(".e-time-popup").is(this.popupList))&&t.preventDefault():this._hideResult()},_OnWindowResize:function(){this._refreshPopup()},_OnMouseEnter:function(t){var i=t.target;this.ul.find("li").removeClass("e-hover");n(i).hasClass("e-disable")||n(i).addClass("e-hover")},_OnMouseLeave:function(){(!this._dateTimeInternal||this.model.value)&&this.ul.find("li").removeClass("e-hover")},_OnMouseClick:function(t){(t.preventDefault(),n(t.target).hasClass("e-disable"))||(this.model.enabled&&!this.model.readOnly&&(this._activeItem=n(t.target).index()+1,this.ul.find("li").attr({tabindex:-1,"aria-selected":!1}),n(t.target).attr({"aria-selected":!0,tabindex:0}),this._addSelected(),this._selectTimeItem(n(t.target))),this._showhidePopup())},_selectTimeItem:function(n){this._beforeChange(n);var t=this._raiseChangeEvent();t&&this._trigger("select",{value:this.model.value,prevTime:this._previousValue})},_findCategoryPosition:function(n){n=="least"&&(n=this._getLeast(!0));var t=this._getCategoryPosition(n);this.start=t.start;this.end=t.end},_getLeast:function(t){var r=this.model.timeFormat.split(" "),u=this.seperator,i=null;return n(r).each(function(n,r){if(r!="tt"){var f=r.split(u);i=t?f[f.length-1]:f[0]}}),i},_changeValue:function(n,r){var l=this.target.value,u,f=this._getCategory(n),o;if(!f)return!1;if(this._setSelection(this.start,this.end),u=this.target.value.substring(this.start,this.end),this._checkMinMax(this.target.value))if(u!=this.ttAM&&u!=this.ttPM){if(u=this._changeCurrentValue(u,f,r),f.length!=1&&(u=this._changeWhole(u)),this._findCategoryPosition(f),this.element.val(this._replaceAt(this.target.value,this.start,this.end,u)),this.end=this.start+u.toString().length,this._setSelection(this.start,this.end),this._ensureTimeRange(this.target.value)&&this._checkMinMax(this.target.value)){var e=this._createObject(this.target.value),s=e.getHours(),h=r?this._startTime:this._endTime,c=r?this._endTime:this._startTime;if(!t.isNullOrUndefined(this.model.disableTimeRanges))for(i=0;i<this.model.disableTimeRanges.length;i++)(h[i].getHours()===s||+e>=+this._startTime[i]&&+e<=+this._endTime[i])&&(this.target.value=this._localizeTime(c[i]),this._findCategoryPosition(f),this._setSelection(this.start,this.end),this._changeValue(n,r))}}else this._changeAmPm(u);else o=this._checkExceedRange(this.target.value),this._setTime(this.model[o]),this._findCategoryPosition(f),this._setSelection(this.start,this.end);this._checkMinMax(this.target.value)?this._raiseChangeEvent():(this.element.val(this.model.value),this._findCategoryPosition(f),this._setSelection(this.start,this.end))},_checkMinMax:function(n){var t=this._checkExceedRange(n);return t==null&&(t=!1),!t},_checkExceedRange:function(n){if(n){if(this.model.minTime&&!this._compareTime(n,this.model.minTime,!0))return"minTime";if(this.model.maxTime&&!this._compareTime(this.model.maxTime,n,!0))return"maxTime"}return null},_changeWhole:function(n){return n>9?""+n:"0"+n},_changeAmPm:function(n){n=n==this.ttAM?this.ttPM:this.ttAM;this.element.val(this._replaceAt(this.target.value,this.start,this.end,n));this._setSelection(this.start,this.end)},_changeMinute:function(n){var i=this._getExactFormat(["mm","m"]),t;i&&(this._findCategoryPosition(i),t=Number(this.target.value.substring(this.start,this.end)),this._getMinMax(i),n?t==this.max?(t=this.min,this._changeHour(n)):t+=1:t==this.min?(t=this.max,this._changeHour(n)):t-=1,this._findCategoryPosition(i),i.length!=1&&(t=this._changeWhole(t)),this.element.val(this._replaceAt(this.target.value,this.start,this.end,t)))},_changeHour:function(n){var i=this._getExactFormat(["hh","h","HH","H"]),t;i&&(this._findCategoryPosition(i),t=Number(this.target.value.substring(this.start,this.end)),this._getMinMax(i),n?t==this.max?(t+=1,this._changeMeridian()):t>this.max?t=this.min:t+=1:t==this.min?t=this.max+1:t>this.max?(t=this.max,this._changeMeridian()):t-=1,this._findCategoryPosition(i),i.length!=1&&(t=this._changeWhole(t)),this.element.val(this._replaceAt(this.target.value,this.start,this.end,t)))},_getExactFormat:function(n){for(var i=this.model.timeFormat,t=0;t<n.length;t++)if(i.indexOf(n[t])!=-1)return n[t];return null},_changeMeridian:function(){var t=this.model.timeFormat.indexOf("tt"),n;t!=-1&&(this._findCategoryPosition("tt"),n=this.target.value.substring(this.start,this.end),n=n==this.ttAM?this.ttPM:this.ttAM,this.element.val(this._replaceAt(this.target.value,this.start,this.end,n)))},_changeCurrentValue:function(n,t,i){n=Number(n);var r=t,u=1,f=!0;return(this._getMinMax(r),r=="hh"||r=="h"||r=="HH"||r=="H"?u=this.model.hourInterval:r=="mm"||r=="m"?u=this.model.minutesInterval:(r=="ss"||r=="s")&&(u=this.model.secondsInterval),u<=0)?n:(i?((r=="hh"||r=="h")&&n>this.max?n=this.min-1+u:n<this.max?n+=u:(f=!1,r!="hh"&&r!="h"?n=this.min-1+u:n+=u,this._changeAdjacent(r,i)),(r=="hh"||r=="h")&&n==this.max+1?f&&this._changeAdjacent(r,i):n>this.max+1&&(n=n-(this.max+1),f&&this._changeAdjacent(r,i)),r!="hh"&&r!="h"&&n==this.max+1&&(n=this.min,f&&this._changeAdjacent(r,i))):(r!="hh"&&r!="h"&&n>this.min?n-=u:(r=="hh"||r=="h")&&n>this.min&&n<=this.max?n-=u:(r=="hh"||r=="h")&&n==this.min?n=this.max+2-u:(f=!1,n=this.max+1-u,this._changeAdjacent(r,i)),n<this.min&&(n=n+(this.max+1),f&&this._changeAdjacent(r,i))),n)},_changeAdjacent:function(n,t){n=="ss"||n=="s"?this._changeMinute(t):n=="mm"||n=="m"?this._changeHour(t):(n=="hh"||n=="h"||n=="HH"||n=="H")&&this._changeMeridian()},_valueChange:function(){this._raiseChangeEvent()},_beforeChange:function(n){return this._raiseEvent("beforeChange")||this.element.val(n.text()),!0},_raiseChangeEvent:function(n,t){n=n===r?this.model.value:n;this._previousValue=n;var i=this.target.value?this.target.value:null;return n==i?!1:(this.isValidState=this._checkMinMax(this.target.value)&&this._isValid(this.target.value,this.model.enableStrictMode)||!this.target.value?!0:!1,this.model.value=this._isValid(this.target.value,!0)&&this._checkMinMax(this.target.value)?this.target.value:null,this.model.value||this.model.enableStrictMode||this._setTime(this.model.value),this.model.value==this._previousValue)?!1:(this._raiseEvent("change",t),this._raiseEvent("_change",t),!0)},_raiseEvent:function(n,t){var i={value:this.model.value,prevTime:this._previousValue};return n=="change"&&(i.isInteraction=!t),this._trigger(n,i)},_checkIE7:function(){if(navigator.appName=="Microsoft Internet Explorer"){var t=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"),n=-1;if(t.exec(navigator.userAgent)!=null&&(n=parseFloat(RegExp.$1)),n>=7&&n<8)return!0}return!1},_replaceAt:function(n,t,i,r){return n.substring(0,t)+r+n.substring(i)},_localizeTime:function(i){return i?n.trim(t.format(this._createObject(i),this.model.timeFormat,this.model.locale)):null},_localizeMeridian:function(i){return n.trim(t.format(i,"tt",this.model.locale))},_compareTime:function(n,t,i){return i=i?!0:!1,i?this._parse(n)>=this._parse(t):this._parse(n)>this._parse(t)},_isValid:function(n,t){return n=this._createObject(n,t),n&&typeof n.getTime=="function"&&isFinite(n.getTime())},_parse:function(n){return Date.parse(this._createObject(n))},_setEmptyDate:function(n){var t=new Date(n);return t.setDate(1),t.setMonth(0),t.setFullYear(2e3),t},_createObject:function(n,i){var r=null,f,e;if(typeof n=="string"){var o=this._setModelOption?this._preTimeformat:this.model.timeFormat,u=t.preferredCulture(this.model.locale).calendar.patterns.d,s=t.format(new Date("1/1/2000"),u,this.model.locale);r=t.parseDate(s+" "+n,u+" "+o,this.model.locale);(this._extISORegex.exec(n)||this._basicISORegex.exec(n))&&(this.model.value=r=this._timeFromISO(n));this._setModelOption=!1;r||(f=new Date(n),r=isNaN(Date.parse(f))||t.isNullOrUndefined(n)?!this._dateTimeInternal||n==""?null:new Date("1/1/2000 "+n):this._setEmptyDate(n))}else typeof n=="number"?r=new Date(n):n instanceof Date&&(r=this._setEmptyDate(n));return r&&!this._dateTimeInternal&&i&&(e=this._localizeTime(r),this._ensureTimeRange(e)&&(r=null)),r},_wireEvents:function(){this._on(this.element,"focus",this._targetFocus);this._on(this.element,"blur",this._targetBlur);this._on(this.element,"mousedown",this._mouseDownOnInput);this._on(this.element,"keydown",this._keyDownOnInput);this._on(this.element,"keyup",