	///////////////////////////////////////////
	////////// CHECK INPUT FUNCTIONS //////////
	///////////////////////////////////////////

	function fieldIsEmpty(elemId, alertText) {
		//checks if field is empty
		if (!document.getElementById(elemId)) { alert('SCRIPTFOUT: '+elemId+' object is niet gevonden'); return false; }
		var elem = $(elemId);
		if (elem.type.indexOf('textarea') > -1 || elem.type.indexOf('text') > -1 || elem.type.indexOf('password') > -1) {
		//check if text is empty --------------------------------------------------------
			if ((trim(elem.value).length==0) || (elem.value==null)) {
				setErrText(elemId, alertText, 'do');
				return true;
			} else {
				setErrText(elemId, '', 'undo');
				return false;
			}
		} else if (elem.type.indexOf('select') > -1) {
		//check if selection is made (dropdown) -----------------------------------------
			if ((trim(elem.value).length==0) || (elem.value==null)) {
				setErrText(elemId, alertText, 'do');
				return true;
			} else {
				setErrText(elemId, '', 'undo');
				return false;
			}

		} else if (elem.type.indexOf('radio') > -1 || elem.type.indexOf('checkbox') > -1) {
		//check if selection is made (radio/checkbox)------------------------------------

			var iSelected = 0;
			var oBox = document.getElementsByName(elem.name)

			for(var iBox=0; iBox<oBox.length; iBox++){
				if (oBox[iBox].checked == true) { iSelected++; }
			}

			if (iSelected == 0) {
				setErrText(elemId, alertText, 'do');
				return true;
			} else {
				setErrText(elemId, '', 'undo');
				return false;
			}

		}
	}

	function setErrText(objName, txt, direction) {
		if (!$(objName + '_err')) { alert('SCRIPTFOUT: '+objName+'_err object bestaat niet!'); return false; }
		var objErr = $(objName + '_err')
		var objField = $(objName);
		if (direction == 'do') {
			objErr.innerHTML = txt;
			objErr.style.display = 'block';
			objField.style.border = '1px solid #F7911D';
			
			$('algemene_feedback_err').innerHTML = 'LET OP: Niet alle velden zijn goed ingevuld. Controleer het formulier.'
			$('algemene_feedback_err').style.display = 'block';
			
		} else {
			objErr.innerHTML = '';
			objErr.style.display = 'none';
			objField.style.border = '1px solid #7E94B1';
			
			$('algemene_feedback_err').innerHTML = ''
			$('algemene_feedback_err').style.display = 'none';
		}
	}

	function compare_values(elemId1, elemId2, alertText) {
		var elem1 = $(elemId1);
		var elem2 = $(elemId2);
		if (elem1.value != elem2.value) {
//				elem2.className = raiseErr(elem2.className, 'do');
				setErrText(elemId2, alertText, 'do');
				return true;
		} else {
//				elem2.className = raiseErr(elem2.className, 'undo');
				setErrText(elemId2, '', 'undo');
				return false;
		}
	}

	function checkNumber(elemId, alertText, maxNumber) {
		var isNum = true;
		var strChar;
		var ValidChars = "0123456789.";
		var elem = $(elemId);

		for (var i=0; i<elem.value.length && isNum==true; i++)
		{
			strChar = elem.value.charAt(i);
			if (ValidChars.indexOf(strChar) == -1) isNum = false;
		}

		if (typeof(maxNumber) != 'undefined' && isNum==true) {
			if (elem.value > maxNumber) { isNum=false; }
		}

		if (!isNum) {
				setErrText(elemId, alertText, 'do');
				return true;
		} else {
				setErrText(elemId, '', 'undo');
				return false;
		}
	}


	function checkSeperateDate(elemId_day, elemId_month, elemId_day_year, alertText) {
		var elem = $(elemId_day).value +'-'+ $(elemId_month).value +'-'+ $(elemId_day_year).value;

		var dateCheck = true;
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2,4})$/;
		var matchArray = elem.match(datePat); // is the format ok?

		if (matchArray == null) {
			dateCheck=false;
		} else {
			day = matchArray[1];
			month = matchArray[3];
			year = matchArray[5];

			if (month < 1 || month > 12) { dateCheck=false; }
			if (day < 1 || day > 31) {	dateCheck=false;	}
			if ((month==4 || month==6 || month==9 || month==11) && day==31) { dateCheck=false; }
			if (month == 2) {
				var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
				if (day > 29 || (day==29 && !isleap)) { dateCheck=false;	}
			}
		}

		if (!dateCheck) {
				setErrText(elemId_day, alertText, 'do');
				$(elemId_month).style.border = '1px solid #F7911D';
				$(elemId_day_year).style.border = '1px solid #F7911D';

				return true;
		} else {
				setErrText(elemId_day, '', 'undo');
				$(elemId_month).style.border = '1px solid #7E94B1';
				$(elemId_day_year).style.border = '1px solid #7E94B1';
				
				return false;
		}		
	}

	function checkDate(elemId, alertText) {
		var elem = $(elemId);
		var dateCheck = true;
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2,4})$/;
		var matchArray = elem.value.match(datePat); // is the format ok?

		if (matchArray == null) {
			dateCheck=false;
		} else {
			day = matchArray[1];
			month = matchArray[3];
			year = matchArray[5];

			if (month < 1 || month > 12) { dateCheck=false; }
			if (day < 1 || day > 31) {	dateCheck=false;	}
			if ((month==4 || month==6 || month==9 || month==11) && day==31) { dateCheck=false; }
			if (month == 2) {
				var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
				if (day > 29 || (day==29 && !isleap)) { dateCheck=false;	}
			}
		}

		if (!dateCheck) {
				setErrText(elemId, alertText, 'do');
				return true;
		} else {
				setErrText(elemId, '', 'undo');
				return false;
		}
	}

	function checkLength(elemId, alertText, minLength, maxLength) {
		var elem = $(elemId);
		var elemTxt = elem.value.replace(/^\s*|\s*$/g,"");		//verwijderen van omsingelde spaties, oftewel trim
		if ((elemTxt.length >= minLength) && (elemTxt.length <= maxLength)) {
				setErrText(elemId, '', 'undo');
				return false;
		} else {
				setErrText(elemId, alertText, 'do');
				return true;
		}
	}
	
	function dateInPast(elemIdMonth, elemIdYear, alertText) {
	//check if input mm and yyyy is before given date
	
		var eMonth = $(elemIdMonth);
		var eYear = $(elemIdYear);
		
		var now = new Date();
		now = now.getTime(); 
		
		var dateToCheck = new Date();
		dateToCheck.setYear(eYear.value);
		dateToCheck.setMonth(eMonth.value);
		var checkDate = dateToCheck.getTime();

		if (now < checkDate) {
				setErrText(elemIdMonth, alertText, 'do');
				return true;
		} else {
				setErrText(elemIdMonth, '', 'undo');
				return false;
		}
	}
	
	function checkDateNotInPast(datum) {
	
		var vDate = new Date();
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2,4})$/;
		var matchArray = datum.match(datePat); // is the format ok?
		var day = matchArray[1];
		var month = matchArray[3]-1;
		var year = matchArray[5];
		
		vDate.setFullYear(year, month, day)	
		var today = new Date();
		//alert(vDate)
		//alert(today)
		
		if(today < vDate) {
			return false;
		}
		else {
			return true;
		}
	}
	
	
	function checkAllCheckboxes(grpName) {

		var oFrm = $("contentForm"); iSelected=0;
		for (var i=0; i<oFrm.elements.length;i++) {
			if (oFrm.elements[i].type) {
				if (oFrm.elements[i].type.indexOf('checkbox') > -1) {
					if (oFrm.elements[i].name==grpName ) {
						if (oFrm.elements[i].checked) iSelected++;
					}
				}
			}
		}
		return iSelected;
	}
	
	

	function validate_email(elemId, alertText) {
		var elem = $(elemId);

		if (!emailCheck(elem.value)) {
				setErrText(elemId, alertText, 'do');
				return true;
		} else {
				setErrText(elemId, '', 'undo');
				return false;
		}
	}

	function emailCheck (emailStr) {
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		var validChars="\[^\\s" + specialChars + "\]"
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) return false;

		var user=matchArray[1]
		var domain=matchArray[2]
		if (user.match(userPat)==null) return false;
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
				for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) return false;
				}
				return true
		}
		var domainArray=domain.match(domainPat)
		if (domainArray==null) return false;

		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) return false;
		if (len<2) return false; 
		return true;
	}
	//  End -->

