function submitZoekopdracht(zoekopdracht) {
	var ritValideren = validate(zoekopdracht,'zoekopdracht');
	
	if (ritValideren == true) {
		javascript:document.zoekopdracht.submit();
	}
}

function submitVerkoopbemiddeling(verkoopbemiddeling) {
	var ritValideren = validate(verkoopbemiddeling,'verkoopbemiddeling');
	
	if (ritValideren == true) {
		javascript:document.verkoopbemiddeling.submit();
	}
}

function submitContact(contact) {
	var ritValideren = validate(contact,'contact');
	
	if (ritValideren == true) {
		javascript:document.contact.submit();
	}
}

function submitWerkplaats(werkplaats) {
	var ritValideren = validate(werkplaats,'werkplaats');
	
	if (ritValideren == true) {
		javascript:document.werkplaats.submit();
	}
}


// form validation function //
function validate(form, soort) {

	var voorletters = form.voorletters.value;
	var geslacht = form.geslacht.value;
	var naam = form.naam.value;
	
	if (soort == "contact") {
		var adres = form.adres.value;
		var huisnummer = form.huisnummer.value;
		var postcode = form.postcode.value;
		var plaats = form.plaats.value;
		
		var telefoon = form.telefoon.value;
	
		var email = form.email.value;
		var opmerking = form.opmerking.value;
	} else if (soort == "enquete") {
		var geboorteDag = form.dag.value;
		var geboorteMaand = form.maand.value;
		var geboorteJaar = form.jaar.value;
		var advocaat = form.advocaat.value;
	}
	
	var security_code = form.security_code.value;
	var security_code_conf = form.security_code_conf.value;
	
	// Alleen nummers
	var numRegex = /^[0-9]/;
	
	// Nummers en letters
	
	var numletRegex = /[0-9a-zA-Z]/;
	
	// Namen
	var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
	
	// Alleen letters en punten
	var voorletterRegex = /^(([a-zA-Z]*)[.]*)*$/;
	
	// Postcode
	var postcodeRegex = /^[0-9]+(([a-zA-Z ])?[a-zA-Z]*)*$/;
	
	// Alleen e-mailadressen
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
  	
	// Standaard velden voor elk formulier
	if(voorletters == "") {
    	inlineMsg('voorletters','Uw voorletters moeten nog ingevuld worden.',2);
    	return false;
  	}
  	if(!voorletters.match(voorletterRegex)) {
    	inlineMsg('voorletters','Uw voorletters zijn niet juist ingevuld.',2);
    	return false;
  	}
  	if(naam == "") {
    	inlineMsg('naam','Uw naam moet nog ingevuld worden.',2);
    	return false;
  	}
  	if(!naam.match(nameRegex)) {
    	inlineMsg('naam','Uw naam is niet juist ingevuld.',2);
    	return false;
  	}
  	
	if (soort == "contact") {
		if(adres == "") {
    		inlineMsg('adres','Uw straatnaam moet nog ingevuld worden.',2);
    		return false;
  		}
  		if(!adres.match(nameRegex)) {
   			inlineMsg('adres','Uw straatnaam is niet juist ingevuld.',2);
    		return false;
		}
		if(huisnummer == "") {
			inlineMsg('huisnummer','Uw huisnummer moet nog ingevuld worden.',2);
    		return false;
  		}
  	if(!huisnummer.match(numRegex)) {
    	inlineMsg('huisnummer','Uw huisnummer is niet juist ingevuld.',2);
    	return false;
  	}
  	if(postcode == "") {
    	inlineMsg('postcode','Uw postcode moet nog ingevuld worden.',2);
    	return false;
  	}
  	if(!postcode.match(postcodeRegex)) {
		inlineMsg('postcode','Uw postcode is niet juist ingevuld.',2);
    	return false;
  	}
  	if(plaats == "") {
    	inlineMsg('plaats','Uw woonplaats moet nog ingevuld worden.',2);
    	return false;
  	}
  	if(!plaats.match(nameRegex)) {
    	inlineMsg('plaats','Uw woonplaats is niet juist ingevuld.',2);
    	return false;
  	}

  	if(email == "") {
    	inlineMsg('email','Uw e-mailadres moet nog ingevuld worden.',2);
    	return false;
  	}
  	if(!email.match(emailRegex)) {
    	inlineMsg('email','Uw e-mailadres is niet juist ingevuld.',2);
    	return false;
  	}
  
	if(telefoon == "") {
   		inlineMsg('telefoon','Uw telefoonnummer moet nog ingevuld worden.',2);
   		return false;
	}
	if(!telefoon.match(numRegex)) {
   		inlineMsg('telefoon','Uw telefoonnummer is niet juist ingevuld.',2);
   		return false;
	}
  
	if(opmerking == "") {
		inlineMsg('opmerking','Vul hier uw opmerking in.',2);
		return false;
	}

	}
	
	if (soort =="enquete") {
		if(geboorteDag == "") {
			inlineMsg('dag','Uw geboortedag moet nog ingevuld worden.',2);
			return false;
		}
		if(geboorteMaand == "") {
			inlineMsg('maand','Uw geboortemaand moet nog ingevuld worden.',2);
			return false;
		}
		if(geboorteJaar == "") {
			inlineMsg('jaar','Uw geboortejaar moet nog ingevuld worden.',2);
			return false;
		}
		
		if(advocaat == "") {
			inlineMsg('advocaat','Uw advocaat moet nog gekozen worden.',2);
			return false;
		}	
	}
	
  	// Standaard velden voor elk formulier
	if(security_code == "") {
    	inlineMsg('security_code','De veiligheidscode moet nog ingevuld worden.',2);
    	return false;
  	}
  	if(security_code != security_code_conf) {
    	inlineMsg('security_code','De veiligheidscode is niet juist ingevuld.',2);
    	return false;
  	}
  
	return true;
}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = "images/msg_arrow.gif"; 
}
