//---- Credit Choices Calculator Start ----//
//-- =============================================
//-- Author:       JW
//-- Date:         01-Nov-07
//-- Description:  Credit Choices Calculator
//-- =============================================

//---- Basic Calculator Results
function SavingsCalcResults() {

//regular expression validation, numbers and dot's only
var checkVN = /^\d*(\.\d{1,2})?$/;

//hides 3rd advance row
document.getElementById('tradvance').style.display = 'none';

//Define basic calc variables
var ob;
ob=document.getElementById("openingbalance");
var ir;
ir=document.getElementById("interestrate");

//Validation
var error = "";
		if (ob) {
		    ob.value = trimString(ob.value);
			if ( !ob.value.match(checkVN) ) {error += "* Opening Balance. \n";} 
			if ( ob.value == "0" ) {error += "* Opening Balance. \n";} 
		}
		
		if (ir) {
	    	ir.value = trimString(ir.value);
			if ( !ir.value.match(checkVN) ) {error += "* Interest Rate. \n";} 
			if ( ir.value == "0" ) {error += "* Interest Rate. \n";} 
		}
		
		if (error != "")
		{
			var msg="Please check you entered the following details correctly:\n";
			alert(msg + error);
			return false;
		}

//basic results row 1
calc1.innerHTML = "Interest Earned per month";
numMonth = (((ob.value/12)*(ir.value/100)));
ob.value = numMonth.toFixed(2);

//basic results row 2
calc3.innerHTML = "Interest Earned per year";
numYear = (numMonth*12);
ir.value = numYear.toFixed(2);

//switches percentage to a pound sign
spancurrency.innerHTML = "&pound;&nbsp;";
spanpercentage.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";

//Changes buttons
calc5.innerHTML = "<input type=\"submit\" class=\"btn_delete\" value=\"Calculate Again\" onclick=\"SavingsCalcAgain()\">&nbsp;&nbsp;&nbsp;";
calc6.innerHTML = "<input type=\"button\" class=\"btn_delete\" value=\"Advanced Calculator\" onclick=\"SavingsCalcAdvance()\">&nbsp;&nbsp;&nbsp;</td>"
}

//---- Resets to the basic calculator
function SavingsCalcAgain() {

//resets form to normal basic
calc1.innerHTML = "What is your opening balance?";
calc2.innerHTML = "How much will you save each month?";
calc3.innerHTML = "What is the interest rate";

//changes the pound sign to a percentage
spancurrency.innerHTML = "&nbsp;&nbsp;&nbsp;";
spanpercentage.innerHTML = "&nbsp;%";

//resets inpur values to 0
document.getElementById("openingbalance").value = 0;
document.getElementById("interestrate").value = 0;

//hides 3rd/4th advance rows
document.getElementById('tradvance').style.display = 'none';
document.getElementById('tradvance2').style.display = 'none';

//changes buttons
calc5.innerHTML = "<input type=\"submit\" class=\"btn_delete\" value=\"Calculate\" onclick=\"SavingsCalcResults()\">&nbsp;&nbsp;&nbsp;";
calc6.innerHTML = "<input type=\"button\" class=\"btn_delete\" value=\"Advanced Calculator\" onclick=\"SavingsCalcAdvance()\">&nbsp;&nbsp;&nbsp;";
}

//---- Advance Calculator
function SavingsCalcAdvance() {

//Resets form to Advance
calc1.innerHTML = "What is your opening balance?";
calc2.innerHTML = "How much will you save each month?";
calc3.innerHTML = "What is the interest rate";

//changes the pound sign to a percentage
spancurrency.innerHTML = "&nbsp;&nbsp;&nbsp;";
spanpercentage.innerHTML = "&nbsp;%";

//Displays hidden third row
document.getElementById("tradvance").style.display = '';

//resets inpur values to 0
document.getElementById("openingbalance").value = 0;
document.getElementById("interestrate").value = 0;
document.getElementById("savings12").value = 0;

//changes buttons
calc5.innerHTML = "<input type=\"submit\" class=\"btn_delete\" value=\"Calculate\" onclick=\"SavingsCalcAdvanceResults()\">&nbsp;&nbsp;&nbsp;";
calc6.innerHTML = "<input type=\"button\" class=\"btn_delete\" value=\"Basic Calculator\" onclick=\"SavingsCalcAgain()\">&nbsp;&nbsp;&nbsp;";
}

//---- Displays the advance results
function SavingsCalcAdvanceResults() {

//regular expression validation, numbers and dot's only
var checkVN = /^\d*(\.\d{1,2})?$/;

//defines the advance variables
var interest12;
interest12=document.getElementById("openingbalance");
var balance12;
balance12=document.getElementById("savings12");
var interest18;
interest18=document.getElementById("interestrate");
var balance18;
balance18=document.getElementById("savings18");
var ob;
ob=document.getElementById("openingbalance");
var ms;
ms=document.getElementById("savings12");
var ir;
ir=document.getElementById("interestrate");

//Validation
var error = "";
		if (ob) {
		    ob.value = trimString(ob.value);
			if ( !ob.value.match(checkVN) ) {error += "* Opening Balance. \n";} 
			if ( ob.value == "0" ) {error += "* Opening Balance. \n";} 
		}
		
		if (ms) {
		    ms.value = trimString(ms.value);
		    if ( !ms.value.match(checkVN) ) {error += "* Monthly Savings. \n";} 
		}
		
		if (ir) {
		    ir.value = trimString(ir.value);
			if ( !ir.value.match(checkVN) ) {error += "* Interest Rate. \n";} 
			if ( ir.value == "0" ) {error += "* Interest Rate. \n";} 
		}
		
		if (error != "")
		{
			var msg="Please check you entered the following details correctly:\n";
			alert(msg + error);
			return false;
		}
		


//advance results row 2
calc2.innerHTML = "Balance After 12 months";
//savings12 = AdvanceArray(ob.value, ms.value, ir.value);
//balance12.value = num12Balance.toFixed(2);

//advance results row 1
calc1.innerHTML = "Total Interest over 12 months";
//num12Interest = ((ob.value*(ir.value/100))/12);
//interest12.value = num12Interest.toFixed(2);

//advance results row 3
calc3.innerHTML = "Total Interest over 18 months";
//num18Interest = (ir.value*3);
//interest18.value = num18Interest.toFixed(2);

//shows hidden 4th results row + results 4
document.getElementById("tradvance2").style.display = '';
//num18Balance = AdvanceArray(ob.value, ms.value, ir.value);;
//balance18.value = num18Balance.toFixed(2);

//switches the percentage to a pound sign
spancurrency.innerHTML = "&pound;&nbsp;";
spanpercentage.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";

//changes buttons
calc5.innerHTML = "<input type=\"submit\" class=\"btn_delete\" value=\"Calculate Again\" onclick=\"SavingsCalcAdvanceAgain()\">&nbsp;&nbsp;&nbsp;";
calc6.innerHTML = "<input type=\"button\" class=\"btn_delete\" value=\"Basic Calculator\" onclick=\"SavingsCalcAgain()\">&nbsp;&nbsp;&nbsp;</td>"

AdvanceArray(ob.value, ms.value, ir.value);
}

function AdvanceArray( openingbalvalue, monthsave, interestvalue ) {

    //Calculates interest rate per month
    var x = parseFloat((interestvalue/100)/12);
     
    //stores interest rate value
    var y = 0;
    //calculates balance
    var previousy = 0;
    //stores balance
    var ppy = 0;
    
    var totalinterestarray = new Array();
    
    for(i=1; i<18; i++) { 
        if ([i]==1) 
        {
            //Second month interest
            y = parseFloat(openingbalvalue)*x;
            totalinterestarray[i] = y;
            previousy = y + (parseFloat(openingbalvalue) + parseFloat(monthsave));
            ppy = previousy;

            //alert(x2);
            //alert(parseFloat(obarrayvalue)+parseFloat(msarrayvalue));
            //alert(parseFloat(msarrayvalue));
            //alert(parseFloat((irarrayvalue/100)/12));
        }
        else
        {
            y = (((parseFloat(previousy))*x));
            totalinterestarray[i] = y;
            previousy = y + ((parseFloat(ppy)) + parseFloat(monthsave));
            ppy = previousy;

            //Values for 12 and 18 months balances
            //if (i == 12) {document.getElementById("openingbalance").value = Math.round(x3*100)/100}
            if (i == 11) {document.getElementById("savings12").value = Math.round(previousy*100)/100}
            if (i == 17) {document.getElementById("savings18").value = Math.round(previousy*100)/100}
        }
    }
    var totalinterest = 0;
    
    for(i=1; i<18; i++) { 
        //alert(totalinterestarray[i]);
        totalinterest = totalinterest + totalinterestarray[i];
        if (i == 11) {document.getElementById("openingbalance").value = Math.round(totalinterest*100)/100}
        if (i == 17) {document.getElementById("interestrate").value = Math.round(totalinterest*100)/100}
    }
}



//---- Resets to the advance calculator
function SavingsCalcAdvanceAgain() {

//resets form to normal advance
calc1.innerHTML = "What is your opening balance";
calc2.innerHTML = "How much will you save each month?";
calc3.innerHTML = "What is the interest rate";

//resets values to 0
document.getElementById("openingbalance").value = 0;
document.getElementById("savings12").value = 0;
document.getElementById("interestrate").value = 0;
document.getElementById("savings18").value = 0;

//hides 4th results row
document.getElementById("tradvance2").style.display = 'none';

//switches the pound sign to a percentage
spancurrency.innerHTML = "&nbsp;&nbsp;&nbsp;";
spanpercentage.innerHTML = "&nbsp;%";

//changes buttons
calc5.innerHTML = "<input type=\"submit\" class=\"btn_delete\" value=\"Calculate\" onclick=\"SavingsCalcAdvanceResults()\">&nbsp;&nbsp;&nbsp;";
calc6.innerHTML = "<input type=\"button\" class=\"btn_delete\" value=\"Basic Calculator\" onclick=\"SavingsCalcAgain()\">&nbsp;&nbsp;&nbsp;";
}