{"version":3,"sources":["util.js"],"names":["hcpv_rpa_util","tradein","apr","currentTerm","listCarEl$","dp","calcEstimateMonthlyPayment","calc","downPayment","parseFloat","$","this","text","replace","totalDown","monInt","price","Math","pow","parseInt","toFixed","parent","find","getParameterByName","name","url","arguments","length","undefined","window","location","href","regex","RegExp","results","dataSource","usedev","dataURL","decodeURIComponent","isPhone","navigator","userAgent","match","GenError","$el","_c","container","template_A","_errorCode","markup","_msg","_closeButton","templatePicker","template","setMessage","msg","_config","errorCode","closeButton","content","html","on","remove","css","clearMessage","email","test","validateEmail","zip","validateZipCode"],"mappings":"YAKA,IAAIA,eAAgB,WAAhBA,GAAAA,GAA0B,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAEtBC,EAAAA,KAAAA,WAGI,GAAIC,OAAAA,GAAKC,MAAAA,GADbJ,EAAgBK,WAAAC,EAAWC,MAAAC,OAAAC,QAAA,YAAA,IAGpBL,GAFCD,GAAKC,EAAT,EAIC,IAFDM,GAEMN,EAAAP,EACFO,EAAAA,EAAcH,IAGdU,GADJC,EAAIF,EAAaN,EAAcP,IAC3Bc,OAEOd,EAAUO,GAAlBS,KAAgCC,IAAM,EAAAH,EAAAI,SAAAhB,IAAA,KAAAa,GAAAF,GAAA,KAAAM,UAExCV,EAFDC,MAEMU,SAAAA,SAAAC,KAAA,uBAAAV,KAAAL,MAITgB,EAjBD,SAAAC,GAAA,GAAAC,GAAAC,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAAG,OAAAC,SAAAC,IAFJP,GAAAA,EAAAX,QAAA,UAAA,OAwBI,IAAImB,GAAQ,GAAIC,QAAO,OAAST,EAAO,oBAAoB,KAF3DD,EAAAA,EAAAA,KAAqBE,EAA2C,OAA5BA,GAK/BS,EAAQ,GAJNV,mBAAaU,EAAW,GAAxBrB,QAAP,MAAA,MAIwB,GALwC,MAIhEsB,EAAA,WACA,GAAIC,GAASb,EAAI,UACjBc,EAAOC,EANX,QAAAF,GAaQ,IAAK,IAJTD,EAAa,uCACTC,MACAC,KAAAA,IACQD,EAAR,yCAGI,MAAAC,GAkGZ,QAAAE,QA/FY,WANJ,SAAAC,UAAAC,UAAAC,MAAA,aAQOL,UAAPI,UAAAC,MAAA,WAXRF,UAAAC,UAAAC,MAAA,YAeQF,UAAUC,UAAUC,MAAM,gBAG1BF,UAAAC,UAAAC,MAAA,oBAuFJH,SA3EW,SAAXI,GAEA,GAAIC,GAAMC,EAAGC,UAETC,EAAa,SAAbA,EAAAA,EAA4BC,GAC5B,GAAIC,GAAS,EAeb,OAdAA,IAAU,mCACVA,GAAU,mCAAqCC,EAAO,cAGpCtB,IAAdoB,GAA2BA,MAAAA,EAAoBA,IAApBA,IAC3BC,GAAU,8BAAgCD,EAAa,YAIvDG,IACAF,GAAU,uDAEdA,GAAU,UAKVG,EAAiB,SAAjBA,GACA,OAAAC,GACI,IAAK,IACD,MAAON,IA8BnB,QAAAO,WAxBiB,SAAbA,GAEA,GAAIC,GAAMC,EAAQD,KAAO,GACrBE,EAAYD,EAAQC,WAAa,GACjCC,EAAcF,EAAQE,cAAe,EACrCL,EAAWG,EAAQH,UAAY,IAG/BM,EAAUP,EAAeC,GAAUE,EAAKE,EAAWC,EAEvDd,GAAIgB,KAAKD,GAGTf,EAAItB,KAAK,cAAcuC,GAAG,QAA1B,WAAkCnD,EAAUC,MAAAU,SAAAyC,WAG5ClB,EAAItB,KAAK,uBAAuByC,IAAI,UAAU,UAS9CT,aALe,WAAnBV,EAAIoB,KAAAA,OAwBJrB,cAbgB,SAAuBsB,GAEvC,MADS,yJACCC,KAAKD,IAYfE,gBATkB,SAAyBC,GAC3C,MAAO,UAAAF,KAAAE,IASPC,WAAAA,EACAlC,2BAAAA","file":"util.min.js","sourcesContent":["/***\r\n * @author Harma Davtian\r\n * @desc js library to house some common functions\r\n */\r\n\r\nvar hcpv_rpa_util = function(){\r\n\r\n var calcEstimateMonthlyPayment = function(tradein, apr, currentTerm, listCarEl$, dp) {\r\n\r\n listCarEl$.each(function() {\r\n let calc,downPayment;\r\n var price = parseFloat($(this).text().replace(/[^\\w\\s]/gi, '')); // remove special characters\r\n if(!dp) {\r\n downPayment = price / 10;\r\n }else {\r\n downPayment = dp;\r\n }\r\n var totalDown = downPayment + tradein;\r\n var monInt = apr / 1200;\r\n\r\n if(price - tradein - downPayment < 5000) {\r\n calc = '--';\r\n }else {\r\n calc = ((monInt + (monInt / (Math.pow((1 + monInt), parseInt(currentTerm)) -1))) * (price - (totalDown || 0))).toFixed();\r\n }\r\n $(this).parent().parent().find(\".est-mo-payment .mp\").text(calc);\r\n });\r\n }\r\n\r\n var getParameterByName = function(name, url = window.location.href) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)','i'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n \r\n var dataSource = function() {\r\n var usedev = getParameterByName('usedev');\r\n var dataURL = '';\r\n switch (usedev) {\r\n case '1': \r\n dataURL = 'https://hondacertifieddev.rpa-dev.com';\r\n break;\r\n case '2':\r\n dataURL = 'https://hondacertifieddev2.rpa-dev.com';\r\n break;\r\n }\r\n return dataURL;\r\n }\r\n\r\n var isPhone = function(){\r\n if( navigator.userAgent.match(/Android/i)\r\n || navigator.userAgent.match(/webOS/i)\r\n || navigator.userAgent.match(/iPhone/i)\r\n //|| navigator.userAgent.match(/iPad/i)\r\n //|| navigator.userAgent.match(/iPod/i)\r\n || navigator.userAgent.match(/BlackBerry/i)\r\n || navigator.userAgent.match(/Windows Phone/i)\r\n ){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n\r\n var GenError = function(_c){\r\n\r\n var $el = _c.container;\r\n\r\n var template_A = function(_msg, _errorCode, _closeButton){\r\n var markup = \"\";\r\n markup += '
';\r\n markup += '' + _msg + '';\r\n\r\n // include-or-not an error code\r\n if (_errorCode != undefined && _errorCode !=null & _errorCode !=\"\") {\r\n markup += ' (' + _errorCode + ')';\r\n };\r\n\r\n // include-or-not a close button\r\n if (_closeButton) {\r\n markup += '';\r\n }\r\n markup += '
';\r\n\r\n return markup;\r\n };\r\n\r\n var templatePicker = function(template){\r\n switch(template){\r\n case 'A':\r\n return template_A;\r\n // Add future templates here\r\n break;\r\n };\r\n };\r\n\r\n var setMessage = function(_config){\r\n\r\n var msg = _config.msg || '',\r\n errorCode = _config.errorCode || '',\r\n closeButton = _config.closeButton || false,\r\n template = _config.template || 'A';\r\n\r\n // pick a template\r\n var content = templatePicker(template)(msg, errorCode, closeButton);\r\n\r\n $el.html(content);\r\n\r\n // close button click\r\n $el.find('.close-btn').on('click',function(){$(this).parent().remove()});\r\n\r\n // now show the error, because by default the css sets errors to off, we only show when necessary\r\n $el.find('.generic-page-error').css('display','block');\r\n\r\n };\r\n\r\n var clearMessage = function(){\r\n $el.html(\"\");\r\n };\r\n\r\n return {\r\n setMessage: setMessage,\r\n clearMessage: clearMessage\r\n };\r\n\r\n };\r\n\r\n var validateEmail = function validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n };\r\n\r\n var validateZipCode = function validateZipCode(zip) {\r\n return /^\\d{5}$/.test(zip);\r\n }\r\n\r\n // This code will check if user has Adblocker enabled or not\r\n\r\n return {\r\n isPhone: isPhone,\r\n GenError: GenError,\r\n validateEmail: validateEmail,\r\n validateZipCode: validateZipCode,\r\n dataSource: dataSource,\r\n calcEstimateMonthlyPayment\r\n };\r\n\r\n}();\r\n\r\n"]}