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.