var ALLOW	= 1;
var DENY	= 2;
var JUMP	= 3;

//contactmomenten
var HUREN		= 1;
var KOPEN		= 2;
var BOUWEN		= 3;
var VERBOUWEN	= 4;
var BOUWGROND	= 5;
var SLOPEN		= 6;
var GROEN		= 7;
var TOEGANGSWEG	= 8;

function isN(e, decSepBeh, jumpId)
{
	if (decSepBeh === undefined) { decSepBeh = DENY; }
	
	var key;
	var keychar;
	var targ;
	
	if (window.event)	{ key = window.event.keyCode; e = window.event; }
	else if (e)			{ key = e.which; }
	else				{ return true; } // unsupported browsers will allow all input
	
	if (e.target)			{ targ = e.target; }
	else if (e.srcElement)	{ targ = e.srcElement; }
	
	keychar = String.fromCharCode(key);
	
	// control keys
	if (e.altKey || e.ctrlKey || e.metaKey || key===null || key===0 || key==8 || key==9 || key==13 || key==27)
	{
		return true;
	}
	// numbers
	else if (("0123456789").indexOf(keychar) > -1)
	{
		return true;
	}
	// period or comma if allowed
	else if ((".,").indexOf(keychar) > -1)
	{
		switch (decSepBeh)
		{
			case ALLOW :
				// only one allowed!
				return targ.value.indexOf(".") == -1 && targ.value.indexOf(",") == -1;
			case JUMP :
				document.getElementById(jumpId).select();
				document.getElementById(jumpId).focus();
				return false;
			case DENY :
				return false;
		}
	}
	// everything else
	else
	{
		return false;
	}
}

function stap_4_1(hide)
{
	document.getElementById("stap-4-domi").style.display = hide ? "none" : "block";
}

function stap_6_2(hide)
{
	document.getElementById("stap-6-handelszaak").style.display = hide ? "none" : "block";
}

function stap_7_1(n_woningen, contactmoment)
{
	if(n_woningen > 0)
	{
		document.getElementById("stap-7-uitz-voorw-onroerend-goed").style.display = "block";
	}
	else
	{
		document.getElementById("stap-7-uitz-voorw-onroerend-goed").style.display = "none";
	}
	
	
	// bail out als het veldje wordt leeggemaakt
	if (n_woningen === "")
	{
		document.getElementById("stap-7-waarde-woning").style.display = "block";
		document.getElementById("stap-7-openstaande-schuld-woning").style.display = "block";
		
		document.getElementById("stap-7-aantal-campingverblijven").style.display = "block";
		document.getElementById("stap-7-aantal-onteigeningen-ed").style.display = "block";
		
		document.getElementById("stap-7-leeftijd-oudste-gezinslid").style.display = "block";
		
		switch (contactmoment)
		{
			case HUREN :
				document.getElementById("stap-7-verkoop-woning").style.display = "block";
				break;
		}
		return;
	}
	
	switch (Number(n_woningen))
	{
		case 0 :
			document.getElementById("stap-7-waarde-woning").style.display = "none";
			document.getElementById("stap-7-openstaande-schuld-woning").style.display = "none";
			
			document.getElementById("stap-7-aantal-campingverblijven").style.display = "none";
			document.getElementById("stap-7-aantal-onteigeningen-ed").style.display = "none";
			
			document.getElementById("stap-7-leeftijd-oudste-gezinslid").style.display = "none";
			
			switch (contactmoment)
			{
				case HUREN :
					document.getElementById("stap-7-verkoop-woning").style.display = "none";
					break;
			}
			break;
		case 1 :
			document.getElementById("stap-7-waarde-woning").style.display = "block";
			document.getElementById("stap-7-openstaande-schuld-woning").style.display = "block";
			
			document.getElementById("stap-7-aantal-campingverblijven").style.display = "none";
			document.getElementById("stap-7-aantal-onteigeningen-ed").style.display = "none";
			
			document.getElementById("stap-7-leeftijd-oudste-gezinslid").style.display = "block";
			
			switch (contactmoment)
			{
				case HUREN :
					document.getElementById("stap-7-verkoop-woning").style.display = "block";
					break;
			}
			break;
		default :
			document.getElementById("stap-7-aantal-campingverblijven").style.display = "block";
			document.getElementById("stap-7-aantal-onteigeningen-ed").style.display = "block";
			
			document.getElementById("stap-7-leeftijd-oudste-gezinslid").style.display = "none";
			
			switch (contactmoment)
			{
				case VERBOUWEN :
					document.getElementById("stap-7-waarde-woning").style.display = "block";
					document.getElementById("stap-7-openstaande-schuld-woning").style.display = "block";
					break;
				case HUREN :
					document.getElementById("stap-7-verkoop-woning").style.display = "none";
					// geen break!
				default :
					document.getElementById("stap-7-waarde-woning").style.display = "none";
					document.getElementById("stap-7-openstaande-schuld-woning").style.display = "none";
					break;
			}
			break;
	}
}

function stap_7_9(n_ander_onroerend)
{
	// bail out als het veldje wordt leeggemaakt
	if (n_ander_onroerend === "")
	{
		document.getElementById("stap-7-netto-ki-zonder").style.display = "block";
		return;
	}
	
	switch (Number(n_ander_onroerend))
	{
		case 0 :
			document.getElementById("stap-7-netto-ki-zonder").style.display = "none";
			break;
		default :
			document.getElementById("stap-7-netto-ki-zonder").style.display = "block";
			break;
	}
}

/* volgorde van stap_8_* zodanig dat functies pas na hun declaratie worden opgeroepen */

function stap_8_5_6()
{
	var aantal_gezinsleden = document.getElementById("aantal_gezinsleden").value;
	var n_kind = document.getElementById("n_kind").value;
	var n_kind_handicap = document.getElementById("n_kind_handicap").value;
	var n_handicap = document.getElementById("n_handicap").value;
	
	var _display = (aantal_gezinsleden === "1" || n_kind === "0" || n_kind_handicap === "0") && n_handicap === "0" ? "none" : "block";
	
	document.getElementById("stap-8-graad-handicap").style.display = _display;
}

function stap_8_3(n_kind)
{
	stap_8_5_6();
	
	// bail out als het veldje wordt leeggemaakt
	if (n_kind === "")
	{
		document.getElementById("stap-8-n-kind-lt-3").style.display = "block";
		document.getElementById("stap-8-n-kind-handicap").style.display = "block";
		document.getElementById("stap-8-n-handicap-behalve-kind").style.display = "inline";
		if (document.getElementById("stap-8-n-handicap-behalve-kind-error")) { document.getElementById("stap-8-n-handicap-behalve-kind-error").style.display = "inline"; }
		return;
	}
	
	switch (Number(n_kind))
	{
		case 0 :
			document.getElementById("stap-8-n-kind-lt-3").style.display = "none";
			document.getElementById("stap-8-n-kind-handicap").style.display = "none";
			document.getElementById("stap-8-n-handicap-behalve-kind").style.display = "none";
			if (document.getElementById("stap-8-n-handicap-behalve-kind-error")) { document.getElementById("stap-8-n-handicap-behalve-kind-error").style.display = "none"; }
			break;
		default :
			document.getElementById("stap-8-n-kind-lt-3").style.display = "block";
			document.getElementById("stap-8-n-kind-handicap").style.display = "block";
			document.getElementById("stap-8-n-handicap-behalve-kind").style.display = "inline";
			if (document.getElementById("stap-8-n-handicap-behalve-kind-error")) { document.getElementById("stap-8-n-handicap-behalve-kind-error").style.display = "inline"; }
			break;
	}
}

function stap_8_8(hide)
{
	var _display = hide ? "none" : "block";
	
	document.getElementById("stap-8-inkomen-gezinsleden").style.display = _display;
}

function stap_8_2(aantal_gezinsleden)
{
	// bail out als het veldje wordt leeggemaakt
	if (aantal_gezinsleden === "")
	{
		document.getElementById("stap-8-n-kind").style.display = "block";
		document.getElementById("stap-8-n-kind-lt-3").style.display = "block";
		document.getElementById("stap-8-n-kind-handicap").style.display = "block";
		document.getElementById("stap-8-gezinshoofd-alleenverdiener").style.display = "block";
		stap_8_3(document.getElementById("n_kind").value);
		if (document.getElementById("stap-8-inkomen-gezinsleden")) { stap_8_8(document.getElementById("gezinshoofd_alleenverdiener_1").checked); }
		return;
	}
	
	switch (Number(aantal_gezinsleden))
	{
		case 1 :
			document.getElementById("stap-8-n-kind").style.display = "none";
			document.getElementById("stap-8-n-kind-lt-3").style.display = "none";
			document.getElementById("stap-8-n-kind-handicap").style.display = "none";
			document.getElementById("stap-8-n-handicap-behalve-kind").style.display = "none";
			if (document.getElementById("stap-8-n-handicap-behalve-kind-error")) { document.getElementById("stap-8-n-handicap-behalve-kind-error").style.display = "none"; }
			document.getElementById("stap-8-gezinshoofd-alleenverdiener").style.display = "none";
			stap_8_5_6();
			if (document.getElementById("stap-8-inkomen-gezinsleden")) { stap_8_8(true); }
			break;
		default :
			document.getElementById("stap-8-n-kind").style.display = "block";
			document.getElementById("stap-8-n-kind-lt-3").style.display = "block";
			document.getElementById("stap-8-n-kind-handicap").style.display = "block";
			document.getElementById("stap-8-gezinshoofd-alleenverdiener").style.display = "block";
			stap_8_3(document.getElementById("n_kind").value);
			if (document.getElementById("stap-8-inkomen-gezinsleden")) { stap_8_8(document.getElementById("gezinshoofd_alleenverdiener_1").checked); }
			break;
	}
}