!function(p){p.jqx.jqxWidget("jqxComplexInput","",{}),p.extend(p.jqx._jqxComplexInput.prototype,{defineInstance:function(){var e={width:null,height:null,decimalNotation:"default",value:"",spinButtons:!1,spinButtonsStep:1,placeHolder:"",roundedCorners:!0,disabled:!1,rtl:!1,changeType:null,hint:!0,template:"",events:["change"]};return this===p.jqx._jqxComplexInput.prototype||p.extend(!0,this,e),e},createInstance:function(){var e=this;e._firefox="mozilla"===p.jqx.browser.browser,e._currentNumber={},e._allowedCharacters=new RegExp(/([\+\-\.0-9i])/i),e.render()},render:function(){var e,t,o,n,r,a,s,i,l,d=this;if(d.isMaterialized()&&(e=p("")).addClass(d.toThemeProperty("jqx-input-bar")),"INPUT"===d.element.nodeName.toUpperCase()?((o=p("
")).addClass(d.toThemeProperty("jqx-input-group jqx-complex-input-group")),this.host.after(o),n=this.element,r=this.host.data(),o.append(n),o.append(e),o.append(t)):(this.host.append(e),this.host.append(t),this.host.addClass(d.toThemeProperty("jqx-input-group jqx-complex-input-group")),t.css("top",6+this.element.offsetHeight)),d.bar=t,d.label=e),"DIV"===d.element.nodeName.toUpperCase()&&(d.baseHost=d.host,r=d.host.data(),d.host=d.baseHost.children("input"),d.element=d.host[0],d.host.data(r)),!0===d.spinButtons){if(!d.baseHost)throw new Error("jqxComplexInput: Invalid HTML structure. Please initialize the complex input from a div with an input and another div inside.");d._appendSpinButtons()}d._addClasses(),d._setSize(),d._removeHandlers(),d._addHandlers(),"exponential"===d.decimalNotation&&-1!==d.value.toLowerCase().indexOf("e")?(l=(s=(a=d._exponentialToDecimal(d.value)).realPart)+" "+((i=a.imaginaryPart)<0?"-":"+")+" "+Math.abs(i)+"i",d._currentNumber={value:l,realPart:s,imaginaryPart:i}):d._currentNumber={value:d.value,realPart:d._getReal(d.value),imaginaryPart:d._getImaginary(d.value)},"default"===d.decimalNotation?d.element.value=d.value:d._setNotation(),d._refreshPlaceHolder()},refresh:function(e){!0!==e&&this.render()},destroy:function(){this._removeHandlers(),this.host.destroy()},val:function(e){var t,o,n,r=this;if("string"!=typeof e&&("object"!=typeof e||!1!==p.isEmptyObject(e)))return r.element.value;"string"==typeof e?n=-1===(e=e.toLowerCase()).indexOf("e")?(o=r._getReal(e),r._getImaginary(e)):(o=+(t=r._exponentialToDecimal(e)).realPart,+t.imaginaryPart):"object"==typeof e&&!1===p.isEmptyObject(e)&&(o=e.real,n=e.imaginary);var a=o+" "+(0<=n?"+":"-")+" "+Math.abs(n)+"i";a!==r._currentNumber.value&&(r.element.value=a,r._onChange(r.value),"default"!==r.decimalNotation&&r._setNotation())},getReal:function(){return this._currentNumber.realPart},_getReal:function(e){e&&("object"!=typeof e||!0!==p.isEmptyObject(e))||(e=this.element.value);var t=p.trim(e),o="";if(0===(e.match(/i/g)||[]).length)return parseFloat(t);function n(e){return t=t.slice(0,e),t=p.trim(t),parseFloat(o+""+t)}"+"===e.charAt(0)?t=t.slice(1,e.length):"-"===e.charAt(0)&&(t=t.slice(1,e.length),o="-");var r=t.indexOf("+");if(-1!==r)return n(r);var a=t.indexOf("-");return-1!==a?n(a):0},getImaginary:function(){return this._currentNumber.imaginaryPart},_getImaginary:function(e){if(e&&("object"!=typeof e||!0!==p.isEmptyObject(e))||(e=this.element.value),0===(e.match(/i/g)||[]).length)return 0;var o=p.trim(e),t="";function n(e,t){return o=o.slice(e+1,o.indexOf("i")),""===(o=p.trim(o))&&(o=1),parseFloat(t+""+o)}"-"!==o.charAt(0)&&"+"!==o.charAt(0)||(t="-"===o.charAt(0)?"-":"+",o=p.trim(o.slice(1,e.length)));var r=o.indexOf("+");if(-1!==r)return n(r,"+");var a=o.indexOf("-");return-1!==a?n(a,"-"):""===(o=t+""+o.slice(0,o.indexOf("i")))||"+"===o?1:"-"===o?-1:parseFloat(o)},getDecimalNotation:function(e,t){var s=this;"real"===e?e=s._currentNumber.realPart:"imaginary"===e&&(e=s._currentNumber.imaginaryPart);var o,n,r,a,i=e.toExponential();return"scientific"===t?(n=(o=i).indexOf("e"),r=o.slice(n+1),a=(a=o.slice(0,n+1)).replace("e","×10"),a=(a+=s._toSuperScript(r)).replace("+","")):"engineering"===t?function(e){var t=e.indexOf("e"),o=e.slice(t+1),n=e.slice(0,t),r=parseInt(o,10)%3;n*=Math.pow(10,r);var a=e.slice(0,t).length-r-2;return 0<=a&&(n=n.toFixed(a)),n+"×10"+s._toSuperScript((parseInt(o,10)-r).toString())}(i):i},propertyChangedHandler:function(e,t,o,n){if(n!==o)switch(t){case"template":e.template&&(e._upbutton.removeClass(this.toThemeProperty("jqx-"+o)),e._downbutton.removeClass(this.toThemeProperty("jqx-"+o)),e._upbutton.addClass(this.toThemeProperty("jqx-"+e.template)),e._downbutton.addClass(this.toThemeProperty("jqx-"+e.template)));break;case"width":case"height":e._setSize();break;case"decimalNotation":"default"===n?e.element.value=e._currentNumber.value:e._setNotation();break;case"value":e.element.value=n,e._onChange(o);break;case"spinButtons":function r(){e.host.removeClass(e.toThemeProperty("jqx-rc-all")),!1===e.rtl?(e.host.addClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))):(e.host.addClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l")))}var a,s,i,l,d,u;e._spinButtonsContainer?(a=e.host.width(),s=e._spinButtonsContainer.outerWidth(),!1===n?(e.host.width(a+s),e._spinButtonsContainer.hide(),e.host.addClass(e.toThemeProperty("jqx-rc-all"))):(e.host.width(a-s),e._spinButtonsContainer.show(),r())):!0===n&&(i=p(""),e.baseHost?e.host.after(i):(l=e.element.id,e.host.removeAttr("id"),e.host.wrap(''),(d=p("#"+l)).append(i),(u=e.host.data()).jqxComplexInput.host=d,u.jqxComplexInput.element=d[0],e.baseHost=d,e.baseHost.data(u)),e.render(),r());break;case"placeHolder":e._refreshPlaceHolder(o);break;case"roundedCorners":e._spinButtonsContainer?!0===n?!1===e.rtl?(e.host.addClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))):(e.host.addClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l"))):!1===e.rtl?(e.host.removeClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-r"))):(e.host.removeClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-l"))):!0===n?e.host.addClass(e.toThemeProperty("jqx-rc-all")):e.host.removeClass(e.toThemeProperty("jqx-rc-all"));break;case"disabled":!0===n?(e.host.attr("disabled",!0),e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled")),e._spinButtonsContainer&&e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-fill-state-disabled"))):(e.host.removeAttr("disabled"),e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled")),e._spinButtonsContainer&&e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-fill-state-disabled")));break;case"rtl":e._spinButtonsContainer&&(!0===n?(e.host.addClass(e.toThemeProperty("jqx-complex-input-child-rtl")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl")),!0===e.roundedCorners&&(e.host.removeClass(e.toThemeProperty("jqx-rc-l")),e.host.addClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l")))):(e.host.removeClass(e.toThemeProperty("jqx-complex-input-child-rtl")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr")),!0===e.roundedCorners&&(e.host.removeClass(e.toThemeProperty("jqx-rc-r")),e.host.addClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r")))));break;case"theme":p.jqx.utilities.setTheme(o,n,e.host)}},_raiseEvent:function(e,t){void 0===t&&(t={owner:null});var o=this.events[e];t.owner=this;var n=new p.Event(o);return n.owner=this,t.type=this.changeType,this.changeType=null,n.args=t,n.preventDefault&&n.preventDefault(),this.host.trigger(n)},_appendSpinButtons:function(){var e=this;e._spinButtonsContainer=p(e.baseHost.children("div")),e._spinButtonsContainer.attr("unselectable","on"),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-fill-state-normal jqx-complex-input-child jqx-formatted-input-spin-buttons-container jqx-complex-input-spin-buttons-container")),!1===e.rtl?e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr")):e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl"));var t='';e._upbutton=p(t),e._spinButtonsContainer.append(e._upbutton),e._downbutton=p(t),e._spinButtonsContainer.append(e._downbutton),e._upArrow=e._upbutton.find("div"),e._upArrow.addClass(e.toThemeProperty("jqx-icon-arrow-up")),e._downArrow=e._downbutton.find("div"),e._downArrow.addClass(e.toThemeProperty("jqx-icon-arrow-down")),e._upArrow.add(e._downArrow).attr("unselectable","on"),e.template&&(e._upbutton.addClass(e.toThemeProperty("jqx-"+e.template)),e._downbutton.addClass(e.toThemeProperty("jqx-"+e.template)))},_addClasses:function(){var e=this;e.host.addClass(e.toThemeProperty("jqx-widget jqx-input jqx-complex-input jqx-widget-content")),e.baseHost&&(e.baseHost.addClass(e.toThemeProperty("jqx-widget jqx-complex-input-parent")),e.host.addClass(e.toThemeProperty("jqx-complex-input-child"))),!0===e.roundedCorners&&(e._spinButtonsContainer?!1===e.rtl?(e.host.addClass(e.toThemeProperty("jqx-rc-l")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))):(e.host.addClass(e.toThemeProperty("jqx-rc-r")),e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l"))):e.host.addClass(e.toThemeProperty("jqx-rc-all"))),!0===e.disabled&&(e.host.attr("disabled",!0),e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled")),e._spinButtonsContainer&&e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-fill-state-disabled"))),!0===e.rtl&&e.host.add(e._spinButtonsContainer).addClass(e.toThemeProperty("jqx-complex-input-child-rtl"))},_refreshPlaceHolder:function(e){var t=this;"placeholder"in t.element?t.host.attr("placeHolder",t.placeHolder):""!==t.element.value&&t.element.value!==e||(t.element.value=t.placeHolder)},_setSize:function(){var r=this;function e(){var e,t=r.baseHost.height(),o=parseInt(r.host.css("border-left-width"),10)+parseInt(r.host.css("border-right-width"),10)+parseInt(r.host.css("padding-left"),10)+parseInt(r.host.css("padding-right"),10),n=0;p.jqx.browser.msie&&p.jqx.browser.version<8&&(n=o,r.host.height(r.baseHost.height()-2*(parseInt(r.host.css("border-top-width"),10)+parseInt(r.host.css("border-bottom-width"),10)+parseInt(r.host.css("padding-top"),10)+parseInt(r.host.css("padding-bottom"),10)))),r._spinButtonsContainer?(e="string"==typeof r.width&&"%"===r.width.charAt(r.width.length-1)?1:0,r.host.width(r.baseHost.width()-o-r._spinButtonsContainer.outerWidth()-n-e),p.jqx.browser.msie&&p.jqx.browser.version<8&&r._spinButtonsContainer.height(t-2*(parseInt(r._spinButtonsContainer.css("border-top-width"),10)+parseInt(r._spinButtonsContainer.css("border-bottom-width"),10)+parseInt(r._spinButtonsContainer.css("padding-top"),10)+parseInt(r._spinButtonsContainer.css("padding-bottom"),10)))):r.host.width(r.baseHost.width()-o-n)}r.baseHost?(r.baseHost.width(r.width),r.baseHost.height(r.height),e()):(r.host.width(r.width),r.host.height(r.height)),p.jqx.browser.msie&&p.jqx.browser.version<9&&r.host.css("line-height",r.host.height()+"px");var t=r.baseHost||r.host;p.jqx.utilities.resize(t,function(){e(),(p.jqx.browser.msie&&p.jqx.browser.version<9||!p.jqx.browser.msie)&&"string"==typeof r.height&&"%"===r.height.charAt(r.height.length-1)&&r.host.css("line-height",r.host.height()+"px")})},_addHandlers:function(){var e,n=this,t=n.baseHost?n.baseHost[0].id:n.element.id,r=[8,9,13,32,35,36,37,38,39,40,46];n.addHandler(n.host,"focus.jqxComplexInput"+t,function(){var e;n.host.addClass(n.toThemeProperty("jqx-fill-state-focus")),n._spinButtonsContainer&&n._spinButtonsContainer.addClass(n.toThemeProperty("jqx-fill-state-focus")),n.bar&&n.bar.addClass("focused"),n.label&&n.label.addClass("focused"),"placeholder"in n.element||n.element.value!==n.placeHolder||(n.element.value=""),"default"!==n.decimalNotation&&(e=n._getCaretPosition(),n.element.value=n._currentNumber.value,n._setCaretPosition(e))}),n.addHandler(n.host,"blur.jqxComplexInput"+t,function(){n.host.removeClass(n.toThemeProperty("jqx-fill-state-focus")),n._spinButtonsContainer&&n._spinButtonsContainer.removeClass(n.toThemeProperty("jqx-fill-state-focus")),n.bar&&n.bar.removeClass("focused"),n.label&&n.label.removeClass("focused"),(n.element.value!==n.value||"placeholder"in n.element||!("placeholder"in n.element)&&""===n.element.value)&&n._onChange(n.value),"placeholder"in n.element||""!==n.element.value&&n.element.value!==n.placeHolder||(n.element.value=n.placeHolder),"default"!==n.decimalNotation&&n._setNotation()}),n.addHandler(n.host,"keydown.jqxComplexInput"+t,function(e){var t=e.charCode?e.charCode:e.which;if(n.changeType="keyboard",!0!==e.ctrlKey||67!==t&&86!==t&&88!==t){var o=String.fromCharCode(t);if(96<=t&&t<=105&&(o=(t-96).toString(),t-=48),(!n._firefox&&187===t||n._firefox&&61===t)&&!0===e.shiftKey?o="+":(!n._firefox&&189===t||n._firefox&&173===t)&&!1===e.shiftKey?o="-":190===t&&!1===e.shiftKey&&(o="."),!0!==n._allowedCharacters.test(o))return-1!==r.indexOf(t)&&void 0;if("+"===o||"-"===o){if(1<(n.element.value.match(/-/g)||[]).length+(n.element.value.match(/\+/g)||[]).length)return!1}else if("."===o){if(1<(n.element.value.match(/\./g)||[]).length)return!1}else if("i"===o.toLowerCase()&&-1!==n.element.value.indexOf(o.toLowerCase()))return!1}}),n.addHandler(n.host,"keypress.jqxComplexInput"+t,function(e){13===(e.charCode?e.charCode:e.which)&&n.element.value!==n.value&&n._onChange(n.value)}),n._spinButtonsContainer&&(e=n._upbutton.add(n._downbutton),n.addHandler(n._upbutton,"mousedown.jqxComplexInputSpinButtonUp"+t,function(){n.disabled||""===n.value||null===n.value||(n._upbutton.addClass(n.toThemeProperty("jqx-fill-state-pressed")),n.changeType="mouse",n._incrementOrDecrement(!0))}),n.addHandler(n._upbutton,"mouseup.jqxComplexInputSpinButtonUp"+t,function(){n.disabled||""===n.value||null===n.value||n._upbutton.removeClass(n.toThemeProperty("jqx-fill-state-pressed"))}),n.addHandler(n._downbutton,"mousedown.jqxComplexInputSpinButtonDown"+t,function(){n.disabled||""===n.value||null===n.value||(n._downbutton.addClass(n.toThemeProperty("jqx-fill-state-pressed")),n.changeType="mouse",n._incrementOrDecrement(!1))}),n.addHandler(n._downbutton,"mouseup.jqxComplexInputSpinButtonDown"+t,function(){n.disabled||""===n.value||null===n.value||n._downbutton.removeClass(n.toThemeProperty("jqx-fill-state-pressed"))}),n.addHandler(e,"mouseenter.jqxComplexInputSpinButtons"+t,function(e){var t;n.disabled||""===n.value||null===n.value||((t=p(e.target)).hasClass("jqx-icon-arrow-up")||t.children().hasClass("jqx-icon-arrow-up")?(n._upbutton.addClass(n.toThemeProperty("jqx-fill-state-hover")),n._upArrow.addClass(n.toThemeProperty("jqx-icon-arrow-up-hover"))):(n._downbutton.addClass(n.toThemeProperty("jqx-fill-state-hover")),n._downArrow.addClass(n.toThemeProperty("jqx-icon-arrow-down-hover"))))}),n.addHandler(e,"mouseleave.jqxComplexInputSpinButtons"+t,function(e){var t;n.disabled||""===n.value||null===n.value||((t=p(e.target)).hasClass("jqx-icon-arrow-up")||t.children().hasClass("jqx-icon-arrow-up")?(n._upbutton.removeClass(n.toThemeProperty("jqx-fill-state-hover")),n._upArrow.removeClass(n.toThemeProperty("jqx-icon-arrow-up-hover"))):(n._downbutton.removeClass(n.toThemeProperty("jqx-fill-state-hover")),n._downArrow.removeClass(n.toThemeProperty("jqx-icon-arrow-down-hover"))))}),n.addHandler(p("body"),"mouseup.jqxComplexInputSpinButtons"+t,function(){n._upbutton.add(n._downbutton).removeClass(n.toThemeProperty("jqx-fill-state-pressed"))}))},_removeHandlers:function(){var e,t=this,o=t.baseHost?t.baseHost[0].id:t.element.id;t.removeHandler(t.host,"focus.jqxComplexInput"+o),t.removeHandler(t.host,"blur.jqxComplexInput"+o),t.removeHandler(t.host,"keydown.jqxComplexInput"+o),t.removeHandler(t.host,"keypress.jqxComplexInput"+o),t._spinButtonsContainer&&(e=t._upbutton.add(t._downbutton),t.removeHandler(t._upbutton,"mousedown.jqxComplexInputSpinButtonUp"+o),t.removeHandler(t._upbutton,"mouseup.jqxComplexInputSpinButtonUp"+o),t.removeHandler(t._downbutton,"mousedown.jqxComplexInputSpinButtonDown"+o),t.removeHandler(t._downbutton,"mouseup.jqxComplexInputSpinButtonDown"+o),t.removeHandler(e,"mouseenter.jqxComplexInputSpinButtons"+o),t.removeHandler(e,"mouseleave.jqxComplexInputSpinButtons"+o),t.removeHandler(p("body"),"mouseup.jqxComplexInputSpinButtons"+o))},_onChange:function(e){var t,o,n,r=this,a=r.element.value.toLowerCase();if(""!==p.trim(a)&&p.trim(a)!==r.placeHolder){-1!==a.indexOf("++")||-1!==a.indexOf("+-")?(t=a.indexOf("+"),a=a.slice(0,t+1)+""+a.slice(t+2,a.length)):-1===a.indexOf("--")&&-1===a.indexOf("-+")||(o=a.indexOf("-"),a=a.slice(0,o+1)+""+a.slice(o+2,a.length)),-1!==a.indexOf("..")&&(n=a.indexOf("."),a=a.slice(0,n+1)+""+a.slice(n+2,a.length));var s=r._getReal(a),i=r._getImaginary(a),l=0<=i?"+":"-",d=s,u=i;if(isNaN(d)||isNaN(u))return void(r.element.value=e);r.element.value=s+" "+l+" "+Math.abs(i)+"i",r.value=r.element.value}else u=d=0,r.value="";r.value!==e&&(r._currentNumber={value:r.value,realPart:d,imaginaryPart:u},r._raiseEvent("0",{value:r.value,oldValue:e,realPart:d,imaginaryPart:u}))},_incrementOrDecrement:function(s){var e,t,i=this,o=i.host.is(":focus"),n=i.element.value,r=i._currentNumber.realPart,a=i._currentNumber.imaginaryPart;function l(e){var t,o,n=e.toString(),r=n.indexOf("."),a=-1!==r?(t=parseInt(n.slice(0,r),10),o=n.slice(n.indexOf(".")+1),"."):(t=e,o="");return e=!0===s?t+i.spinButtonsStep:t-i.spinButtonsStep,e=parseFloat(e+""+a+o)}o&&(e=i._getCaretPosition()),t=0<=a?n.indexOf("+"):("-"===n.charAt(0)&&(n=n.slice(1,n.length)),n.indexOf("-")),void 0===e||e<=t?r=l(r):a=l(a);var d=r+" "+(0<=a?"+":"-")+" "+Math.abs(a)+"i";i.element.value=d,i._onChange(i.value),o?i._setCaretPosition(e):"default"!==i.decimalNotation&&i._setNotation()},_getCaretPosition:function(){var e=this.element;if("selectionStart"in e)return e.selectionStart;if(document.selection){e.focus();var t=document.selection.createRange(),o=document.selection.createRange().text.length;return t.moveStart("character",-e.value.length),t.text.length-o}},_setCaretPosition:function(t){var o=this.element;setTimeout(function(){var e;"selectionStart"in o?(o.focus(),o.setSelectionRange(t,t)):((e=o.createTextRange()).collapse(!0),e.moveEnd("character",t),e.moveStart("character",t),e.select())},10)},_exponentialToDecimal:function(e){var t=e.indexOf("e")+2,o=e.slice(t),n=o.indexOf("+"),r=o.indexOf("-"),t=-1!==n&&(n