function focusInput() { this.className = focusInputClass; } // FUNCTIE OM DE CLASS TERUG TE ZETTEN NAAR DE ORIGINELE STAAT
function blurInput() { this.className = normalInputClass; } // FOCUS CLASS

function loadContactForm() { // BEGIN MET INITALISEREN VAN DE TEKSTVELDEN
	if (normalInputClass) { 
		inputElement = document.getElementsByTagName("textarea");	
		for (var i = 0; i < inputElement.length; i++) { 
			inputElement[i].className = normalInputClass;
			inputElement[i].onfocus = focusInput;
			inputElement[i].onblur = blurInput;	
		}
	}
	
	inputElement = document.getElementsByTagName("input");
	for (var i = 0; i < inputElement.length; i++) {  // ALLE INPUT VELDEN AFGAAN
		if ((inputElement[i].type == "text") && (normalInputClass)) { // ONFOCUS&BLUR EVENTS
			inputElement[i].className = normalInputClass;
			inputElement[i].onfocus = focusInput;
			inputElement[i].onblur = blurInput;
		}
		nSplit = inputElement[i].accept.split("/"); // HAAL DE ACCEPT ATTRIBUTE OP
		tmpS = new Array();
		other = false;
		for (a=0;a<nSplit.length;a++) {
			tmpS[nSplit[a]] = true;
			if (nSplit[a] != "required") { other = true; }
		} 
		if (tmpS["required"]) { // IS DIT VELD EEN VERPLICHT VELD
			var spanElement = document.createElement("span");
			var theSpanText = document.createTextNode("*");
			spanElement.className = errorClass;
			spanElement.id = "error"+inputElement[i].name;
			spanElement.appendChild(theSpanText);
			inputElement[i].parentNode.appendChild(spanElement);
		} else if (other) { // IS EEN VELD EEN BEPAALD TYPE, WAAR OP GECHECKED MOET WORDEN
			var spanElement = document.createElement("span");
			spanElement.className = errorClass;
			spanElement.id = "error"+inputElement[i].name;
			inputElement[i].parentNode.appendChild(spanElement);
		}		
	}
}
function sendContactForm(f) { // VERSTUUR HET FORMULIER 'f'
	errorsFound = false;  // STANDAARD GEEN FOUTEN GEVONDEN
	inputElement = document.getElementsByTagName("input");
	for (var i = 0; i < inputElement.length; i++) {
		nSplit = inputElement[i].accept.split("/");
		tmpS = new Array();
		other = false;
		for (a=0;a<nSplit.length;a++) {
			tmpS[nSplit[a]] = true;
			if (nSplit[a] != "required") { other = nSplit[a]; }
		}
		document.getElementById("error"+inputElement[i].name).innerHTML = "";
		if ((tmpS["required"]) && (!inputElement[i].value)) { 
			document.getElementById("error"+inputElement[i].name).innerHTML = "Geen "+inputElement[i].name.toLowerCase()+" ingevuld"; errorsFound = true; 
		} else if ((other) && (inputElement[i].value)) { 
			switch (other) { // BEPAALDE CHECKS UITVOEREN VOOR BEPAALDE VELDEN
				case "email" :
					if (!isValidEmail(inputElement[i].value)) { errorsFound = true; document.getElementById("error"+inputElement[i].name).innerHTML = "Geen geldig email adres"; }
				break;
				case "telefoon" :
					if (!isValidTelefoon(inputElement[i].value)) { errorsFound = true; document.getElementById("error"+inputElement[i].name).innerHTML = "Geen geldig "+inputElement[i].name.toLowerCase()+"nummer"; }
				break;
				case "postcode" :
					if (!isValidPostcode(inputElement[i].value)) { errorsFound = true; document.getElementById("error"+inputElement[i].name).innerHTML = "Geen geldige postcode"; }
				break;
				case "nummer" :
					if (isNaN(inputElement[i].value)) { errorsFound = true; document.getElementById("error"+inputElement[i].name).innerHTML = "Geen geldig nummer"; }
				break;

			}
		}
	}
	if (!errorsFound) { 
		f.submit(); // GEEN ERRORS GEVONDEN? VERSTUUR DAN HET FORMULIER
	} else { location = "#top"; }
}	

function sendAanmeldForm() { // VERSTUUR HET FORMULIER 'f'
	f = document.Contact;
	if (f.Professional_voornaam.value == ""){
		alert("Geen Voornaam ingevuld.");
		f.Professional_voornaam.focus();
		return false;	
	} else if(f.Professional_naam.value == "") {
		alert("Geen Achternaam ingevuld.");
		f.Professional_naam.focus();
		return false;
	} else if(f.Professional_bedrijfsnaam.value == "") {
		alert("Geen Bedrijfsnaam ingevuld.");
		f.Professional_bedrijfsnaam.focus();
		return false;
	} else if(f.Professional_adres2.value == "") {
		alert("Geen Bedrijfsadres ingevuld.");
		f.Professional_adres2.focus();
		return false;
	} else if(!isValidPostcode(f.Professional_postcode2.value)) {
		alert("Geen Postcode ingevuld.");
		f.Professional_postcode2.focus();
		return false;
	} else if(f.Professional_plaatsnaam2.value == "") {
		alert("Geen Plaatsnaam ingevuld.");
		f.Professional_plaatsnaam2.focus();
		return false;
	} else if (!isValidEmail(f.Professional_email.value)) {
		alert("Geen (geldig) e-mailadres.");
		f.Professional_email.focus();
		return false;
	} else if(f.Professional_zelfstandigSinds.value == "") {
		alert("Geen jaartal ingevuld.");
		f.Professional_zelfstandigSinds.focus();
		return false;
	} else if(f.Professional_BTW.value == "") {
		alert("Geen BTW identificatienummer ingevuld.");
		f.Professional_BTW.focus();
		return false;
	} else if(f.Professional_gebruikersnaam.value == "") {
		alert("Geen Gewenste domeinnaam ingevuld.");
		f.Professional_gebruikersnaam.focus();
		return false;
	} else {
		return true;
	}
	return false;
}	

// EMAIL
function isValidEmail(str){ // bas@e-sites.nl
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return filterTest(filter,str);
}

// POSTCODE
function isValidPostcode(str) { // 4814DC
	var filter=/^([0-9]{4})([A-Z]{2})$/gi;
	return filterTest(filter,str);
}

// TELEFOON
function isValidTelefoon(str) { // 0768880088
	var filter = /^(0)([0-9]{9})$/gi;
	return filterTest(filter,str);
}


function filterTest(filter,str) {
	if (filter.test(str)) {
		testresults=true;
	} else {
		testresults=false;
	}
	return testresults;		
}