// Copyright 2007 Christian Davén

function clearMessages()
{
	document.getElementById("resultsp").style.display = "none";
	document.getElementById("label_ranta").style.display = "none";
	document.getElementById("msg_interest").firstChild.nodeValue = "";
	document.getElementById("msg_loan").firstChild.nodeValue = "";
	document.getElementById("msg_years").firstChild.nodeValue = "";
	document.getElementById("msg_fee").firstChild.nodeValue = "";
}

function calculate()
{
	function doOneMonth()
	{
		accInterest += sum * interest / 12.0;
		sum += sum * interest / 12.0;
		sum -= permonth;
		numMonths += 1;
	}

	var ok = 1;
	var today = new Date();

	clearMessages();

	var interest = getAndParseString("interest");
	if(interest == -999) ok = 0;
	var fee = getAndParseString("fee");
	if(fee == -999) ok = 0;
	var years = getAndParseString("years");
	if(years == -999) ok = 0;
	var loan = getAndParseString("loan");
	if(loan == -999) ok = 0;

	if(!ok) return;

	interest /= 100.0;

	if(fee == 0)
	{
		showMessage("Fyll i avgift", "msg_fee")
		return;
	}
	if(years == 0)
	{
		showMessage("Fyll i amorteringstid", "msg_years")
		return;
	}
	if(loan == 0)
	{
		showMessage("Fyll i lånets storlek", "msg_loan")
		return;
	}

	var numMonths = years * 12.0;

    interest = 1 + interest / 12.0;
    permonth = fee + loan * Math.pow(interest, numMonths) * (interest - 1) / (Math.pow(interest, numMonths) - 1);

    if(permonth == Infinity || permonth > 999999999999999999999)
        showResults("Beloppet blir för stort");
    else if(isNaN(permonth))
        showResults("Kunde inte räkna ut resultatet");
    else
    {
        showResults("Den totala månadsavgiften blir " + FormatNumberBy3(permonth.toFixed(0), ".", " ") + " kr");
    }
}

