	function fldChks(FormName, Language) {
		
		//Set default values
		var errLvl = 0;
		var errMsg = '';
		var errHdr = '';
		fc = eval("document.forms." + FormName);
		switch (Language) {
			case 'UK':
				errHdr = 'The following fields are not entered, or entered incorrectly:';
				break;
			case 'DE':
				errHdr = 'Das folgende fängt wird nicht oder falsch hereingekommen:';
				break;
			default:
				errHdr = 'De volgende velden zijn niet, of niet juist, ingevuld:';
		}

		//Helper functions for date
		fc.fnStripCharsInBag = function(s, bag) {
			var i;
			var returnString = "";
			for (i = 0; i < s.length; i++){   
				var c = s.charAt(i);
				if (bag.indexOf(c) == -1) returnString += c;
			}
			return returnString;
		}
		fc.fnDaysInFebruary = function(year) { return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); }
		fc.fnDaysArray = function() {
			days = new Array(12);
			for (var i = 0; i <= 11; i++) {
				days[i] = 31
				if (i==4 || i==6 || i==9 || i==11) {days[i] = 30}
				if (i==2) {days[i] = 29}
			} 
			//alert(days[1]);
			return days;
		}
		fc.fnIsInteger = function(input) { return input.search(/^[1-9]\d*$/) == -1; }

		//Helper function for bankrek. nr.
		fc.fnIsBankrekeningnummer = function(strValue){
			var reBank = /(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)/;
			var bValid = false;
			var array;
			var lSom = 0;
			if ((strValue.length == 0) || (strValue == null)){
				bValid = true;
			}else{
				bValid = (reBank.test(strValue));
				if (bValid){
					array = (strValue.match(reBank));
					for (i=1;i<10;i++){ lSom += (array[i] * (9-(i-1))); }
					bValid = ((lSom % 11) == 0)
				}
			}
			return (bValid);
		}

		//Check empty
		fc.fnIsEmpty = function(fldValue) { return (fldValue.search(/^(.|\s)+$/) == -1) }

		//Check Required
		fc.fnChkRequired = function(FieldName, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName); 
			if (fc.fnIsEmpty(elmValue) == true) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}

		//Check email
		fc.fnChkEmail = function(FieldName, Required, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName);
			if(Required == false && fc.fnIsEmpty(elmValue) == true) {
			} else { if (elmValue.search(/^[A-Z|a-z|0-9]{1}[\w\.\-_]*@([\w\-_]+\.)+[A-Za-z]{2,4}$/) == -1) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; } }
		}

		//Check length
		fc.fnChkLength = function(FieldName, Required, MinLength, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName);
			if(Required == false && fc.fnIsEmpty(elmValue) == true) {
			} else { if(elmValue.length < MinLength) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; } }
		}

		//Check Integer
		fc.fnChkInteger = function(FieldName, Required, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName);
			if(Required == false && fc.fnIsEmpty(elmValue) == true) {
			} else { if (elmValue.search(/^[1-9]\d*$/) == -1) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; } }
		}

		//Check if checkboxes has been selected (minimal and / or maximal)
		fc.fnChkCheckboxes = function(FieldName, MinOptions, MaxOptions, ErrorMessage) {
			var elmNameLength = FieldName.length;
			var bValid = true;
			var noOfChecked = 0;
			for (i=0; i<fc.length; i++) {
				if (fc[i].type=="checkbox") {
					var elmName = fc[i].name;
					var elmNameStripped = elmName.substr(0,elmNameLength);
					if((elmNameStripped == FieldName) && (fc[i].checked == true)) { noOfChecked++; } } }
			if((MinOptions != null) && (MaxOptions != null)) { if ((noOfChecked < MinOptions) || (noOfChecked > MaxOptions)) { bValid = false; }
			} else if ((MinOptions != null) && (MaxOptions == null)) { if (noOfChecked < MinOptions) { bValid = false; }
			} else if ((MinOptions == null) && (MaxOptions != null)) { if (noOfChecked > MaxOptions) { bValid = false; } }
			if (bValid == false) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}

		//Check if radiobutton has been selected
		fc.fnChkRadiobuttons = function(FieldName, ErrorMessage) {
			var elmLength = fc.elements[FieldName].length;
			var bChecked = false;
			for (i=0; i<elmLength; i++) { if(fc.elements[FieldName][i].checked) { bChecked = true; break; }; }
			if(bChecked == false) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}

		//Check if selectlist has option selected (selected value not is "")
		fc.fnChkSelectlist = function(FieldName, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName);
			if(fc.fnIsEmpty(elmValue) == true) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}

		//Check if date is valid
		fc.fnIsDate = function (FieldName, Required, ErrorMessage) {
			var dtCh= "/";
			var minYear=1900;
			var maxYear=2100;
			var elmValue = fc.getElmValue(FieldName);
			var bValid = true;
			if(Required == false && fc.fnIsEmpty(elmValue) == true) {
			} else { 
				var daysInMonth = fc.fnDaysArray();
				var pos1 = elmValue.indexOf(dtCh);
				var pos2 = elmValue.indexOf(dtCh,pos1+1);
				var strDay = elmValue.substring(0,pos1);
				var strMonth = elmValue.substring(pos1+1,pos2);
				var strYear = elmValue.substring(pos2+1);
				strYr = strYear;
				if (strDay.charAt(0)=="0" && strDay.length>1) { strDay=strDay.substring(1); }
				if (strMonth.charAt(0)=="0" && strMonth.length>1) { strMonth=strMonth.substring(1); }
				for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) { strYr=strYr.substring(1); } }
				month=parseInt(strMonth)
				day=parseInt(strDay)
				year=parseInt(strYr)
				if (pos1==-1 || pos2==-1) { bValid = false; }
				if (strMonth.length<1 || month<1 || month>12) { bValid = false; }
				if (strDay.length<1 || day<1 || day>31 || (month==2 && day>fc.fnDaysInFebruary(year)) || day > fc.fnDaysArray[month]) { bValid = false; }
				if (strYear.length != 4 || year==0 || year<minYear || year>maxYear) { bValid = false; }
			}
			if(bValid == false) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}

		//Check if selectlist has option selected (selected value not is "")
		fc.fnChkBankNr = function(FieldName, Required, ErrorMessage) {
			var elmValue = fc.getElmValue(FieldName);
			var bValid = true;
			if(Required == false && fc.fnIsEmpty(elmValue) == true) {
			} else {
				if(elmValue.length==9){
					if(!fc.fnIsBankrekeningnummer(elmValue)) { bValid = false; }
				} else if (elmValue.length==8 || elmValue.length>9 || elmValue.length<4) { 
					bValid = false; 
				}
			}
			if(bValid == false) { errLvl = 1; errMsg += '- ' + ErrorMessage + ' \n'; }
		}


		//Get value of element
		fc.getElmValue = function(FieldName) { return fc.elements[FieldName].value; }

		//Check if submit is valid
		fc.fnChkSubmit = function() {
			if(errLvl != 0) {
				alert(errHdr + '\n\n' + errMsg);
				fc.submit();
			} else {
				alert('submit!');
				fc.submit();
			}
		}
		return fc;
	}
