var voornaam, achternaam, bedrijf, adres, gemeente, postcode, email, telefoon, comments;
var velden = new Array(1);
var fout;
var kleurVeldOk = "#FFFFFF";
var kleurVeldNok = "#FF0000";

function init()
{
	wisGegevens();
	email = document.getElementById('email');
	velden[0] = email;
}

function wisGegevens()
{
	document.getElementById('voornaam').value = "";
	document.getElementById('achternaam').value = "";
	document.getElementById('bedrijf').value = "";
	document.getElementById('adres').value = "";
	document.getElementById('gemeente').value = "";
	document.getElementById('postcode').value = "";
	document.getElementById('telefoon').value = "";
	document.getElementById('email').value = "";
	document.getElementById('comments').value = "";
}

function valideerGegevens()
{
	fout = "Volgende fouten zijn aanwezig: \n";
	var controle = true;
	for(var i=0;i<velden.length;i++)
	{
		controle = controleerVeld(velden[i]) && controle;
	}
	
	if(controle)
	{
		document.forms.contact.submit();
	}
	else
	{
		if(fout ==  "Volgende fouten zijn aanwezig: \n")
		{
			fout += "Vul je emailadres in aub. \n";
		}
		alert(fout);
	}
}

/* onderstaande functie controleert of het veld leeg is en of het aan een bepaald formaat voldoet
Je krijgt de waarde true terug als het veld in orde is, false indien er iets mis is.
*/
function controleerVeld(veld)
{
 	if(controleerLeegVeld(veld))
	{
		return false;
	}
	else
	{
		switch (veld.id)
		{
			case 'voornaam':
				return controleerTekst(veld);
				break;
			case 'achternaam':
				return controleerTekst(veld);
				break;
			case 'adres':
				return controleerTekst(veld);
				break;
			case 'bedrijf':
				return controleerTekst(veld);
				break;
			case 'gemeente':
				return controleerTekst(veld);
				break;
			case 'postcode':
				return controleerTekst(veld);
				break;
			case 'email':
				return controleerMail(veld);
				break;
			case 'telefoon':
				return controleerTekst(veld);
				break;
			case 'comments':
				return controleerTekst(veld);
				break;
		};
	return false;
	};
}

function controleerLeegVeld(veld)
{		
	/*deze functie geeft de waarde true terug als een veld leeg is*/
	if(veld.value == "" || veld.value == null)
	{
		veld.style.backgroundColor = kleurVeldNok;
		return true;
	}
	else
	{
		veld.style.backgroundColor = kleurVeldOk;
		return false;
	};
}

function controleerTekst(veld)
{
	/*deze functie zorgt ervoor dat er alleen alfabetische karakters, een spatie, een aanhalingsteken 
	en een liggende streepje in een veld mogen voorkomen. Het resultaat is true als er een geldig formaat is ingegeven.
	Voorbeeld geldig: Hof van 't plezier-en-dans
	Voorbeeld ongeldig: Hof123*/
	
	var patroon = /^([a-z\s'\-\0-9\A-Z]+)$/;
	
	if (!patroon.test(veld.value)) 
	{
		veld.style.backgroundColor = kleurVeldNok;
		fout += 'foutieve tekens in ' + veld.id + 'veld \n';
		return false;
	}
	else
	{
		veld.style.backgroundColor = kleurVeldOk;
		return true;
	};
}

function controleerMail(veld) 
{
	var emailFilter = /^.+@.+\..{2,3}$/;

	if (!(emailFilter.test(veld.value))) 
	{ 
		veld.style.backgroundColor = kleurVeldNok;
		fout += 'onjuist emailadres \n';
		return false;
	}
	else
	{
		veld.style.backgroundColor = kleurVeldOk;
		return true;
	};
}
