var form = '';
var aantalchecked= 0;
function validate(f){
	fout = 0;
	aantalchecked=0;
	form = f;
	checkMelding='';
	
	array = Form.getElements(form);
	array.each(
		function(element){
			
				validateif = Element.readAttribute(element,'validateif');
				
				if(validateif)
				{
									splitted = validateif.split(':'); 					
					radios = form.getElementsByClassName(splitted[0]);
					selectedValue = '';
					radios.each(
							function(el){
								if(el.checked)
								{
									selectedValue = el.value;
								}
							}
					)
					
					
					
					if(selectedValue==splitted[1])
					{
						switch(Element.readAttribute(element,'validate')){
							case "text":					
								if(!validateText(element))fout++;
							break;
							case "pc":
								if(!validatePc(element))fout++;
							break;
							case "getal":
								if(!validateGetal(element))fout++;
							break;		
							case "mail":
								if(!validateMail(element))fout++;
							break;			
							default:;				
						}
					}
				}else
				{	
						
						switch(Element.readAttribute(element,'validate')){
							case "text":					
								if(!validateText(element))fout++;
							break;
							case "checkbox":
								goCheck(element);
								checkMelding = Element.readAttribute(element,'validateMelding');
							break;
							case "pc":
								if(!validatePc(element))fout++;
							break;
							case "getal":
								if(!validateGetal(element))fout++;
							break;		
							case "mail":
								if(!validateMail(element))fout++;
							break;		
							case "radio":
								if(!validateRadio(element))fout++;
							break;	
							default:;				
						}				
				
				}
		}
	)
	if(aantalchecked>0)
	{
				
	}
	else{
		alert(checkMelding);
		fout++;
	}
	if(fout>0)
	{
		//Don't send form
		return false;
	}
	else
	{
		//Send form
		return true;
	}
}
function validateText(element)
{
	waarde = element.getValue();
	if(waarde!='')
	{	
		//do nothing
		removeError(element);
		return true;
	}
	else
	{
		throwError(element);
		return false;
	}	
	
}
function goCheck(el)
{
	array = Form.getElements(form);
	array.each(function(e)
		{
			if(el.name==e.name)
			{
				if(e.checked)
				{
					aantalchecked++;
				}
			}
		}
	)
}
function throwError(element)
{
	element.addClassName('error');
}
function throwRadioError(msg)
{
	alert(msg);
}
function removeError(element)
{
	element.removeClassName('error');
}
function validatePc(element)
{
	waarde = element.value.toUpperCase();
	match=/^\d{4}[\s-]?[a-zA-Z]{2}$/;
	if(match.test(waarde))
	{
		removeError(element);
		return true;		
	}
	else
	{
		throwError(element);
		return false;
	}
}
function validateRadio(element)
{
	aantal = element.className;
	array = $$('input.'+aantal);
	goed=0;
	array.each(function(s){if(s.checked)goed++});
	if(goed>0)
	{
		return true;		
	}
	else
	{
		throwRadioError(Element.readAttribute(element,'radioError'))
		return false;	
	}
}
function validateGetal(element)
{
	
	waarde = element.value;
	
		
		match = /^\d/;

	if(match.test(waarde))
	{
		removeError(element);
		return true;
	}
	else
	{
		throwError(element);
		return false;
	}
}
function validateMail(element)
{
	waarde = element.value;
	match = /\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	if(match.test(waarde))
	{
		removeError(element);
		return true;
	}
	else
	{
		throwError(element);
		return false;
	}

}