var naamForm = true;
var adresForm = true;
var favForm = true;
var opmerkingenForm = true;

var MSG_MANDATORY = "Veld '<fieldname>' mag niet leeg zijn.";
var MSG_EMAIL = "Er dient een geldig email adres voor dit veld te worden opgegeven.";
var MSG_DATE = "date is not valid";
var MSG_FUTURE_DATE = "date must be greather equals today";

function IsValidDate(dt)
{
	dt = dt.split("-");
	var test = new Date(parseInt(dt[2],10), parseInt(dt[1],10)-1, parseInt(dt[0],10));
	var testDate = test.getDate(), testMonth = test.getMonth()+1, testYear = test.getFullYear();

	return (testDate == parseInt(dt[0],10) && testMonth == parseInt(dt[1],10) && testYear == parseInt(dt[2],10));
}

function IsFutureDate(dt)
{
	dt = dt.split("-");
	var test = new Date(parseInt(dt[2]), parseInt(dt[1])-1, parseInt(dt[0]));
	var toDay = new Date();

	return (test >= toDay);
}


function setFocus(id){
	
	var box = elemById("f_box");
	if (box){
		
		
	}
	var obj = elemById;
	if (obj)
		if (obj.focus)
			elemById(id).focus();
	
	
	var t=document.getElementById(id);
	if(t){
		document.getElementById(id).focus();
	}
	
}

function validateMandatory(id){

	return !isEmpty(elemById(id).value)
}

function getEmptyMessage(field)
{
    return MSG_MANDATORY.replace("<fieldname>",field);
}

function isValidEmail(string) {
   var re = /^[-_.\w]+@((([\w]|[\w][\w-]*[\w])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
   return re.test(string);
}

function validateForm(){
	var ret=false;
	
	try{
		ret = validateForm2();
	}catch(e){
		alert("An error occured:\n"+(e.description||e));
		return false;
	}
	
	return ret;
}

function validateForm2(){
	var elm;
	elm="voornaam"
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("voornaamForm").innerHTML));
		setFocus(elm);
		return false;
	}

	elm="achternaam";
	if(!validateMandatory(elm)){	
		alert(getEmptyMessage(elemById("achternaamForm").innerHTML));
		setFocus(elm);
		return false;
	}
	
	elm="adres";
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("adresForm").innerHTML));
		setFocus(elm);
		return false;
	}
	
	elm="zipcode";
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("zipcodeForm").innerHTML));
		setFocus(elm);
		return false;
	}
6  
	elm="woonplaats"
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("woonplaatsFormForm").innerHTML));
		setFocus(elm);
		return false;
	}

	elm="geboortedatum"
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("geboortedatumForm").innerHTML));
		setFocus(elm);
		return false;
	}
	if(!IsValidDate(elemById(elm).value)){
		alert(MSG_DATE);
		setFocus(elm);
		return false;
	}
	if(!IsFutureDate(elemById(elm).value)){
		alert(MSG_FUTURE_DATE);
		setFocus(elm);
		return false;
	}
	

	var email = elemById("email");
	elm="email";
	if(isValidEmail(email.value)==false){
		alert(MSG_EMAIL);
		setFocus(elm);
		return false;
	}

	elm="curriculum_vitae"
	if(!validateMandatory(elm)){
		alert(getEmptyMessage(elemById("curriculum_vitaeForm").innerHTML));
		setFocus(elm);
		return false;
	}

	return true;
}
