function checkDatum(veld,lastdate)
	{
	debug	= 0;
	if (debug) alert('checkDatum: debug is on');
	var today = new Date();
	var dl	= new Array(3);
	datum	= veld.value.toString();
	len	= datum.length;
	i	= 0;
	if (datum == "") return true;
	if (datum.match(/^[0-9]+$/))
		{
		dl[0]	= datum.substring(0,2);	// dag
		dl[1]	= datum.substring(2,4);	// maand
		dl[2]	= datum.substring(4,8);	// jaar
		}
	else
		{
		datum	= datum.toLowerCase();
		sep	= "";
		while ((i<len) && (sep == ""))
			{
			chr	= datum.charAt(i);
			if ((chr < '0') || (chr > '9')) sep	= chr;
			if ((sep >= "a") && (sep <= "z"))
				{
				datum	= datum.substring(0,i)+" "+datum.substring(i);
				sep	= " ";
				}
			i++;
			}
		if (sep == "")
			{
			alert("Dit is geen geldige datum.");
			return false;
			}
		dl		= datum.split(sep);	/* assume d/m/j */
		if (debug) alert("<br>Separator='"+sep+"' dag="+dl[0]+", maand="+dl[1]+", jaar="+dl[2]);
		c_dl	= dl.length;
		x		= 1;
		while ((c_dl>2) && (x<c_dl))
			{
			if (dl[x] == "")
				{
				//dl.splice(x,1,dl.slice(x+1));
				dl.splice(x,1);
				c_dl	= dl.length;
				}
			else x++;
			}
		if (debug) alert("<br>Na strippen lege separators dag="+dl[0]+", maand="+dl[1]+", jaar="+dl[2]);
		}
	if (dl[1].match(/^[a-z]+$/))
		{
		switch (dl[1].substring(0,3))
			{
			case "jan":
				dl[1]	= 1;
				break;
			case "feb":
				dl[1]	= 2;
				break;
			case "maa":
			case "mrt":
			case "mar":
				dl[1]	= 3;
				break;
			case "apr":
				dl[1]	= 4;
				break;
			case "mei":
			case "may":
				dl[1]	= 5;
				break;
			case "jun":
				dl[1]	= 6;
				break;
			case "jul":
				dl[1]	= 7;
				break;
			case "aug":
				dl[1]	= 8;
				break;
			case "sep":
				dl[1]	= 9;
				break;
			case "okt":
			case "oct":
				dl[1]	= 10;
				break;
			case "nov":
				dl[1]	= 11;
				break;
			case "dec":
				dl[1]	= 12;
				break;
			}
		if (debug) alert("<br>alfa-maand dag="+dl[0]+", maand="+dl[1]+", jaar="+dl[2]);
		}

	dl[0]	= parseInt(dl[0],10);
	dl[1]	= parseInt(dl[1],10);
	dl[2]	= parseInt(dl[2],10);

	if (!dl[1]) dl[1]	= today.getMonth()+1;
	if (!dl[2]) dl[2]	= y2k(today.getYear());
	if ((dl[2] >= 0) && (dl[2]<=99)) dl[2] += 2000;
	if (debug) alert("<br>jaar default dag="+dl[0]+", maand="+dl[1]+", jaar="+dl[2]);

	if (!isDate(dl[0],dl[1],dl[2]))		// expects d/m/j
		{
		alert("Dit is geen geldige datum.");
		return false;
		}

	veld.value	= (dl[0]<10?"0"+dl[0]:dl[0])+"-"+(dl[1]<10?"0"+dl[1]:dl[1])+"-"+dl[2];
	//if (lastdate.value.toString())
	if (lastdate)
		{
		lastdate.value = (dl[0]<10?"0"+dl[0]:dl[0])+"-"+(dl[1]<10?"0"+dl[1]:dl[1])+"-"+dl[2];
		//alert('lastdate set to: '+lastdate.value);
		}
	return true;
}
	
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate (day,month,year) {
    month = month-1;
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}