function removeBlanks (aValue) {			
	var locValue = aValue;			
	for (var i = 0; i < aValue.length; i++) {				
		locValue = locValue.replace(" ", "");			
	}			
	return locValue;
}

function checkRequiredFields (aForm, aRequiredFields, aFieldDescriptions) {		    
	var msg = "";			
	for (var iField = 0; iField < aRequiredFields.length; iField++) {				
		var oField = aForm.elements[aRequiredFields[iField]];				
		if (oField) { 	
			switch(oField.type) {						
				case "text":						
				case "textarea":							
					if (removeBlanks(oField.value) == "" || oField.value == null) {								
						msg += "Gelieve '" + aFieldDescriptions[iField] + "' in te vullen.\n";							
					}							
					break;						
				case "select-one":						
				case "select-multiple":		
					if (oField.selectedIndex == -1 || oField.selectedIndex == 0) { 								
						msg += "Gelieve '" + aFieldDescriptions[iField] + "' te selecteren.\n";							
					}
					break;	
				case "checkbox":	
					if (!oField.checked) {
						msg += "Gelieve '" + aFieldDescriptions[iField] + "' te selecteren.\n";							
					}				
					break;										
				default:		
					if (oField[0].type == "radio") {
						if (!checkRadioGroup(oField)) {
							msg += "Gelieve '" + aFieldDescriptions[iField] + "' te selecteren.\n";								
						}
					} else {									
						if (oField.value == "" || oField.value == null) {
							msg += "Gelieve '" + aFieldDescriptions[iField] + "' in te vullen.\n";							
						}
					}
			}
		}			
	}			
	return msg;		
}

function checkRadioGroup (aRadio) {			
	var selected = false;
	for (i = 0; i < aRadio.length; i++) {
		if (aRadio[i].checked) {
			selected = true;	
		}
	}	
	return selected;
}

function hasFieldExtactLength (aField, aLength) {			
	if (aField.value.length != aLength) {				
		return false;			
	} else {				
		return true;			
	}			
}

function hasFieldMinLength (aField, aLength) {
	if (aField.value.length < aLength) {
		return false;
	} else {				
		return true;
	}			
}

function isNumeric (aField) {
	if (isNaN(aField.value)) {
		return false;
	} else {
		return true;
	}
}

//Kaartnr: verplicht, 8 lang, numerisch, beginnen met 00
function checkKaartnr (aField) {
	var msg = "";
	if (hasFieldExtactLength(aField, 8)) {				
		if (isNumeric(aField)) {					
			if (aField.value.substring(0, 2) != "00") {						
				msg += "Uw kaartnr moet beginnen met '00'.\n";					
			} else {
				//ok					
			}							
		} else {					
			msg += "Uw kaartnr moet numeriek zijn.\n";				
		}			
	} else {				
		msg += "Uw kaartnr moet exact 8 cijfers bevatten.\n";
	}
	return msg;
}

//Emailadres: 1 @, iets voor en na @, . na @, niet eerste en laatste teken na @
function checkEmail (aField) {
	var msg = "";
	var valueEmail = aField.value;
	var idxOfAt = valueEmail.indexOf("@");			
	if (idxOfAt != valueEmail.lastIndexOf("@")) {
		msg += "Uw e-mailadres moet juist één '@' bevatten.\nBv: abc@def.be\n";
	} else {		
		if (idxOfAt < 1) {
			msg += "Uw e-mailadres moet juist één '@' bevatten,\nmaar mag niet beginnen met een '@'.\nBv: abc@def.be\n";
		} else {
			var valueEmailNaAt = valueEmail.substring(idxOfAt+1);
			if (valueEmailNaAt.indexOf(".") < 1) {
				msg += "Uw e-mailadres moet na '@' een '.' bevatten,\nmaar '.' mag niet het eerst volgende teken zijn na '@'.\nBv: abc@def.be\n";	
			} else {
				if (valueEmailNaAt.charAt(valueEmailNaAt.length-1) == ".") {
					msg += "Uw e-mailadres mag niet eindigen met '.'.\nBv: abc@def.be\n";	
				} else {
					//ok
				}
			}
		}
	}
	return msg;
}

//Schiftingsvraag: numerisch
function checkSchiftingsvraag (aField) {
	var msg = "";			
		if (isNumeric(aField)) {					
			// OK
		} else {					
			msg += "Uw antwoord op de schiftingsvraag moet numeriek zijn.\n";				
		}			

	return msg;
}