{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/src/scripts/pages/overdraftCalculator.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","loanCalcButton","$","checkFields","valid","each","this","val","checkResultsError","show","is","checkResultsChanged","isScrolledIntoView","elem","elementTop","offset","top","elementBottom","outerHeight","viewportTop","window","scrollTop","viewportBottom","height","on","checkConditionals","hide","overdraftinput","parseFloat","arrangedoverdraft","overdraftdays","usersetinterestrate","selectedaccount","find","data","interestfreelimit","arrangedinterest","unarrangedinterest","unarrangedinterestwo","html","toFixed","arrangedamount","unarrangedamount","usersetrate","arrangedcost","truncateNumber","surchargeni","surchargegb","clearaccountni","uaintrate","surchargepercent","selectedjurisdiction","toUpperCase","excludesurcharges","costwosurcharge","surchargecost","unarrangedcost","runCalculations","css","animate","addClass","calculate","e","keyCode","trigger","document","removeClass","scroll","input","with2Decimals","toString","match"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,K,oBClFrD,IAAIC,EAAiBC,EAAE,qBAavB,SAASC,IACP,IAAIC,GAAQ,EAcZ,OAZAF,EAAE,6BAA6BG,MAAK,WACZ,KAAlBH,EAAEI,MAAMC,QACVH,GAAQ,MAIZF,EAAE,8BAA8BG,MAAK,WACb,OAAlBH,EAAEI,MAAMC,QACVH,GAAQ,MAILA,EAsDT,SAASI,IACP,IAAIC,GAAO,EAMX,OAJIP,EAAE,0CAA0CQ,GAAG,cACjDD,GAAO,GAGFA,EAIT,SAASE,IACP,IAAIF,GAAO,EAMX,OAJIP,EAAE,wCAAwCQ,GAAG,cAC/CD,GAAO,GAGFA,EAIT,SAASG,EAAmBC,GAC1B,IAAIC,EAAaZ,EAAEW,GAAME,SAASC,IAAM,IACpCC,EAAgBH,EAAaZ,EAAEW,GAAMK,cACrCC,EAAcjB,EAAEkB,QAAQC,YACxBC,EAAiBH,EAAcjB,EAAEkB,QAAQG,SAC7C,OAAON,EAAgBE,GAAeL,EAAaQ,EA3GrDrB,EAAeuB,GAAG,SAAS,YA+B3B,WAME,GALAC,IAEAvB,EAAE,uBAAuBwB,OACzBxB,EAAE,8BAA8BO,OAE5BN,IAAe,CACjB,IAAIwB,EAAiBC,WAAW1B,EAAE,oBAAoBK,OAClDsB,EAAoBD,WAAW1B,EAAE,6BAA6BK,OAE9DoB,GAAkB,GAAKA,GAAkB,KAC3CzB,EAAE,8BAA8BwB,QAEhCxB,EAAE,8BAA8BO,OAChCP,EAAE,yBAAyBO,QAGzBoB,GAAqB,GAAKA,GAAqB,KACjD3B,EAAE,6BAA6BwB,QAE/BxB,EAAE,6BAA6BO,OAC/BP,EAAE,yBAAyBO,QAGzBkB,GAAkB,GAAKA,GAAkB,MAASE,GAAqB,GAAKA,GAAqB,MACnG3B,EAAE,cAAcwB,OAqKtB,WAEE,IAAIC,EAAiBC,WAAW1B,EAAE,oBAAoBK,OAClDuB,EAAgBF,WAAW1B,EAAE,eAAeK,OAC5CsB,EAAoBD,WAAW1B,EAAE,6BAA6BK,OAC9DwB,EAAsBH,WAAW1B,EAAE,4BAA4BK,OAG/DyB,EAAkB9B,EAAE,iBAAiB+B,KAAK,aAE9C,GAAqD,QAAjD/B,EAAE8B,GAAiBE,KAAK,sBAAiC,CAC3DF,EAAkB9B,EAAE,kBAAkB+B,KAAK,aAC3C,IAAIE,EAAoBjC,EAAE8B,GAAiBzB,MAEvCsB,EAAoBM,IACtBH,EAAkB9B,EAAE,8BAIxB,IAAIkC,EAAmBlC,EAAE8B,GAAiBE,KAAK,YAE3CG,GADcnC,EAAE8B,GAAiBE,KAAK,WACjBhC,EAAE8B,GAAiBE,KAAK,eAE7CI,GADgBpC,EAAE8B,GAAiBE,KAAK,aACjBhC,EAAE8B,GAAiBE,KAAK,kBAC7BhC,EAAE8B,GAAiBE,KAAK,gBAI9C,GAAIP,EAAiBE,EAAmB,CACtC3B,EAAE,8BAA8BqC,KAAK,UAAYV,EAAkBW,QAAQ,IAC3EtC,EAAE,gCAAgCqC,KAAK,WAAaZ,EAAiBE,GAAmBW,QAAQ,IAChG,IAAIC,EAAiBZ,EACjBa,EAAmBf,EAAiBE,MACnC,CACL3B,EAAE,8BAA8BqC,KAAK,UAAYZ,EAAea,QAAQ,IACxEtC,EAAE,gCAAgCqC,KAAK,eACnCE,EAAiBd,EACjBe,EAAmB,EAIzB,GAAIC,EAAa,CACf,IAAIC,EAAeC,EAAgBf,GAAiBC,EAAsB,KAAOU,EAAkB,KAEnGvC,EAAE,2BAA2BqC,KAAK,UAAYK,EAAaJ,QAAQ,IAExB,QAAvCtC,EAAE8B,GAAiBE,KAAK,YAC1BhC,EAAE,2BAA2BqC,KAAK,OAElCrC,EAAE,2BAA2BqC,KAAKR,EAAsB,gBAErD,CACDa,EAAeC,EAAgBf,GAAiBM,EAAmB,KAAOK,EAAkB,KAEhGvC,EAAE,2BAA2BqC,KAAK,UAAYK,EAAaJ,QAAQ,IAExB,QAAvCtC,EAAE8B,GAAiBE,KAAK,YAC1BhC,EAAE,2BAA2BqC,KAAK,OAElCrC,EAAE,2BAA2BqC,KAAKH,EAAmB,YAKzD,IAAIU,EAAclB,WAAW1B,EAAE,uBAAuBgC,KAAK,iBACvDa,EAAcnB,WAAW1B,EAAE,uBAAuBgC,KAAK,iBAG3D,GAAIS,EAAa,CACAf,WAAW1B,EAAE,uBAAuBgC,KAAK,cAAxD,IACIc,EAAiBpB,WAAW1B,EAAE,uBAAuBgC,KAAK,aAC9DG,EAAqBN,EAAsBe,EAC3CR,EAAuBU,EAAiBF,EAI1C,GAAIjB,EAAoB,EACtB,IAAIoB,EAAYZ,OAEZY,EAAYX,EAIlBpC,EAAE,6BAA6BqC,KAAKU,EAAY,YAGhD,IACIC,EADAC,EAAuBjD,EAAE,iBAAiB+B,KAAK,aAAaC,KAAK,gBAAgBkB,cAKnFF,EADEG,EACiB,EAEY,MAAxBF,EACYJ,EAEAD,EAIrB,IAAIQ,EAAkBT,EAAgBf,IAAkBmB,EAAYC,GAAoB,KAAOR,EAAoB,KAG/Ga,EAAgBV,EAAgBf,GAAiBoB,EAAmB,KAAOR,EAAoB,KAE/FW,EACFE,EAAgB,EAETA,EAAgB,GAAOD,EAAkBC,EAAiB,IACjEA,EAAgB,GAKlB,IAAIC,EAAiBF,EAAkBC,EACvCrD,EAAE,6BAA6BqC,KAAK,UAAYiB,EAAehB,QAAQ,IAGvEtC,EAAE,oDAAoDqC,KAAKT,GAC3D5B,EAAE,sDAAsDqC,KAAK,WAAaE,EAAiBC,GAAkBF,QAAQ,IAGrHtC,EAAE,0BAA0BqC,KAAK,WAAaK,EAAeY,GAAgBhB,QAAQ,IA7RjFiB,GAEAvD,EAAE,iCAAiCwD,IAAI,UAAW,QAClDxD,EAAE,cAAcyD,QAAQ,CAAEtC,UAAWnB,EAAE,iCAAiCa,SAASC,KAAO,KAAM,WAC5Fd,EAAE,wCAAwC0D,SAAS,YAGrD1D,EAAE,yBAAyBO,YAG7BP,EAAE,yBAAyBO,OAnE7BoD,MAGF3D,EAAE,SAASsB,GAAG,YAAY,SAAUsC,GACjB,IAAbA,EAAEC,SACJ9D,EAAe+D,QAAQ,YAmE3B9D,EAAE+D,UAAUzC,GAAG,QAAS,eAAe,WACrCtB,EAAE,cAAcyD,QAAQ,CAAEtC,UAAW,OAAS,KAAM,WAClDnB,EAAE,wCAAwCgE,YAAY,cAmC1DhE,EAAEkB,QAAQ+C,QAAO,WACX3D,IACFN,EAAE,0CAA0CwB,OAE5CxB,EAAE,0CAA0CO,OAG1CD,KAAuBG,IACzBT,EAAE,8BAA8BO,OAEhCP,EAAE,8BAA8BwB,OAG9BxB,EAAE,iCAAiCQ,GAAG,cACpCE,EAAmBV,EAAE,mCACnBM,KAAuBG,IACzBT,EAAE,wCAAwC0D,SAAS,QAKrD1D,EAAE,wCAAwCgE,YAAY,YAM5DhE,EAAE+D,UAAUzC,GAAG,SAAS,WAClBrB,KACFD,EAAE,8BAA8BO,OAChCP,EAAE,0CAA0CwB,SAE5CxB,EAAE,8BAA8BwB,OAChCxB,EAAE,0CAA0CO,QAG1CP,EAAE,iCAAiCQ,GAAG,cACpCE,EAAmBV,EAAE,mCACnBC,IACFD,EAAE,wCAAwC0D,SAAS,QAKrD1D,EAAE,wCAAwCgE,YAAY,YAM5DhE,EAAE,uBAAuBsB,GAAG,SAAU,iBAAiB,WACrDC,IACAvB,EAAE,uBAAuBO,OACzBP,EAAE,8BAA8BwB,UAGlC,IACI2B,EADAV,GAAc,EAGlB,SAASlB,IACP,IAAIO,EAAkB9B,EAAE,iBAAiB+B,KAAK,aAE9CoB,EAAqE,QAAjDnD,EAAE8B,GAAiBE,KAAK,sBAIS,QAAjDhC,EAAE8B,GAAiBE,KAAK,uBAC1BhC,EAAE,0BAA0BO,OAC5BP,EAAE,iCAAiC0D,SAAS,yBAE5C1D,EAAE,0BAA0BwB,OAC5BxB,EAAE,iCAAiCgE,YAAY,wBAIN,QAAvChE,EAAE8B,GAAiBE,KAAK,aAC1BhC,EAAE,+BAA+BwB,OACjCxB,EAAE,qCAAqCK,IAAI,GAC3CL,EAAE,qCAAqCgE,YAAY,yBAEnDhE,EAAE,+BAA+BO,OACjCP,EAAE,qCAAqC0D,SAAS,wBAIO,QAArD1D,EAAE8B,GAAiBE,KAAK,2BACtBN,WAAW1B,EAAE,6BAA6BK,QAAU,GACtDL,EAAE,8BAA8BO,OAChCP,EAAE,oCAAoC0D,SAAS,uBAC/CjB,GAAc,IAOhBzC,EAAE,8BAA8BwB,OAChCxB,EAAE,oCAAoCgE,YAAY,uBAClDvB,GAAc,GAMlB,SAASE,EAAeuB,GACtB,IAAIC,EAAgBD,EAAME,WAAWC,MAAM,wBAAwB,GACnE,OAAO3C,WAAWyC,GAmIpBnE,EAAE+D,UAAUzC,GAAG,aAAc,cAAc,SAAUsC,GACjD5D,EAAEI,MAAMsD,SAAS,aAErB1D,EAAE+D,UAAUzC,GAAG,aAAc,cAAc,SAAUsC,GACjD5D,EAAEI,MAAM4D,YAAY","file":"overdraftCalculator.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 130);\n","var loanCalcButton = $('#loan-calc-button');\r\n\r\nloanCalcButton.on('click', function () {\r\n calculate()\r\n});\r\n\r\n$('input').on('keypress', function (e) {\r\n if (e.keyCode == 13) {\r\n loanCalcButton.trigger('click');\r\n }\r\n})\r\n\r\n// validation\r\nfunction checkFields() {\r\n var valid = true;\r\n\r\n $('input.form-field-required').each(function () {\r\n if ($(this).val() === '') {\r\n valid = false;\r\n }\r\n });\r\n\r\n $('select.form-field-required').each(function () {\r\n if ($(this).val() === null) {\r\n valid = false;\r\n }\r\n });\r\n\r\n return valid;\r\n}\r\n\r\n\r\n// calculation function\r\nfunction calculate() {\r\n checkConditionals()\r\n\r\n $('.re-calculate-error').hide();\r\n $('.results-wrapper .contents').show();\r\n\r\n if (checkFields()) {\r\n var overdraftinput = parseFloat($(\"#overdraft-input\").val());\r\n var arrangedoverdraft = parseFloat($(\"#arranged-overdraft-input\").val());\r\n\r\n if (overdraftinput >= 1 && overdraftinput <= 25000) {\r\n $('.error-msg.overdraft-field').hide();\r\n } else {\r\n $('.error-msg.overdraft-field').show();\r\n $('.error-msg.error-main').show();\r\n }\r\n\r\n if (arrangedoverdraft >= 0 && arrangedoverdraft <= 25000) {\r\n $('.error-msg.arranged-field').hide();\r\n } else {\r\n $('.error-msg.arranged-field').show();\r\n $('.error-msg.error-main').show();\r\n }\r\n\r\n if (overdraftinput >= 1 && overdraftinput <= 25000 && arrangedoverdraft >= 0 && arrangedoverdraft <= 25000) {\r\n $('.error-msg').hide();\r\n\r\n runCalculations()\r\n\r\n $('.overdraft-calculator.results').css('display', 'flex');\r\n $('html, body').animate({ scrollTop: $(\".overdraft-calculator.results\").offset().top }, 1000, function () {\r\n $('.overdraft-calculator-header.results').addClass('show');\r\n });\r\n } else {\r\n $('.error-msg.error-main').show();\r\n }\r\n } else {\r\n $('.error-msg.error-main').show();\r\n }\r\n}\r\n\r\n// change link\r\n$(document).on('click', '.changelink', function () {\r\n $('html, body').animate({ scrollTop: '0px' }, 1000, function () {\r\n $('.overdraft-calculator-header.results').removeClass('show');\r\n });\r\n});\r\n\r\n// if results error is showing\r\nfunction checkResultsError() {\r\n var show = true;\r\n\r\n if ($('.results-wrapper .error-msg.error-main').is(\":visible\")) {\r\n show = false;\r\n }\r\n\r\n return show;\r\n}\r\n\r\n//if inputs have changed\r\nfunction checkResultsChanged() {\r\n var show = true;\r\n\r\n if ($('.results-wrapper .re-calculate-error').is(\":visible\")) {\r\n show = false;\r\n }\r\n\r\n return show;\r\n}\r\n\r\n// scrolling functions\r\nfunction isScrolledIntoView(elem) {\r\n var elementTop = $(elem).offset().top + 250;\r\n var elementBottom = elementTop + $(elem).outerHeight();\r\n var viewportTop = $(window).scrollTop();\r\n var viewportBottom = viewportTop + $(window).height();\r\n return elementBottom > viewportTop && elementTop < viewportBottom;\r\n}\r\n\r\n$(window).scroll(function () {\r\n if (checkResultsError()) {\r\n $('.results-wrapper .error-msg.error-main').hide();\r\n } else {\r\n $('.results-wrapper .error-msg.error-main').show();\r\n }\r\n\r\n if (checkResultsError() && checkResultsChanged()) {\r\n $('.results-wrapper .contents').show();\r\n } else {\r\n $('.results-wrapper .contents').hide();\r\n }\r\n\r\n if ($('.overdraft-calculator.results').is(\":visible\")) {\r\n if (isScrolledIntoView($('.overdraft-calculator.results'))) {\r\n if (checkResultsError() && checkResultsChanged()) {\r\n $('.overdraft-calculator-header.results').addClass('show');\r\n } else {\r\n $('.overdraft-calculator-header.results').removeClass('show');\r\n }\r\n } else {\r\n $('.overdraft-calculator-header.results').removeClass('show');\r\n }\r\n }\r\n});\r\n\r\n// functions on first load\r\n$(document).on('ready', function () {\r\n if (checkFields()) {\r\n $('.results-wrapper .contents').show();\r\n $('.results-wrapper .error-msg.error-main').hide();\r\n } else {\r\n $('.results-wrapper .contents').hide();\r\n $('.results-wrapper .error-msg.error-main').show();\r\n }\r\n\r\n if ($('.overdraft-calculator.results').is(\":visible\")) {\r\n if (isScrolledIntoView($('.overdraft-calculator.results'))) {\r\n if (checkFields()) {\r\n $('.overdraft-calculator-header.results').addClass('show');\r\n } else {\r\n $('.overdraft-calculator-header.results').removeClass('show');\r\n }\r\n } else {\r\n $('.overdraft-calculator-header.results').removeClass('show');\r\n }\r\n }\r\n});\r\n\r\n// hiding and showing conditional fields\r\n$(\".calculator-wrapper\").on(\"change\", \"input, select\", function () {\r\n checkConditionals()\r\n $('.re-calculate-error').show();\r\n $('.results-wrapper .contents').hide();\r\n});\r\n\r\nvar usersetrate = false;\r\nvar excludesurcharges;\r\n\r\nfunction checkConditionals() {\r\n var selectedaccount = $('#account-type').find(':selected');\r\n //Determines if surcharge is excluded\r\n excludesurcharges = $(selectedaccount).data('exclude-surcharges') == 'True';\r\n\r\n\r\n // show course length field\r\n if ($(selectedaccount).data('show-course-length') == \"True\") {\r\n $('.course-length-section').show();\r\n $('.course-length-section select').addClass('form-field-required');\r\n } else {\r\n $('.course-length-section').hide();\r\n $('.course-length-section select').removeClass('form-field-required');\r\n }\r\n\r\n // hide arranged overdraft field\r\n if ($(selectedaccount).data('hide-arr') == \"True\") {\r\n $('.arranged-overdraft-section').hide();\r\n $('.arranged-overdraft-section input').val(0);\r\n $('.arranged-overdraft-section input').removeClass('form-field-required');\r\n } else {\r\n $('.arranged-overdraft-section').show();\r\n $('.arranged-overdraft-section input').addClass('form-field-required');\r\n }\r\n\r\n // show arranged overdraft interest rate field\r\n if ($(selectedaccount).data('show-arr-interest-rate') == \"True\") {\r\n if (parseFloat($('#arranged-overdraft-input').val()) >= 1) {\r\n $('.arranged-interest-section').show();\r\n $('.arranged-interest-section input').addClass('form-field-required');\r\n usersetrate = true;\r\n } else {\r\n $('.arranged-interest-section').hide();\r\n $('.arranged-interest-section input').removeClass('form-field-required');\r\n usersetrate = false;\r\n }\r\n } else {\r\n $('.arranged-interest-section').hide();\r\n $('.arranged-interest-section input').removeClass('form-field-required');\r\n usersetrate = false;\r\n }\r\n}\r\n\r\n// function to truncate number to 2 places\r\n\r\nfunction truncateNumber(input) {\r\n var with2Decimals = input.toString().match(/^-?\\d+(?:\\.\\d{0,2})?/)[0];\r\n return parseFloat(with2Decimals);\r\n}\r\n\r\n// all calculations\r\n\r\nfunction runCalculations() {\r\n // inputs\r\n var overdraftinput = parseFloat($(\"#overdraft-input\").val());\r\n var overdraftdays = parseFloat($(\"#days-input\").val());\r\n var arrangedoverdraft = parseFloat($(\"#arranged-overdraft-input\").val());\r\n var usersetinterestrate = parseFloat($(\"#arranged-interest-input\").val());\r\n\r\n // rates\r\n var selectedaccount = $('#account-type').find(':selected');\r\n\r\n if ($(selectedaccount).data('show-course-length') == \"True\") {\r\n selectedaccount = $('#course-length').find(':selected');\r\n var interestfreelimit = $(selectedaccount).val();\r\n\r\n if (arrangedoverdraft > interestfreelimit) {\r\n selectedaccount = $(\"#course-length-over-limit\");\r\n }\r\n }\r\n\r\n var arrangedinterest = $(selectedaccount).data('arr-rate');\r\n var arrangedear = $(selectedaccount).data('arr-ear');\r\n var unarrangedinterest = $(selectedaccount).data('unarr-rate');\r\n var unarrangedear = $(selectedaccount).data('unarr-ear');\r\n var unarrangedinterestwo = $(selectedaccount).data('unarr-rate-wo');\r\n var unarrangedearwo = $(selectedaccount).data('unarr-ear-wo');\r\n\r\n\r\n // amount overdrawn\r\n if (overdraftinput > arrangedoverdraft) {\r\n $('#arranged-amount-overdrawn').html('£' + arrangedoverdraft.toFixed(2));\r\n $('#unarranged-amount-overdrawn').html('£' + (overdraftinput - arrangedoverdraft).toFixed(2));\r\n var arrangedamount = arrangedoverdraft;\r\n var unarrangedamount = overdraftinput - arrangedoverdraft;\r\n } else {\r\n $('#arranged-amount-overdrawn').html('£' + overdraftinput.toFixed(2));\r\n $('#unarranged-amount-overdrawn').html('£0.00');\r\n var arrangedamount = overdraftinput;\r\n var unarrangedamount = 0;\r\n }\r\n\r\n // arranged overdraft interest cost\r\n if (usersetrate) {\r\n var arrangedcost = truncateNumber((overdraftdays * (usersetinterestrate / 365) * arrangedamount) / 100);\r\n\r\n $('#arranged-interest-cost').html('£' + arrangedcost.toFixed(2));\r\n\r\n if ($(selectedaccount).data('hide-arr') == \"True\") {\r\n $('#arranged-interest-rate').html('N/A');\r\n } else {\r\n $('#arranged-interest-rate').html(usersetinterestrate + '%');\r\n }\r\n } else {\r\n var arrangedcost = truncateNumber((overdraftdays * (arrangedinterest / 365) * arrangedamount) / 100);\r\n\r\n $('#arranged-interest-cost').html('£' + arrangedcost.toFixed(2));\r\n\r\n if ($(selectedaccount).data('hide-arr') == \"True\") {\r\n $('#arranged-interest-rate').html('N/A');\r\n } else {\r\n $('#arranged-interest-rate').html(arrangedinterest + '%');\r\n }\r\n }\r\n\r\n // get surcharge rates\r\n var surchargeni = parseFloat($(\"#base-account-rates\").data('surcharge-ni'));\r\n var surchargegb = parseFloat($(\"#base-account-rates\").data('surcharge-gb'));\r\n\r\n // unarranged overdraft interest rates when user inputs arranged rate\r\n if (usersetrate) {\r\n var baserate = parseFloat($(\"#base-account-rates\").data('base-rate'));\r\n var clearaccountni = parseFloat($(\"#base-account-rates\").data('clear-ni'));\r\n unarrangedinterest = usersetinterestrate + surchargeni;\r\n unarrangedinterestwo = clearaccountni + surchargeni;\r\n }\r\n\r\n // with or without arranged rate to use in the calculation\r\n if (arrangedoverdraft > 0) {\r\n var uaintrate = unarrangedinterest;\r\n } else {\r\n var uaintrate = unarrangedinterestwo;\r\n }\r\n\r\n // show interest rate\r\n $('#unarranged-interest-rate').html(uaintrate + '%');\r\n\r\n // if surcharge GB or NI\r\n var selectedjurisdiction = $('#account-type').find(':selected').data('jurisdiction').toUpperCase();\r\n var surchargepercent;\r\n\r\n //Exlcude surcharge will set the percent to 0\r\n if (excludesurcharges) {\r\n surchargepercent = 0\r\n }\r\n else if (selectedjurisdiction == 'GB') {\r\n surchargepercent = surchargegb;\r\n } else {\r\n surchargepercent = surchargeni;\r\n }\r\n\r\n // unarranged interest cost without surcharge\r\n var costwosurcharge = truncateNumber((overdraftdays * ((uaintrate - surchargepercent) / 365) * unarrangedamount) / 100);\r\n\r\n // unarranged surcharge cost\r\n var surchargecost = truncateNumber((overdraftdays * (surchargepercent / 365) * unarrangedamount) / 100);\r\n //Removes minimum surcharge cost if excluded\r\n if (excludesurcharges) {\r\n surchargecost = 0\r\n }\r\n else if (surchargecost < 2 && ((costwosurcharge + surchargecost) > 0)) {\r\n surchargecost = 2\r\n }\r\n\r\n\r\n // combining surcharge and base costs\r\n var unarrangedcost = costwosurcharge + surchargecost;\r\n $('#unarranged-interest-cost').html('£' + unarrangedcost.toFixed(2));\r\n\r\n // results header values\r\n $('.overdraft-calculator-header.results #headerdays').html(overdraftdays);\r\n $('.overdraft-calculator-header.results #headeramount').html(\"£\" + (arrangedamount + unarrangedamount).toFixed(2));\r\n\r\n // total overdraft cost\r\n $('#result-overdraft-cost').html(\"£\" + (arrangedcost + unarrangedcost).toFixed(2));\r\n}\r\n\r\n// help text\r\n$(document).on('mouseenter', '.calc-help', function (e) {\r\n $(this).addClass('active');\r\n});\r\n$(document).on('mouseleave', '.calc-help', function (e) {\r\n $(this).removeClass('active');\r\n});"],"sourceRoot":""}