<!-- algemeen -->
function close_window() {
    window.close();
}
function print_window() {
    window.print();
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
	
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function openPopup(url, name, width, height) {
	var popupWidth = width;
	var popupHeight = height;
	var posX = ((screen.width/2)-popupWidth/2);
	var posY = ((screen.height/2)-popupHeight/2);
	var popupProperties = "height="+ popupHeight +",width="+ popupWidth +",screenX="+ posX +",screenY="+posY+",top="+posY+",left="+posX+",location=no,scrollbars=no,menubars=no,toolbars=no,resizable=no,status=no";
	popup = window.open(url, name, popupProperties);
}

function zoekFormSubmit(){
	if (document.form.searchString.value == ''){
		alert("Vul een woord in.");
	}
	else{
		document.form.submit();
	}
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function openpicture(url){
	var thisWindow = window.open(url,"defaultpage","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=YES,resizable=YES,Width=40,Height=40");
	thisWindow.focus();
}

function submitForm(){
	var errorMessage="De volgende fouten zijn opgetreden:\n";
	var error=false;
	
	for(i=0; i<checkFields.length; i++)
	{
		obj=eval("document.inputform." + checkFields[i].name)
		switch (checkFields[i].type)
		{
			case "text":
		 		if(!obj.value.length && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				break
			case "numeriek":
		 		if(!obj.value.length && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				else if (!isNumeric(obj.value)) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet een getal. Getallen moeten zonder duizental punten worden ingevoerd."; error=true;}
				break
			case "email":
		 		if(!obj.value.length && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				else if(!isEmail(obj.value) && obj.value.length>0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is geen geldig email adres"; error=true;}
				break
			case "postcode":
				var stra=eval("document.inputform." + checkFields[i].name + "a.value");
				var strb=eval("document.inputform." + checkFields[i].name + "b.value.toUpperCase()");
				var deela=eval("document.inputform." + checkFields[i].name + "a.value.length");
				var deelb=eval("document.inputform." + checkFields[i].name + "b.value.length");
				if(deela==0 && deelb==0 && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
		 		else if (deela>0 && deelb>0)
				{
					if(!isPostcode(stra,strb)) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet geldig"; error=true;}
				}
				obj.value=stra+strb;
				break
			case "textarea":
		 		if(!obj.value.length && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				break
			case "radio":
				radioOk=false;
				for(j=0;j < obj.length; j++)
				{
					if(obj[j].checked) radioOk=true;
				}
				if(!radioOk && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				break
			case "selectbox":
				if(!obj.value.length && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				break
			case "date":
				day=(eval("document.inputform." + checkFields[i].name + "Day.value"));
				month=(eval("document.inputform." + checkFields[i].name + "Month.value"));
				year=(eval("document.inputform." + checkFields[i].name + "Year.value"));
				if(day=="NULL" && month=="NULL" && year<1 && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				else if(!isDate(day, month, year)) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is geen geldige datum"; error=true;}		
				break
			case "checkbox":
				checkOk=false;
				for(j=0;j < obj.length; j++)
				{
					if(obj[j].checked) checkOk=true;
				}
				if(!checkOk && checkFields[i].required!=0) {errorMessage=errorMessage + "\n" + checkFields[i].text + " is niet ingevuld"; error=true;}
				break
		}
	}	 
	if(error) alert(errorMessage);
	else document.inputform.submit();
	}

	function isEmail(str) 
	{
	  // are regular expressions supported?
	  var supported = 0;
	  if (window.RegExp) 
		{
	    var tempStr = "a";
	    var tempReg = new RegExp(tempStr);
	    if (tempReg.test(tempStr)) supported = 1;
	  }
	  if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	   return (!r1.test(str) && r2.test(str));
	}
	
	function isPostcode(stra, strb)
	{
	  // are regular expressions supported?
	  var supported = 0;
	  if (window.RegExp) 
		{
	    var tempStr = "a";
	    var tempReg = new RegExp(tempStr);
	    if (tempReg.test(tempStr)) supported = 1;
	  }
	  if (!supported) return true;
	  var r1 = new RegExp("([0-9]{4})");
	  var r2 = new RegExp("([a-zA-Z]{2})");
		return (r1.test(stra) && r2.test(strb));
	}
	
	function isNumeric(str)
	{
	  // are regular expressions supported?
	  var supported = 0;
	  if (window.RegExp) 
		{
	    var tempStr = "a";
	    var tempReg = new RegExp(tempStr);
	    if (tempReg.test(tempStr)) supported = 1;
	  }
	  if (!supported) return true;
		var r1 = new RegExp("[^0-9,]+");
		return (!r1.test(str));
	}
	
	function isDate(day, month, year)
	{
		if(day=="NULL" && month=="NULL" && year<1)
		{
		return true;
		}
		else
		{
			switch (month)
			{
				case "NULL":
					return false;
					break
				case "1":
				case "3":
				case "5":
				case "7":
				case "8":
				case "10":
				case "12":
					if (day>=1 && day <=31) return true;
					else return false
					break
				case "2":
					days=(((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
					if (day>=1 && day <=days) return true;
					else return false;
				case "4":
				case "6":
				case "9":
				case "11":
					if (day>=1 && day <=30) return true;
					else return false
					break
			}
		}
	}