
		
function creeerVerzoekObject() {
	var verzoek;
	
	if(window.XMLHttpRequest){
		// Firefox, Safari, Opera etc.
		verzoek = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {
		// Internet Explorer 5 en hoger
		verzoek = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		// Er is iets fout gegaan bij het creëeren van het object
		// waarschijnlijk door een oude browser
		alert('Probleem bij het maken van het XMLHttpRequest object');
	}
	return verzoek;
}

function stuurVerzoek(intId, soort) {
	// Open het PHP script voor het verzoek
	if(soort == "producten") {
		//document.getElementById('categorieen').style.display = "none";
		strType = soort;
		httpObject.open('get', 'zoekindb.php?cid=' + intId);
	}
	if(soort == "winkelwagengroot") {
		strType = soort;
		httpObject.open('get', 'bewerkwinkelwagen.php?' + intId + '&srt=gr');
	}
	if(soort == "winkelwagen") {
		strType = soort;
		httpObject.open('get', 'bewerkwinkelwagen.php?' + intId);
	}
	httpObject.onreadystatechange = verwerkAntwoord;
	httpObject.send(null);
}

function verwerkAntwoord() {
	// Kijk of het uitvoeren voltooid is
	if(httpObject.readyState == 4 && httpObject.status == 200){
	
		// Data die terugkomt van het PHP script
		var antwoord = httpObject.responseText;
		
		if(antwoord) {
			// Schrijf data naar div en laat div zien
			document.getElementById(strType).innerHTML = antwoord;
			document.getElementById(strType).style.display = "block";
		}
	}
}

// Kijk bij een keypress of invoer een nummer of enter is
function charIsNummer(evt, nid) {
	// Haal de toetscode op
	var charCode = (evt.which) ? evt.which : event.keyCode
	// Bij enter update aantal
	if (charCode == 13)
		updateItem(nid);
	// Verder zijn alleen nummers toegestaan
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	return true;
}

function updateItem(nid) {
	var aantal = document.getElementById("upid"+nid).value;
	stuurVerzoek("upid="+nid+"&nr="+aantal, "winkelwagengroot");
}

// Controleer of de invoer voldoet aan de filter
function geldigeString(strInvoer) {
	
	// Stel filter in
	// Invoer mag de volgende tekens bevatten:
	// a-z A-Z - . ' ` 0-9
	var filter = /^[a-z0-9 -\.\'\`]*$/i;
	
	// Test invoer
	if (filter.test(strInvoer))
		return true; // Invoer correct, return true
	else
		return false; // Invoer niet correct, return false
}

// Controleer of invoer voldoet als een geldig emailadres
function geldigeEmail(strInvoer) {
	// Stel filter in
	//var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	// Test invoer
	if (filter.test(strInvoer))
		return true; // Invoer correct, return true
	else
		return false; // Invoer niet correct, return false
}

// Controleer of invoer alleen letters heeft
function isLetters(strInvoer) {
	if (strInvoer.match(/^[a-z]+$/i)) {
		return true;
	}
	else {
		return false;
	} 
}

// Controleer of invoer alfanumeriek is
function isAlfaNumeriek(strInvoer) {
	if (strInvoer.match(/^[a-z0-9]+$/i)) {
		return true;
	}
	else {
		return false;
	} 
}

// Controleer of invoer een nummer is
function isNummer(strInvoer) {
	if (isNaN(strInvoer)) {
		return false;
	}
	else {
		return true;
	} 
}

// Controle of de invoer leeg of alleen spaties bevat
function isLeeg(strInvoer) {
	if (strInvoer.match(/^\s+$/) || strInvoer == "") {
		return true;
	}
	else {
		return false;
	} 
}

// Controleer of waarde binnen het bereik valt
function isBinnenBereik(strInvoer, min, max) {
	if (strInvoer >= min && strInvoer <= max) {
		return true;
	}
	else {
		return false;
	} 
}

// Controleer of een object is "checked"
function isChecked(obj) {
	if (obj.checked) {
		return true;
	}
	else {
		return false;
	} 
}

// Controle op alle velden van het formulier
function controleerAanmelden() {

	// Declaratie variabelen
	var geenFouten = true;
	var formObj = document.forms['aanmelden'];
	var veldnamen = new Array();

	// Standaard worden de volgende velden gecontroleerd
	veldnamen[0] = "bedrijfsnaam";
	veldnamen[1] = "voorletters";
	veldnamen[2] = "achternaam";
	veldnamen[3] = "straat";
	veldnamen[4] = "nummer";
	veldnamen[5] = "plaats";
	
	// Doorloop array met te controleren velden
	for (i=0; i < veldnamen.length; i++) {
		strVeldnaam = veldnamen[i];
		// Haal waarde op uit veld
		strWaarde = formObj.elements[strVeldnaam].value;
		if(isLeeg(strWaarde) || !geldigeString(strWaarde)) {
			// Waarde is niet correct, maak label rood
			document.getElementById(strVeldnaam+'label').style.color = "red";
			geenFouten = false;
		}
		else {
			// Waarde is correct, maak label zwart
			document.getElementById(strVeldnaam+'label').style.color = "#6B6B6B";
			geenFouten = true;
		}
	}
	
	/*if(!isNummer(formObj.elements['pc_cijfers'].value) || !isLetters(formObj.elements['pc_letters'].value)) {
		// Waarde is niet correct, maak label rood
		document.getElementById('postcodelabel').style.color = "red";
		geenFouten = false;
	}*/
	if(formObj.elements['pc'].value == "") {
		// Waarde is niet correct, maak label rood
		document.getElementById('postcodelabel').style.color = "red";
		geenFouten = false;
	}
	else {
		// Waarde is correct, maak label zwart
		document.getElementById('postcodelabel').style.color = "#6B6B6B";
		geenFouten = true;
	}
	
	if(!geldigeEmail(formObj.elements['email'].value)) {
		// Waarde is niet correct, maak label rood
		document.getElementById('emaillabel').style.color = "red";
		geenFouten = false;
	}
	else {
		// Waarde is correct, maak label zwart
		document.getElementById('emaillabel').style.color = "#6B6B6B";
		geenFouten = true;
	}
	
	if(isLeeg(formObj.elements["ww"].value)) {
		// Waarde is niet correct, maak label rood
		document.getElementById('wwlabel').style.color = "red";
		geenFouten = false;
	}
	else if(formObj.elements["ww"].value != formObj.elements["bww"].value) {
		// Waarde is niet correct, maak label rood
		document.getElementById('wwlabel').style.color = "red";
		document.getElementById('bwwlabel').style.color = "red";
		geenFouten = false;
	}
	else {
		// Waarde is correct, maak label zwart
		document.getElementById('wwlabel').style.color = "#6B6B6B";
		document.getElementById('bwwlabel').style.color = "#6B6B6B";
		geenFouten = true;
	}
	
	// Controleer of alles goed is
	if(geenFouten) {
		// Verberg foutmelding
		document.getElementById('melding').style.display = "none";
		// Submit formulier
		document.forms['aanmelden'].submit();
	}
	else {
		// Toon foutmelding
		document.getElementById('melding').style.display = "block";
	}
}

// Controle op alle velden van het formulier
function controleerNAW() {

	// Declaratie variabelen
	var geenFouten = true;
	var formObj = document.forms['naw'];
	var veldnamen = new Array();

	// Standaard worden de volgende velden gecontroleerd
	veldnamen[0] = "bedrijfsnaam";
	veldnamen[1] = "voorletters";
	veldnamen[2] = "achternaam";
	veldnamen[3] = "straat";
	veldnamen[4] = "nummer";
	veldnamen[5] = "plaats";
	
	// Doorloop array met te controleren velden
	for (i=0; i < veldnamen.length; i++) {
		strVeldnaam = veldnamen[i];
		// Haal waarde op uit veld
		strWaarde = formObj.elements[strVeldnaam].value;
		if(isLeeg(strWaarde) || !geldigeString(strWaarde)) {
			// Waarde is niet correct, maak label rood
			document.getElementById(strVeldnaam+'label').style.color = "red";
			geenFouten = false;
		}
		else {
			// Waarde is correct, maak label zwart
			document.getElementById(strVeldnaam+'label').style.color = "#6B6B6B";
		}
	}
	if(geenFouten) {
		/*if(!isNummer(formObj.elements['pc_cijfers'].value) || !isLetters(formObj.elements['pc_letters'].value)) {
			// Waarde is niet correct, maak label rood
			document.getElementById('postcodelabel').style.color = "red";
			geenFouten = false;
		}*/
		if(formObj.elements['pc'].value == "") {
			// Waarde is niet correct, maak label rood
			document.getElementById('postcodelabel').style.color = "red";
			geenFouten = false;
		}
		else {
			// Waarde is correct, maak label zwart
			document.getElementById('postcodelabel').style.color = "#6B6B6B";
			geenFouten = true;
		}
		
		if(!geldigeEmail(formObj.elements['email'].value)) {
			// Waarde is niet correct, maak label rood
			document.getElementById('emaillabel').style.color = "red";
			geenFouten = false;
		}
		else {
			// Waarde is correct, maak label zwart
			document.getElementById('emaillabel').style.color = "#6B6B6B";
			geenFouten = true;
		}
	}
	// Controleer of alles goed is
	if(geenFouten) {
		// Verberg foutmelding
		document.getElementById('melding').style.display = "none";
		// Submit formulier
		document.forms['naw'].submit();
	}
	else {
		// Toon foutmelding
		document.getElementById('melding').style.display = "block";
	}
}

// Creëer het XMLHttpRequest object 
var httpObject = creeerVerzoekObject();
var strType = "";