function formHandler() {
	function getField(field)	{
		var fieldName = field.name;
		var fieldType = field.type;
		var formName = field.form.name;
		
		if(fieldType != 'hidden') {
			
			switch(fieldName) {
				case 'naam':
				case 'adres':
				case 'plaats':
				case 'opmerking':
				case 'vraag':
				case 'factuurnummer':
				case 'artikelnummer':
				case 'artikelnummer1':
				case 'artikelnummer2':
					return new textHandler(field, 2, 50);
					break;
				
				case 'postcode':
					return new pcNumHandler(field, 4, 4);
					break;
					
				case 'postcode2':
					return new pcLettersHandler(field, 2, 2);
					break;					
				
				case 'telefoon':
					return new telefoonHandler(field, 10, 10);
					break;
					
				case 'email':
					return new emailHandler(field, 1, 100);
					break;
					
				case 'akkoord':
					return new checkboxHandler(field);
					break;
					
				default:
					return;
			}
		
		}
	}

	function errorMessage(errorInfo) {
		var soortError = errorInfo[0];
		var field = errorInfo[1];
		var fieldName = errorInfo[1].name; 
		if(errorInfo[2]) var errorMessage = errorInfo[2];
		else var errorMessage = '';
		
		field.style[errorElement] = errorColor;
		
		//foutmelding a.d.h.v. veld i.p.v. standaard foutmelding
		switch(fieldName) {
			
			case 'plaats':
				errorMessage = 'Vul a.u.b. een woonplaats in.';
				break;
		
			case 'artikelnummer1':
			case 'artikelnummer2':
				errorMessage = 'Vul a.u.b. een artikelnummer in.';
				break;
				
			case 'akkoord':
				errorMessage = 'Om deel te nemen aan de actie dient u akkoord te gaan met de actievoorwaarden.';
				break;
				
			case 'opmerking':
				errorMessage = 'Vul a.u.b. de reden in waarom u wilt winnen.';
				break;					
			
		}
		
		alert(errorMessage);
		field.focus();
		
	}
	
	//functies koppelen
	this.getField = getField;
	this.errorMessage = errorMessage;
}

	
