function verifyForm( language )
{
	var formFields = document.getElementsByTagName( 'INPUT' );
	if ( formFields.length == 0 ) return;
	var msg = '';
	var fieldValue, isEmpty, labelText, objLabel, fieldClass;
	
	for ( var i = 0; i < formFields.length; i++ ) {
		
		if ( formFields[i].getAttribute('type') != 'text' ) continue;
		fieldClass = formFields[i].className;
		if ( !fieldClass ) continue;
		objLabel   = formFields[i].parentNode.getElementsByTagName( 'LABEL' )[0];
		if ( !objLabel ) continue;
		labelText  = objLabel.firstChild.nodeValue.replace( ':', '' );
		if ( !labelText ) continue;
		fieldValue = formFields[i].value;
		isEmpty    = ( formFields[i].value.length == 0 );
		
		if ( fieldClass.indexOf('required') != -1 && isEmpty ) {
			msg += "\n- " + labelText + (language != 'en' ? ' is verplicht' : ' is required');
		}
		
		if ( fieldClass.indexOf('phone') != -1 && !isEmpty && !validatePhone(fieldValue) ) {
			msg += "\n- " + labelText + (language != 'en' ? ' is geen telefoonnummer' : ' is not a phone number');
		}
		
		if ( fieldClass.indexOf('url') != -1 && !isEmpty && !validateUrl(fieldValue) ) {
			msg += "\n- " + labelText + (language != 'en' ? ' is geen domeinnaam' : ' is not a domain name');
		}
		
		if ( fieldClass.indexOf('mail') != -1 && !isEmpty && !validateEmail(fieldValue) ) {
			msg += "\n- " + labelText + (language != 'en' ? ' is geen e-mail adres' : ' is not an e-mail address');
		}
		
	}
	
	if ( msg ) {
		msg = ( language != 'en' ? 'Het formulier is niet juist ingevuld:' : 'The form has not been filled in correctly:' ) + msg;
		alert( msg );
		return false;
	}
	
	return true;
}



function validateEmail( string )
{
	var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return pattern.test( string );
}



function validateUrl( string )
{
	var pattern = /^(www\.)?(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return pattern.test( string );
}



function validatePhone( string )
{
	var matches = string.match(/\d/g); // 'g' = global (search entire string, don't stop at first reference)
	return ( matches && matches.length >= 7 );
}
