		
	// ********************************************************************************************************
	// This script was written by Merrick - www.merrick.nl - info@merrick.nl
	// Unauthorized copying or distribution is not allowed
	// Author: J.E. Hoppenbrouwers
	// Version: 4.2
	// Date: 6 august 2004
	// ********************************************************************************************************

	function validatePrompt (veld, PromptStr) {
	    alert(PromptStr);
	    //showPopup(1, 'information.htm',PromptStr);
	    veld.focus();
	    //alert(veld.type);
	    if (veld.type == 'text') {
			veld.select();
		}
	}

	function showPopup(modal, url, parameters) {
		if (modal == 1) {
			vRetVal = window.showModalDialog('/_library/popups/' + url, parameters, "dialogHeight:250px; dialogWidth:400px; status=no; center=yes; scroll=yes"); 
		} else {
			vRetVal = window.showModelessDialog('/_library/popups/' + url, parameters, "dialogHeight:250px; dialogWidth:400px; status=no; center=yes; scroll=yes"); 
		}
	}
	
	
	
	function testcheckedcount(field, min, max, description) {
		text_min = "U dient minimaal " + min + " optie te selecteren bij vraag '" + description + "'.";
		text_max = "U mag maximaal " + max + " opties selecteren bij vraag '" + description + "'.";
		var checkedCount = 0
		for (var i = 0; i < field.length; i++) {
			if (field[i].checked) {
				checkedCount++
			}
		}
		if (checkedCount < min) {
			alert (text_min);
			field[0].focus();
			return (false);
		}
		if (checkedCount > max) {
			alert (text_max);
			field[0].focus();
			return (false);
		}
		return (true);	
	}
	    
	function testnospecialchar(field, description, custChrs) {
	    if (custChrs == undefined || custChrs == "undefined") { custChrs = ""; }
	    var fldVal = field.value;
	    var spChars = "\\:*/?\"<>|" + custChrs;
	    var text = "Het veld '" + description + "' mag niet de volgende tekens bevatten: " + spChars;
	    for (var i = 0; i < spChars.length; i++) {
	        if (fldVal.indexOf(spChars.charAt(i)) != -1) {
	            validatePrompt (field, text);
	            field.focus();
	            return(false);
	        }
	    }
	    return(true);
	}

	function testyear(field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld zijn.";
		}
		else {
			text = "In veld '" + description + "' dient u een geldig jaar in te vullen (1930-2001).";
		}
		if (field.value == "" || field.value == " ") {
			if (!emptyok) {
				validatePrompt (field, text);
				return (false);
			}
			else {
				return (true);
			}
		}
		ynumber = field.value
		if (isNaN(ynumber) || (ynumber.length != 4)) {
			validatePrompt (field, text);
			return (false);
		}
		if ((ynumber < 1930) || (ynumber > 2001)) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}		
	    
	function testbanknumber(field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld zijn.";
		}
		else {
			text = "In veld '" + description + "' staat een ongeldig banknummer.";
		}
		bnumber = field.value
		if (isNaN(bnumber) || (bnumber.length != 9)) {
			validatePrompt (field, text);
			return (false);
		}
		var somprod = 0
		for (var i = 0; i < field.value.length; i++) {
		    temp = field.value.charAt(i);
		    somprod = somprod + (temp * (10 - (i + 1)));
		}
		if ((somprod % 11) != 0) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);			
	}

	function testcurrency(field, description, emptyok) {
		if (field.value == '') {
			text = "In veld '" + description + "' is een ongeldig bedrag ingevuld.";
		}
		else {
			text = "In veld '" + description + "' dient u een geldig bedrag in te vullen.";
		}
		if (field.value == "" || field.value == " ") {
			if (!emptyok) {
				validatePrompt (field, text);
				return (false);
			}
			else {
				return (true);
			}
		}
		i = field.value.indexOf(".");
		j = field.value.indexOf(",");
		if (((i == -1) && (j == -1)) || ((i != -1) && (j != -1)) || emptyok) {
			validatePrompt (field, text);
			return (false);
		}
		if ((i == -1) && (j != -1)) {
			i = j;
		}
		part1 = field.value.substring(0,i);
		part2 = field.value.substring(i+1, field.value.length);		
		if (isNaN(part1) || isNaN(part2)) {
			validatePrompt (field, text);
			return (false);
		}
		if (part2.length != 2) {
			validatePrompt (field, text);
			return (false);
		}	
		field.value = part1 + "," + part2
		return (true);
	}

	function testtime (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden."
		}
		else {
			text = "Het veld '" + description + "' bevat een ongeldige tijd."
		}
		text = text + "\n\nDe tijd invoeren met de volgende opmaak:\n  twee cijfers voor de uren (00-23),\n  dubbele punt (:),\n  twee cijfers voor de minuten (00-59)."			
		if (field.value == "" || field.value == " ") {
			if (!emptyok) {
				validatePrompt (field, text);
				return (false);
			}
			else {
				return (true);
			}
		}
		if (field.value.length != 5) {
			validatePrompt (field, text);
			return (false);
		}
		if (field.value.substring(2,3) != ":") {
			validatePrompt (field, text);
			return (false);			
		}
		hours = field.value.substring(0,2);
		if (isNaN(hours)) {
			validatePrompt (field, text);
			return (false);			
		}
		if ((hours < 0) || (hours > 23)) {
			validatePrompt (field, text);
			return (false);			
		}
		minutes = field.value.substring(3,5);
		if (isNaN(minutes)) {
			validatePrompt (field, text);
			return (false);			
		}
		if ((minutes < 0) || (minutes > 59)) {
			validatePrompt (field, text);
			return (false);			
		}					
		return (true);
	}

	function testdatepulldown (field1, field2, field3, description, emptyok) {
		if (!emptyok) {
			text = "Het veld '" + description + "' moet een datum bevatten."
		}
		else {
			text = "In veld '" + description + "' dient u een correcte datum in te vullen.";
		}
		if ((field1.selectedIndex == 0) && (field2.selectedIndex == 0) && (field3.value == '0')) {
			if (!emptyok) {
				validatePrompt (field1, text);
				return (false);
			}
			else {
				return (true);
			}
		}
		if ((field1.value == '0') || (field2.selectedIndex == 0) || (field3.value == '0')) {
			    alert (text);
			    field1.focus();
			    return (false);
		}
		else {
			if ((field2.value == '02' || field2.value == '04' || field2.value == '06' || field2.value == '09' || field2.value == '11') && field1.value == '31') {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			else {
				return (true);
			}
		}
	}

	function isInteger(s){
		var i;
	    for (i = 0; i < s.length; i++){   
	        // Check that current character is number.
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    // All characters are numbers.
	    return true;
	}

	function stripCharsInBag(s, bag){
		var i;
	    var returnString = "";
	    // Search through string's characters one by one.
	    // If character is not in bag, append to returnString.
	    for (i = 0; i < s.length; i++){   
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}

	function daysInFebruary (year){
		// February has 29 days in any year evenly divisible by four,
	    // except for centurial years which are not also divisible by 400.
	    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}

	function testdate (field1, field2, field3, description, emptyok) {
	
		var minYear = 1890;
		var tdate = new Date();
		var maxYear = tdate.getFullYear() - 5;

		field_total = field1.value + "-" + field2.value + "-" + field3.value
		if (field_total == '--') {
			text = "Het veld '" + description + "' moet ingevuld worden."
		}
		else {
			text = "Het veld '" + description + "' bevat een ongeldige datum."
		}
		text = text + "\n\nDe datum invoeren met de volgende opmaak:\n  twee cijfers voor de dag,\n  twee cijfers voor de maand,\n  vier cijfers voor het jaar (" + minYear + "-" + maxYear + ")."
		if (field_total == 'dd-mm-jjjj' && emptyok) {
			return (true);
		}
		if ((field1.value != "" && field1.value != " ") || (field2.value != "" && field2.value != " ") || (field3.value != "" && field3.value != " ")) {			
			if (field_total.length != 10) {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			// characters 3 and 5 must be -
			if (field_total.substring(2,3) != "-" || field_total.substring(5,6) != "-") {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			var i = 1;
			var sLength = field_total.length;
			for (var i = 0; i < sLength; i++) {
			    temp = field_total.charAt(i);
			    if (isNaN(temp) && (temp != "-")) {
			        validatePrompt (field1, text);
			        return (false);
			    }
			}
				
			// get the respective day, month and year parts
			dtStr = field_total
			var strDay = field_total.substring(0,2);
			var strMonth = field_total.substring(3,5);
			var strYear = field_total.substring(6,10);
			day = ((strDay.substring(0,1) == '0') ? parseInt(strDay, 16) : parseInt(strDay))
			month = ((strMonth.substring(0,1) == '0') ? parseInt(strMonth, 16) : parseInt(strMonth))
			year = parseInt(strYear);
			var daysInMonth = DaysArray(12)

			// check whether the respective date parts are valid
				
			if (strMonth.length < 1 || month < 1 || month > 12){
			    validatePrompt (field1, text);
			    return (false);
			}
			if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]){
			    validatePrompt (field1, text);
			    return (false);
			}
			if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear){
			    validatePrompt (field1, text);
			    return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field1, text);
			    return (false);
			}
		}
		return (true);
	}
	    

	function testminutes (field1, field2, description, emptyok) {
		if ((field1.value == "" && field1.value == " ")) {
			text = "Het veld '" + description + "' moet ingevuld zijn."
		}
		else {
			text = "De waarde van het veld '" + description + "' is ongeldig."			
		}
		if ((field1.value == "" || field1.value == " ") && (field2.value == "" || field2.value == " ")){
			if (!emptyok) {
				validatePrompt (field1, text);
				return (false);
			}
			else {
				return (true);
			}
		}
		if (field2.value == "" || field2.value == " ") {
			field2.value = 0;
		}
		else {
			if (isNaN(field2.value)) {
			    validatePrompt (field1, text);
			    return (false);
			}
		}
		minutes = field2.value;
		if (field1.value == "" || field1.value == " ") {
			field1.value = 0;
		}
		else {
			if (isNaN(field1.value)) {
			    validatePrompt (field1, text);
			    return (false);
			}
		}
		hours = field1.value * 60;
		time = hours + minutes;
		if (time == 0) {
			if (!emptyok) {
			    validatePrompt (field1, text);
			    return (false);
			}
			else {
				return (true);
			}
		}
		else {
			return (true);
		}		
	}


	function testnumber (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld zijn."
		}
		else {
			text = "Het veld '" + description + "' mag alleen cijfers bevatten."
		}
	// value must be non-empty and only consists of numbers
	    if (field.value != "" && field.value != " ") {			
			for (var i = 0; i < field.value.length; i++) {
			    temp = field.value.charAt(i);
			    if (isNaN(temp) || temp == "" || temp == " " || temp == "-") {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
		}
		else {
			if (!emptyok) {			        
				validatePrompt (field, text );
				return (false);
			}
	    }
	    return (true);
	}
	    
	function testnonum(field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld zijn."
		}
		else {
			text = "Het veld '" + description + "' mag geen cijfers bevatten."
		}
		// value must be non-empty and not contain numbers
	    if (field.value != "" && field.value != " ") {			
			for (var i = 0; i < field.value.length; i++) {
			    temp = field.value.charAt(i);
			    if (!isNaN(temp) && temp != ' ') {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
		}
		else {
			if (!emptyok) {			        
				validatePrompt (field, text );
				return (false);
			}
	    }
	    return (true);
	}
	
	function testcheck (field, description) {
		text = "U dient de optie '" + description + "' te selecteren.";
		if (!field.checked) {
			alert(text);
			field.focus();
			return false;
		}
		return true;
	}

	function testradio (field, description, fulltext) {
		if (fulltext != '') {
			text = fulltext;
		} else {
			text = "Selecteer alstublieft één van de opties bij vraag '" + description + "'.";
		}
	    anythingchecked = 0;
	    for (var i = 0; i < field.length; i++) {
	        if (field[i].checked) {
	            anythingchecked = 1;
	            break;
	        }
	    }
	    if (anythingchecked == 0) {
	        alert(text);
	        return (false);
	    }
	    return (true);
	}

	function testnotemptyorspace (field, description) {
		text = "Het veld '" + description + "' dient te worden ingevuld.";
	    if (field.value == "" || field.value == " ") {
	        validatePrompt (field, text);
	        field.focus();
	        return (false);
	    }
	    return (true);
	}

	function testpostcode (field_num, field_alpha, description, emptyok) {
		if (field_num.value == '' && field_alpha.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.";
		}
		else {
			text = "In het veld '" + description + "' staat een ongeldige postcode."
		}
		if (field_num.value != "" && field_num.value != " ") {
			for (var i = 0; i < 4; i++) {
			    temp = field_num.value.charAt(i);
			    if (isNaN(temp) || temp == "") {
			        validatePrompt (field_num, text);
			        return (false);
			    }
			    if (i == 0 && temp == 0) {
			        validatePrompt (field_num, text);
			        return (false);
			    }
			}
			if (!testpostcodealpha(field_alpha, description, emptyok)) {
				return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field_num, text);
			    return (false);
			}
		}
	  	return (true);
	}
	    
	function testpostcodealpha (field, description, emptyok) {
		if (!emptyok) {
			text = "Het veld '" + description + "' moet ingevuld worden en mag alleen een geldige postcode met vier cijfers en twee letters te bevatten.";
		}
		else {
			text = "In het veld '" + description + "' staat een ongeldige postcode."
		}
		if (field.value != "" && field.value != " ") {
			if (field.value.length != 2) {
				validatePrompt (field, text);
				return (false);
			}
			for (var i = 0; i < 2; i++) {
			    temp_ascii = field.value.charCodeAt(i);
			    if (temp_ascii < 65 || temp_ascii > 122 || field.value == "")  {
					validatePrompt (field, text);
					return (false);
			    }
			    if (i == 0 && temp_ascii == 0) {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}

	function y2k(number) {
	    return (number < 1000) ? number + 1900 : number;
	}

	function testphone (field, description, emptyok, mobileok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (10 cijfers, maar 11 tekens inclusief het scheidingsteken)";
		}
		else {
			text = "In het veld '" + description + "' staat geen geldig telefoonnummer.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (10 cijfers, maar 11 tekens inclusief het scheidingsteken)";
		}
		
		if (field.value != "" && field.value != " ") {
			if ((field.value == "" || field.value == " ") || (field.value.length != 11)) {
				validatePrompt (field, text);
				return (false);
			}
			if (field.value.charAt(0) != '0') {
			    validatePrompt (field, text);
			    return (false);
			}
			var i = 1;
			var sLength = field.value.length;
			for (var i = 0; i < sLength; i++) {
			    temp = field.value.charAt(i);
			    if (isNaN(temp) && (temp != "-")) {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
			var i = 1;
			while ((i < sLength) && (field.value.charAt(i) != "-")) {
			    i++
			}
			if ((i >= sLength) || (field.value.charAt(i) != "-")) {
			    validatePrompt (field, text);
			    return (false);
			}
				
			var temp = '';
			for (var i = 0; i < sLength; i++) {		    
			    if (field.value.charAt(i) != "-") {
					temp = temp + field.value.charAt(i);
			    }
			}
			if (temp == '0000000000' || temp == '1111111111' || temp == '2222222222' || temp == '3333333333' || temp == '4444444444' || temp == '5555555555' || temp == '6666666666' || temp == '7777777777' || temp == '8888888888' || temp == '999999999') {
			    validatePrompt (field, text);
			    return (false);
			}
			if (!mobileok && field.value.charAt(1) == '6') {
				//text = "In het veld '" + description + "' staat geen geldig telefoonnummer.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (10 cijfers, maar 11 tekens inclusief het scheidingsteken)";
			    validatePrompt (field, "In het veld '" + description + "' mag geen mobiel nummer ingevuld worden.");
			    return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}

	function testmobile (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.\n\nVul s.v.p. uw mobiele nummer zonder spaties in (10 cijfers (beginnend met '06'), maar 11 tekens inclusief het scheidingsteken)";
		}
		else {
			text = "In het veld '" + description + "' staat geen geldig mobiel nummer.\n\nVul s.v.p. uw mobiele nummer zonder spaties in (10 cijfers (beginnend met '06'), maar 11 tekens inclusief het scheidingsteken)";
		}
		
		if (field.value != "" && field.value != " ") {
			if (field.value.charAt(0) != '0') {
			    validatePrompt (field, text);
			    return (false);
			}
			if (field.value.charAt(1) != '6') {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}
			
	function testphone_be (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (15 cijfers, inclusief de landcode (32), het kengetal en de scheidingsstreepjes)\n\nVoorbeeld: 0032-12-3456789)";
		}
		else {
			text = "In het veld '" + description + "' staat geen geldig telefoonnummer.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (15 cijfers, inclusief de landcode (32), het kengetal en de scheidingsstreepjes)\n\nVoorbeeld: 0032-12-3456789)";
		}
		
		if (field.value != "" && field.value != " ") {
			if ((field.value == "" || field.value == " ") || (field.value.length != 15)) {
				validatePrompt (field, text);
				return (false);
			}
			if (field.value.substring(0,4) != '0032') {
				validatePrompt (field, text);
				return (false);
			}
			var i = 1;
			var sLength = field.value.length;
			for (var i = 0; i < sLength; i++) {
			    temp = field.value.charAt(i);
			    if (isNaN(temp) && (temp != "-")) {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
			var i = 1;
			while ((i < sLength) && (field.value.charAt(i) != "-")) {
			    i++
			}
			if ((i >= sLength) || (field.value.charAt(i) != "-")) {
			    validatePrompt (field, text);
			    return (false);
			}
			if (temp == '0000000000' || temp == '1111111111' || temp == '2222222222' || temp == '3333333333' || temp == '4444444444' || temp == '5555555555' || temp == '6666666666' || temp == '7777777777' || temp == '8888888888' || temp == '999999999') {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}
	
	function testphone_du (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (min. 15 cijfers, inclusief de landcode (49), het kengetal en de scheidingsstreepjes)\n\nVoorbeeld: 0049-12-3456789)";
		}
		else {
			text = "In het veld '" + description + "' staat geen geldig telefoonnummer.\n\nVul s.v.p. uw telefoonnummer zonder spaties in (min. 15 cijfers, inclusief de landcode (49), het kengetal en de scheidingsstreepjes)\n\nVoorbeeld: 0049-12-3456789)";
		}
		if (field.value != "" && field.value != " ") {
			if ((field.value == "" || field.value == " ") || (field.value.length != 15)) {
				validatePrompt (field, text);
				return (false);
			}
			if (field.value.substring(0,4) != '0049') {
				validatePrompt (field, text);
				return (false);
			}
			var i = 1;
			var sLength = field.value.length;
			for (var i = 0; i < sLength; i++) {
			    temp = field.value.charAt(i);
			    if (isNaN(temp) && (temp != "-")) {
			        validatePrompt (field, text);
			        return (false);
			    }
			}
			var i = 1;
			while ((i < sLength) && (field.value.charAt(i) != "-")) {
			    i++
			}
			if ((i >= sLength) || (field.value.charAt(i) != "-")) {
			    validatePrompt (field, text);
			    return (false);
			}
			if (temp == '0000000000' || temp == '1111111111' || temp == '2222222222' || temp == '3333333333' || temp == '4444444444' || temp == '5555555555' || temp == '6666666666' || temp == '7777777777' || temp == '8888888888' || temp == '999999999') {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}	
		
	function testshortdate (field1, field2, field3, description, emptyok) {
	    text = "Ongeldige datum!";
		// we only accept dates formatted like dd-mm-yyyy or dd/mm/yyyy
		// if the length is unequal to 8, the date is not valid
		// the only exception is when empty variable is equal to "emptyok"
		if ((field1.value != "" && field1.value != " ") || (field2.value != "" && field2.value != " ") || (field3.value != "" && field3.value != " ")) {
			field_total = field1.value + "-" + field2.value + "-" + field3.value
			if (field_total.length != 8) {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			// characters 3 and 5 must be -
			if (field_total.substring(2,3) != "-" || field_total.substring(5,6) != "-") {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			// get the respective day, month and year parts
			day = field_total.substring(0,2);
			month = field_total.substring(3,5);
			year = field_total.substring(6,8);
			if (day > 31) {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			if (month > 12) {
			    alert (text);
			    field1.focus();
			    return (false);
			}				
			// check whether the respective date parts are valid
			var today = new Date();
			year = ((!year) ? today.getYear():year);
			year = ((!year) ? y2k(today.getYear()):year);
			month = ((!month) ? today.getMonth():month-1);
			if (!day) {
			    alert (text);
			    field1.focus();
			    return (false);
			}
			var test = new Date(year,month,day);
			if ( (y2k(test.getYear()) == year) && (month == test.getMonth()) && (day == test.getDate()) ) {
			    return (true);
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field1, text);
			    return (false);
			}
		}
		return (true);
	}
	    
	function testtimediff (field1, field2, field3, field4) {
		text = "Er zit niet voldoende tijd tussen de begin- en eindtijd van de afspraak.";		
		st_tcount = Date.UTC(2000, 1, 1, field1.value, field2.value, 0);
		ed_tcount = Date.UTC(2000, 1, 1, field3.value, field4.value, 0);
		if ((ed_tcount - st_tcount) < 900000) {
			alert (text);
			field1.focus();
			return (false);
		}			
		return (true);
	}
	    
	function testemail (field, description, emptyok) {
		if (field.value == '') {
			text = "Het veld '" + description + "' moet ingevuld worden.";
		}
		else {
			text = "In het veld '" + description + "' staat een ongeldig e-mail adres."
		}

		var spChars = "\\:*/?\"<>|#$%&()!+={}[],";
	    for (var i = 0; i < spChars.length; i++) {
	        if (field.value.indexOf(spChars.charAt(i)) != -1) {
	            validatePrompt (field, text);
	            return(false);
	        }
	    }	    
		
		var tlds=new Array()
		tlds[0]="nl"
		tlds[1]="com"
		tlds[2]="net"
		tlds[3]="biz"
		tlds[4]="edu"
		tlds[5]="gov"
		tlds[6]="info"
		tlds[7]="int"
		tlds[8]="org"
		tlds[9]="be"
		tlds[10]="de"

		if (field.value != "" && field.value != " ") {
			var i = 1;
			var sLength = field.value.length;
			while ((i < sLength) && (field.value.charAt(i) != "@")) {
			    i++
			}

			if ((i >= sLength) || (field.value.charAt(i) != "@")) {
			    validatePrompt (field, text);
			    return (false);
			}
			else i += 2;

			// look for .
			while ((i < sLength) && (field.value.charAt(i) != ".")) {
			    i++
			}

			// there must be at least one character after the .
			if ((i >= sLength - 1) || (field.value.charAt(i) != ".")) {
			    validatePrompt (field, text);
			    return (false);
			}
			
			var tldfound = 0
			var tempstring = field.value.split("@");
			tempstring = tempstring[1].split(".");
			for (i = 0; i < tlds.length; i++){
				if (tempstring[1] == tlds[i]) {
					tldfound = 1
				}
			}
			if (!tldfound) {
				if (!confirm("Weet u zeker dat e-mailadres '" + field.value + "' correct is?")) {
					field.focus();
					field.select();
					return (false);
				}
			}
		}
		else {
			if (emptyok == false) {
			    validatePrompt (field, text);
			    return (false);
			}
		}
		return (true);
	}

	function testtextlength(field, minlength, maxlength, description) {
		text1 = "In het veld '" + description + "' staat te weinig tekst.\nU moet minimaal " + minlength + " karakters invoeren. U heeft er nu " + field.value.length + " ingevoerd.";
		text2 = "In het veld '" + description + "' staat te veel tekst.\nU mag maximaal " + maxlength + " karakters invoeren. U heeft er nu " + field.value.length + " ingevoerd.";
		if (field.value.length < minlength) {
		    validatePrompt (field, text1);
	    	return false;
		}
		if (field.value.length > maxlength) {
		    validatePrompt (field, text2);
	    	return false;
		}
		return (true);
	}

	function testvaluepulldown(field, description) {
		text = "Bij de vraag '" + description + "' dient een geldige optie te worden geselecteerd.";
		if (field.value == '0') {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}		
			

	function testpulldown(field, description) {
		text = "Bij de vraag '" + description + "' dient een optie te worden geselecteerd.";
		if (field.selectedIndex == 0) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}

	function testlist(field, description) {
		text = "Bij de vraag '" + description + "' dient een optie te worden geselecteerd.";
		if (field.length == 0) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}
		
	function testpassword(field1, field2, description) {
		text = "In de twee velden voor '" + description + "' staan verschillende waarden. Deze dienen identiek te zijn.";
		if (field1.value != field2.value) {
			field1.value = ""
			field2.value = ""
			validatePrompt (field1, text);
			return (false);
		}
		return (true);
	}
		
	function testminmax(field, min, max, description, emptyok) {
		text = "De waarde in veld '" + description + "' mag niet lager zijn dan " + min + " en niet hoger dan " + max + ".";
	    if (field.value != "" && field.value != " ") {			
			if (field.value < min || field.value > max) {
				validatePrompt (field, text);
				return (false);
			}
		} else {
			if (!emptyok) {			        
				validatePrompt (field, text );
				return (false);
			}
	    }			
		return (true);
	}

	function testmin(field, min, description, emptyok) {
		text = "De waarde in veld '" + description + "' mag niet lager zijn dan " + min + ".";
		if (field.value < min) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}

	function testmax(field, max, description, emptyok) {
		text = "De waarde in veld '" + description + "' mag niet hoger zijn dan " + max + ".";
		if (field.value > max) {
			validatePrompt (field, text);
			return (false);
		}
		return (true);
	}
