var bShowBerekeningDetailsTi = false;
var iTiToetsingsinkomenReturn = 0;
var sInpToetsingsinkomen = "aanvrager";


function TiUitrekenen() {
	//document.getElementById("divBugResult2009").style.display = 'none'; 
	var sDebug = "";
	var intToetsingsinkomen = 0;
	if (bFOL3call == true) {
		sInpToetsingsinkomen = "";
	}	
	
	if (document.getElementById("divTiAanslag").style.display == 'block' ) {
		var intVerzamelinkomen = parseInt(document.frmBerekening.verzamelinkomen.value);
		if(document.getElementById("AndereInkomenswijzigingen_janee_nee").checked) {
			var intVerzamelinkomenMeer = 0;
		} else {
			var intVerzamelinkomenMeer = parseInt(document.frmBerekening.verzamelinkomen_meer.value);
		}
		// Buitenland
		if(document.getElementById("inkomen_buitenland_aanslag_ja").checked) {
			intVerzamelinkomenBuiten = parseInt(document.getElementById("verzamelinkomen_buiten").value);
		} else {
			intVerzamelinkomenBuiten = 0;
		}
		// Vrijgesteld
		if(document.getElementById("inkomen_vrijgesteld_aanslag_ja").checked) {
			intVerzamelinkomenVrijgesteld = parseInt(document.getElementById("verzamelinkomen_vrijgesteld_aanslag").value);
		} else {
			intVerzamelinkomenVrijgesteld = 0;
		}
		intToetsingsinkomen = intVerzamelinkomen + intVerzamelinkomenMeer + intVerzamelinkomenBuiten + intVerzamelinkomenVrijgesteld;
		
		if (parseInt(document.frmBerekening.TiSelectJaar.value) >= 2009 ) {
			if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { AangifteKeuzeaanvrager = true; }
			if ( sInpToetsingsinkomen.indexOf("partner") > -1 ) 	{ AangifteKeuzepartner = true; }
			if ( document.getElementById("bug_janee_ja").checked == true ){
				var iBug = parseInt(document.getElementById("bug_bedrag_aangifte").value) - parseInt(document.getElementById("bug_bedrag_niet_aftrekbaar").value);
				if (iBug <= 0) {
					intToetsingsinkomen += parseInt(document.getElementById("bug_bedrag_aangifte").value);
				} else {
					intToetsingsinkomen += parseInt(document.getElementById("bug_bedrag_niet_aftrekbaar").value);	
				}				
				if ( parseInt(document.getElementById("bug_bedrag_aangifte").value) >0 ) {
					if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { BUaanvrager = true; }
					if ( sInpToetsingsinkomen.indexOf("partner") > -1 ) 	{ BUpartner = true; }
				} else {
					if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { BUaanvrager = false; }
					if ( sInpToetsingsinkomen.indexOf("partner") > -1 ) 	{ BUpartner = false; }
				}
					
			} else {
				if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { BUaanvrager = false; }
				if ( sInpToetsingsinkomen.indexOf("partner") > -1 ) 	{ BUpartner = false; }
			}
		}

		document.getElementById('idTiToetsingsinkomen').innerHTML = maakResultaatOp(intToetsingsinkomen);
 		doTiUitvoerResult('divTiResultToetsingsinkomen');
	} else {
		if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { AangifteKeuzeaanvrager = false; }
		if ( sInpToetsingsinkomen == "toetsingsinkomen_partner" ) 	{ AangifteKeuzepartner = false; }
		if ( sInpToetsingsinkomen.indexOf("aanvrager") > -1 ) { BUaanvrager = false; }
		if ( sInpToetsingsinkomen.indexOf("partner") > -1 ) 	{ BUpartner = false; }
	}
	
	if (document.getElementById("divTiJaaropgave").style.display == 'block' ) {

		for (i = 1; i <= parseInt(document.frmBerekening.hoeveel_jaaropgaven.value); i++) {
			intToetsingsinkomen = intToetsingsinkomen + parseInt(eval("document.frmBerekening.jaarloon" + i + ".value"));
		}
		// Buitenland
		if(document.getElementById("inkomen_buitenland_jaaropgaaf_ja").checked) {
			intVerzamelinkomenBuiten = parseInt(document.getElementById("verzamelinkomen_buiten_jaaropgaaf").value);
		} else {
			intVerzamelinkomenBuiten = 0;
		}
		// Vrijgesteld
		if(document.getElementById("inkomen_vrijgesteld_jaaropgaaf_ja").checked) {
			intVerzamelinkomenVrijgesteld = parseInt(document.getElementById("verzamelinkomen_vrijgesteld_jaaropgaaf").value);
		} else {
			intVerzamelinkomenVrijgesteld = 0;
		}
		intToetsingsinkomen = intToetsingsinkomen + intVerzamelinkomenBuiten + intVerzamelinkomenVrijgesteld + parseInt(document.getElementById("jaarloon_meer").value);
		document.getElementById('idTiToetsingsinkomen').innerHTML = maakResultaatOp(intToetsingsinkomen);	
		doTiUitvoerResult('divTiResultToetsingsinkomen');
	}

	
	if (document.getElementById("divTiLoonstrook").style.display == 'block' ) {
		sDebug += '<h2>Bereken Loonstrook</h2>'; 
 		for (i = 1; i <= parseInt(document.frmBerekening.hoeveel_loonstrooks.value); i++) {
			var iLoon = berekenDeelinkomen(i);		
 			iFooi = eval("document.frmBerekening.bonus_fooi_" + i + ".value");
			if(iFooi == "") {iFooi = 0;}
			iVakantiegeld = parseInt(eval("document.frmBerekening.vakantiegeld_" + i + ".value"));
			tmpToetsingsinkomen = iLoon + iVakantiegeld + parseInt(iFooi);	
			intToetsingsinkomen += tmpToetsingsinkomen;
			sDebug += '<p>Loonstrook ' + i + '<br />Loon: ' + iLoon + '<br />Fooi: ' + iFooi + '<br />Vakantiegeld: ' + iVakantiegeld + '<br />Totaal' + i + ': ' + tmpToetsingsinkomen + '</p><hr />';	
	} 
	
		// Buitenland
		if(document.getElementById("inkomen_buitenland_loonstrook_ja").checked) {
			var intVerzamelinkomenBuiten = parseInt(document.getElementById("verzamelinkomen_buiten_loonstrook").value);
		} else {
			var intVerzamelinkomenBuiten = 0;
		}
		// Vrijgesteld
		if(document.getElementById("inkomen_vrijgesteld_loonstrook_ja").checked) {
			var intVerzamelinkomenVrijgesteld = parseInt(document.getElementById("verzamelinkomen_vrijgesteld_loonstrook").value);
		} else {
			var intVerzamelinkomenVrijgesteld = 0;
		}
		intToetsingsinkomen += intVerzamelinkomenBuiten + intVerzamelinkomenVrijgesteld;
		document.getElementById('idTiToetsingsinkomen').innerHTML = maakResultaatOp(intToetsingsinkomen);
		doTiUitvoerResult('divTiResultToetsingsinkomen');	
		sDebug += '<p>Buitenland: ' + intVerzamelinkomenBuiten + '<br />Vrijgesteld: ' + intVerzamelinkomenVrijgesteld +'<p>Totaal: ' + intToetsingsinkomen + '</p>';
	}
	
	document.getElementById('divDebugTi').innerHTML = sDebug;
	iTiToetsingsinkomenReturn = intToetsingsinkomen;
	
}

function berekenDeelinkomen(iTabel){
	var iInkomen = 0; 
	var aData = verwijderLegeRijen(collectTabelInkomen(iTabel));
	if (aData.length == 0 || document.getElementById("selLaatsteMaandPeriode_" + iTabel).value == -1 ) {return NaN;}
	for (var j=0; j < aData.length; j++) {
		var iMaandStart = parseInt(aData[j][0]);
		if (aData.length >= j+2){
			var iMaandEind = parseInt(aData[j+1][0]);
		} else {
			var iMaandEind = parseInt(document.getElementById('selLaatsteMaandPeriode_' + iTabel ).value) + 1;
		}
		iInkomen += parseInt(aData[j][1]) * (iMaandEind - iMaandStart) ;
	}
	return iInkomen;
}

function verwijderLegeRijen (aData){
	var aRet = new Array();
	for (var i=0; i < aData.length ; i++) {
		if ( aData[i][0] != "-1" ) {
			aRet[aRet.length] = aData[i];
		}
	}
	return aRet
}

function berekenVakantiegeld(i) {
	var iLoon = berekenDeelinkomen(i);
	if (!isNaN(iLoon)){
		var iVakantiegeld = Math.round(0.08 * iLoon);
	} else {
		var iVakantiegeld = "";
	}
	document.getElementById("vakantiegeld_" + i).value = iVakantiegeld;
}

function maakResultaatOp(iBedrag) {
	var sText;
		if (iBedrag < 0) {
			sText = "- &euro;&nbsp;" + zetDecimaalpunten(Math.abs(iBedrag));		
		} else {
			sText = "&euro;&nbsp;" + zetDecimaalpunten(iBedrag);
		}	
		return sText;
}
