dt_ann_calculate = function()
{
	var investment, deposit, rate, years;
	try
	{
		investment = DT_F.getFormFloat( "dt_ann_investment", "Please enter the amount of your initial investment", "Please enter your initial investment as a number" );
		if ( investment < 0 ) {
			throw("Please enter an initial investment >= 0");
		}
		deposit = DT_F.getFormFloat( "dt_ann_deposit", "Please enter the amount of your additional yearly deposits", "Please enter your additional yearly deposits as a number" );
		if ( deposit < 0 ) {
			throw("Please enter an additional yearly deposit >= 0");
		}
		rate = DT_F.getFormFloat( "dt_ann_rate", "Please enter an interest rate", "Please enter the interest rate as a number" );
		if ( rate < -100 ) {
			throw("Please enter an interest rate >= -100%");
		}
		years = DT_F.getFormInt( "dt_ann_years", "Please enter the number of years you will invest your money for", "Please enter the number of years as a number", "The number of years was rounded to " );
		if ( years <= 0 ) {
			throw("Please enter a number of years > 0");
		}
	}
	catch ( err )
	{
		alert(err);
		return;
	}

	var r = 1 + (rate / 100);
	var initResult = investment * Math.pow(r, years); 
	var depResult;
	if ( rate === 0 ) {
		depResult = deposit * years;
	}
	else {
		depResult = deposit * ( 1 - Math.pow(r, years) ) / ( 1 - r ); 
	}
	var result = initResult + depResult;
	 

	var maxTableYears = years;
	if ( maxTableYears > 10 ) {
		maxTableYears = 10;
	}
	var table = [];
	if ( years != maxTableYears ) {
		table.push("Here is how	your investment will grow over the first " + maxTableYears + " years:");
	} 
	else {
		table.push("Here is how your investment will grow over time:");
	}
	table.push("<br><table cellpadding='0' cellspacing='0'>");
	table.push("<tr><th>Year</th><th>Balance</th></tr>");
	table.push("<tr><td>start</td><td>" + DT_F.formatDollars(investment) + "</td></tr>");
	var currAmount = investment;
	for (var y=1; y<=maxTableYears; y++ ) {
		currAmount = ( currAmount * r ) + deposit;
		table.push("<tr><td>" + y + "</td><td>" + DT_F.formatDollars(currAmount) + "</td></tr>");
	}
	table.push("</table>");

	var results = "At the end of " + years + " years, your investment will be worth <b>" + DT_F.formatDollars(result) + "</b>.";

	results += "<br><br>You will have earned " + DT_F.formatDollars(result-investment-years*deposit) + " in interest.";

	results += "<br><br>" + table.join('');

	var x = document.getElementById("dt_ann_results");
	x.innerHTML = results;
	x.style.display = "block";
};
