/**
 * calculate and display compounding based on year and date
 */
function compoundCalc(){
    var year = document.getElementById('compound_year').value;
    var amount = document.getElementById('compound_amount').value;

    if((isNumber(year)) && (isNumber(amount))){
	//calc
	var now = new Date();
	var num_years = year;
	if((num_years < 0) || (num_years > 100 || num_years == "")){
	    var msg = "<font color=\"#FF0000\">You have entered an incorrect dollar amount or year.  Please try again.</font>";
		var result = 0;
	} else {
	    var result = 0;
	    var i = 0;
	    while(i < num_years){
		result += (0.08 * amount) + (0.08 * result);
		i++;
	    }
	    result += parseInt(amount);
	    result = CommaFormatted(Math.round(result) + ".00");
	    var msg = "";
	}
    } else {
	var msg = "<font color=\"#FF0000\">You have entered an incorrect dollar amount or year.  Please try again.</font>";
	var result = 0;
    }
	document.getElementById('error_field').innerHTML = msg;
    document.getElementById('compound_total').value = result;
}


function isNumber(elem) {
    var str = elem;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re)) {
        return false;
    }
    return true;
}


function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function CommaFormatted(amount)
{
	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}
// end of function CommaFormatted()