{"mappings":";AAAA,SAAS,gBAAgB,CAAC,oBAAoB;IAC5C,MAAM,sBAAwC,SAAS,cAAc,CAAC;IACtE,MAAM,sBAAwC,SAAS,cAAc,CAAC;IACtE,MAAM,oBAAsC,SAAS,cAAc,CAAC;IACpE,MAAM,iBAAmC,SAAS,cAAc,CAAC;IAEjE,MAAM,mBAAgC,SAAS,cAAc,CAAC;IAC9D,MAAM,qBAAkC,SAAS,cAAc,CAAC;IAChE,MAAM,sBAAmC,SAAS,cAAc,CAAC;IACjE,MAAM,uBAAoC,SAAS,cAAc,CAAC;IAElE,SAAS;QACP,MAAM,iBAAyB,WAAW,oBAAoB,KAAK;QACnE,MAAM,iBAAyB,WAAW,oBAAoB,KAAK;QACnE,MAAM,qBAA6B,WAAW,kBAAkB,KAAK,IAAI;QACzE,MAAM,YAAoB,SAAS,eAAe,KAAK;QAEvD,IAAI,oBAAoB;QAExB,IAAK,IAAI,IAAI,GAAG,KAAK,WAAW,IAAK;YACnC,IAAI,oBACF,iBAAiB,KAAK,GAAG,CAAC,IAAI,qBAAqB,IAAI,IAAI,MAC3D,AAAC,iBAAkB,CAAA,KAAK,GAAG,CAAC,IAAI,qBAAqB,IAAI,IAAI,MAAM,CAAA,IAAO,CAAA,qBAAqB,EAAC;YAElG,oBAAoB,KAAK,IAAI,CAAC;YAE9B,MAAM,qBAA6B,iBAAiB,iBAAiB,IAAI;YAEzE,MAAM,oBAA4B,qBAAqB;YAEvD,qBAAqB,CAAC;;4EAEgD,EAAE,EAAE;2EACR,EAAE,KAAK,IAAI,CAAC,oBAAoB;2EAChC,EAAE,KAAK,IAAI,CAAC,mBAAmB;2EAC/B,EAAE,KAAK,IAAI,CAAC,mBAAmB;;YAE3F,CAAC;QACT;QAEA,qBAAqB,SAAS,GAAG;QAEjC,IAAI,cACF,iBAAiB,KAAK,GAAG,CAAC,IAAI,qBAAqB,IAAI,YAAY,MACjE,AAAC,iBAAkB,CAAA,KAAK,GAAG,CAAC,IAAI,qBAAqB,IAAI,YAAY,MAAM,CAAA,IAAO,CAAA,qBAAqB,EAAC,KAAM;QAElH,cAAc,KAAK,IAAI,CAAC;QAExB,MAAM,eAAuB,iBAAiB,iBAAiB,YAAY,MAAM;QAEjF,MAAM,gBAAwB,cAAc,gBAAgB;QAE5D,iBAAiB,WAAW,GAAG,CAAC,sDAAmD,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC;QAC9G,mBAAmB,WAAW,GAAG,CAAC,sCAAmC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC;QAC/F,oBAAoB,WAAW,GAAG,CAAC,8BAA2B,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC;IAC5F;IAEA,oBAAoB,gBAAgB,CAAC,SAAS;IAC9C,oBAAoB,gBAAgB,CAAC,SAAS;IAC9C,kBAAkB,gBAAgB,CAAC,SAAS;IAC5C,eAAe,gBAAgB,CAAC,SAAS;IAEzC;AACF","sources":["src/ts/savings/savingsInterestCalculator.ts"],"sourcesContent":["document.addEventListener('DOMContentLoaded', () => {\n const initialDepositInput: HTMLInputElement = document.getElementById('initial-deposit') as HTMLInputElement;\n const monthlySavingsInput: HTMLInputElement = document.getElementById('monthly-savings') as HTMLInputElement;\n const interestRateInput: HTMLInputElement = document.getElementById('interest-rate') as HTMLInputElement;\n const termYearsInput: HTMLInputElement = document.getElementById('term-years') as HTMLInputElement;\n\n const totalCapitalGain: HTMLElement = document.getElementById('capital-gain') as HTMLElement;\n const futureValueElement: HTMLElement = document.getElementById('future-value') as HTMLElement;\n const totalInterestEarned: HTMLElement = document.getElementById('total-interest') as HTMLElement;\n const yearlyAmountsElement: HTMLElement = document.getElementById('yearly-amounts') as HTMLElement;\n\n function calculateResults(): void {\n const initialDeposit: number = parseFloat(initialDepositInput.value);\n const monthlySavings: number = parseFloat(monthlySavingsInput.value);\n const annualInterestRate: number = parseFloat(interestRateInput.value) / 100;\n const termYears: number = parseInt(termYearsInput.value);\n\n let yearlyAmountsHTML = '';\n\n for (let i = 1; i <= termYears; i++) {\n let yearlyFutureValue: number =\n initialDeposit * Math.pow(1 + annualInterestRate / 12, i * 12) +\n (monthlySavings * (Math.pow(1 + annualInterestRate / 12, i * 12) - 1)) / (annualInterestRate / 12);\n\n yearlyFutureValue = Math.ceil(yearlyFutureValue);\n\n const yearlyTotalCapital: number = initialDeposit + monthlySavings * i * 12;\n\n const yearlyCapitalGain: number = yearlyTotalCapital - initialDeposit;\n\n yearlyAmountsHTML += `\n