function document.onreadystatechange()
{
	// Soms begint een form met hidden velden, op hidden velden kan je geen focus zetten
	f = document.forms[0];
	elNr = 0;
	while ( f.elements[elNr].tagName == "INPUT" && f.elements[elNr].type == "hidden" )
	{
		++elNr;
	}
	document.forms[0].elements[elNr].focus();
}

function checkForm( form )
{
	var fout = false;
	if ( form == null ) form = 0;
	f = document.forms[form];

	for( i = 0; i < document.forms[form].elements.length ; i++ )
	{
		el = document.forms[form].elements[i];
		if ( el.required != null )
		{
			if ( el.tagName == "INPUT" || el.tagName ==  "FILE" || el.tagName ==  "TEXTAREA" )
			{
				// trim de value
				el.value = trim( el.value );
				if ( el.value.length == 0 )
				{
					if ( document.getElementById( el.name+"Text" ) != null )
					{
						document.getElementById( el.name+"Text" ).style.color = "red";
					}
					if ( !fout )
					{
						melding = "U bent vergeten het veld " + el.title + " in te vullen";
						el.focus();
						fout = true;
					}
				} else {
					// controleer of het een e-mail adres moet zijn
					if ( el.email != null )
					{
						var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
						if ( !filter.test( el.value ) )
						{
							if ( document.getElementById( el.name+"Text" ) != null )
							{
								document.getElementById( el.name+"Text" ).style.color = "red";
							}
							if ( !fout )
							{
								melding = "Het e-mail adres voor veld " + el.title + " wordt niet herkent";
								el.focus();
								fout = true;
							}
						} else {
							if ( document.getElementById( el.name+"Text" ) != null )
							{
								document.getElementById( el.name+"Text" ).style.color = "black";
							}
						}
					}

					// Controleer of het een getal moet zijn
					if ( el.number != null )
					{
						if ( isNaN( el.value ) )
						{
							if ( document.getElementById( el.name+"Text" ) != null )
							{
								document.getElementById( el.name+"Text" ).style.color = "red";
							}
							if ( !fout )
							{
								melding = "Het veld " + el.title + " dient een getal te zijn";
								el.focus();
								fout = true;
							}
						} else {
							if ( document.getElementById( el.name+"Text" ) != null )
							{
								document.getElementById( el.name+"Text" ).style.color = "black";
							}

							// Controleer of het getal een aantal decimalen mag bevatten
							if ( el.decimal != null && !isNaN( el.decimal ) )
							{
								elValueTemp = el.value.split(".");
								if ( elValueTemp.length > 1 )
								{
									if ( el.decimal == 0 )
									{
										el.value = elValueTemp[0];
									} else {
										// Controleer of er niet wordt geeindigd met een punt
										if ( elValueTemp[1].length == 0 )
										{
											el.value = elValueTemp[0];
										} else {
											el.value = elValueTemp[0]+"."+elValueTemp[1].substring(0, el.decimal);
										}
									}
								}
							} else {
								// Controleer of er niet wordt geeindigd met een punt
								elValueTemp = el.value.split(".");
								if ( elValueTemp.length > 1 )
								{
									if ( elValueTemp[1].length == 0 )
									{
										el.value = elValueTemp[0];
									}
								}
							}
						}
					} else {
						if ( document.getElementById( el.name+"Text" ) != null )
						{
							document.getElementById( el.name+"Text" ).style.color = "black";
						}
					}
				}

			}

			if ( el.tagName == "SELECT" )
			{
				// de value wordt alleen in de check getrimt, hierdoor kun je zelf bepalen of je met een spatie begint, eindigd
				if ( trim( el.value ).length == 0 )
				{
					if ( document.getElementById( el.name+"Text" ) != null )
					{
						document.getElementById( el.name+"Text" ).style.color = "red";
					}
					if ( !fout )
					{
						melding = "U bent vergeten een item te selecteren in het veld " + el.title;
						el.focus();
						fout = true;
					}
				} else {
					if ( document.getElementById( el.name+"Text" ) != null )
					{
						document.getElementById( el.name+"Text" ).style.color = "black";
					}
				}
			}
		}
	}

	if ( fout )
	{
		alert( melding );
		return false;
	}

	// Controleer of er wachtwoord moeten worden beveiligd met md5
	// i wordt _i omdat i al wordt gebruikt in calcMD5
	
	for( _i = 0; _i < document.forms[form].elements.length ; _i++ )
	{
		el = document.forms[form].elements[_i];
		if ( el.md5 != null && trim( el.value ).length != 0 )
		{
		//	el.value = calcMD5( el.value );
		}
	}

	return true;
}

function trim( strText )
{
	while ( strText.substring(0,1) == " " ) 
		strText = strText.substring(1, strText.length);

	while (strText.substring(strText.length-1,strText.length) == " ")
		strText = strText.substring(0, strText.length-1);

	return strText;
}
