// -----------------------------------------------------------------------------------
// FORM HANDLING
// -----------------------------------------------------------------------------------
function checkFormNL(jAction, jFormName) {
	try {	var jValue, jType, jMsg="", jRegExp, jCount=0, jFormObj, jMaxError = 5;
			var jColorOK = "", jColorNotOK = "";

			for (var y=0; y<jFields.length; y++) { 
				if (checkFormObject(jFields[y], jFormName)) {	
						jFormObj = document.forms[jFormName].elements[jFields[y]];
						//eval('jFormObj = document.forms["' + jFormName + '"].elements["'+jFields[y]+'"]');
							
						if (checkIsArray(jFormObj)) { jType='RADIO'; } else { jType = jFormObj.type; } 

						if  (jType.toUpperCase()=='SELECT') { jValue = jFormObj.options[jFormObj.selectedIndex].value; } 
						else if (jType.toUpperCase()=='RADIO') { jValue = checkRadioButton(jFormObj); }
						else if (jType.toUpperCase()=='TEXT') { jValue = jFormObj.value; }
						else if (jType.toUpperCase()=='TEXTAREA') { jValue = jFormObj.value; }
						else if (jType.toUpperCase()=='FILE') { jValue = jFormObj.value; }

						// only validate input if it is required or when it is filled.
						if ((jValue.length>0) || (jMandatory[y].toLowerCase()=="true")) {
							jValue = jValue.replace(/^\s+|\s+$/g,"gi"); jRegExp = new RegExp(jChecks[y],"gi"); 
							if (jRegExp.test(jValue) == false) { 
								if (checkObject(jFields[y]+'ID')) { document.getElementById(jFields[y]+'ID').innerHTML = jFieldMsg[y]; } jCount+=1;
								if (jCount<jMaxError) { jMsg += "- " + jFields[y] + ': '+ jFieldMsg[y] + "\n"; }  
							} else { if (checkObject(jFields[y]+'ID')) { document.getElementById(jFields[y]+'ID').innerHTML = ''; } }
						}
				}
			}

		// normal handling
		if (jCount>=jMaxError) { jMsg += "...\n";  }
		if (jMsg.length> 0) { alert("Niet alle velden zijn correct ingevuld.\n \n"+jMsg+"\n Controleer de ingevulde gegevens en probeer het opnieuw."); return false; }
		if (jMsg.length==0) { 
				document.getElementById("SentButton").disabled=true; 
				//set page action
				document.forms[jFormName].action = jAction.toLowerCase();
				document.forms[jFormName].elements['sendingformallowed'].value = '556d699968986a989a9869986e989a986c709d98989898989b996c986a9869';
		}

	} catch (excp) { alert('Current webbrowser is not supported.\nError: '+excp); return false; }
}

// check value of raiobuttons
function checkRadioButton(jObj) {
    var cnt = -1;
    for (var i=jObj.length-1; i > -1; i--) { if (jObj[i].checked) {cnt = i; i = -1;} }
    if (cnt > -1) return jObj[cnt].value;
    else return '';
}

// checks if an object is an array
function checkIsArray(jObj) {
	try {    if (jObj.length>0) { return true; } else { return false };
	} catch (excp) { return false }
}


// checks if an object exists
function checkObject(jID) { 
	try { var o = document.getElementById(jID); if (o) { return true } else { return false }
	} catch (excp) { return false }
}

// checks if an form object exists
function checkFormObject(jName, jFormName) { 
	try { var o = document.forms[jFormName].elements[jName]; if (o) { return true } else { return false }
	} catch (excp) { return false }
}
// -----------------------------------------------------------------------------------