PageSourceSearch

https://www.fcbot.com/custom/fed-library/production/calc-builder-v2/js/calc-loan.js

js fcbot.com collected 2026-10-01 13:14:37 UTC 1,948 bytes, 52 lines download raw bytes

1var formatter = new Intl.NumberFormat('en-US', {
2    style: 'currency',
3    currency: 'USD'
4  });
5
6
7var loan_form = document.getElementById('simple-loan-form');
8var loan_elements = loan_form.elements;
9
10var loan_monthlyPayment = document.getElementById('monthlyPayment');
11var loan_totalPaid = document.getElementById('totalPaid');
12var loan_totalInterest = document.getElementById('totalInterest');
13
14var sl = {
15    viewChanged: function() {
16        borrow = loan_elements.amountBorrowed.value ? parseFloat(loan_elements.amountBorrowed.value) : 0;
17        rate = loan_elements.simpleLoanRate.value ? parseFloat(loan_elements.simpleLoanRate.value) : 0;
18        termInYears = loan_elements.termInYears.value ? parseFloat(loan_elements.termInYears.value) : 0;
19    
20        sl.updateResult(borrow, rate, termInYears);
21    },
22
23    updateResult: function(borrow, rate, termInYears) {
24
25        if (borrow == 0 || rate < 0 || termInYears == 0) {
26            loan_monthlyPayment.textContent = "$0";
27            loan_totalPaid.textContent = "$0";
28            loan_totalInterest.textContent = "$0";
29            return;
30        }
31
32        rate = rate / 100;
33        var monthlyRate = rate / 12;
34
35        var paymentsPerYear = 12;
36        var numPayments = termInYears * paymentsPerYear;
37        var monthlyRate = rate / paymentsPerYear;
38
39        var monthlyPayment = 0;
40        if (monthlyRate === 0) {
41            monthlyPayment = ( borrow / numPayments );
42        } else {
43            monthlyPayment = ( borrow * ( monthlyRate * Math.pow( 1 + monthlyRate, numPayments)  ) ) / ( Math.pow( 1 + monthlyRate , numPayments ) - 1 );
44        }
45        var totalPaid = monthlyPayment * numPayments;
46        var interestPaid = totalPaid - borrow;
47
48        loan_monthlyPayment.textContent = formatter.format(monthlyPayment);
49        loan_totalPaid.textContent = formatter.format(totalPaid);
50        loan_totalInterest.textContent = formatter.format(interestPaid);
51    }
52}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.