{"version":3,"file":"global.inputMask.min.js","names":["$","fn","withoutInputmask","this","filter","inputmask","fieldIdsToRemoveMask","phoneInputMask","mask","onUnMask","maskedValue","unmaskedValue","match","replace","applyMasks","Inputmask","extendDefinitions","T","validator","chrs","buffer","pos","strict","opts","RegExp","test","casing","cardinality","unmasked","length","max","rightAlign","autoUnmask","digits","clearMaskOnLostFocus","placeholder","min","prefix","suffix","getUnmaskedNumber","string","Number","removeMasksByIdOnSubmit","arguments","each","i","e","indexOf","push","doNotRemoveMasksByIdOnSubmit","index","splice"],"sources":["global/global.inputMask.js"],"sourcesContent":["(function () {\n $.fn.withoutInputmask = function () {\n return $(this).filter(function () {\n return !this.inputmask;\n });\n };\n})();\n\n//#region Global variables\n\nvar fieldIdsToRemoveMask = []; // This array holds the the ids of the fields that should have the masks removed before form submit. Use the removeMasksByIdOnSubmit() function.\n\n//#endregion\n\n//#region applyMasks. This setups up all the default masks for the entire page\n\nvar phoneInputMask = {\n mask: \"(999) 999-9999[ x9999]\",\n onUnMask: function (maskedValue, unmaskedValue) {\n if (!maskedValue.match(/\\d+/)) {\n return '';\n }\n if (maskedValue.match(/x\\d+/)) {\n return maskedValue.replace(/_+/g, '');\n }\n else {\n return maskedValue.replace(/\\sx/, '').replace(/_+/g, '');\n }\n return output;\n }\n};\n\nfunction applyMasks() {\n //Must use upper case AM/PM to work with isDirty\n Inputmask.extendDefinitions({\n 'T': { //AM/PM\n validator: function (chrs, buffer, pos, strict, opts) {\n return new RegExp(\"^[a|p|A|P][m|M]\").test(chrs + \"M\");\n },\n casing: \"upper\",\n cardinality: 1\n }\n });\n\n $('.zipMask').withoutInputmask().inputmask('99999[-9999]', {\n onUnMask: function (maskedValue, unmaskedValue) {\n var unmasked = unmaskedValue;\n\n if (unmaskedValue.length > 5) {\n return maskedValue.replace(/_+/, '');\n }\n\n return unmasked;\n }\n });\n\n $('.smallDecimalMask').withoutInputmask().inputmask('decimal', {\n max: 99,\n rightAlign: false\n });\n\n $(\".phoneMask\").withoutInputmask().inputmask(phoneInputMask);\n $('.yearMask').withoutInputmask().inputmask('9999');\n $(\".dateMask\").withoutInputmask().inputmask(\"mm/dd/yyyy\");\n $(\".timeMask\").withoutInputmask().inputmask(\"h:s T\\\\M\");\n $(\".emailMask\").withoutInputmask().inputmask(\"email\");\n\n $(\".integerMask\").withoutInputmask().inputmask(\"integer\", {\n rightAlign: true\n });\n\n $(\".percentMask\").withoutInputmask().inputmask(\"percentage\", {\n autoUnmask: true,\n digits: 4,\n //The below fix is to prevent an input with a currencyMask from returning \"\" on .val() and form post when the value is actually \"0 %\". This bug was introduced in v3.2 of jquery.inputmask (https://github.com/RobinHerbots/jquery.inputmask/issues/1053).\n //The fix forces all currency inputs to always unmask (disabled by default) and then returns the masked value instead. This essentially short-circuites the internal logic of jquery.inputmask that was returning \"\". -STH 10/22/2015\n rightAlign: false,\n onUnMask: function (maskedValue, unmaskedValue) {\n return maskedValue;\n },\n clearMaskOnLostFocus: false\n });\n\n\n $(\".optionalPercentMask\").withoutInputmask().inputmask(\"percentage\", {\n placeholder: \"\",\n autoUnmask: true,\n rightAlign: false,\n clearMaskOnLostFocus: false\n });\n\n $(\".currencyMask\").withoutInputmask().inputmask(\"currency\", {\n rightAlign: false,\n min: 0,\n //The below fix is to prevent an input with a currencyMask from returning \"\" on .val() and form post when the value is actually \"$ 0.00\". This bug was introduced in v3.2 of jquery.inputmask (https://github.com/RobinHerbots/jquery.inputmask/issues/1053).\n //The fix forces all currency inputs to always unmask (disabled by default) and then returns the masked value instead. This essentially short-circuites the internal logic of jquery.inputmask that was returning \"\". -STH 10/22/2015\n autoUnmask: true,\n onUnMask: function (maskedValue, unmaskedValue) {\n return maskedValue;\n },\n clearMaskOnLostFocus: false\n });\n\n $(\".negativeCurrencyMask\").withoutInputmask().inputmask(\"currency\", {\n rightAlign: false,\n prefix: '($ ',\n suffix: ')'\n });\n\n $(\".posOrNegCurrencyMask\").withoutInputmask().inputmask(\"currency\", {\n rightAlign: false,\n });\n}\n\n//#endregion\n\n//#region getUnmaskedNumber. jquery.inputmask method for unmasking does not return correct value for currency.\nfunction getUnmaskedNumber(string) {\n if (string) {\n var unmasked = string.replace(/[^0-9\\.]+/g, \"\");\n var number = Number(unmasked);\n return number;\n }\n\n return 0;\n}\n//#endregion\n\n//#region Remove Mask. Call this to setup elements to remove masks for on submit\n\nfunction removeMasksByIdOnSubmit() {\n $(arguments).each(function (i, e) {\n var index = fieldIdsToRemoveMask.indexOf(e);\n if (index < 0) {\n fieldIdsToRemoveMask.push(e);\n }\n });\n}\n\nfunction doNotRemoveMasksByIdOnSubmit() {\n $(arguments).each(function (i, e) {\n var index = fieldIdsToRemoveMask.indexOf(e);\n if (index >= 0) {\n fieldIdsToRemoveMask.splice(index, 1);\n }\n });\n}\n\n//#endregion Remove Mask"],"mappings":"AACEA,EAAEC,GAAGC,iBAAmB,WACtB,OAAOF,EAAEG,MAAMC,QAAO,WACpB,OAAQD,KAAKE,cAOnB,IAAIC,qBAAuB,GAMvBC,eAAiB,CACnBC,KAAM,yBACNC,SAAU,SAAUC,EAAaC,GAC/B,OAAKD,EAAYE,MAAM,OAGnBF,EAAYE,MAAM,QACbF,EAAYG,QAAQ,MAAO,IAG3BH,EAAYG,QAAQ,MAAO,IAAIA,QAAQ,MAAO,IAN9C,KAYb,SAASC,aAEPC,UAAUC,kBAAkB,CAC1BC,EAAK,CACHC,UAAW,SAAUC,EAAMC,EAAQC,EAAKC,EAAQC,GAC9C,OAAO,IAAIC,OAAO,mBAAmBC,KAAKN,EAAO,MAEnDO,OAAQ,QACRC,YAAa,KAIjB3B,EAAE,YAAYE,mBAAmBG,UAAU,eAAgB,CACzDI,SAAU,SAAUC,EAAaC,GAC/B,IAAIiB,EAAWjB,EAEf,OAAIA,EAAckB,OAAS,EAClBnB,EAAYG,QAAQ,KAAM,IAG5Be,KAIX5B,EAAE,qBAAqBE,mBAAmBG,UAAU,UAAW,CAC7DyB,IAAK,GACLC,YAAY,IAGd/B,EAAE,cAAcE,mBAAmBG,UAAUE,gBAC7CP,EAAE,aAAaE,mBAAmBG,UAAU,QAC5CL,EAAE,aAAaE,mBAAmBG,UAAU,cAC5CL,EAAE,aAAaE,mBAAmBG,UAAU,YAC5CL,EAAE,cAAcE,mBAAmBG,UAAU,SAE7CL,EAAE,gBAAgBE,mBAAmBG,UAAU,UAAW,CACxD0B,YAAY,IAGd/B,EAAE,gBAAgBE,mBAAmBG,UAAU,aAAc,CAC3D2B,YAAY,EACZC,OAAQ,EAGRF,YAAY,EACZtB,SAAU,SAAUC,EAAaC,GAC/B,OAAOD,GAETwB,sBAAsB,IAIxBlC,EAAE,wBAAwBE,mBAAmBG,UAAU,aAAc,CACnE8B,YAAa,GACbH,YAAY,EACZD,YAAY,EACZG,sBAAsB,IAGxBlC,EAAE,iBAAiBE,mBAAmBG,UAAU,WAAY,CAC1D0B,YAAY,EACZK,IAAK,EAGLJ,YAAY,EACZvB,SAAU,SAAUC,EAAaC,GAC/B,OAAOD,GAETwB,sBAAsB,IAGxBlC,EAAE,yBAAyBE,mBAAmBG,UAAU,WAAY,CAClE0B,YAAY,EACZM,OAAQ,MACRC,OAAQ,MAGVtC,EAAE,yBAAyBE,mBAAmBG,UAAU,WAAY,CAClE0B,YAAY,IAOhB,SAASQ,kBAAkBC,GACzB,GAAIA,EAAQ,CACV,IAAIZ,EAAWY,EAAO3B,QAAQ,aAAc,IAE5C,OADa4B,OAAOb,GAItB,OAAO,EAMT,SAASc,0BACP1C,EAAE2C,WAAWC,MAAK,SAAUC,EAAGC,GACjBxC,qBAAqByC,QAAQD,GAC7B,GACVxC,qBAAqB0C,KAAKF,MAKhC,SAASG,+BACPjD,EAAE2C,WAAWC,MAAK,SAAUC,EAAGC,GAC7B,IAAII,EAAQ5C,qBAAqByC,QAAQD,GACrCI,GAAS,GACX5C,qBAAqB6C,OAAOD,EAAO"}