var foutInDezeRun;

function controleer(formulier, taal)
{
	foutInDezeRun = false;

	controleerVeld(formulier.elements.Reactie,"");
	controleerVeld(formulier.elements.Naam,"");
	controleerVeld(formulier.elements.Telefoon,"");
	controleerVeld(formulier.elements.Email,"^[^@]+@[^@]+.[a-z]{2,}$");

	if (taal == 'en') {
		var sMelding = "Please fill in the colored fields correctly.";	
	} else if (taal == 'de') {
		var sMelding = "Bitte füllen Sie die gefärbte felder aus.";	
	} else {
		var sMelding = "Gelieve de gekleurde velden correct in te vullen.";	
	}

	if (foutInDezeRun)
	{
		if (document.getElementById("melding") == undefined) {
			objMelding = document.createElement("div");
			objMelding.setAttribute("id", "melding");
			objMelding.innerHTML = sMelding;
			formulier.appendChild( objMelding );
		}
		return (false);
	} else {
		return (true);
	}
}

// Controleer of de waarde in het veld voldoet aan 
// de reguliere expressie: format. Als format niet
// wordt opgegeven, dan controleren of het veld 
// gevuld is.
function controleerVeld(veld, format)
{
	var err;
	if (format == "") {
		err = veld.value == "";
	} else {
		err = veld.value == "" || 
				veld.value.search(format) == -1;
	}
	if(err)
	{
		veld.className = 'veldFout';
		if (!foutInDezeRun) { // Focus het eerste veld met een fout
			veld.focus();
		}
		foutInDezeRun = true;
	}
	else
	{
		veld.className = 'veld';
	}
}

// Controleer of voor de gegeven option group een
// optie is geselecteerd.
function controleerOptionGroup(group, veld)
{
	var selectedItems = 0;
	for (var i = 0; i < group.length; i++) {
		if (group[i].checked == true) {
			selectedItems++;
		}
	}
	
	if(selectedItems == 0)
	{
		veld.className = 'foutMarkerOn';
		foutInDezeRun = true;
	}
	else
	{
		veld.className = 'foutMarkerOff';
	}
}

function textCounter(field, maxlimit)
{
   if (field.value.length > maxlimit)
   {
       field.value = field.value.substring(0, maxlimit);
   }
}

// Zoek een child met id=child_id in de children van
// component. Geeft null terug als het child_id niet
// is gevonden.
function getChildElementById(component, child_id) {
	var children = new Array();
	var result = null;
	children.push(component);
	
	while (result == null && children.length > 0) {
		child = children.pop();

		if (child.id && child.id == child_id) {
			result = child;
		} else if (child.hasChildNodes() && child.childNodes != null) {
			children2 = children;
			for (var i=0; i<child.childNodes.length; i++) {
				children.push(child.childNodes[i]);
			}
		}
	}
	
	return result;
}