-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
70 lines (63 loc) · 2.77 KB
/
Copy pathscript.js
File metadata and controls
70 lines (63 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
let genericErrorMessage = "The starting principal amount has to be a positive number. Interest cannot be computed at this time.";
let zeroAmountErrorMessage = "The starting principal amount cannot be zero. Please enter a positive number. Interest cannot be computed at this time.";
let negativeAmountErrorMessage = "The starting principal amount cannot be less than zero. Please enter a positive number. Interest cannot be computed at this time";
var errorMessage = "";
function compute(){
var amount = document.getElementById("principal").value;
var interest = document.getElementById("rate").value;
var years = document.getElementById("years").value;
var currentAmount = amount;
if(validateData(amount, interest, years, currentAmount) == false){
hideResult();
showErrorMessage();
}
else {
for(var currentYear = 0; currentYear < years; currentYear = currentYear + 1){
currentAmount = parseFloat(currentAmount) + (amount * interest / 100);
//debug("Current amount at year " + currentYear + " is " + currentAmount);
}
var finalYear = new Date().getFullYear() + parseInt(years);
showResult(amount, interest, finalYear, currentAmount);
hideErrorMessage();
}
}
function displayRate(theValue){
document.getElementById("interest").innerHTML = theValue + "%";
}
function hideResult(){
document.getElementById("result-text").style.display = "none";
}
function hideErrorMessage(){
document.getElementById("error-message").style.display = "none";
}
function showErrorMessage(){
//document.getElementById("error-message").innerHTML = errorMessage;
//document.getElementById("error-message").style.display = "block";
alert(errorMessage);
document.getElementById("principal").focus();
}
function validateData(amount, interest, years, currentAmount){
var valueToReturn = true;
errorMessage = "";
if(amount === null || String(amount) == "" || isNaN(amount) == true){
errorMessage = genericErrorMessage;
valueToReturn = false;
}
else if(parseInt(amount) == 0){
errorMessage = zeroAmountErrorMessage;
valueToReturn = false;
}
else if(parseInt(amount) < 0){
errorMessage = negativeAmountErrorMessage;
valueToReturn = false;
}
return valueToReturn;
}
function showResult(amount, interest, finalYear, finalAmount){
document.getElementById("initialAmount").innerHTML = amount;
document.getElementById("percentage").innerHTML = interest + "%";
var finalYeild = (parseFloat(finalAmount) - parseFloat(amount));
document.getElementById("finalYeild").innerHTML = roundCurrency(finalYeild, 2);
document.getElementById("finalYear").innerHTML = finalYear;
document.getElementById("result-text").style.display = "block";
}