// JavaScript Document
//onSubmit="return check_Form( 'applicationform', Array('app_1','app_2','app_3','app_4','app_5','app_6','app_7','app_8','surname','forename','initials','per_address','per_zip','per_town','per_country','cor_address','cor_zip','cor_town','cor-country','tel','email','datebirth','placebirth','nationality_birth','nationality_now'), Array('Sector/field of work','Organisational level of work','Leadership or implementation','Desired country/region of work','Hours per week available','Present salary or minimum salary required from ZOA','Date of availability','Available for (Date of availability)','Surname','Forename(s) in full','Initials','Permanent address','Postal code','Town','Country','Correspondence address','Postal code','Town','Country','Telephone','E-mail','Date of birth','Place of birth','Nationality at birth','Present nationality') )">
function check_Form(formulier, fields, description) {
	d = document.forms [formulier];
	var errors = "";
	
	for (i=0;i<fields.length;i++){ 
		data_field = fields[i];
		if(d [data_field]) {
			if(d [data_field].length && d [data_field].type!="select-one") { // radio or checkbox and no select?
				array_errors = true;
				for (y=0;y<d [data_field].length;y++) { // get options
					if(d [data_field][y].checked == true) {
						array_errors = false;
					}
				}
				if(array_errors != false){
					errors += "- "+description[i]+"\n";
					//d [data_field].style.border="1px #ff0000 solid";
				} else {
					//d [data_field].style.border="1px #00ff00 solid";
				}
			}		
			else if(d [data_field].type=="checkbox"){
				if(d [data_field].checked == false){
					errors += "- "+description[i]+"\n";
					//d [data_field].style.border="1px #ff0000 solid";
				} else {
					//d [data_field].style.border="1px #00ff00 solid";
				}
			}
			else {
				if(d [data_field].value == "") {
					errors += "- "+description[i]+"\n";
					//d [data_field].style.border="1px #ff0000 solid";
				} else {
					//d [data_field].style.border="1px #00ff00 solid";
				}
			}
		} else {
			alert(data_field+" bestaat niet!");	
		}
	}
	if(errors) {
		alert("De volgende veld(en) zijn nog niet (juist) ingevuld:\n"+errors);
		return false;
	}
	else {
		return true;
	}
}

//controleert of er allen getallen worden ingevoerd
function checkInteger( obj ){
	stringObject = obj.value;
	obj.value = checkIntegerStr( stringObject );
}

function checkStringU( obj ){
	stringObject = obj.value;
	v = checkStringStr( stringObject );
	obj.value=v.toUpperCase();
}
function checkStringL( obj ){
	stringObject = obj.value;
	v = checkStringStr( stringObject );
	obj.value=v.toLowerCase();
}
function checkStringF( obj ){
	stringObject = obj.value;
	v = checkStringStr( stringObject );
	v=v.toLowerCase();
	v1=v.substr(0,1);
	v2=v.substr(1);
	v1=v1.toUpperCase();
	v2=v2.toLowerCase();
	obj.value=v1+v2;
}
function checkStringF2( obj ){
	stringObject = obj.value;
	v =checkStringStr( stringObject );
	//v=v.toLowerCase();
	v1=v.substr(0,1);
	v2=v.substr(1);
	v1=v1.toUpperCase();
	//v2=v2.toLowerCase();
	obj.value=v1+v2;
}

//controleert of er allen getallen worden ingevoerd
function checkIntegerStr( stringObject ){
	str= "";
	
	//de gehele string doorlopen
	for( i=0;i<stringObject.length;i++){
	
		strValue = stringObject.substr(i,1);
		
		//controleren of het een cijfer is, en dit meegeven aan str
		for( b=0;b<10;b++){		
			if( strValue.match( b ) ) {
				str = str + strValue.match( b );
			}
		}			
	}		

	//terug geven van de waarde
	return str;
}

//controleert of er allen getallen worden ingevoerd
function checkString( obj ){
	stringObject = obj.value;
	obj.value = checkStringStr( stringObject );
}


//controleert of er allen getallen worden ingevoerd
function checkStringStr( stringObject ){
	stringObjectAlf = Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
	str= "";
	
	//de gehele string doorlopen
	for( i=0;i<stringObject.length;i++){

		strValue = stringObject.substr(i,1);

		//controleren of het een letter is, en dit meegeven aan str
		for( b=0;b<stringObjectAlf.length;b++){
			if( strValue.match( stringObjectAlf[b] )) {
				str = str + stringObjectAlf[b];
			}
		}
	}
		
	//terug geven van de waarde
	return str;
}


//controleert of het de opmaak van een postcode heeft (1234 AB)
function checkPostcode( obj ){
	stringObject = obj.value;
	stringLength = stringObject.length;
	
	pcInt = stringObject.substr(0,4);
	pc = checkIntegerStr( pcInt );
	
	if( stringObject.length > 3 ){
		pc = pc + " ";
	}

	pcStr = stringObject.substr(5,2);
	pc = pc + checkStringStr( pcStr );

	//waarde van het veld setten
	obj.value = pc;	
}

function maxcheck(veld)
{
		maximum=veld.maxlength;
	//exborder=veld.style.border;
   if (veld.value.length > maximum) {
      veld.value = veld.value.substring(0, maximum);
   		//veld.style.border="1px #ff0000 solid"; //bij max = border change
   }
   
}


//ophalen van de value van een radio button
function getValueRadio( formulier, fieldName ){

	d = document.forms [formulier];
	radioObj = d.elements[fieldName];
	var radioLength = radioObj.length;
	
	for(var i = 0; i < radioLength; i++) {		
		if(radioObj[i].checked) {			
			return( radioObj[i].value );		
		}	
	}

}

function checkEmail(obj) {
	stringObject = obj.value;
	
	var x = stringObject;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) {
		obj.value = stringObject;
	} else {
		//d.elements[fieldName].value="?";
		obj.value = "";
	}
}



