// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function validatePage() {
	var frm = document.frm; 
	var flds = new Array();
	
	flds[flds.length] = [frm.PAG_MenuName, "\'Naam menu-item\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	
	switch (getCheckedValue(frm.PAG_Type)) {
	
		case '0':
			//type pagina
			flds[flds.length] = [frm.PAG_Titel, "\'Titel\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			flds[flds.length] = [frm.PAG_URL_SEO, "\'URL_SEO Link\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			break;
			
		case '1':
			//type link
			//Veld PAG_Link of PAG_ModuleLink moet gevuld zijn
			//flds[flds.length] = [frm.PAG_URL, "\'URL Link\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			break;
			
		case '2':
			//type formulier
			flds[flds.length] = [frm.PAG_Titel, "\'Titel\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			flds[flds.length] = [frm.PAG_EmailAdres, "\'Emailadres\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			flds[flds.length] = [frm.PAG_URL_SEO, "\'URL_SEO Link\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
			break;
	}
	
	return validateFieldArray( frm, flds );
}

function validateUser() {
	var frm = document.frm; 
	var flds = new Array();
	
	flds[flds.length] = [frm.fuserid, "\'Gebruikernaam\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	flds[flds.length] = [frm.USE_VoornaamLetters, "\'Voornaam / Voorletters\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	flds[flds.length] = [frm.USE_Achternaam, "\'Achternaam\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	flds[flds.length] = [frm.fusertype, "\'Gebruikertype\' is niet correct gevuld", /^([\w|\W])+$/, "select-one"];

	if(frm.fpassword.value != frm.r_fpassword.value) {
		alert('Passwords zijn niet gelijk.');
		frm.fpassword.focus();
		return false;
	} else {
		return validateFieldArray( frm, flds );
	}

}

function validatePassword() {
	var frm = document.frm; 
	var flds = new Array();

	if(frm.password.value != frm.passwordver.value) {
		alert('Passwords zijn niet gelijk. SVP aanpassen.');
		frm.password.focus();
		return false;
	} else {
		flds[flds.length] = [frm.password, "\'Password\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
		flds[flds.length] = [frm.passwordver, "\'Herhaling password\' is niet correct gevuld", /^([\w|\W])+$/, "text"];	
	}
	
	return validateFieldArray( frm, flds );
}

function validateReaction() {
	var frm = document.frm_react; 
	var flds = new Array();

	flds[flds.length] = [frm.tf_naam, "\'Naam\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	flds[flds.length] = [frm.tf_email, "\'E-mail\' is niet correct gevuld", /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/, "text"];
	
	return validateFieldArray( frm, flds );
}

function validateWaarde() {
	var frm = document.frm; 
	var flds = new Array();
	
	flds[flds.length] = [frm.LIJ_Titel, "\'Titel\' is niet correct gevuld", /^([\w|\W])+$/, "text"];
	
	return validateFieldArray( frm, flds );
}
/**
START HOOFDFUNCTIE
**/
function validateFieldArray( frm, flds ){
	var errorColor = '#82def2';
	var okColor = '#fff';
	for (var i = 0; i < flds.length; i ++){

	 switch (flds[i][3]) {
		case "text":
		  if ( flds[i][2].test(flds[i][0].value) != true ){
			alert( flds[i][1] );
			flds[i][0].style.background = errorColor;
			flds[i][0].focus();
			return false;
		  } else {
			flds[i][0].style.background = okColor;		  
		  }
		  break;
		case "hiddentext":
		  if ( flds[i][2].test(flds[i][0].value) != true ){
			alert( flds[i][1] );
			return false;
		  }
		  break;		  
		case "textarea":
		  if ( flds[i][2].test(flds[i][0].value) != true ){
			alert( flds[i][1] );
			flds[i][0].style.background = errorColor;
			flds[i][0].focus();
			return false;
		  } else {
			flds[i][0].style.background = okColor;		  
		  }
		  break;
		case "select-one":
		  if ( flds[i][2].test(flds[i][0].value) != true ){
			alert( flds[i][1] );
			flds[i][0].style.background = errorColor;
			flds[i][0].focus();
			return false;
		  } else {
			flds[i][0].style.background = okColor;		  
		  }
		  break;
		case "select-multiple":
			var veld = document.getElementById(flds[i][0].id);
			waardeSelect = 0;
			for (a=0; a < veld.length; a++) {
				//controleer of een item in de radio is checked. Dan waarde aanvullen
				if (veld[a].selected) {
					waardeSelect=waardeSelect + 1;
				}
			}
				
			if (waardeSelect == 1) {
				//er is een waarde aangevinkt. We mogen doorgaan
			} else {
				alert(flds[i][1]);
				return false;
			}			
			break;		  
		case "radio":
			waardeRadio = 0;
			for (a=0; a < flds[i][0].length; a++) {
				//controleer of een item in de radio is checked. Dan waarde aanvullen
				if (flds[i][0][a].checked) {
					waardeRadio=waardeRadio + 1;
				}
			}
				
			if (waardeRadio == 1) {
				//er is een waarde aangevinkt. We mogen doorgaan
			} else {
				alert(flds[i][1]);
				return false;
			}			
			break;
		
		case "checkbox":
				waardeCheckbox = 0;
				if(flds[i][0].length > 0) {
					for (a=0; a < flds[i][0].length; a++) {
					//controleer of een item in de checkbox is checked. Dan waarde aanvullen
						if (flds[i][0][a].checked) {
							waardeCheckbox=waardeCheckbox + 1;
							flds[i][0].style.background = okColor;
						}
					}
				} else if (flds[i][0].checked) {
					waardeCheckbox=waardeCheckbox + 1;
					flds[i][0].style.background = okColor;
				}
					
				if (waardeCheckbox >= 1) {
					//er is een waarde aangevinkt. We mogen doorgaan
				} else {
					alert(flds[i][1]);
					flds[i][0].style.background = errorColor;
					return false;
				}			
		
	 } //einde switch
	}
//frm.submit();
}

/**
REGEXP EXAMPLES:
flds[flds.length] = [frm.solVeld_8, "\'Huisnummer\' is niet correct gevuld", /^([0-9]+)$/]; // huisnummer
flds[flds.length] = [frm.solVeld_9, "\'Huisletter\' is niet correct gevuld", /^([A-Za-z]{0,1})$/]; // huisletter
flds[flds.length] = [frm.solVeld_11, "\'Postcode\' is niet correct gevuld", /^([1-9]{1})([0-9]{3})(\s?)([a-zA-Z]{2})$/]; // postcode
flds[flds.length] = [frm.solVeld_12, "\'Woonplaats\' is niet correct gevuld", /^([\w|\W]+)$/]; // woonplaats
flds[flds.length] = [frm.solVeld_13, "\'Telefoon\' is niet correct gevuld", /^([0-9]{10})$/]; // telefoonnummer
flds[flds.length] = [frm.solVeld_14, "\'Emailadres\' is niet correct gevuld", /^(.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))?$/]; // email
flds[flds.length] = [frm.solVeld_16, "\'Geslacht\' is niet gevuld", ]; // geslacht
flds[flds.length] = [frm.solVeld_17, "\'Geboortedatum\' is niet correct gevuld", /^([0-9]{2})([-])([0-9]{2})([-])([0-9]{4})$/]; // geboortedatum
flds[flds.length] = [frm.tf_telefoon, "", /^(06([-|\s])?\d{8})$/, "text"]; //06-nummer
**/
