
var nAfschrijving, nLeenBedrag, nPlanBedrag,
	nRestWaarde, nRestSaldo, nReservering, 
	nCalcVar, nBruto, nDag, nEindPositie, nMiddenVeld;

function PM_CalcVars(pf)
{
	PPrijs(pf);
	
	nLooptijd = document.form.fnLooptijd.value;


	with (document.form)
	{
	
		nRestwaardeVast = fnRestwaardeVast.value;
		nRestsaldoVast = fnRestsaldoVast.value;
		
		fnRestwaardeVast.value = 0;
		fnRestsaldoVast.value = 0;
		
		nLeenBedrag = parseFloat(elements['fnSubSubtotaalBedrag'+pf].value);
		nPlanBedrag = parseFloat(elements['fnTotaalBedrag'+pf].value);
		

		if (nRestwaardeVast == 0)
		{
			nAfschrijving = elements['fnProdObjPrijs'+pf].value * (elements['fnProdObjAfschPerc'+pf].value*(nLooptijd/12));
			if (nAfschrijving > elements['fnProdObjPrijs'+pf].value)
			{
				nAfschrijving = parseFloat(elements['fnProdObjPrijs'+pf].value);
			}
			
			for (i=0; i < Prijs.length; i++)
			{
				if (elements['fnSelected'+pf+(i+parseInt(1))].checked)
				{
					nProdP = parseFloat(elements['fnProduktPrijs'+pf+(i+parseInt(1))].value);
					nTusAf = Prijs[i][1]*nProdP*(nLooptijd/12);
					if (nTusAf <= nProdP)
					{
						nAfschrijving += parseFloat(nTusAf);
					} else
					{
						nAfschrijving += parseFloat(nProdP);
					}
				}
			}
			
			nRestWaarde = nLeenBedrag - nAfschrijving;
		} else
		{
			nRestWaarde = document.form.fnRestWaarde.value;
			nAfschrijving = nLeenBedrag - nRestWaarde;
		}

		if (nRestsaldoVast == 0)
		{
			nReservering = nAfschrijving;
			nEindPositie = fnEigenMiddelen.value;
			nRestSaldo = nPlanBedrag - nReservering;
		} else
		{
			nRestSaldo = document.form.fnRestSaldo.value;
			nReservering = nPlanBedrag - nRestSaldo;
			nEindPositie = nRestWaarde - nRestSaldo;
		}
		
		
		nMiddenVeld = nAfschrijving - nReservering;
		
		
		nRestSaldo = nPlanBedrag - nReservering;
			
		nCalcVar = nPlanBedrag - nRestSaldo * (Math.pow(parseInt(1)+nMaandRente, -nLooptijd));
		
		nBruto = nCalcVar * nMaandRente / ( 1 - (Math.pow(parseInt(1)+nMaandRente, -nLooptijd)));

		nDag = nBruto/30;

		if (nPlanBedrag < nMinPlanBedrag)
		{
			document.getElementById('nietgenoeg').style.visibility='visible';
		} else
		{
			document.getElementById('nietgenoeg').style.visibility='hidden';
		}
	}	

	//PPrijs(pf);
	
	
	PM_UpdateScreen(pf);
}


function PM_UpdateScreen(pf)
{
	with (document.form)
	{
		fnLeenBedrag.value = ValutaOutput(nLeenBedrag);
		fnEigenMiddelen.value = ValutaOutput(elements['fnEigenMiddelBedrag'+pf].value);
		fnPlanBedrag.value = ValutaOutput(nPlanBedrag);
		fnAfschrijving.value = ValutaOutput(nAfschrijving);
		if (nMiddenVeld != 0)
		{
			fnMiddenVeld.value = ValutaOutput(nMiddenVeld);
			document.getElementById('MiddenVeld').style.visibility='visible';
		} else
		{
			document.getElementById('MiddenVeld').style.visibility='hidden';
		}
		fnReservering.value = ValutaOutput(nReservering);
		fnRestWaarde.value = ValutaOutput(nRestWaarde);

		fnEindPositie.value = ValutaOutput(nEindPositie);
		fnRestSaldo.value = ValutaOutput(nRestSaldo);
		
		fnMaandBedrag.value = ValutaOutput(nBruto);
		fnDagBedrag.value = ValutaOutput(nDag);
	}		
}


function setLooptijd()
{

	d = 30;
	with (document.form.fdEindDatum_Month) m = options[selectedIndex].value;
	with (document.form.fdEindDatum_Year) y = options[selectedIndex].value;
	exDate = new Date(y,m,d);
	nuDate = new Date();
	verschil = new Date(exDate.getTime() - nuDate.getTime());
	maandenT = verschil.getMonth() + (verschil.getYear()-70)*12;
	
	document.form.fnLooptijd.value = maandenT-1;
	
	if (maandenT <= 0)
	{
		alert('termijn moet minimaal 1 maand zijn!');
		document.form.fdEindDatum_Year.selectedIndex = 2;
		setLooptijd();
	} ;
	
	PM_CalcVars(1)
}
			

