PageSourceSearch

https://www.service1fcu.com/custom/fed-library/production/calc-builder-v2/js/calc-rc.js

js service1fcu.com collected 2026-10-02 06:59:21 UTC 2,427 bytes, 73 lines download raw bytes

1var formatter = new Intl.NumberFormat('en-US', {
2    style: 'currency',
3    currency: 'USD'
4  });
5
6var el_maxAtmRefunds = document.getElementById('maxAtmRefunds');
7var el_atmFeeInfo = document.querySelector('.atmFeeInfo span');
8var el_annualRewards = document.getElementById('annualRewards');
9var el_interestEarned = document.getElementById('interestEarned');
10
11var balance, otherFunds, atmUse = 0;
12var tier1Rate = parseFloat( rc_config.tier1Rate );
13var tier1Cap = parseFloat( rc_config.tier1Cap );
14var tier2Rate = parseFloat( rc_config.tier2Rate );
15var avgFee = parseFloat( rc_config.avgAtmFee );
16var maxRefunds = rc_config.maxAtm == "unlimited" ? "unlimited" : parseFloat(rc_config.maxAtm);  
17var rc_form = document.getElementById('reward-checking-form');
18var rc_elements = rc_form.elements;
19  
20if (maxRefunds == 'unlimited') { 
21  el_maxAtmRefunds.textContent = 'Unlimited'; 
22} else {
23  el_atmFeeInfo.classList.add('dollar');
24}
25
26var rc = {
27  viewChanged: function() {
28    balance = rc_elements.balance.value ? parseFloat(rc_elements.balance.value) : 0;
29    otherFunds = rc_elements.otherFunds.value ? parseFloat(rc_elements.otherFunds.value) : 0;
30    atmUse = rc_elements.atmUse.value ? parseFloat(rc_elements.atmUse.value) : 0;
31
32    rc.updateResult(balance, otherFunds, atmUse);
33  },
34
35  updateResult: function(balance, otherFunds, atmUse) {
36      var annualRewards = 0;
37      var interestEarned = 0;
38      var amountAboveCap = 0;
39      var feesRefunded = 0;
40      var totalFees = 0;
41  
42      balance = balance + otherFunds;
43      if(balance > tier1Cap) {
44          amountAboveCap = balance - tier1Cap;
45          annualRewards = tier1Cap * tier1Rate + amountAboveCap * tier2Rate;
46      } else {
47          annualRewards = balance * tier1Rate;
48      }
49  
50      totalFees = atmUse * avgFee;
51  
52      if(totalFees > maxRefunds) {
53          feesRefunded = maxRefunds;
54      } else {
55          feesRefunded = totalFees;
56      }
57  
58      var annualRewardsNoFees = annualRewards;
59      annualRewards = annualRewards + (feesRefunded * 12);
60  
61      interestEarned = (annualRewardsNoFees / 12);
62  
63      if(maxRefunds == "unlimited") {
64        el_maxAtmRefunds.textContent = "Unlimited";
65      } else {
66        el_maxAtmRefunds.textContent = formatter.format(feesRefunded);
67      }
68  
69      el_annualRewards.textContent = formatter.format(annualRewards);
70      el_interestEarned.textContent = formatter.format(interestEarned);
71  }
72  
73};

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.