function output_savings_toc()
{
var html='';

html=html+'<div class="toc_list">';
html=html+'<span class="title">'+calcSavingsConfig['definitions_headline_toc']+'</span><ul>';
html=html+'<li>'+calcSavingsConfig['definitions_savings_payment_toc']+'</li>';
html=html+'<li>'+calcSavingsConfig['definitions_savings_amount_toc']+'</li>';
html=html+'</ul>';
html=html+'<div>';

return html;
}

/* BEGIN GENERAL SAVINGS PAYMENT */
function savings_payment(formTitle,isDownPayment)
{
var html='';

html=html+'<form action="#"><strong class="title">'+formTitle+'</strong><input type="hidden" name="savings_payment" id="savings_payment" value="1" />';
html=html+calcSavingsConfig['definitions_savings_amount_formfield'];
if(isDownPayment)
{
html=html+calcSavingsConfig['definitions_savings_down_formfield'];
}
else
{
html=html+'<input type="hidden" name="savings_down" id="savings_down" value="0" />';
}
html=html+calcSavingsConfig['definitions_savings_term_formfield'];
html=html+calcSavingsConfig['definitions_savings_rate_formfield'];
html=html+calcSavingsConfig['definitions_savings_payment_calculate']+'</form>';

html=html+'<div id="calc_answer"></div>';

var object=document.getElementById("calc_content");
object.innerHTML=html;
}

function savings_payment_calculate()
{
answerAccuracy=1;

savings_validate();


//We use no interest as the base and then increment from there. (More efficient than starting at 0)
j=savingsAmount/savingsTerm;
//Runs a simulation until it hits the goal.
var savingsAmountSim=savingsAmount+1;//Completely irrelivant used to prime the loop.

while(savingsAmount<savingsAmountSim)
{

//
savingsAmountSim=savingsDown*(1+(Number(savingsRate)/12))+Number(j);
i=1;
while(i<savingsTerm)
{
savingsAmountSim=(Number(savingsAmountSim)+Number(j))*(1+(Number(savingsRate)/12));
i++;
}
//

j=j-answerAccuracy;
}

savingsPayment=j+answerAccuracy;

savingsPayment=Math.round(savingsPayment);


if(isNaN(savingsPayment) || savingsPayment==Infinity){
document.getElementById("calc_answer").innerHTML='<div class="error">'+calcSavingsConfig['definitions_savings_payment_error']+'</div>'
}
else
{
document.getElementById("calc_answer").innerHTML='<span>Payment: </span><strong>$'+savingsPayment+'</strong><em> per month</em>';
}
}
/* END GENERAL SAVINGS PAYMENT */

/* BEGIN GENERAL LOAN AMOUNT */
function savings_amount(formTitle,isDownPayment)
{
var html='';

html=html+'<form action="#"><strong class="title">'+formTitle+'</strong><input type="hidden" name="savings_amount" id="savings_amount" value="1" />';
if(isDownPayment)
{
html=html+calcSavingsConfig['definitions_savings_down_formfield'];
}
else
{
html=html+'<input type="hidden" name="savings_down" id="savings_down" value="0" />';
}
html=html+calcSavingsConfig['definitions_savings_payment_formfield'];
html=html+calcSavingsConfig['definitions_savings_term_formfield'];
html=html+calcSavingsConfig['definitions_savings_rate_formfield'];
html=html+calcSavingsConfig['definitions_savings_amount_calculate']+'</form>';
html=html+'<div id="calc_answer"></div>';

var object=document.getElementById("calc_content");
object.innerHTML=html;
}

function savings_amount_calculate()
{
savings_validate();


savingsAmount=savingsDown*(1+(Number(savingsRate)/12))+Number(savingsPayment);
i=1;
while(i<savingsTerm)
{
savingsAmount=(Number(savingsAmount)+Number(savingsPayment))*(1+(Number(savingsRate)/12));
i++;
}
savingsAmount = savingsAmount*100;
savingsAmount=Math.round(savingsAmount);
savingsAmount=savingsAmount/100;


if(isNaN(savingsAmount) || savingsAmount==Infinity){
document.getElementById("calc_answer").innerHTML='<div class="error">'+calcSavingsConfig['definitions_savings_amount_error']+'</div>'
}
else
{
document.getElementById("calc_answer").innerHTML='<span>Amount: </span><strong>$'+savingsAmount+'</strong>';
}
}
/* END GENERAL SAVINGS AMOUNT */

function savings_validate(){
savingsAmount = document.getElementById('savings_amount').value;
savingsDown = document.getElementById('savings_down').value;
savingsMonths = document.getElementById('savings_months').value;
savingsYears = document.getElementById('savings_years').value;

savingsRate = document.getElementById('savings_rate').value;
savingsPayment = document.getElementById('savings_payment').value;
if(isNaN(Number(savingsAmount)) || isNaN(Number(savingsDown)) || isNaN(Number(savingsMonths)) || isNaN(Number(savingsYears)) || isNaN(Number(savingsRate)) || isNaN(Number(savingsPayment))){ document.getElementById("calc_answer").innerHTML='<div class="error"><strong>Invalid Entry - Please check your numbers.</strong></div>'; return 0; }

savingsRate=(savingsRate/100);
savingsTerm=Number(savingsYears*12)+Number(savingsMonths);

if(savingsAmount<=0 || savingsDown<0 || savingsTerm<=0 || savingsPayment<=0 || savingsRate<0 || savingsRate>=1){ document.getElementById("calc_answer").innerHTML='<div class="error">'+calcSavingsConfig['definitions_savings_generic_error']+'</div>'; return 0; }
return 0;
}
