var iStatus = 2; 
// 1. Nieuw systeem
// 2. Fallback
// Indien [Jaar] <=2008, worden teksten gebruikt gelijk aan fallback.

var bIntegratie = false;	// true indien TI wordt aangeroepen vanuit andere modules >> tbv tonen van "divTiBG"
var bBu = false;
var bFOL3call = false;
var SaveJaar;
var bVerkortresultaat = true; // Toon alleen het toetsingsinkomen als resultaat
var sWie;
var sTxtResult;

function doTiSysteem(Waarde){
	if (Waarde!=-1){
		document.getElementById("fsTiJaarKeuze").style.display = 'block';
	}
}

function doTiJaarKeuze(sJaar){
	if (sJaar != -1){
		setStatus_LA2006();
		SaveJaar = sJaar;
		vulTiSpan(sJaar);
		document.frmBerekening.reset();
		document.frmBerekening.TiSelectJaar.value = sJaar;
		doTiInit("");
		document.getElementById("fsTiKeuze").style.display = 'block';
		document.getElementById("pTiSoortInkomen").style.display = 'none';
	} else if (SaveJaar != -1) {
		document.getElementById("selectJaar").value = SaveJaar;
		return ;
	}
}

function setStatus_LA2006(){ 	//Tijdelijk om op LA2006 de status automatisch op nieuw te zetten
  var uri = new Object();
  uri = getURL(uri);
	if (uri.dom.substr(0,9) == "la2006-o.") {
		iStatus = 1;
	}
}	

function doTiInit(strWelkVeld) {
	aMaandenEnPeriodes = getMaandenPeriodes();
	document.getElementById("fsTiInvoer").style.display = 'none';
	clearPrn();
	document.getElementById("divTiJaaropgaveBuitenlandJa").style.display = 'none';
	document.getElementById("divTiLoonBuitenlandJa").style.display = 'none';
	document.getElementById("divTiAanslagBuitenlandJa").style.display = 'none';
	document.getElementById("divTiAanslagVrijgesteldJaIBja").style.display = 'none';
	document.getElementById("divTiAanslagVrijgesteldJaIBnee").style.display = 'none';
	document.getElementById("divTiAanslagVrijgesteldLoonstrook").style.display = 'none';
	for (var i=1; i <= 5; i++) {
		document.getElementById("divTiPeriodiciteit_" + i).style.display = 'none';
	}
	//document.getElementById("divBuitenland").style.display = 'none';
	toonDivs("", "divTiResult", "fsTiUitvoer", "",'');
	ZetInputUit("fsTiInvoer" , false);
	ZetInputUit("fsTiKeuze" , false);
	ZetSelectUit("fsTiInvoer" , false);
	schakelButtons("fsTiButtons", true, "all", true);
	document.getElementById("AanslagMeerMinder").style.display = 'none';
	document.getElementById("AanslagBuitenland").style.display = 'none';
	
	document.getElementById("txtBug2009").style.display = 'none';
	//document.getElementById("divBugResult2009").style.display = 'none'; 
	if (strWelkVeld != "") {
		SetFocus(strWelkVeld);
	}
	algTiValidatie();
}

function vulTiSpan(sJaar){ // alle situaties
	var iJaar = parseInt(sJaar);
	var sTxtInkomen;

	document.getElementById("AddHelpToenameInkomen_3").innerHTML = '<p>Lees meer bij: <a href="javascript://" onclick="NieuwVenster(\'/particulier/toetsingsinkomen/toetsingsinkomen-04.html\')">Loonstrook</a></p>';
	
	if (iStatus === 1){ //nieuw
		document.getElementById("AddHelpAndereInkomenswijzigingenJaNee_1").innerHTML = '<p>Lees meer bij: <a href="javascript:DeeplinkNieuwVenster(\'/particulier/hoe_werken_toeslagen\',\'08030_036\',\'TOE\')">Waardoor kan mijn toetsingsinkomen veranderen?</a>.</p>';	
		document.getElementById("AddHelpToenameInkomen_2").innerHTML                 = '<p>Lees meer bij: <a href="javascript:DeeplinkNieuwVenster(\'/particulier/hoe_werken_toeslagen\',\'08030_036\',\'TOE\')">Waardoor kan mijn toetsingsinkomen veranderen?</a>.</p>';	
	} else { //fallback
		document.getElementById("AddHelpAndereInkomenswijzigingenJaNee_1").innerHTML = '<p>Lees meer bij: <a href="javascript://" onclick="NieuwVenster(\'/particulier/toetsingsinkomen/toetsingsinkomen-02.html\')">(Voorlopige) aanslag inkomstenbelasting</a></p>';
		document.getElementById("AddHelpToenameInkomen_2").innerHTML                 = '<p>Lees meer bij: <a href="javascript://" onclick="NieuwVenster(\'/particulier/toetsingsinkomen/toetsingsinkomen-02.html\')">(Voorlopige) aanslag inkomstenbelasting</a></p>';
	}

 	if (sWie == "partner") {
		var sAangiftebijdehand = "Houd de aangifte inkomstenbelasting van uw toeslagpartner bij de hand.";
		var sBuitenlandseInkomen = "het buitenlandse inkomen van uw toeslagpartner";
		var sHebt = "heeft";
		var sHebtU = "Heeft uw toeslagpartner"; 
		var sInkomen = "Het inkomen van uw toeslagpartner ";
		var sLaatsteAangifte = "de laatste aangifte van uw toeslagpartner";
		var sLaatsteJaaropgaaf = "de laatste jaaropgaaf van uw toeslagpartner";
		var sLaatsteLoonstrook = "de laatste loonstrook van uw toeslagpartner";
		var sLegendInkomen = "Inkomen van uw toeslagpartner ";		
		var sLoonstrook = "de loonstrook van uw toeslagpartner";
		var sLoonstroken = "de loonstroken van uw toeslagpartner";
		var sMaandinkomen = "het maandinkomen van uw toeslagpartner";
		var sSamenMetTP = "uw toeslagpartner samen met u";
		var sU_Uw = "uw toeslagpartner";
		var sUHebt = "Uw toeslagpartner heeft";	
		var sU = "hij";
		var sUw = "zijn";
		var sUwAangifte = "de aangifte van uw toeslagpartner";
		var sVerzamelinkomen = "het verzamelinkomen van uw toeslagpartner";		
		var sVierweeksinkomen = "het vierweekse inkomen van uw toeslagpartner";		
		var sVrijgesteldeInkomen = "het vrijgestelde inkomen van uw toeslagpartner";
		sTxtResult = "Het toetsingsinkomen van uw toeslagpartner";
		
	} else if (sWie == "medebewoner") {
		var sAangiftebijdehand = "Houd de aangifte inkomstenbelasting van uw medebewoner bij de hand.";
		var sBuitenlandseInkomen = "het buitenlandse inkomen van uw medebewoner";
		var sHebt = "heeft";
		var sHebtU = "Heeft uw medebewoner"; 
		var sInkomen = "Het inkomen van uw medebewoner";
		var sLaatsteAangifte = "de laatste aangifte van uw medebewoner";
		var sLaatsteJaaropgaaf = "de laatste jaaropgaaf van uw medebewoner";
		var sLaatsteLoonstrook = "de laatste loonstrook van uw medebewoner";
		var sLegendInkomen = "Inkomen van uw medebewoner";
		var sLoonstrook = "de loonstrook van uw medebewoner";
		var sLoonstroken = "de loonstroken van uw medebewoner";
		var sMaandinkomen = "het maandinkomen van uw medebewoner";
		var sU_Uw = "uw medebewoner";
		var sUHebt = "Uw medebewoner heeft";
		var sU = "hij";
		var sUw = "zijn";
		var sUwAangifte = "de aangifte van uw medebewoner";
		var sVerzamelinkomen = "het verzamelinkomen van uw medebewoner";
		var sVierweeksinkomen = "het vierweekse inkomen van uw medebewoner";				
		var sVrijgesteldeInkomen = "het vrijgestelde inkomen van uw medebewoner";
		sTxtResult = "Het toetsingsinkomen van uw medebewoner";
		
	} else {
		var sAangiftebijdehand = "Houd uw aangifte inkomstenbelasting bij de hand.";
		var sBuitenlandseInkomen = "uw buitenlandse inkomen";
		var sHebt = "hebt";
		var sHebtU = "Hebt u"; 
		var sInkomen = "Uw inkomen";
		var sLaatsteAangifte = "uw laatste aangifte";
		var sLaatsteJaaropgaaf = "uw laatste jaaropgaaf";		
		var sLaatsteLoonstrook = "uw laatste loonstrook";	
		var sLegendInkomen = "Uw inkomen";
		var sLoonstrook = "uw loonstrook";
		var sLoonstroken = "uw loonstroken";
		var sMaandinkomen = "uw maandinkomen";
		var sSamenMetTP = "u samen met uw toeslagpartner";
		var sU = "u";
		var sU_Uw = "u";
		var sUHebt = "U hebt"; 
		var sUw = "uw";
		var sUwAangifte = "uw aangifte";
		var sVerzamelinkomen = "uw eigen verzamelinkomen";
		var sVierweeksinkomen = "uw vierweekse inkomen";				
		var sVrijgesteldeInkomen = "uw vrijgestelde inkomen";	
		sTxtResult = "Uw toetsingsinkomen";		
	}	
	
  editHTML('BuitenlandseInkomen_', sBuitenlandseInkomen + " ", 3);
	editHTML('hebt_', sHebt + " ", 7);
	editHTML('hebt_eind_', sHebt, 11);
	editHTML('HebtU_', sHebtU + " ", 13);
	editHTML('HebtU_lower_', sHebtU.toLowerCase() + " ", 2);
	editHTML('LaatsteJaaropgaaf_', sLaatsteJaaropgaaf + " ", 4);
	editHTML('LaatsteJaaropgaaf_Eind_', sLaatsteJaaropgaaf, 1);
	editHTML('Loonstrook_', sLoonstrook + " ", 1);
	editHTML('Loonstroken_', sLoonstroken + " ", 2);
	editHTML('maandinkomen_', sMaandinkomen + " ", 1);
	editHTML('maandinkomen_eind_', sMaandinkomen, 1);
 	editHTML('txtTiJaar_', sJaar + " ", 32);
	editHTML('txtTiJaarEind_', sJaar, 18);
	editHTML('txtTiJaarMin1_', (iJaar - 1) + " ", 1);
	editHTML('txtTiJaarMin2_', (iJaar - 2), 1); 
 	editHTML('u_', sU + " ", 9);
	editHTML('u_uw_', sU_Uw + " ", 31);
	editHTML('UHebt_', sUHebt + " ", 7);
	editHTML('UHebt_lower_', sUHebt.toLowerCase() + " ", 2);
	editHTML('uw_', sUw + " ", 19);
	editHTML('uw_aangifte_', sUwAangifte, 1);	
	editHTML('uw_inkomen_', sInkomen.toLowerCase() + " ", 10);
	editHTML('uw_inkomen_start_', sInkomen + " ", 4);
	editHTML('uw_toetsingsinkomen_', sTxtResult.toLowerCase() + " ", 2);
	editHTML('verzamelinkomen_', sVerzamelinkomen + " ", 2);
	editHTML('vierweeksinkomen_', sVierweeksinkomen + " ", 1);
	editHTML('vierweeksinkomen_eind_', sVierweeksinkomen, 1);
	editHTML('vrijgesteldeInkomen_', sVrijgesteldeInkomen + " ", 3);
	
	document.getElementById("legendUwInkomen").innerHTML = sLegendInkomen; 
	document.getElementById("aangiftebijdehand").innerHTML = sAangiftebijdehand;

	var sTxt = '';
	if (sWie != "medebewoner"){
		sTxt +=	'<br /><strong>Let op!</strong> Doet '+ sSamenMetTP + ' aangifte inkomstenbelasting?<br />Vul deze aftrek dan maar bij 1 van u beiden in bij het berekenen van het toetsingsinkomen.';
	}
	document.getElementById("BedragBug2009_LetOp_bij_Geen_Medebewoner").innerHTML = sTxt;	
	
	if (iJaar === 2010) {
		editHTML('geenaftrek2009_', "(vanaf 2009 niet meer aftrekbaar)", 8);
		editHTML('geenaftrek2009_komma_', ", vanaf 2009 niet meer aftrekbaar", 3);
		document.getElementById("txt2010_1").style.display = "block";
	} else {
		document.getElementById("txt2010_1").style.display = "none";
		editHTML('geenaftrek2009_', "", 8);
		editHTML('geenaftrek2009_komma_', "", 3);
	}	
}

function editHTML (id, sText, iTot){
	for (var i=1; i <= iTot; i++) {
		document.getElementById(id + i).innerHTML = sText;
	}
}

function doTiAangiftekeuze_org(strWaarde) {
	if (strWaarde == "ja") {
		if (parseInt(document.frmBerekening.TiSelectJaar.value) >= 2009){
			if ( bBu && bFOL3call) {
				document.getElementById("radioAangifteZKofBU").style.display = 'none';
				document.getElementById("bug_janee_ja").checked = true;
				document.getElementById("aangifte1").checked = true;
			} else {
				document.getElementById("radioAangifteZKofBU").style.display = 'block';
			}
		
			document.getElementById("divBug2009").style.display = 'block';
			document.getElementById("txtBug2009").style.display = 'block';
		} else {
			document.getElementById("divBug2009").style.display = 'none';
			document.getElementById("txtBug2009").style.display = 'none';
		}	
		document.getElementById("fsTiUitvoer").style.display = 'none';
		document.getElementById("pTiSoortInkomen").style.display = 'none';
		document.getElementById("divTiLoonstrook").style.display = 'none';
		document.getElementById("divTiJaaropgave").style.display = 'none';
		document.getElementById("fsTiInvoer").style.display = 'block';
		document.getElementById("divTiAanslag").style.display = 'block';
	} else {
		document.getElementById("txtBug2009").style.display = 'none';
		document.getElementById("fsTiUitvoer").style.display = 'none';
		document.getElementById("fsTiInvoer").style.display = 'none';
		document.getElementById("divTiLoonstrook").style.display = 'none';
		document.getElementById("divTiJaaropgave").style.display = 'none';
		document.getElementById("pTiSoortInkomen").style.display = 'block';
	}
	if (bFOL3call) {
		bVerkortresultaat = false;
	}
	algTiValidatie(); 	
}


function doTiAangiftekeuze(strWaarde) {
	if (strWaarde == "ja") {
		if (parseInt(document.frmBerekening.TiSelectJaar.value) >= 2009){
			if ( bBu && bFOL3call) {
				document.getElementById("bug_janee_ja").checked = true;
				document.getElementById("aangifte1").checked = true;
			}
			document.getElementById("radioAangifteZKofBU").style.display = 'block';		
			document.getElementById("divBug2009").style.display = 'block';
			document.getElementById("txtBug2009").style.display = 'block';
		} else {
			document.getElementById("divBug2009").style.display = 'none';
			document.getElementById("txtBug2009").style.display = 'none';
		}	
		document.getElementById("fsTiUitvoer").style.display = 'none';
		document.getElementById("pTiSoortInkomen").style.display = 'none';
		document.getElementById("divTiLoonstrook").style.display = 'none';
		document.getElementById("divTiJaaropgave").style.display = 'none';
		document.getElementById("fsTiInvoer").style.display = 'block';
		document.getElementById("divTiAanslag").style.display = 'block';
	} else {
		document.getElementById("txtBug2009").style.display = 'none';
		document.getElementById("fsTiUitvoer").style.display = 'none';
		document.getElementById("fsTiInvoer").style.display = 'none';
		document.getElementById("pTiSoortInkomen").style.display = 'block';
		
		if(document.getElementById("soort_inkomen1").checked) {
			doTiSoortInkomenkeuze('jaaropgave'); 
		} else {		
			document.getElementById("divTiJaaropgave").style.display = 'none';
		}
		if(document.getElementById("soort_inkomen2").checked) {
			doTiSoortInkomenkeuze('loonstrook'); 
		} else {	
			document.getElementById("divTiLoonstrook").style.display = 'none';			
		}
		
	}
	if (bFOL3call) {
		bVerkortresultaat = false;
	}
	algTiValidatie(); 	
}

function doTiSoortInkomenkeuze(strWaarde) {
	toonDivs('', 'divTiHelp', '', '');
	document.getElementById("fsTiUitvoer").style.display = 'none';
	document.getElementById("divTiAanslag").style.display = 'none';
	if ( strWaarde == "jaaropgave" ) {
		document.getElementById("divTiLoonstrook").style.display = 'none';
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgave", "", "", "fsTiInvoer", "", "", "");    
		doTiHoeveelJaaropgavenkeuze(document.frmBerekening.hoeveel_jaaropgaven.value);
	} else {
		document.getElementById("divTiJaaropgave").style.display = 'none';
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook", "", "", "fsTiInvoer", "", "", "");
		doTiHoeveelLoonstrookjeskeuze(document.frmBerekening.hoeveel_loonstrooks.value);
	}
	algTiValidatie();
}

function doTiBuitenlandsInkomenkeuze(sInputveld,sWaarde) {
	sDisplay = (sWaarde=="ja" ? "block" : "none");
	// altijd visible, wordt toch overruled door display (in geval van niet tonen)
	document.getElementById("divTi"+sInputveld+"BuitenlandJa").style.visibility = "visible";
	document.getElementById("divTi"+sInputveld+"BuitenlandJa").style.display = sDisplay;
	algTiValidatie();
}

function doTiVrijgesteldInkomenkeuze(sWaarde,div) {
	sDisplay = (sWaarde=="ja" ? "block" : "none");
	// altijd visible, wordt toch overruled door display (in geval van niet tonen)
	document.getElementById(div).style.visibility = "visible";
	document.getElementById(div).style.display = sDisplay;
	algTiValidatie();
}

function doTiHoeveelJaaropgavenkeuze(strWaarde) {
	if ( strWaarde == "1" ) {
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", "");  
		document.getElementById('divTiJaaropgaaf1').style.display = 'block';
	} else if ( strWaarde == "2" ){
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiJaaropgaaf2", "", "", "fsTiInvoer", "", "", "");     
	} else if ( strWaarde == "3" ){
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiJaaropgaaf2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgaaf3", "", "", "fsTiInvoer", "", "", "");         
	} else if ( strWaarde == "4" ){
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiJaaropgaaf2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgaaf3", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgaaf4", "", "", "fsTiInvoer", "", "", "");      
	} else if ( strWaarde == "5" ){
		toonDivs("divTiJaaropgaaf1", "divTiJaaropgaaf", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiJaaropgaaf2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgaaf3", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiJaaropgaaf4", "", "", "fsTiInvoer", "", "", "");  
		toonDivs("divTiJaaropgaaf5", "", "", "fsTiInvoer", "", "", "");       
	}
	algTiValidatie();  
}

function doTiHoeveelLoonstrookjeskeuze(strWaarde) {

	for (var i=1; i <= parseInt(strWaarde); i++) {
		maakTabelInkomen(i, "");
	}

	if ( strWaarde == "1" ) {
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", "");
	} else if ( strWaarde == "2" ){
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiLoonstrook2", "", "", "fsTiInvoer", "", "", "");
	} else if ( strWaarde == "3" ){
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiLoonstrook2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook3", "", "", "fsTiInvoer", "", "", "");
	} else if ( strWaarde == "4" ){
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiLoonstrook2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook3", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook4", "", "", "fsTiInvoer", "", "", "");  
	} else if ( strWaarde == "5" ){
		toonDivs("divTiLoonstrook1", "divTiLoonstrook", "", "fsTiInvoer", "", "", ""); 
		toonDivs("divTiLoonstrook2", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook3", "", "", "fsTiInvoer", "", "", "");
		toonDivs("divTiLoonstrook4", "", "", "fsTiInvoer", "", "", "");  
		toonDivs("divTiLoonstrook5", "", "", "fsTiInvoer", "", "", ""); 
	}
	toonDivs("divTiLoonstrook", "", "", "fsTiInvoer", "", "", "");
	algTiValidatie();
}

function doTiUitvoerResult(strWelkeDiv) {
	ZetInputUit("fsTiInvoer" , true)
	ZetInputUit("fsTiKeuze" , true)
	ZetSelectUit("fsTiInvoer" , true)
	toonDivs("", "divTiHelp", "", "");
	toonDivs(strWelkeDiv, "divTiResult", "", "fsTiUitvoer");
	toonDivs("divTiResultaat", "", "", "fsTiUitvoer", "", "", ""); 	
	schakelButtons("fsTiButtons", false, "all", false);  
	if ( bVerkortresultaat == true ) {
		document.getElementById("idUitkomstExtra").style.display = 'none';
	} else {
		document.getElementById("idUitkomstExtra").style.display = 'block';
	}
	if ( bFOL3call ) {
		document.getElementById("txtFOL3Call_1").innerHTML = "Uw nieuwe toetsingsinkomen ";
		document.getElementById("butSluiten").innerHTML = "<input type=\"button\" value=\"Sluiten\" class=\"clButtons\" onclick=\"window.close()\" />";
		document.getElementById("butAfdrukken").innerHTML = "<input type=\"button\" value=\"Afdrukken\" class=\"clButtons\" onclick=\"window.print()\" />";
		document.getElementById("butOpnieuw").innerHTML = "<input type=\"button\" value=\"Opnieuw berekenen\" class=\"clButtons\" onclick=\"doTiOpnieuw('')\" />";
	} else {
		document.getElementById("txtFOL3Call_1").innerHTML = sTxtResult + " ";
		document.getElementById("butSluiten").innerHTML = "";
		document.getElementById("butAfdrukken").innerHTML = "";
		document.getElementById("butOpnieuw").innerHTML = "<input type=\"button\" value=\"Wijzigen invoer\" class=\"clButtons\" onclick=\"doTiOpnieuw('')\" />";
	}

}

function algTiValidatie() {
	// Deze functie controleert de ingevulde gegevens met als doel te bepalen of 
	// de Bereken-button moet worden getoond danwel worden verborgen.
	var tmpValidatie = true;
	var iAantal;
	if(!document.getElementById("aangifte1").checked && !document.getElementById("aangifte2").checked) {tmpValidatie = false;}
	if(document.getElementById("aangifte2").checked) {
		if(!document.getElementById("soort_inkomen1").checked && !document.getElementById("soort_inkomen2").checked) {tmpValidatie = false;}
	}
	// Aanslag
	if (document.getElementById("divTiAanslag").style.display == 'block' ) {
	  if (document.frmBerekening.verzamelinkomen.value == null || document.frmBerekening.verzamelinkomen.value == "") {tmpValidatie = false;}
		document.getElementById("txtNogMeer").innerHTML = '';
		document.getElementById("txtVulNulIn").innerHTML = '&nbsp;Vul \'0\' in als het inkomen gelijk blijft.';
		if (parseInt(document.frmBerekening.TiSelectJaar.value) >= 2009){
			if (document.getElementById("bug_janee_ja").checked == false && document.getElementById("bug_janee_nee").checked == false) {tmpValidatie = false;}
			if (document.getElementById("bug_janee_ja").checked == true && tmpValidatie == true ){
				document.getElementById("txtNogMeer").innerHTML = '&nbsp;nog meer';
				document.getElementById("txtVulNulIn").innerHTML = '';
				document.getElementById("divBedragBug2009").style.display = 'block';
				if (document.getElementById("bug_bedrag_aangifte").value == null || document.getElementById("bug_bedrag_aangifte").value == "") {tmpValidatie = false;}
				if (document.getElementById("bug_bedrag_niet_aftrekbaar").value == null || document.getElementById("bug_bedrag_niet_aftrekbaar").value == "") {tmpValidatie = false;}					
				if (document.getElementById("AndereInkomenswijzigingen_janee_ja").checked == false && document.getElementById("AndereInkomenswijzigingen_janee_nee").checked == false) {tmpValidatie = false;}
			} else {
				document.getElementById("divBedragBug2009").style.display = 'none';
			}			
		}
		if ((tmpValidatie == true && document.getElementById("divBedragBug2009").style.display == 'block' && document.getElementById("AndereInkomenswijzigingen_janee_nee").checked == true) || tmpValidatie == false) {
			document.getElementById("AanslagMeerMinder").style.display = 'none';
		} else {
			document.getElementById("AanslagMeerMinder").style.display = 'block';
		}
		if (document.getElementById("AanslagMeerMinder").style.display == 'block' && (document.frmBerekening.verzamelinkomen_meer.value == null || document.frmBerekening.verzamelinkomen_meer.value == "" )) {tmpValidatie = false;}
		// buitenland.
		if (tmpValidatie == true){document.getElementById("AanslagBuitenland").style.display = 'block';}	
		if (document.frmBerekening.inkomen_buitenland_aanslag[0].checked && (document.frmBerekening.verzamelinkomen_buiten.value == null || document.frmBerekening.verzamelinkomen_buiten.value == "")) {tmpValidatie = false;}
		if (!document.frmBerekening.inkomen_buitenland_aanslag[0].checked && !document.frmBerekening.inkomen_buitenland_aanslag[1].checked) {tmpValidatie = false;}
		// vrijstelling.
		if (document.frmBerekening.inkomen_vrijgesteld_aanslag[0].checked && (document.frmBerekening.verzamelinkomen_vrijgesteld_aanslag.value == null || document.frmBerekening.verzamelinkomen_vrijgesteld_aanslag.value == "")) {tmpValidatie = false;}
		if (!document.frmBerekening.inkomen_vrijgesteld_aanslag[0].checked && !document.frmBerekening.inkomen_vrijgesteld_aanslag[1].checked) {tmpValidatie = false;}
	}
	// Jaaropgave
	if (document.getElementById("divTiJaaropgave").style.display == 'block' ) {
		iAantal = parseInt(document.frmBerekening.hoeveel_jaaropgaven.value);
		for (i = 1; i <= iAantal; i++) {
			if ( eval("document.frmBerekening.jaarloon" + i + ".value") == null || eval("document.frmBerekening.jaarloon" + i + ".value") == "" )  {tmpValidatie = false;}
		}
		if (document.frmBerekening.jaarloon_meer.value == null || document.frmBerekening.jaarloon_meer.value == "") {tmpValidatie = false;}
	  	// buitenland
		if (document.frmBerekening.inkomen_buitenland_jaaropgaaf[0].checked && (document.frmBerekening.verzamelinkomen_buiten_jaaropgaaf.value == null || document.frmBerekening.verzamelinkomen_buiten_jaaropgaaf.value == "")) {tmpValidatie = false;}
	  	if (!document.frmBerekening.inkomen_buitenland_jaaropgaaf[0].checked && !document.frmBerekening.inkomen_buitenland_jaaropgaaf[1].checked) {tmpValidatie = false;}
		// vrijgstelling.
		if (document.frmBerekening.inkomen_vrijgesteld_jaaropgaaf[0].checked && (document.frmBerekening.verzamelinkomen_vrijgesteld_jaaropgaaf.value == null || document.frmBerekening.verzamelinkomen_vrijgesteld_jaaropgaaf.value == "")) {tmpValidatie = false;}
		if (!document.frmBerekening.inkomen_vrijgesteld_jaaropgaaf[0].checked && !document.frmBerekening.inkomen_vrijgesteld_jaaropgaaf[1].checked) {tmpValidatie = false;}
	}
	//Loonstrookjes
	if (document.getElementById("divTiLoonstrook").style.display == 'block' ) {
		iAantal = parseInt(document.frmBerekening.hoeveel_loonstrooks.value);
		for (i = 1; i <= iAantal && tmpValidatie == true; i++) {
			if ( eval("document.frmBerekening.sel_maand_vierweken_" + i + ".value") == -1)  {
				tmpValidatie = false; break;
			}	
			if (TabelInkomenValide(i) == false) {
				tmpValidatie = false; break;				
			}
			if ( eval("document.frmBerekening.selLaatsteMaandPeriode_" + i + ".value") == -1)  {tmpValidatie = false; break;}
			if ( eval("document.frmBerekening.vakantiegeld_" + i + ".value") == null || eval("document.frmBerekening.vakantiegeld_" + i + ".value") == "" )  {tmpValidatie = false; break;}			
			if ( eval("document.frmBerekening.bonus_fooi_" + i + ".value") == null || eval("document.frmBerekening.bonus_fooi_" + i + ".value") == "" )  {tmpValidatie = false; break}
		}
  	if (document.frmBerekening.inkomen_buitenland_loonstrook[0].checked && (document.frmBerekening.verzamelinkomen_buiten_loonstrook.value == null || document.frmBerekening.verzamelinkomen_buiten_loonstrook.value == "")) {tmpValidatie = false;}
  	if (!document.frmBerekening.inkomen_buitenland_loonstrook[0].checked && !document.frmBerekening.inkomen_buitenland_loonstrook[1].checked) {tmpValidatie = false;}
		// vrijstelling.
		if (document.frmBerekening.inkomen_vrijgesteld_loonstrook[0].checked && (document.frmBerekening.verzamelinkomen_vrijgesteld_loonstrook.value == null || document.frmBerekening.verzamelinkomen_vrijgesteld_loonstrook.value == "")) {tmpValidatie = false;}
		if (!document.frmBerekening.inkomen_vrijgesteld_loonstrook[0].checked && !document.frmBerekening.inkomen_vrijgesteld_loonstrook[1].checked) {tmpValidatie = false;}	
	}

 	// de Knop berekenen tonen
	if (tmpValidatie == true) {
		document.getElementById("butTi_bereken").disabled=false;
		document.getElementById("infoTibuttons").style.visibility = 'hidden';
		return true;
	} else {
		document.getElementById("butTi_bereken").disabled=true;
		document.getElementById("infoTibuttons").style.visibility = 'visible';
		return false;
	}
}

function TiWissen(){
	ZetInputUit("fsTiInvoer" , false);
	window.location.reload(false);
}

function doTiOpnieuw(strWelkVeld) {
	toonDivs("", "divTiResult", "fsTiUitvoer", "",'');
	ZetInputUit("fsTiInvoer" , false);
	ZetInputUit("fsTiKeuze" , false);
	ZetSelectUit("fsTiInvoer" , false);
	schakelButtons("fsTiButtons", true, "all", true);
	if (strWelkVeld != "") {
		SetFocus(strWelkVeld);
	}
}

function doSwitchPortalTi(oThis){
	iStatus = parseInt(oThis.value);
	vulTiSpan(document.getElementById("TiSelectJaar").value);
}

function doShowResultsDevelopTi(bSwitch){

	if (bSwitch == true){
		var tmpSub = "divTiResult";
		var arrAllDIVs = document.getElementsByTagName("div");
		for (var i=0; i <= arrAllDIVs.length - 1; i++) {
			if ( arrAllDIVs[i].id.substr(0, tmpSub.length) == tmpSub ) {
				document.getElementById(arrAllDIVs[i].id).style.visibility = 'visible';
				document.getElementById(arrAllDIVs[i].id).style.display = 'block'	;	
			}
		}
		toonDivs("divTiResultaat", "", "", "fsTiUitvoer", "", "", "");
	} else if (bSwitch == false){
		toonDivs("", "divTiResult", "fsTiUitvoer", "", "", "", "");
	}	
}

function WriteToDebugTi(txt) {
	document.getElementById("debugTxt").value = document.getElementById("debugTxt").value + "\n" + txt;	
}

// get vars uitlezen (nodig om jaar uit te lezen vanaf url)
var Uri={
	read:function(id)	{	
		var s = location.search.match('(?:\\?|\&)'+id+'=([^\&]*)');
		return s ? unescape(s[1].replace(/\+/g," ")):false
	}
}
 
function initTiJaar(sJaar) {
	if (sJaar == null || sJaar == "") {
		var externalJaar = Uri.read("jaar");
	} else {
		var externalJaar = sJaar;
	}
	if ( externalJaar != false && checkJarenInModule(externalJaar, 'TiSelectJaar') == true ) {	//todo jaren niet hier hardcoden maar bovenin config
		document.frmBerekening.TiSelectJaar.value = externalJaar;
		doTiJaarKeuze(externalJaar);
	} else {
		document.getElementById('fsTiJaarKeuze').style.display = 'block';
	}
}

function initPara() {
	if ( Uri.read("fol3") == "true" )	{ bFOL3call = true; }
	if ( Uri.read("bu") == "true" ) 	{ bBu = true; }
	
	if ( bBu && bFOL3call ) {
		document.getElementById('fsTiKeuze').style.display = 'none';
		doTiAangiftekeuze("ja")
	}
	if ( Uri.read("aanvrager") != "" ) 	{ 
		var tmpWie = Uri.read("aanvrager")
		if (tmpWie == "partner") {
			sWie = "partner";
		} else if (tmpWie == "medebewoner") {
			sWie = "medebewoner";
		} else {
			sWie = "u";
		}
	}
}

function maakTabelInkomen(iTabel, sActie, iDelRij){
	//sActie: add = toevoegen van 1 lege rij
	//				del = verwijderen van de rij met rij-nummer dat bij para3 wordt opgegeven
	//iDelRij: het rijnummer van de rij die verwijderd moet worden.
	
	// maand of vier weken?
	if (document.getElementById("sel_maand_vierweken_" + iTabel).value == 2) {
		var sHeadCol1	= "Vanaf vierweekse periode";
		var sHeadCol2	= "Vierweeks inkomen";
		var classKopCol1 = "tabCol1Vierweken"
		var iMaxRij = 13;
	} else {
		var sHeadCol1	= "Vanaf Maand";
		var sHeadCol2	= "Maandinkomen";
		var classKopCol1 = "tabCol1Maand"		
		var iMaxRij = 12;
	}
	
	// controle of er al een tabel aanwezig is
	// Als deze er al is de gegevens verzamelen
	var aData = new Array()
	if (sActie != "init") {
		aData = collectTabelInkomen(iTabel);
	}
	var iRij = aData.length;
	
	//rij verwijderen
	iDelRij-=1;
	if (sActie == "del" && !isNaN(iDelRij) && iDelRij <= aData.length) {
		aData = delRij(aData, iDelRij);	
		iRij-=1;
	}
	
	if (aData.length > 0) {
		if (iRij > 1) {
			// sorteren van de rijen
			//controleren of er een lege regel in de opsomming staat. 
			var aTemp = new Array();
			var iLegeRij = 0;
			var iGevuldeRij = 0;
			for (var i=0; i < aData.length; i++) {
				if (aData[i][0] != "-1" || (aData[i][1] != "" && aData[i][1] != undefined) ) {
					aTemp[aTemp.length] = aData[i];
					iGevuldeRij++;
				} else {
					iLegeRij++;
				}
			}
			if (iGevuldeRij > 1) {
				aData = qsort( aTemp, 0, iGevuldeRij-1 );
				iRij = aData.length + iLegeRij;
				//if (sActie == "del" && iLegeRij > 0) {iRij+=1;}
			}	else if (iGevuldeRij == 1) {
				aData = aTemp;
				iRij = aData.length + iLegeRij;
			}
		}
	} else {
		var iRij = 1;
	}
	
	//lege rij toevoegen
	if (sActie == "add") {iRij+=1;}

	
	var html  = '<div class="cssTabel" id="tabel_' + iTabel + '">';
	//TABELKOP
	html += '\n\t<div class="koprij">';
	html += '\n\t\t<div class="tabRij">';
	html += '\n\t\t\t<span class="' + classKopCol1 + '">' + sHeadCol1 + '</span>';
	html += '\n\t\t\t<span class="tabCol2">' + sHeadCol2 + '</span>';
	//html += '<img src="../../common/images/help_act.gif" alt="Klik hier voor help over deze vraag." class="clTiBtnInfo" onclick="doHelp(\'divTiHelpKopInkomensregels\', this)"/>';
	html += '\n\t\t</div>';
	html += '\n\t</div>';
	
	//RIJ
	var iLaatsteMaandperiode = -1;
	for (var i=1; i <= iRij; i++) {
		//de verzamelde reeds ingevoerde data terugplaatsen
		var valueInkomen = 'value=""';
		var valueSelMaandPeriode = '-1';
		if (aData.length > 0 &&  i <= aData.length ) {
		var valueSelMaandPeriode = aData[i-1][0];
			var valueInkomen = 'value="' + aData[i-1][1] + '"';
			
		}
		
		html += '\n\t<div class="tabRij">';
		html += '\n\t\t<span class="tabCol1">';
		html += vulSelMaandPeriode(iTabel, i, valueSelMaandPeriode, aData);
		html += '\n\t\t</span>';
		html += '\n\t\t<span class="tabCol2">';
		html += '\n\t\t\t<input type="text" name="inkomen_' + iTabel + '_' + i + '" id="inkomen_' + iTabel + '_' + i + '" class="clInputInkomen" maxlength="6" ' + valueInkomen + ' onkeyup="this.value=checkBedrag(this.value, this.name, false, false, true); berekenVakantiegeld(' + iTabel + ');" onblur="algTiValidatie(); berekenVakantiegeld(' + iTabel + ');" />';										
		html += '\n\t\t</span>';
		html += '\n\t\t<span class="tabCol3">';
		if (iRij > 1) {html += '\n\t\t\t<img onclick="rijVerwijderen(' + iTabel +', ' + i + ')" class="clBtnMin" alt="Klik om deze rij te verwijderen." src="../../common/images/min.png"/>';}
		html += '\n\t\t</span>';
		html += '\n\t\t<span class="tabCol4">';
		if (i == iRij && iRij < iMaxRij) {html += '\n\t\t\t<img onclick="rijToevoegen(' + iTabel +');" class="clBtnPlus" alt="Klik om een rij toe te voegen." src="../../common/images/plus.png"/>';}
		html += '\n\t\t</span>';
		if (i == 1) {html += '<img src="../../common/images/help_act.gif" alt="Klik hier voor help over deze vraag." class="clTiBtnInfo" onclick="doHelpMaandVierWeken(\'divTiHelpInkomensregels\', this, ' + iTabel + ')"/>';}
		html += '\n\t</div>';
		

	}
	document.getElementById("spanTabel_" + iTabel).style.display = 'none';
	document.getElementById("spanTabel_" + iTabel).innerHTML = html;
	document.getElementById("spanTabel_" + iTabel).style.display = 'block';
	document.getElementById("spanLaatsteMaandPeriode_" + iTabel).innerHTML = vulSelLaatsteMaandPeriode(iTabel, aData, sActie);
	if (document.getElementById("selLaatsteMaandPeriode_" + iTabel).value == -1) {document.getElementById("vakantiegeld_" + iTabel).value = null;}
}

function vulSelLaatsteMaandPeriode(iTabel, aData, sActie){
	var iLaatste = -1
	for (var i=0; i < aData.length; i++) {
		if (aData[i][0] > iLaatste){
			iLaatste = parseInt(aData[i][0]);
		}	
	}
	if (document.getElementById("sel_maand_vierweken_" + iTabel).value == 2) {
		var iMaxRij = 13;
		var iDataCol = 2;
	} else {
		var iMaxRij = 12;
		var iDataCol = 1;
	}
	var sValue = iMaxRij;
	if (document.getElementById("spanLaatsteMaandPeriode_" + iTabel).innerHTML != "" && sActie != "init") {
		sValue = document.getElementById("selLaatsteMaandPeriode_" + iTabel).value;		
	}
	
	var html = '<select value="' + sValue + '" name="selLaatsteMaandPeriode_' + iTabel + '" id="selLaatsteMaandPeriode_' + iTabel + '" onchange="berekenVakantiegeld(' + iTabel + '); algTiValidatie();" class="selMaandPeriode">';
	html +='\n\t<option value="-1">&nbsp;</option>';
	if (iLaatste == iMaxRij){ sValue = iMaxRij;}
	for (var i=(iLaatste===-1?0:iLaatste-1); i < iMaxRij ; i++) {
		if (i == parseInt(sValue) - 1 && sActie != "init") {sSelected = ' selected="selected"';} else {sSelected = '';}
		html += '\n\t\<option value="' + aMaandenEnPeriodes[i][0] + '"'+ sSelected +'>' + aMaandenEnPeriodes[i][iDataCol] + '</option>';
	}
	
	html +='\n</select>';
	
	return html;

}

function MaandVierWeken (oThis, iTabel){
	if (oThis.value != -1 ) {
		if (oThis.value == 1 ) {
			var sMaandVierweken = "maand ";
			var sMaandPeriode = "maand";
			var sOverigInkomen = "13e maand";	
		} else if (oThis.value == 2 ) {
			var sMaandVierweken = "vierweekse periode ";
			var sMaandPeriode = "periode";
			var sOverigInkomen = "extra periode";			
		}
		maakTabelInkomen(iTabel, "init");		
		document.getElementById("vakantiegeld_" + iTabel).value = "";
		document.getElementById("bonus_fooi_" + iTabel).value = "";
		document.getElementById("txt_maand_vierweken_" + iTabel).innerHTML = sMaandVierweken;
		document.getElementById("txt_maand_periode_" + iTabel).innerHTML = sMaandVierweken;
		document.getElementById("txt_maand_periode_" + (iTabel+5)).innerHTML = sMaandVierweken;
		document.getElementById("txt_maand_periode_overig_inkomen_" + iTabel).innerHTML = sOverigInkomen;
		document.getElementById("divTiPeriodiciteit_" + iTabel).style.display = 'block';
	} else {
		document.getElementById("divTiPeriodiciteit_" + iTabel).style.display = 'none';
	}
	algTiValidatie();
}

function doHelpMaandVierWeken (helpId, oThis, iTabel){
	if (document.getElementById("sel_maand_vierweken_" + iTabel).value == 1 ) {
		var sMaandVierweken = "maand ";
		var sMaandPeriode = "maand";
		var sOverigInkomen = "13e maand";
		displayClass("block", "txtHelpInkomensregels_maand", "div");
		displayClass("none", "txtHelpInkomensregels_vierweken", "div");
		displayClass("none", "txtHelpVakantiegeld_vierweken", "div");
		displayClass("block", "txtHelpVakantiegeld_maand", "div");
	} else if (document.getElementById("sel_maand_vierweken_" + iTabel).value == 2 ) {
		var sMaandVierweken = "vierweekse periode ";
		var sMaandPeriode = "periode";
		var sOverigInkomen = "extra periode";			
		displayClass("none", "txtHelpInkomensregels_maand", "div");
		displayClass("block", "txtHelpInkomensregels_vierweken", "div");
		displayClass("none", "txtHelpVakantiegeld_maand", "div");
		displayClass("block", "txtHelpVakantiegeld_vierweken", "div");
	}
	doHelp(helpId, oThis);

}


function displayClass(sSwith, sClass, sType){
	var aElem = getElementsByClassName(document, sType, sClass); 
	for (var i=0; i < aElem.length; i++) {
		aElem[i].style.display = sSwith;
	}
}

function delRij(aData, iRij) {
	var aRet = new Array();
	for (var i=0; i < aData.length ; i++) {
		if (i != iRij) {
			aRet[aRet.length] = aData[i];
		}
	}
	return aRet
}

function rijVerwijderen(iTabel, iRij){
	if (document.getElementById('divTiResultToetsingsinkomen').style.display == "none") {
		maakTabelInkomen(iTabel, 'del', iRij);
		algTiValidatie('berekenVakantiegeld');
	}
}

function rijToevoegen(iTabel){
	if (document.getElementById('divTiResultToetsingsinkomen').style.display == "none") {
		maakTabelInkomen(iTabel, 'add');
		algTiValidatie();
	}
}

function vulSelMaandPeriode(iTabel, iRij, sValue, aData){
	if (document.getElementById("sel_maand_vierweken_" + iTabel).value == 2) {
		var iMaxRij = 13;
		var iDataCol = 2;
	} else {
		var iMaxRij = 12;
		var iDataCol = 1;
	}
	var html = '\n\t\t\t<select name="sel_maand_periode_' + iTabel + '_' + iRij + '" id="sel_maand_periode_' + iTabel + '_' + iRij + '" value="' + sValue + '" onchange="sortTabelInkomen(' + iTabel + '); berekenVakantiegeld(' + iTabel + ');" class="selMaandPeriode">'
	html += '\n\t\t\t\t<option value="-1">&nbsp;</option>';
	for (var i=0; i < iMaxRij ; i++) {
		if (sValue == aMaandenEnPeriodes[i][0] || magMaandSelecteren(aMaandenEnPeriodes[i][0], aData ) == true ) {
			if (sValue == aMaandenEnPeriodes[i][0]) {sSelected = ' selected="selected"';} else {sSelected = '';}
			html += '\n\t\t\t\t<option value="' + aMaandenEnPeriodes[i][0] + '"'+ sSelected +'>' + aMaandenEnPeriodes[i][iDataCol] + '</option>';
		}
	}
	html +='\n\t\t\t</select>';
	return html;
}

function sortTabelInkomen(iTabel) {
	maakTabelInkomen(iTabel);
	algTiValidatie();
}

function magMaandSelecteren(sWaarde, aData ){
	for (var i=0; i < aData.length ; i++) {
		if (sWaarde == aData[i][0]) {
			return false;
		}	
	}
	return true;
}

function collectTabelInkomen(iTabel) {
	var aData = new Array();
	if (document.getElementById("divTiPeriodiciteit_" + iTabel).innerHTML != "") {
		//maand of vier weken?
		if (document.getElementById("divTiPeriodiciteit_" + iTabel).innerHTML.indexOf("maand")) {
		  var srtLoon = "maand";
		} else {
			var srtLoon = "vierweken";
		}
	
		var bDoorgaan = true;

		for (var i = 1; bDoorgaan != false; i++) {
			try {
				var sSel = document.getElementById("sel_maand_periode_" + iTabel + "_" + i).value;
				var sInkomen = document.getElementById("inkomen_" + iTabel + "_" + i).value;
				aData[i-1] = new Array(2);
				aData[i-1][0] = parseInt(sSel);
				aData[i-1][1] = sInkomen;
			
			} catch(e) {
				bDoorgaan = false;
			}
		}
	}
	return aData;
}

function TabelInkomenValide(j) {
	var aData = collectTabelInkomen(j);
	var bValidate = true;
	var bRijGevuld = false;
	for (var i=0; i < aData.length; i++) {
		if ( (aData[i][0] != -1 && (aData[i][1] == undefined || aData[i][1] == ""  )) || (aData[i][0] == -1 && aData[i][1] != undefined && aData[i][1] != ""  ) ) {	
			bValidate = false;
		} else if ( aData[i][0] != -1 && aData[i][1] != undefined && aData[i][1] != ""  ) {
				bRijGevuld = true;
		}
	} 
	if (bRijGevuld == true && bValidate == true) {
		return true;
	} else {
		return false;
	}
}

function getMaandenPeriodes(){
	var aRet = new Array();
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 1 ; aRet[aRet.length - 1][1] = 'januari'  ; aRet[aRet.length - 1][2] = '1 (week 1 t/m 4)'   ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 2 ; aRet[aRet.length - 1][1] = 'februari' ; aRet[aRet.length - 1][2] = '2 (week 5 t/m 8)'   ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 3 ; aRet[aRet.length - 1][1] = 'maart'    ; aRet[aRet.length - 1][2] = '3 (week 9 t/m 12)'  ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 4 ; aRet[aRet.length - 1][1] = 'april'    ; aRet[aRet.length - 1][2] = '4 (week 13 t/m 16)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 5 ; aRet[aRet.length - 1][1] = 'mei'      ; aRet[aRet.length - 1][2] = '5 (week 17 t/m 20)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 6 ; aRet[aRet.length - 1][1] = 'juni'     ; aRet[aRet.length - 1][2] = '6 (week 21 t/m 24)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 7 ; aRet[aRet.length - 1][1] = 'juli'     ; aRet[aRet.length - 1][2] = '7 (week 25 t/m 28)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 8 ; aRet[aRet.length - 1][1] = 'augustus' ; aRet[aRet.length - 1][2] = '8 (week 29 t/m 32)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 9 ; aRet[aRet.length - 1][1] = 'september'; aRet[aRet.length - 1][2] = '9 (week 33 t/m 36)' ;
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 10; aRet[aRet.length - 1][1] = 'oktober'  ; aRet[aRet.length - 1][2] = '10 (week 37 t/m 40)';
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 11; aRet[aRet.length - 1][1] = 'november' ; aRet[aRet.length - 1][2] = '11 (week 41 t/m 44)';
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 12; aRet[aRet.length - 1][1] = 'december' ; aRet[aRet.length - 1][2] = '12 (week 45 t/m 48)';
	aRet[aRet.length] = new Array(3); aRet[aRet.length - 1][0] = 13; aRet[aRet.length - 1][1] = ''         ; aRet[aRet.length - 1][2] = '13 (week 49 t/m 52)';
	return aRet
}

//Begin Sorteer-script incl. sorteren van multi-array's
function compare ( array, left, right ) {
	var depth = 0;    
	while ( depth < array[left].length && depth < array[right].length ) {
		if ( array[left][depth] < array[right][depth] ) {
			return 1;
		} else if ( array[left][depth] > array[right][depth] ) {
			return -1;
		}
		depth++;	    
	}
	return 0;
}

function qsort ( array, lo, hi ) {
  var low  = lo;
  var high = hi;
  mid = Math.floor( (low+high)/2 );
  do {
    while ( compare(array, low,  mid) > 0 )
      low++;
    while ( compare(array, high, mid) < 0 )
      high--;
    if ( low <= high ) {
      swap( array, low, high );
      low++;
      high--;
    }
  } while ( low <= high );
  if ( high > lo ) {
    qsort( array, lo, high );
	}
  if ( low < hi ) {
    qsort( array, low, hi );
	}
	return array;
}

function swap ( a, i, j ) {
  var tmp = a[i]; 
  a[i] = a[j];
  a[j] = tmp;
}
//Einde Sorteer-script incl. sorteren van multi-array's

function showBerekeningDetailsTi(bSwitch) {
	bShowBerekeningDetailsTi = bSwitch;	
	if (bSwitch == true){
		document.getElementById('divDebugTi').style.display = 'block';
	} else {
		document.getElementById('divDebugTi').style.display = 'none';
	}	
}