// Thinc1st Required Fields Script
function checkrequired(which) {
	//return true;
	
	try{
		var lng = which.reqLanguage.value;
	} catch(e){
		var lng = "NL";
		// no action the field doenst exists!.
	}
	
	if(lng == "NL"){
		sentince = "Het volgende veld in het formulier is niet ingevuld: ";
		pros = "...verwerken...";
	}
	
	if(lng == "EN"){
		sentince = "Please fill in the folling form field: ";
		pros = "...processing...";
	}
	
	if(lng == "DE"){
		sentince = "bitte füllen Sie folgendes Feld aus";
		pros = "...im Prozess...";
	}
	
	if(lng == "FR"){
		sentince = "Veuillez compléter le champ suivant de forme: ";
		pros = "...traitement...";
	}
	
	if(lng == "IT"){
		sentince = "Füllen Sie bitte innen die folgende Form auffangen";
		pros = "...Verarbeitung...";
	}
	
	if(lng == "NO"){
		sentince = "Fyll inn fřlgende informasjon: ";
		pros = "...behandler...";
	}
	
	if(lng == "ES"){
		sentince = "Por favor, rellena correctamente el siguiente campo: ";
		pros = "...procesando...";
	}
	
	var pass=true;
	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			
			// Standaard required field!
			if (tempobj.name.substring(0,2)=="r-") {
				if (((tempobj.type=="text"||tempobj.type=="textarea") && tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==0)) {
					pass=false;
					break;
				}
			}
			
			// Checken of het een e-mail field is.
			if (tempobj.name.substring(0,2)=="e-") {
				if (((tempobj.type=="text"||tempobj.type=="textarea") && tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==0)) {
					pass=false;
					break;
				}
				var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if(!filter.test(tempobj.value)){
					pass=false;
					break;
				}
			}
			
			// Checken of het een numeriek field is.
			if (tempobj.name.substring(0,2)=="n-") {
				if (((tempobj.type=="text"||tempobj.type=="textarea") && tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==0)) {
					pass=false;
					break;
				}
				var filter  = /^([0-9])$/;
				if(!filter.test(tempobj.value)){
					pass=false;
					break;
				}
			}
			
			// Checken of het een tekstueel field is.
			if (tempobj.name.substring(0,2)=="t-") {
				if (((tempobj.type=="text"||tempobj.type=="textarea") && tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==0)) {
					pass=false;
					break;
				}
				var filter  = /^([a-zA-Z])$/;
				if(!filter.test(tempobj.value)){
					pass=false;
					break;
				}
			}
			
		}
		if (!pass) {
			
			// De Alert is eerst niets.
			var theAlert = "";
			
			// We kijken nu of er een hidden bestaat waarvan de inhoud ervan als alert kan worden gebruikt!
			shortFieldName = tempobj.name.substring(2,30);
			theName = tempobj.name;
			theName = theName.replace("r-","a-");
			theName = theName.replace("e-","a-");
			theName = theName.replace("n-","a-");
			theName = theName.replace("t-","a-");
			
			for (i=0;i<which.length;i++) {
				var tempobj=which.elements[i];
				if (tempobj.name == theName) {
					theAlert = tempobj.value;
					break;
				}
			}
			
			// Zo niet zet dan de alert op de standaard zin!.
			if(theAlert == ""){
				theAlert = sentince+shortFieldName
			}
			
			// Alert de inhoud van de variabele theAlert.
			window.alert(theAlert);
			
			// Focus op het object waar het fout gaat!
			return false;
		} else {
			
			// Lock
			try{
				if(which.LockedSubmit.value == pros){
					return false;
				} else {
					which.LockedSubmit.value = pros;
				}
			} catch(e) {
			}
			return true;
		}
		
	}
}