function checkForm(form){
    removeError('foutdiv');
	var naam = form.contactName.value;
	var email = form.contactEmail.value;
	var bericht = form.contactMessage.value;
	//var spam = form.contactSpam.value;
	dojo.style('contactEmail','border','1px solid #a7a6aa');
	dojo.style('contactMessage','border','1px solid #a7a6aa');
	//dojo.style('contactSpam','border','1px solid #a7a6aa');
	dojo.style('contactName','border','1px solid #a7a6aa');

	var returnvar = true;
	var fout = '';
	
	//controle op de ingegeven naam
	var naamfout = document.getElementById('naamfmelding');
	var naamjuist = document.getElementById('naammelding');
	if(naam.length<=1){
		fout="U dient uw naam in te geven!";	
		newOne(fout);
		dojo.style('contactName','border','1px solid red');
		naamjuist.style.display='none';
		naamfout.style.display='block';
		returnvar=false;	
	}
	else{
		dojo.style('contactName','border','1px solid #a7a6aa');
		naamjuist.style.display='block';
		naamfout.style.display='none';
	}

	// controle op het ingegeven emailadres
	var emailfout = document.getElementById('emailfmelding');
	var emailjuist = document.getElementById('emailmelding');
	if(email.length!=0){
		// Controle op geldig emailadres
		if(!checkEmail2(email)){
			fout="Het opgegeven emailadres is niet geldig!";	
			newOne(fout);
			dojo.style('contactEmail','border','1px solid red');
			emailjuist.style.display='none';
			emailfout.style.display='block';
			returnvar=false;
		}	
		else{
			dojo.style('contactEmail','border','1px solid #a7a6aa');
			emailjuist.style.display='block';
			emailfout.style.display='none';
		}
	}
	else{
		fout="U dient een emailadres in te geven!";	
		newOne(fout);
		dojo.style('contactEmail','border','1px solid red');
		emailjuist.style.display='none';
		emailfout.style.display='block';
		returnvar=false;
	}
	
	// controle op het ingegeven bericht
	var berichtfout = document.getElementById('berichtfmelding');
	var berichtjuist = document.getElementById('berichtmelding');
	if(bericht.length<=4){
		fout="U dient een bericht in te geven!";	
		newOne(fout);
		dojo.style('contactMessage','border','1px solid red');
		berichtjuist.style.display='none';
		berichtfout.style.display='block';
		returnvar=false;
	}
	else{
		dojo.style('contactMessage','border','1px solid #a7a6aa');
		berichtjuist.style.display='block';
		berichtfout.style.display='none';
	}
	
	// controle op de ingegeven spamcheck
	/*var spamfout = document.getElementById('spamfmelding');
	var spamjuist = document.getElementById('spammelding'); */
	// controle op de ingegeven spamcheck
	/*if(spam.length==0){
		fout="U dient de uitkomst van de spamcontrole in te vullen!";	
		newOne(fout,'fout');
		dojo.style('contactSpam','border','1px solid red');
		spamjuist.style.display='none';
		spamfout.style.display='block';
		returnvar=false;
	}
	else{
		if(spam!='twee'){
			fout="Dat is niet de juiste uitkomst van de spamcontrole!";	
			newOne(fout,'fout');
			dojo.style('contactSpam','border','1px solid red');
			spamjuist.style.display='none';
			spamfout.style.display='block';
			returnvar=false;
		}
		else{
			dojo.style('contactSpam','border','1px solid #a7a6aa');
			spamfout.style.display='none';
			spamjuist.style.display='block';
		}
	}*/
	return returnvar;
	
}
/*  Controleren of het een geldig emailadres is
	
	@return false als het emailadres NIET klopt
	@return true als het emailadres overéénkomt met het patroon
	
*/
function checkEmail2(email){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(email)) return true;
		else return false;
}

/*  Deze functie verwijderd alle elementen
	uit een gegeven element 
*/
function removeError(foutdiv){
	var foutdiv = document.getElementById(foutdiv);
	while(foutdiv.firstChild != null){
		foutdiv.removeChild(foutdiv.firstChild);
	}
}

/*  Deze functie maakt een nieuwe foutmelding 
	met een gegeven fout 
*/
function newOne(fout){
	var newEl = document.createElement('p');
	var newTx = document.createTextNode(fout);
	newEl.appendChild(newTx);
	var fdiv = document.getElementById('foutdiv');
	fdiv.appendChild(newEl);
	fdiv.style.marginBottom="10px";
    fdiv.style.fontcolor="red";
}

/* 
Functie voor het naam veld te controlen 
*/
function checkName(name){
	var naamfout = document.getElementById('naamfmelding');
	var naamjuist = document.getElementById('naammelding');
	// als de naam niet langer is of gelijk is aan 1
	if(name.length<=1){
		dojo.style('contactName','border','1px solid red');
		naamjuist.style.display='none';
		naamfout.style.display='block';
	}
	else{
		dojo.style('contactName','border','1px solid #a7a6aa');
		naamjuist.style.display='block';
		naamfout.style.display='none';
	}
}

/* 
Functie voor het email veld te controlen 
*/
function checkEmail(email){
	var emailfout = document.getElementById('emailfmelding');
	var emailjuist = document.getElementById('emailmelding');
	// als de email lengthe niet gelijk is aan 0
	if(email.length!=0){
		// Controle op geldig emailadres
		if(!checkEmail2(email)){
			dojo.style('contactEmail','border','1px solid red');
			emailjuist.style.display='none';
			emailfout.style.display='block';
		}	
		else{
			dojo.style('contactEmail','border','1px solid #a7a6aa');
			emailjuist.style.display='block';
			emailfout.style.display='none';
		}
	}
	else{
		dojo.style('contactEmail','border','1px solid red');
		emailjuist.style.display='none';
		emailfout.style.display='block';
	}
}

/* 
Functie voor het bericht veld te controlen 
*/
function checkMessage(message){
	var berichtfout = document.getElementById('berichtfmelding');
	var berichtjuist = document.getElementById('berichtmelding');
	// als het bericht niet langer is of gelijk is aan 1
	if(message.length<=4){
		dojo.style('contactMessage','border','1px solid red');
		berichtjuist.style.display='none';
		berichtfout.style.display='block';
	}
	else{
		dojo.style('contactMessage','border','1px solid #a7a6aa');
		berichtjuist.style.display='block';
		berichtfout.style.display='none';
	}
}
/* 
Functie voor het spaminvoer veld te controlen 
*/

function checkSpam(spam){
	var spamfout = document.getElementById('spamfmelding');
	var spamjuist = document.getElementById('spammelding');
	// controle op de ingegeven spamcheck
	if(spam.length==0){
		dojo.style('contactSpam','border','1px solid red');
		spamjuist.style.display='none';
		spamfout.style.display='block';
	}
	else{
		if(spam!='twee'){
			dojo.style('contactSpam','border','1px solid red');
			spamjuist.style.display='none';
			spamfout.style.display='block';
		}
		else{
			dojo.style('contactSpam','border','1px solid #a7a6aa');
			spamfout.style.display='none';
			spamjuist.style.display='block';
		}
	}
}

// leegmaken van het mailObject
	var mailObject = false;

// aanmaken van het mailObject
	mailObject = createObject();
	
/*
Functie om een XMLHttpRequest object aan te maken
Laatste update : 25-03-2009

!! AFGEWERKT !!

*/
function createObject(){
	// firefox / chrome e.d.
	if(window.XMLHttpRequest){
		xHRObject = new XMLHttpRequest();
	}
	else{
		// internet explorer < 7
		if(window.ActiveXObject){
			xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xHRObject;
}

/*
AJAX functie voor het versturen van de email
*/
function sendMail(){
    var naam = document.getElementById('contactName');
	var email = document.getElementById('contactEmail');
	var telefoon = document.getElementById('contactTel');
	var bericht = document.getElementById('contactMessage');
	//var spam = document.getElementById('contactSpam');
	var hidden1 = document.getElementById('contactHid1');
	var hidden2 = document.getElementById('contactHid2');
		
	var information = "naam=" + encodeURIComponent(naam.value) +
						"&email=" + encodeURIComponent(email.value) + 
						"&telefoon=" + encodeURIComponent(telefoon.value) + 
						"&bericht=" + encodeURIComponent(bericht.value) + 
						//"&spam=" + encodeURIComponent(spam.value) + 
						"&hid1=" + encodeURIComponent(hidden1.value) + 
						"&hid2=" + encodeURIComponent(hidden2.value);
    mailObject.open("POST", "sendMail.php", true);
    mailObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	mailObject.send(information);
	mailObject.onreadystatechange = setMailData;
	showWait();
}

/*
Callback functie voor de sendMail functie
*/
function setMailData(){
	// Controleren of het XMLHttpRequest klaar is
	if (mailObject.readyState == 4) {
        // als de pagina gevonden is
		if (mailObject.status == 200) {
			setTimeout("doeMelding(1)",1000);
		} else {
            setTimeout("doeMelding(0)",1000);
        }
	} else {
        setTimeout("doeMelding(0)",1000);
    }
}

/* 
Functie die de melding start
*/
function doeMelding(success){
	// zet de response van de server in variabele serverResponse
	var serverResponse;
    var meldingXML;

    if (success) {
        serverResponse = mailObject.responseXML;
        meldingXML = serverResponse.getElementsByTagName("melding")[0].childNodes[0].nodeValue;
    } else {
        meldingXML = "Het bericht kan momenteel niet verstuurd worden, probeer later opnieuw.";
    }
    //debugger;
    //console.log("response : ");
    //console.log(meldingXML);
    //console.debug(meldingXML.childNodes[0]);

    console.log(meldingXML);

    //console.dir(serverResponse);
    //alert(meldingXML.toXMLString());
    // clear de inhoud van de wait div
	var wait = document.getElementById('wait');
	wait.innerHTML="";
	var par = document.createElement('p');
	var img = document.createElement('img');
	if (success) {
        img.src="images/ok.gif";
	    img.alt="ok";
    } else {
        img.src = "images/nok.gif";
        img.alt = "nok";
    }

	par.appendChild(img);
	par.appendChild(document.createTextNode(" "+meldingXML));
	wait.appendChild(par);
	dojo.style("wait","padding-top","0px");
    if (success) {
        dojo.style("wait",{"color":"green","font-weight":"bolder"});
    } else {
        dojo.style("wait",{"color":"red","font-weight":"bolder"});
    }
    //setTimeout("terug()",3000);
}
/* 
Functie die de melding toont van verzonden bericht 
*/
function maakMelding(xml){
	var par = document.createElement('p');
	var img = document.createElement('img');
	img.src="images/ok.gif";
	img.alt="ok";
	img.className='succes';
	par.appendChild(img);
	par.appendChild(document.createTextNode(xml.textContent));
	var wait = document.getElementById('wait');
	wait.appendChild(par);
}



/* 
Functie die het formulier laat verdwijnen en de wachtdiv te tonen
*/
function showWait(){
    //dojo.fadeOut({ node:"contactTable", duration:1000} ).play();
    dojo.style("contactTable", "visibility", "hidden");
    dojo.style("wait",{'opacity':0, 'display':'block'} );
    dojo.fadeIn({ node: "wait", duration:1000 }).play();
	//dojo.style("wait","margin-top","50px");
    resetForm();
}

/* 
Functie die na verloop van bepaalde tijd het formulier terug toont
*/
function terug(){
	var currentloc = window.location;
	window.location = currentloc;
}

function resetForm() {
    dojo.style("naamfmelding","display","none");
    dojo.style("naammelding","display","none");
    dojo.style("emailfmelding","display","none");
    dojo.style("emailmelding","display","none");
    dojo.style("berichtfmelding","display","none");
    dojo.style("berichtmelding","display","none");
    //dojo.style("spamfmelding","display","none");
    //dojo.style("spammelding","display","none");
    dojo.byId("contactForm").reset();
}
