function CheckFormFields(inp,form){
	
	var msg = false;
	
	// set an filters
	var _email  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
	var _number = /[\D]/i;	
	var _zip 	= /^[1-9]{1}[0-9]{3} ?[a-zA-Z]{2}$/;	
	var _spaces = /\s/;
	  
	var addMsg = function(){
		if(!msg)
			msg="";
		msg = msg + "\n - " + in_msg + " ";		
	}
	
	var check_element = function(name){
		if(!in_obj){
			alert('Dev Error :: formulier element "' + in_name + '" bestaat niet.');
			return false;
		}	
		return true;
	}
		
	for (var i = 0; i < inp.length; i++){
		
		var in_name  = inp[i][0];
		var in_obj 	 = form.elements[in_name];
		
		// check of element bestaat in formulier
		if(!check_element(in_obj))
			return false;
					
		if(in_obj.value)
			var in_value = in_obj.value.replace(_spaces,"");						
		else 
			var in_value = false;
			
		var in_type  = inp[i][1];
		var in_msg   = inp[i][2];                                        				
		
		switch(in_type){
			case 'email':
				//alert(_email.test(in_value));			
				if (!_email.test(in_value))
					addMsg();
				break;
			case 'number':
				if (_number.test(in_value))
					addMsg();
				break;
			case 'radio':				
				checked = false;                                        
				for (y = 0; y < in_obj.length; y++){
					checked = in_obj[y].checked;
					if (checked) break;                                                
				}
				if (!checked) 
					addMsg();
				break;
			case 'checkbox':
				var isOK = false;
				if(typeof(in_obj)=='object' && in_obj.checked){
					isOK = true;
				}
				else {
					for(var j=0,l=in_obj.length,curobj;j<l,curobj=in_obj[j];j++){
						if(curobj.checked){
							isOK = true;
							break;
						}
					}
				}
				if (!isOK) 
					addMsg();
				break;
			case 'select':
				if (in_obj[0].selected && !in_obj[0].value) 
					addMsg();
				break;
			case 'zip':
				if (!_zip.test(in_value))
					addMsg();
				break;
			case 'http':
				// nog niet geset.
				if (in_value=="")
					addMsg();
				break;
			case '':
			case 'text':
			default:				
				if (!in_value || in_value == "")
					addMsg();
				break;			
		}                                                  
	}
    
	if (msg){
		alert("De volgende fouten hebben zich voorgedaan:" + msg);
		return false;
	}
	else return true;
}