/*
* Kendo UI Complete v2013.1.514 (http://kendoui.com)
* Copyright 2013 Telerik AD. All rights reserved.
*
* Kendo UI Complete commercial licenses may be obtained at
* https://www.kendoui.com/purchase/license-agreement/kendo-ui-complete-commercial.aspx
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
("function"==typeof define&&define.amd?define:function(e,t){return t()})(["./kendo.core.min","./kendo.userevents.min"],function(){(function(e,t){function n(e,t){return''+t+""}function a(n,a){var r,s,o,i,l,u=a!==t;return n.selectionStart!==t?u?(n.focus(),n.setSelectionRange(a,a)):a=[n.selectionStart,n.selectionEnd]:document.selection&&(e(n).is(":visible")&&n.focus(),r=document.selection.createRange(),u?(r.move("character",a),r.select()):(i=n.createTextRange(),l=i.duplicate(),i.moveToBookmark(r.getBookmark()),l.setEndPoint("EndToStart",i),s=l.text.length,o=s+i.text.length,a=[s,o])),a}var r=window.kendo,s=r.keys,o=r.ui,i=o.Widget,l=r._activeElement,u=r._extractFormat,c=r.parseFloat,d=r.support.placeholder,p=r.getCulture,_=r._round,f="change",m="disabled",v="readonly",g="k-input",h="spin",x=".kendoNumericTextBox",w="touchend",k="mouseleave"+x,b="mouseenter"+x+" "+k,y="k-state-default",T="k-state-focused",A="k-state-hover",C="focus",E=".",H="k-state-selected",N="k-state-disabled",R="aria-disabled",S="aria-readonly",O=null,W=e.proxy,B={190:".",188:","},D=i.extend({init:function(e,n){var a,s,o,l,c,d=this,p=n&&n.step!==t;i.fn.init.call(d,e,n),n=d.options,e=d.element.on("blur"+x,W(d._focusout,d)).attr("role","spinbutton"),n.placeholder=n.placeholder||e.attr("placeholder"),d._reset(),d._wrapper(),d._arrows(),d._input(),r.support.mobileOS?d._text.on(w+x+" "+C+x,function(t){d._toggleText(!1),t.type===C&&e.focus()}):d._text.on(C+x,W(d._click,d)),a=d.min(e.attr("min")),s=d.max(e.attr("max")),o=d._parse(e.attr("step")),n.min===O&&a!==O&&(n.min=a),n.max===O&&s!==O&&(n.max=s),p||o===O||(n.step=o),e.attr("aria-valuemin",n.min).attr("aria-valuemax",n.max),n.format=u(n.format),l=n.value,d.value(l!==O?l:e.val()),c=e.is("[disabled]"),c?d.enable(!1):d.readonly(e.is("[readonly]")),r.notify(d)},options:{name:"NumericTextBox",decimals:O,min:O,max:O,value:O,step:1,culture:"",format:"n",spinners:!0,placeholder:"",upArrowText:"Increase value",downArrowText:"Decrease value"},events:[f,h],_editable:function(e){var t=this,n=t.element,a=e.disable,r=e.readonly,s=t._text.add(n),o=t._inputWrapper.off(b);t._toggleText(!0),t._upArrowEventHandler.unbind("press"),t._downArrowEventHandler.unbind("press"),n.off("keydown"+x).off("paste"+x),r||a?(o.addClass(a?N:y).removeClass(a?y:N),s.attr(m,a).attr(v,r).attr(R,a).attr(S,r)):(o.addClass(y).removeClass(N).on(b,t._toggleHover),s.removeAttr(m).removeAttr(v).attr(R,!1).attr(S,!1),t._upArrowEventHandler.bind("press",function(e){e.preventDefault(),t._spin(1),t._upArrow.addClass(H)}),t._downArrowEventHandler.bind("press",function(e){e.preventDefault(),t._spin(-1),t._downArrow.addClass(H)}),t.element.on("keydown"+x,W(t._keydown,t)).on("paste"+x,W(t._paste,t)))},readonly:function(e){this._editable({readonly:e===t?!0:e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t?!0:e)})},destroy:function(){var e=this;e.element.add(e._text).add(e._upArrow).add(e._downArrow).add(e._inputWrapper).off(x),e._form&&e._form.off("reset",e._resetHandler),i.fn.destroy.call(e)},min:function(e){return this._option("min",e)},max:function(e){return this._option("max",e)},step:function(e){return this._option("step",e)},value:function(e){var n,a=this;return e===t?a._value:(e=a._parse(e),n=a._adjust(e),e===n&&(a._update(e),a._old=a._value),t)},focus:function(){this._focusin()},_adjust:function(e){var t=this,n=t.options,a=n.min,r=n.max;return e===O?e:(a!==O&&a>e?e=a:r!==O&&e>r&&(e=r),e)},_arrows:function(){var t,a=this,s=function(){clearTimeout(a._spinning),t.removeClass(H)},o=a.options,i=o.spinners,l=a.element;t=l.siblings(".k-icon"),t[0]||(t=e(n("n",o.upArrowText)+n("s",o.downArrowText)).insertAfter(l),t.wrapAll('')),i||(t.parent().toggle(i),a._inputWrapper.addClass("k-expand-padding")),a._upArrow=t.eq(0),a._upArrowEventHandler=new r.UserEvents(a._upArrow,{release:s}),a._downArrow=t.eq(1),a._downArrowEventHandler=new r.UserEvents(a._downArrow,{release:s})},_blur:function(){var e=this;e._toggleText(!0),e._change(e.element.val())},_click:function(e){var t=this;clearTimeout(t._focusing),t._focusing=setTimeout(function(){var n=e.target,r=a(n)[0],s=n.value.substring(0,r),o=t._format(t.options.format),i=o[","],l=RegExp("\\"+i,"g"),u=RegExp("([\\d\\"+i+"]+)(\\"+o[E]+")?(\\d+)?"),c=u.exec(s),d=0;c&&(d=c[0].replace(l,"").length,-1!=s.indexOf("(")&&0>t._value&&d++),t._focusin(),a(t.element[0],d)})},_change:function(e){var t=this;t._update(e),e=t._value,t._old!=e&&(t._old=e,t.trigger(f),t.element.trigger(f))},_culture:function(e){return e||p(this.options.culture)},_focusin:function(){var e=this;e._inputWrapper.addClass(T),e._toggleText(!1),e.element[0].focus()},_focusout:function(){var e=this;clearTimeout(e._focusing),e._inputWrapper.removeClass(T).removeClass(A),e._blur()},_format:function(e,t){var n=this._culture(t).numberFormat;return e=e.toLowerCase(),e.indexOf("c")>-1?n=n.currency:e.indexOf("p")>-1&&(n=n.percent),n},_input:function(){var t,n=this,a="k-formatted-value",r=n.element.addClass(g).show()[0],s=r.accessKey,o=n.wrapper;t=o.find(E+a),t[0]||(t=e('').insertBefore(r).addClass(a)),r.type="text",t[0].tabIndex=r.tabIndex,t[0].style.cssText=r.style.cssText,t.prop("placeholder",n.options.placeholder),s&&(t.attr("accesskey",s),r.accessKey=""),n._text=t.addClass(r.className)},_keydown:function(e){var t=this,n=e.keyCode;n==s.DOWN?t._step(-1):n==s.UP?t._step(1):n==s.ENTER&&t._change(t.element.val()),t._prevent(n,e.shiftKey)&&!e.ctrlKey&&e.preventDefault()},_paste:function(e){var t=this,n=e.target,a=n.value;setTimeout(function(){t._parse(n.value)===O&&t._update(a)})},_prevent:function(e,t){var n,r=this,o=r.element[0],i=o.value,l=r.options,u=l.min,c=r._format(l.format),d=c[E],p=l.decimals,_=a(o),f=_[0],m=_[1],v=0===f&&m===i.length,g=!0;return p===O&&(p=c.decimals),e>16&&21>e||e>32&&37>e||e>47&&58>e||e>95&&106>e||e==s.INSERT||e==s.DELETE||e==s.LEFT||e==s.RIGHT||e==s.TAB||e==s.BACKSPACE||e==s.ENTER?(g=!1,t&&(n=parseInt(String.fromCharCode(e),10),isNaN(n)||(n+="",i=i.substring(0,f)+n+i.substring(m),(-1===o.maxLength||o.maxLength>=i.length)&&(o.value=i,a(o,f+n.length)),g=!0))):(B[e]===d||110==e)&&p>0&&(-1==i.indexOf(d)||v)?110==e?(o.value=i.substring(0,f)+d+i.substring(m),a(o,f+d.length)):t||(g=!1):!(u===O||0>u)||-1!=i.indexOf("-")||189!=e&&109!=e&&173!=e||0!==f||(g=!1),g},_option:function(e,n){var a=this,r=a.options;return n===t?r[e]:(n=a._parse(n),(n||"step"!==e)&&(r[e]=n,a.element.attr("aria-value"+e,n).attr(e,n)),t)},_spin:function(e,t){var n=this;t=t||500,clearTimeout(n._spinning),n._spinning=setTimeout(function(){n._spin(e,50)},t),n._step(e)},_step:function(e){var t=this,n=t.element,a=t._parse(n.val())||0;l()!=n[0]&&t._focusin(),a+=t.options.step*e,t._update(t._adjust(a)),t.trigger(h)},_toggleHover:function(t){e(t.currentTarget).toggleClass(A,"mouseenter"===t.type)},_toggleText:function(e){var t=this;t._text.toggle(e),t.element.toggle(!e)},_parse:function(e,t){return c(e,this._culture(t),this.options.format)},_update:function(e){var t,n=this,a=n.options,s=a.format,o=a.decimals,i=n._culture(),l=n._format(s,i);o===O&&(o=l.decimals),e=n._parse(e,i),t=e!==O,t&&(e=parseFloat(_(e,o))),n._value=e=n._adjust(e),n._placeholder(r.toString(e,s,i)),t?(e=""+e,-1!==e.indexOf("e")&&(e=_(+e,o))):e="",n.element.val(e).attr("aria-valuenow",e)},_placeholder:function(e){this._text.val(e),d||e||this._text.val(this.options.placeholder)},_wrapper:function(){var t,n=this,a=n.element,r=a[0];t=a.parents(".k-numerictextbox"),t.is("span.k-numerictextbox")||(t=a.hide().wrap('').parent(),t=t.wrap("").parent()),t[0].style.cssText=r.style.cssText,r.style.width="",n.wrapper=t.addClass("k-widget k-numerictextbox").addClass(r.className).css("display",""),n._inputWrapper=e(t[0].firstChild)},_reset:function(){var e=this,t=e.element,n=t.closest("form");n[0]&&(e._resetHandler=function(){setTimeout(function(){e.value(t[0].value)})},e._form=n.on("reset",e._resetHandler))}});o.plugin(D)})(window.kendo.jQuery)});