function controleer(formnaam, str){
	foutkleur = "#FF5566";
	err = "";
	filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	velden = str.split(';');
	for(i=0; i<velden.length; i++){
		temp = velden[i].split(',');
		controle = temp[1];
		
		switch(controle){
			case 'S':
				obj = (document.getElementById(temp[0]))? document.getElementById(temp[0]) : document.getElementByName(temp[0]);
				obj.style.backgroundColor = "";
				if(obj.value == ""){
					err += "\n '" + obj.name + "' moet ingevuld zijn";
					obj.style.backgroundColor = foutkleur;
				}
				break;
			case 'E':
				obj = (document.getElementById(temp[0]))? document.getElementById(temp[0]) : document.getElementByName(temp[0]);
				obj.style.backgroundColor = "";
				if(!filter.test(obj.value)){
					err += "\n '" + obj.name + "' moet een geldig email-adres zijn";
					obj.style.backgroundColor = foutkleur;
				}
				break;
			case 'C':
				obj = document.forms[formnaam].elements[temp[0]];
				obj.style.backgroundColor = "";
				if(obj.checked == false){
					err += "\n '" + obj.name + "' moet geselecteerd zijn";
					obj.style.backgroundColor = foutkleur;
				}
				break;
			case 'R':
				obj = document.forms[formnaam].elements[temp[0]];
				checked = false;
				for(t=0; t<obj.length; t++){
					obj[t].style.backgroundColor = "";
					if(obj[t].checked == true) checked = true;
				}
				if(checked == false){
					err += "\n '" + obj[0].name + "' moet gekozen zijn";
					for(t=0; t<obj.length; t++){
						obj[t].style.backgroundColor = foutkleur;
					}
				}
				break;
			case 'D':
				dag = document.forms[formnaam].elements[temp[0] + 'dag'];
				maand = document.forms[formnaam].elements[temp[0] + 'maand'];
				jaar = document.forms[formnaam].elements[temp[0] + 'jaar'];
				if(check_datum(dag, maand, jaar) == false){
					err += "\n '" + temp[0] + "' moet een geldige datum zijn";
					dag.style.backgroundColor = foutkleur;
					maand.style.backgroundColor = foutkleur;
					jaar.style.backgroundColor = foutkleur;
				}else{
					dag.style.backgroundColor = "";
					maand.style.backgroundColor = "";
					jaar.style.backgroundColor = "";
				}
		}
	}
	
	if(err == ""){
		return true;
	}else{
		alert("Gelieve eerst volgende velden in orde te brengen: \n" + err);
		return false;
	}
}

function check_datum(dag, maand, jaar)
{
	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var day = parseInt(dag.value);
	var month = parseInt(maand.value);
	var year = parseInt(jaar.value);

	if (!day || !month || !year)
		return false;

	if (year/4 == parseInt(year/4))
		monthLength[1] = 29;

	if (day > monthLength[month-1])
		return false;

	return true;
}
