function form_filter_check(filter, formNo, field, param)
{
	var check = false;
	if (filter == 'radio')
	{
		var radios = document.forms['form_f'+formNo][ 'form['+formNo+'][' + field + ']' ];
		for (var i = 0; i < radios.length; i++)
		{
			if (radios[i].checked)
			{
				check = true;
				break;
			}
		}
		showDiv(field + '_f' + formNo + '_error_' + filter, !check);
		return check;
	}
	if (filter == 'checkbox')
	{
		var checkboxes = document.forms['form_f'+formNo][ 'form['+formNo+'][' + field + ']' ];
		for (var i = 0; i < checkboxes.length; i++)
		{
			if (checkboxes[i].checked)
			{
				check= true;
				break;
			}
		}
		showDiv(field + '_f' + formNo + '_error_' + filter, !check);
		return check;
	}
	var val = document.forms['form_f'+formNo][ 'form['+formNo+'][' + field + ']' ].value;
	switch (filter)
	{
		case 'date_en_nl':
			check = (validate ("^\\d{2}-\\d{2}-\\d{4}$", val));
			break;
			
		case 'minvalue':
			check = (parseInt(val) >= parseInt(param));
			break;
		
		case 'maxvalue':
			check = (parseInt(val) <= parseInt(param));
			break;
		
		case 'int':
			check = (!isNaN(val));
			break;
		
		case 'maxlength':
			check = (val.length <= param);
			break;
		
		case 'minlength':
			check = (val.length >= param);
			break;
		
		case 'double': case 'price':
			check = (validate("^\\d*(\\,\\d*)?(e\\+\\d*)?$", val));
			break;
		
		case 'valid_image':
			check = (val != 'noimg');
			break;
		
		case 'email':
			check = (validate("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$", val));
			break;
		
		default:
			if (filter.substring(0,6) == 'raised') check = true;
			else alert('The filter "' + filter + '" does not exist!');
			break;
	}
	showDiv(field + '_f' + formNo + '_error_' + filter, !check);
	return check;
}