function Bereken() {
	SluitHelp();
	//Uitlezen van de ingevoerde data
	var iLoonheffing = parseInt(document.getElementById('inpLoonheffing').value);
	var iLoon = parseInt(document.getElementById('inpLoon').value);
		if ( iLoon < 0 ) { iLoon = 0 }
	var iArbeidskorting = 0;
		if ( iLoon > 0 ) { iArbeidskorting = parseInt(document.getElementById('inpArbeidskorting').value) }
		tekst += "\nArbeidskorting ingevuld: " + iArbeidskorting;
	var iAndereInkomsten = parseInt(document.getElementById('inpAndereInkomsten').value);
		if ( iAndereInkomsten < 0 ) { iAndereInkomsten = 0 }
	var iUitkering = parseInt(document.getElementById('inpUitkering').value);
		if ( iUitkering < 0 ) { iUitkering = 0 }
	//Einde uitlezen van de ingevoerde data

	var tekst = ""; 
	tekst += "Loonheffing: " + iLoonheffing;
	tekst += "\nLoon: " + iLoon;
	tekst += "\nAndere inkomsten: " + iAndereInkomsten;
	tekst += "\nUitkering: " + iUitkering;
	
	var iBelastbaarInkomen_H = iLoon + iAndereInkomsten + iUitkering;

	var iTotaalIBPVV_A = BerekenBelasting(iBelastbaarInkomen_H);

	var iArbeidskorting_C = BerekenArbeidskorting(iLoon + iAndereInkomsten);
	tekst += "\nBerekende arbeidskorting: " + iArbeidskorting_C;
	if (iArbeidskorting > arrArbKorting[2][2]) { iArbeidskorting = arrArbKorting[2][2]; }
	if (iArbeidskorting > iArbeidskorting_C) { iArbeidskorting_C = iArbeidskorting;	}
	tekst += "\nArbeidskorting eindelijk: " + iArbeidskorting_C;

	var iTotaalHeffingskortingen_B = iArbeidskorting_C + nAlgHefKort;
	var iVerschuldigdeIBPVV_D = iTotaalIBPVV_A - iTotaalHeffingskortingen_B;
	if ( iVerschuldigdeIBPVV_D < 0 ) { iVerschuldigdeIBPVV_D = 0 }
	var iResultaat = iVerschuldigdeIBPVV_D - ( parseInt(document.getElementById('inpLoonheffing').value) );

	tekst += "\n\nA: TotaalIBPVV: " + iTotaalIBPVV_A;
	tekst += "\nB: TotaleHeffingskortingen: " + iTotaalHeffingskortingen_B;
	tekst += "\nC: Arbeidskorting: " + iArbeidskorting_C;
	tekst += "\nD: VerschuldigdeIBPVV: " + iVerschuldigdeIBPVV_D;
	tekst += "\nH: BelastbaarInkomen: " + iBelastbaarInkomen_H;
	tekst += "\niResultaat: " + iResultaat;

	var sResultText = "";
	sResultText += "<div class=\"clUitkomst\">";
	if ( iResultaat > 0) {
		sResultText += "<h2>Te betalen &euro; " + String2Valuta(Math.abs(parseInt(iResultaat)), false) + "</h2>";
		sResultText += "<p>Je hebt niet genoeg belasting betaald om geld terug te krijgen. Misschien moet je zelfs belasting betalen.</p>";
		sResultText += "</div>";
	}
	if ( iResultaat <= 0 && iResultaat > (0-nMinimaleUitbetaling) ) {
		sResultText += "<h2>Te ontvangen &euro; 0</h2>";
		sResultText += "<p>Je krijgt geen geld terug.</p>";
		sResultText += "</div>";
	}
	if ( iResultaat <= (0-nMinimaleUitbetaling) ) {
		sResultText += "<h2>Te ontvangen &euro; " + String2Valuta(Math.abs(parseInt(iResultaat)), false) + "</h2>";
		if ( iAndereInkomsten >= 0 ) {
			sResultText += "<p>Je kunt alles wat je hebt ingevuld <a href=\"javascript:window.print()\">printen</a> en overnemen in het aangifteprogramma. Stuur deze print <strong>niet</strong> naar ons op. Wij kunnen alleen geld teruggeven als je aangifte doet.</p>";
			sResultText += "<p>Download het " + sLinkToAangifteprogramma + ". Deze pagina opent in een nieuw venster.</p>";
		}
		sResultText += "</div>";
		sResultText += "<div class=\"clUitkomstExtra\"><h2>De bedragen in deze berekening geven een idee van wat je terug kunt krijgen.</h2></div>";
	}
	document.getElementById("divResult6").innerHTML = sResultText;
	doUitvoerResult('divResult6');
	return;
}

function BerekenBelasting(iLoon) {
	var iTemp = 0;
	var iTotaal = 0;

	var iVanafSchijf1 = arrSchijf[0][0];
	var iVanafSchijf2 = arrSchijf[1][0];
	var iVanafSchijf3 = arrSchijf[2][0];
	var iVanafSchijf4 = arrSchijf[3][0];

	var iPercSchijf1 = arrSchijf[0][1];
	var iPercSchijf2 = arrSchijf[1][1];
	var iPercSchijf3 = arrSchijf[2][1];
	var iPercSchijf4 = arrSchijf[3][1];

	var iBelSchijf1 = arrSchijf[0][2];
	var iBelSchijf2 = arrSchijf[1][2];
	var iBelSchijf3 = arrSchijf[2][2];
	var iBelSchijf4 = arrSchijf[3][2];
	
	if ( iLoon <= iVanafSchijf2) { // schijf 1
		iTotaal += (iLoon/100) * iPercSchijf1 ;
	} else if ( iLoon > iVanafSchijf2 && iLoon <= iVanafSchijf3) { // schijf 2
		iTemp = iLoon - iVanafSchijf2;
		iTotaal += iBelSchijf2 + ( (iTemp/100) * iPercSchijf2 );
	} else if ( iLoon > iVanafSchijf3 && iLoon <= iVanafSchijf4) { // schijf 3
		iTemp = iLoon - iVanafSchijf3;
		iTotaal += iBelSchijf3 + ( (iTemp/100) * iPercSchijf3 );
	} else if ( iLoon > iVanafSchijf3 ) { // schijf 4
		iTemp = iLoon - iVanafSchijf4;
		iTotaal += iBelSchijf4 + ( (iTemp/100) * iPercSchijf4 );
	} else {
		iTotaal="Error"
	}
	return parseInt(iTotaal);
}

function BerekenArbeidskorting(iLoon) {
	var iKorting = 0;
	var iTemp = 0;
	var iVanafKorting1 = arrArbKorting[0][0];
	var iVanafKorting2 = arrArbKorting[1][0];
	var iVanafKorting3 = arrArbKorting[2][0];

	var iPercKorting1 = arrArbKorting[0][1];
	var iPercKorting2 = arrArbKorting[1][1];
	var iPercKorting3 = arrArbKorting[2][1];

	var iTotaalKorting1 = arrArbKorting[0][2];
	var iTotaalKorting2 = arrArbKorting[1][2];
	var iTotaalKorting3 = arrArbKorting[2][2];


	if (iLoon <= iVanafKorting2) {																	// schijf 1
		iKorting = (iLoon/100) * iPercKorting1;
		if (iKorting >= iTotaalKorting1) {
			iKorting = iTotaalKorting1;
		} else {
			if ( iKorting > 0 ) { iKorting = parseInt(iKorting + 1); }
		}
	} else if (iLoon > iVanafKorting2 && iLoon <= iVanafKorting3) {	// schijf 2
		iTemp = iLoon - iVanafKorting2;
		iKorting = ( (iTemp/100) * iPercKorting2 ) + iTotaalKorting1;
		if (iKorting >= iTotaalKorting2) {
			iKorting = iTotaalKorting2;
		} else {
			iKorting = parseInt(iKorting + 1);
		}
	} else if (iLoon > iVanafKorting3) { 														// schijf 3
		iKorting = iTotaalKorting3;
	} else {
		iKorting = 0;
	}
	return iKorting;
}
