var formErrors = new Array();
function checkForm(formName){
	formErrors = new Array();
	switch (formName){
		case 'info':
			isValidAlfa(document.getElementById('naam_ID'), 'NAAM', true);
			isValidAny(document.getElementById('wplaats_ID'), 'WOONPLAATS', true);
			isValidTel(document.getElementById('tel_ID'), 'TEL/GSM', false);
			isValidEmail(document.getElementById('email_ID'), 'E-MAIL', true);
			break;
		
		default: break;
	}
	var errorText = '';
	if (formErrors.length > 0){
		for (var i=0; i<formErrors.length; i++){ errorText += formErrors[i] + '\n';}
	} else {
		return true;
	}
	alert(errorText);
	return false;
}

function isValidInt(userInput, fieldName, isReq){
  	if (isReq == false && userInput.value == ""){ return true;}		// gehele getallen, zonder teken
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
  	var mask=/^\d+$/;
	if (mask.test(userInput.value)){ return true;}
  	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidNum(userInput, fieldName, isReq){					// getallen met of zonder teken, met of zonder na de komma
  	if (isReq == false && userInput.value == ""){ return true;}
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
  	var mask=/^[-+]?[0-9]+\,?[0-9]*$/;
	if (mask.test(userInput.value)){ return true;}
  	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidAlfa(userInput, fieldName, isReq){					// alfa karakters + blanco + koppelteken + accenttekens
  	if (isReq == false && userInput.value == ""){ return true;}
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
  	var mask=/^[A-Za-z\ \-\'\à\ä\â\é\è\ë\ê\ö\ô\ï\î\ü\û\ç]+$/;
	if (mask.test(userInput.value)){ return true;}
  formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidEmail(userInput, fieldName, isReq){
  	if (isReq == false && userInput.value == ""){ return true;}
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
  	var mask=/^\w[\w\-\.]+\@\w[\w\-]+(\.[\w\-]+)+$/;
	if (mask.test(userInput.value)){ return true;}
  	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidTel(userInput, fieldName, isReq){
  	if (isReq == false && userInput.value == ""){ return true;}
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
  	var mask=/^\+?[\d]+\/?\-?[\d]{6}$/;
	if (mask.test(userInput.value)){ return true;}
  	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidDate(userInput, fieldName, isReq){					// 1900-2099
  	if (isReq == false && userInput.value == ""){ return true;}
	if (userInput.value == ""){ formErrors[formErrors.length]='Het invoerveld '+fieldName+' is niet ingevuld'; return false;}
	var mask = /^(0[1-9]|[12][0-9]|3[01])[\-\/\.](0[13578]|10|12)[\-\/\.](19|20)\d\d$/;	
		if (mask.test(userInput.value)){ return true;}				// test maanden met 31 dagen
	var mask = /^(0[1-9]|[12][0-9]|30)[\-\/\.](0[469]|11)[\-\/\.](19|20)\d\d$/;
	if (mask.test(userInput.value)){ return true;}					// test maanden met 30 dagen
  	var mask = /^(0[1-9]|1[0-9]|2[0-8])[\-\/\.](02)[\-\/\.](19|20)\d\d$/;
	if (mask.test(userInput.value)){ return true;}					// test februari met max 28 dagen
	var mask = /^(29)[\-\/\.](02)[\-\/\.](((19|20)0[48]|(19|20)[2468][048]|(19|20)[13579][26])|2000)$/;
	if (mask.test(userInput.value)){ return true;}					// test 29 februari in schrikkeljaren
  	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet geldig ingevuld'; return false;
}
function isValidAny(userInput, fieldName, isReq){
  	if (isReq == true && userInput.value == ""){
   		formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' is niet ingevuld'; return false;
  	}
  	return true;
}
function isValidLen(userInput, fieldName, minLen, maxLen){				// minLen nt controleren: minLen = false
  	if (minLen && userInput.value.length < minLen){
    	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' moet min. '+Len+' tekens lang zijn'; return false;
  	}
	if (maxLen && userInput.value.length > maxLen){
    	formErrors[formErrors.length] = 'Het invoerveld '+fieldName+' mag max. '+Len+' tekens lang zijn'; return false;
  	}
  	return true;
}
