function formCheck ()
{
	var allValid = true;
	//temporary skip checks
		
	if ((document.frm.woonplaats.value=="")||(document.frm.afzender.value=="")||(document.frm.reactietekst.value=="")) 
	{
		allValid = false ;
		alert("Alle velden zijn verplicht!")
	}
	
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=document.frm.emailadres.value.match(emailPat);
	if (matchArray==null)
	{
		allValid = false;
		alert("Uw E-mailadres lijkt incorrect");
		history.go(0);
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			allValid = false;
			alert("Deze gebruikersnaam bevat ongeldige tekens");
			history.go(0);
			return false;
		}
	}

	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			allValid = false;
			alert("Deze domeinnaam bevat ongeldige tekens");
			history.go(0);
			return false;
		}
	}

	if (user.match(userPat)==null)
	{
		allValid = false;
		alert("De gebruikersnaam is ongeldig");
		history.go(0);
		return false;
	}

	var IPArray=domain.match(ipDomainPat);

	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
				allValid = false;
				alert("Het IP-adres is ongeldig");
				history.go(0);
				return false;
			}
		}
		return true;
	}
 
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)==-1)
		{
			allValid = false;
			alert("De domeinnaam is ongeldig");
			history.go(0);
			return false;
		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
		allValid = false;
		alert("Het e-mailadres moet eindigen op een geldige domein-extentie");
		history.go(0);
		return false;
	}

	if (len<2)
	{
		alert("Dit e-mailadres mist een hostnaam");
		history.go(0);
		allValid = false;
		return false;
	}


	else
	{	
		if (allValid == true)
			document.frm.submit();
			window.open('about:blank','popup','width=200,height=150');
			history.go(-1);
			return true;
			
	}
}

function validateEmail(addr, man, db) {
	var mandatory = "U moet een e-mailadres invullen.";
	var invalidChars = "Het ingevulde e-mailadres bevat verboden karakters.";
	var noAtSign = "Het ingevulde e-mailadres bevat geen apenstaartje (@).";
	var noAtSignAtStart = "Het ingevulde e-mailadres mag niet met een apenstaartje (@) beginnen.";
	var oneAtSign = "Het ingevulde e-mailadres mag slechts een apenstaartje (@) bevatten.";
	var noPeriod = "Het ingevulde e-mailadres moet een punt bevatten.";
	var noAtPeriod1 = "Het ingevulde e-mailadres mag geen punt direct na een apenstaartje hebben.";
	var noAtPeriod2 = "Het ingevulde e-mailadres mag geen apenstaartje direct na een punt hebben.";
	var no2Period = "Het ingevulde e-mail adres mag geen twee punten na elkaar bevatten..";
	var invalidDomain = "Het ingevulde e-mail adres bevat een fout domein-naam.";

	if (addr == '' && man) {
	   if (db) alert(mandatory);
	   return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
	      if (db) alert(invalidChars);
	      return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
	      if (db) alert(invalidChars);
	      return false;
	   }
	}
	
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert(noAtSign);
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert(noAtSignAtStart);
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert(oneAtSign);
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert(noPeriod);
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert(noAtPeriod1);
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert(noAtPeriod2);
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert(no2Period);
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   if (db) alert(invalidDomain);
	   return false;
	}
	return true;
}

function validateNameField(value) {
	if(value == '' || value == null) {
		alert("U heeft geen naam ingevuld.");
		return false;
	}
	return true;
}

