function checkinput(inputname,message,form,type,overrule_icon,validate_on_filled) {
 thabool = 0; 

 if (validate_on_filled != undefined) { 
  if (form[inputname].value == '') {return true; }
 }

 if (type == 'int' || type == 'integer'){
  valid = new RegExp("^[0-9]+$").exec(form[inputname].value);
  if (valid) { thabool = 1; } 
 }
 else if (type == 'email'){  
  valid = new RegExp("^[a-zA-Z0-9]+([.]?[a-zA-Z0-9_-]+)*[@]([a-zA-Z0-9_-]+[.])+([a-zA-Z]{2,4})$").exec(form[inputname].value);
  if (valid) { thabool = 1; } 
 }
 else if (type == 'radio') {
	var groep = form[inputname];
	var isChecked = false;
	for(var r = 0; r < groep.length; r++){
		if(groep[r].checked){
			isChecked = true;
		}
	}	
	if(isChecked){ thabool = 1;	}
 }
 else if (type =='postcode') {
  if (controlePostcode(form[inputname].value)==true){ thabool = 1;}
 }
 else if (type =='gebjaar') {
  if (controleGeboorteJaar(form[inputname].value)==true){ thabool = 1;}
 }
 else if (type == '3formcheck') {
  if (controleAantalFormulieren()!=false){ thabool = 1;} //else { return false; }
 }


 else {
  if (form[inputname].value != '') { thabool = 1; } } // String

 wid = inputname + "_warning";
 if (overrule_icon != undefined) { iid = "icon_" + overrule_icon; wid = overrule_icon + "_warning"} else {
  iid = "icon_" + inputname;
 }
 divje = document.getElementById(wid);
 iconel = document.getElementById(iid);

 if (thabool == 0) {

  thisinput = document.getElementById(inputname);
  if (type != 'radio' && type != '3formcheck') {  
   form[inputname].focus();   
   thisinput.className = thisinput.className+' warning';
  }

  divje.innerHTML = message;
  divje.style.display = 'block';
  iconel.className = iconel.className+' notvalid';
  document.getElementById('error_head').style.display = 'block';
  divje.focus();
  return false;
 } else { 

 divje.style.display = 'none';
 iconel.className = 'validation valid';

 return true; }
}

function checkJSDate(inputname,message,form,type,force){
 var el = form[inputname];
 var valid = new RegExp("^^[0-3][0-9][-]([0][0-9]|[1][0-2])[-][0-9]{4}$").exec(el.value);
 if((!valid && el.value != '')||(!valid && force)){
   alert("Ongeldige format. voorbeeld: dd-mm-yyyy");
   Fat.fade_element(inputname);
   el.focus();
   return false;
 }else if(valid){
    day =parseInt(el.value.substr(0,2),10);
    month = parseInt(el.value.substr(3,2),10)-1;
    year = el.value.substr(6,4);
    dteDate=new Date(year,month,day);
    if(month != dteDate.getMonth() || day != dteDate.getDate() || year != dteDate.getFullYear()){
      alert("Niet bestaande datum ingevoerd" );
      Fat.fade_element(inputname);
      el.focus();
      return false;
    }
 }
 return true;
}// alle functies en meldingen betreffende algemene invoervelden.
// de invoercontroles gelden voor alle formulieren [ particulieren en werkgevers ]


function submitEmailwijzigingParticulier() {
 formid = "frmMailSolutionP";
 if (checkEmailwijzigingP(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitonlinedeskmachtiging() {
 formid = "onlinedeskmachtiging";
 if (checkPrintMachtiging(formid) == true) {
   window.print();
   return false;
 }
 return false;
}

function submitFormPOIPworkshop() {
 formid = "workshoppoip";
 if (checkAanmeldenPOIP(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitFormBIPworkshop() {
 formid = "workshopbip";
 if (checkAanmeldenBIP(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitNieuwsbriefAanmeldingParticulier() {
 formid = "frmMailSolutionP";
 if (checkNieuwsbriefAanmeldingP(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}
function submitNieuwsbriefAanmelding() {
 formid = "frmMailSolution";
 if (checkNieuwsbriefAanmelding(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitBrochureAanvragen() {
 formid = "BrochureAanvragen";
 if (checkBrochureAanvragen(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function checkPrintMachtiging(formid) {
 form = document.getElementById(formid);
 if (!checkinput('nummer_instelling','Vul het nummer van de instelling in.',form,type='string') ) {return false} ;
 
 if (!checkinput('naam_instelling','Vul de naam van de instelling in.',form,type='string') ) {return false} ;
 if (!checkinput('Straat','Vul een straatnaam in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Huisnummer','Vul het huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul de postcode in',form,type='postcode','Postcode') ) {return false} ;
 if (!checkinput('Plaats','Vul de plaatsnaam in',form,type='string','Postcode') ) {return false} ;

 if (!checkinput('Voorletters','Vul de voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('achternaam','Vul een achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('functie','Vul een functie in.',form,type='string') ) {return false} ;
 if (!checkinput('telefoon','Vul een telefoonnummer in.',form,type='string') ) {return false} ;
  
 if (!checkinput('ingangsdatum','Vul een ingangsdatum in.',form,type='string') ) {return false} ;
 if (!checkinput('naam_instellingb','Vul de naam van de instelling in.',form,type='string') ) {return false} ;
  
 if (!checkinput('Straatb','Vul een straatnaam in',form,type='string','Straatb') ) {return false} ;
 if (!checkinput('Huisnummerb','Vul het huisnummer in',form,type='string','Straatb') ) {return false} ;
 if (!checkinput('Postcodeb','Vul de postcode in',form,type='postcode','Postcodeb') ) {return false} ;
 if (!checkinput('Plaatsb','Vul de plaatsnaam in',form,type='string','Postcodeb') ) {return false} ;
 
 if (!checkinput('Voorlettersb','Vul de voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('achternaamb','Vul een achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('functieb','Vul een functie in.',form,type='string') ) {return false} ;
 if (!checkinput('telefoonb','Vul een telefoonnummer in.',form,type='string') ) {return false} ;

 if (!checkinput('datum','Vul een datum in.',form,type='string') ) {return false} ;
 if (!checkinput('dplaats','Vul een plaats in.',form,type='string') ) {return false} ;
 return true;
}

function checkAanmeldenPOIP(formid) {
  //workshop POIP aanmelden
 form = document.getElementById(formid);
 if (!checkinput('Naam_Organisatie','Vul uw organisatie in.',form,type='string') ) {return false} ;
 if (!checkinput('PGGM_nummer','Een aansluitnummer is verplicht.',form,type='int') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('Functie','Vul uw functie in',form,type='string') ) {return false} ;

 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode','Postcode') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode') ) {return false} ;

 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 return true;
}

function checkAanmeldenBIP(formid) {
  //workshop BIP aanmelden
 form = document.getElementById(formid);
 if (!checkinput('Naam_Organisatie','Vul uw organisatie in.',form,type='string') ) {return false} ;
 if (!checkinput('PGGM_nummer','Een aansluitnummer is verplicht.',form,type='int') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('Functie','Vul uw functie in',form,type='string') ) {return false} ;

 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode','Postcode' )) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode') ) {return false} ;

 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 return true;
}



function checkEmailwijzigingP(formid) {
 form = document.getElementById(formid);

 if (!checkinput('Oude_Emailadres','Vul uw oude email adres in',form,type='email') ) {return false} ;
 if (!checkinput('Nieuwe_Emailadres','Vul uw nieuwe email adres in',form,type='email') ) {return false} ;

 document.getElementById("Email").tabIndex = 99;
 document.getElementById("Email").value = document.getElementById("Nieuwe_Emailadres").value;
 document.getElementById("Email").disabled = true;
 //document.getElementById("Email").className = "alleenlezen";

 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;

 if (!checkinput('Geb_Dag','Vul uw geboortedag in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('Geb_Maand','Vul uw geboortemaand in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('GeboorteJaar','Vul uw geboortejaar in.',form,type='gebjaar','Geboortedatum') ) {return false} ;

 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string','Straat',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode','Postcode',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 if (!checkinput('Klant','Geef aan of u klant bent van PGGM.',form,type='radio') ) {return false} ;

 return true;
}

function checkNieuwsbriefAanmeldingP(formid) {
 form = document.getElementById(formid);

 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;

 if (!checkinput('Geb_Dag','Vul uw geboortedag in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('Geb_Maand','Vul uw geboortemaand in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('GeboorteJaar','Vul uw geboortejaar in.',form,type='gebjaar','Geboortedatum') ) {return false} ;

 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string','Straat',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode','Postcode',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode',validate_on_filled='only') ) {return false} ;
 if (!checkinput('Klant','Geef aan of u klant bent van PGGM.',form,type='radio') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 return true;
}

function checkNieuwsbriefAanmelding(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;

 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('functie','Vul uw functie in',form,type='string') ) {return false} ;

 if (!checkinput('instellingnummer','Vul uw instellingsnummer in',form,type='int') ) {return false} ;

 return true;
}

//Controleren of er maximaal 3 Formulieren aangevraagd
function controleAantalFormulieren(){
	var count = 0;
	for (i=0;i<10;i++){
		var selectie = document.BrochureAanvragen.Formulieren[i].checked;
		if (selectie==true){
			count = count + 1;
			if (count>3){
				//alert("U kunt maximaal 3 Formulieren selecteren.");
				return false;
			}
		}
	}
}

function checkBrochureAanvragen(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Formulieren','U kunt maximaal 3 Formulieren selecteren.',form,type='3formcheck') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;

 if (!checkinput('Geb_Dag','Vul uw geboortedag in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('Geb_Maand','Vul uw geboortemaand in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('GeboorteJaar','Vul uw geboortejaar in.',form,type='gebjaar','Geboortedatum') ) {return false} ;

 //if (!checkinput('BRS_nummer','Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.',form,type='int') ) {return false} ;
 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 if (!checkinput('Klant','Geef aan of u klant bent van PGGM.',form,type='radio') ) {return false} ;
 if (!checkinput('Op_de_hoogte_houden','Geef aan of PGGM u op de hoogte mag houden.',form,type='radio') ) {return false} ;

 return true;
}

function submitFormInfoAanvragenWerkgevers() {
 formid = "InfoAanvragenWerkgevers";
 if (checkInfoAanvragenWerkgevers(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitFormKlachtenregistratieWerkgevers() {
 formid = "KlachtenregistratieWerkgevers";
 if (checkKlachtenregistratieWerkgevers(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function submitFormInfoAanvragenParticulieren() {
 formid = "InfoAanvragenParticulieren";
 if (checkInfoAanvragenParticulieren(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}
function submitKlachtenregistratieParticulieren() {
 formid = "KlachtenregistratieParticulieren";
 if (checkKlachtParticulieren(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}
function submitFormAfspraakAccountmanager() {
 formid = "AfspraakAccountmanager";
 if (checkAfspraakAccountmanager(formid) == true) {
   document.getElementById(formid).submit();
   return true;
 }
 return false;
}

function checkInfoAanvragenWerkgevers(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Vraag','Vul uw vraag in.',form,type='string') ) {return false} ;
 if (!checkinput('Naam_Organisatie','Vul uw organisatie in.',form,type='string') ) {return false} ;
 if (!checkinput('PGGM_nummer','Een aansluitnummer is verplicht.',form,type='int') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('Functie','Vul uw functie in',form,type='string') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 return true;
}

function checkKlachtenregistratieWerkgevers(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Naam_Organisatie','Vul uw organisatie in.',form,type='string') ) {return false} ;
 if (!checkinput('PGGM_nummer','Een aansluitnummer is verplicht.',form,type='int') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('Functie','Vul uw functie in',form,type='string') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;

  if (!checkinput('Klacht','Selecteer het onderwerp waarover u een klacht heeft.',form,type='string') ) {return false} ;
  if (!checkinput('Contact','Vul in hoe u contact heeft gehad met ons.',form,type='string') ) {return false} ;
  if (!checkinput('Mijn_klacht','Vul uw klacht in.',form,type='string') ) {return false} ;
 return true;
}

function checkInfoAanvragenParticulieren(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Vraag','Vul uw vraag in.',form,type='string') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;

 if (!checkinput('Geb_Dag','Vul uw geboortedag in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('Geb_Maand','Vul uw geboortemaand in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('GeboorteJaar','Vul uw geboortejaar in.',form,type='gebjaar','Geboortedatum') ) {return false} ;

 //if (!checkinput('BRS_nummer','Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.',form,type='int') ) {return false} ;
 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 if (!checkinput('Klant','Geef aan of u klant bent van PGGM.',form,type='radio') ) {return false} ;
 if (!checkinput('Op_de_hoogte_houden','Geef aan of PGGM u op de hoogte mag houden.',form,type='radio') ) {return false} ;

 return true;
}

function checkKlachtParticulieren(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Mijn_klacht','Vul uw klacht in.',form,type='string') ) {return false} ;

 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;

 if (!checkinput('Geb_Dag','Vul uw geboortedag in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('Geb_Maand','Vul uw geboortemaand in.',form,type='string','Geboortedatum') ) {return false} ;
 if (!checkinput('GeboorteJaar','Vul uw geboortejaar in.',form,type='gebjaar','Geboortedatum') ) {return false} ;

 //if (!checkinput('BRS_nummer','Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.',form,type='int') ) {return false} ;
 if (!checkinput('Straat','Vul uw straatnaam in',form,type='string') ) {return false} ;
 if (!checkinput('Huisnummer','Vul uw huisnummer in',form,type='string','Straat') ) {return false} ;
 if (!checkinput('Postcode','Vul uw postcode in',form,type='postcode') ) {return false} ;
 if (!checkinput('Plaats','Vul uw plaatsnaam in',form,type='string','Postcode') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;
 if (!checkinput('Klant','Geef aan of u klant bent van PGGM.',form,type='radio') ) {return false} ;
 if (!checkinput('Op_de_hoogte_houden','Geef aan of PGGM u op de hoogte mag houden.',form,type='radio') ) {return false} ;

  if (!checkinput('Klacht','Selecteer het onderwerp waarover u een klacht heeft.',form,type='string') ) {return false} ;
  if (!checkinput('Contact','Vul in hoe u contact heeft gehad met ons.',form,type='string') ) {return false} ;
 return true;
}

function checkAfspraakAccountmanager(formid) {
 form = document.getElementById(formid);
 if (!checkinput('Naam_Organisatie','Vul uw organisatie in.',form,type='string') ) {return false} ;
 if (!checkinput('PGGM_nummer','Een aansluitnummer is verplicht.',form,type='int') ) {return false} ;
 if (!checkinput('Voorletters','Vul uw voorletters in.',form,type='string') ) {return false} ;
 if (!checkinput('Achternaam','Vul uw achternaam in.',form,type='string') ) {return false} ;
 if (!checkinput('Geslacht','Vul uw geslacht in.',form,type='radio') ) {return false} ;
 if (!checkinput('Functie','Vul uw functie in',form,type='string') ) {return false} ;
 if (!checkinput('Email','Vul uw email adres in',form,type='email') ) {return false} ;

 return true;
}



function foutMeldingenEN(obj){
	var invoer = obj.substring(0,5) 
	switch(invoer){
		case "Naam_":
		alert("Type in the name of your organisation.");
		document.getElementById(obj).focus();
		break;
	
		case "Voorl":
		alert("Type in your initials.");
		document.getElementById(obj).focus();
		break;

		case "Achte":
		alert("Type in your surname.");
		document.getElementById(obj).focus();
		break;
		
		case "Gesla":
		alert("Type in your gender.");
		document.getElementById(obj).focus();
		break;

		case "Email":
 		alert("Type in your e-mail address.");
		document.getElementById(obj).focus();
		break;
		
		default:
		alert("Type in a value.")
		document.getElementById(obj).focus();
	}	
}

function foutMeldingen(obj){
	var invoer = obj.substring(0,5) 
	alert(invoer);
	switch(invoer){
		case "Naam_":
		alert("Vul de naam van uw organisatie in.");
		document.getElementById(obj).focus();
		break;
		
		case "PGGM_":
		alert("Vul uw PGGM-nummer in.");
		document.getElementById(obj).focus();
		break;
		
		case "Voorl":
		alert("Vul uw voorletters in.");
		document.getElementById(obj).focus();
		break;

		case "Achte":
		alert("Vul uw achternaam in.");
		document.getElementById(obj).focus();
		break;
		
		case "Gesla":
		alert("Vul uw geslacht in.");
		document.getElementById(obj).focus();
		break;

		case "Straa":
		alert("Vul uw straatnaam in.");
		document.getElementById(obj).focus();
		break;
		
		case "Huisn":
 		alert("Vul uw huisnummer in.");
		document.getElementById(obj).focus();
		break;
		
		case "Postc":
 		alert("Vul uw postcode in.");
		document.getElementById(obj).focus();
		break;
		
		case "Plaat":
 		alert("Vul uw plaatsnaam in.");
		document.getElementById(obj).focus();
		break;
		case "Geb_D":
 		alert("Vul uw geboortedag in.");
		document.getElementById(obj).focus();
		break;
		
		case "Geb_M":
 		alert("Vul uw geboortemaand in.");
		document.getElementById(obj).focus();
		break;
			
		case "Funct":
 		alert("Vul uw functie in.");
		document.getElementById(obj).focus();
		break;
		
		case "Ander":
 		alert("Geef aan wat uw functienaam is.");
		document.getElementById(obj).focus();
		break;		
		
		case "Telef":
 		alert("Vul uw telefoonnummer in.");
		document.getElementById(obj).focus();
		break;

		case "Email":
 		alert("Vul uw e-mailadres in.");
		document.getElementById(obj).focus();
		break;
		
		case "Aanle":
 		alert("Geef aan wat de andere aanleiding was.");
		document.getElementById(obj).focus();
		break;

		case "Klant":
 		alert("Geef aan of u klant bent van PGGM.");
		break;		
		
		case "Op_de":
 		alert("Geef aan of PGGM u op de hoogte mag houden.");
		break;
	 
		default:
		
		alert("Vul een waarde in." + obj);
		document.getElementById(obj).focus();
	}	
}

function controleNAWgegevens(input){
var form = input;
var formulier = document.getElementById(form);
var aantal_elementen = document.getElementById(form).elements.length;
var begin_punt;
// bepaal het begin punt van de algemene controles, dit is bij particulieren de voorletters en bij werkgevers de naam van de instelling
// bepaal het eind punt van de algemene controles, dit is bij particulieren het toestemming blok en bij werkgevers het e-mail adres
if(document.getElementById("SoortFormulier").value=="particulieren"){
	begin_punt = "Voorletters"
	eind_punt ="Op_de_hoogte_houden"
}
else
{
	begin_punt = "Naam_Organisatie"
	eind_punt = "Aanleiding"
}	

	for (var e = 0; e < aantal_elementen; e++){
	
		var naam =	formulier.elements[e].name;
		if (naam == begin_punt){
		x = e;
		}
		if (naam == eind_punt){
		y = e+1;
		}
	}
	// controle invoervelden leeg en niet leeg	
	for (var i = x; i < y; i++){
		var naam =	formulier.elements[i].name;
		var waarde = formulier.elements[i].value;
		var type = formulier.elements[i].type;
		
		if (type == "radio"){
			var groep = formulier[formulier.elements[i].name];
			var isChecked = false;
			for(var r = 0; r < groep.length; r++){
				if(groep[r].checked){
					isChecked = true;
				}
			}	
			if(isChecked){
			}
			else
			{
				foutMeldingen(naam);
				return false;
			}
		}
		else {
		    if (naam == "selectLand") {
		        land = waarde;
		    }
			
			if (waarde == ""){
				if(document.getElementById("SoortFormulier").value=="particulieren"){
					if ((naam != "Tussenvoegsel")&&(naam!="BRS_nummer")){
					    if ((naam == "Straat") || (naam == "Huisnummer") || (naam == "Huisnummer_Zonder_Toevoeging") || (naam == "Postcode") || (naam == "Plaats")) {
					        if (land == "NL") {
					            foutMeldingen(naam);
					            return false;
					        }
					    }
					} else {    
    				    foutMeldingen(naam);
					    return false;
					}
				}	
				else
				{
				// 
					if ((naam != "Tussenvoegsel")&&(naam!="Anders_functie")&&(naam!="Telefoon")&&(naam != "Omvang_organisatie")&&(naam != "Aanleiding")&&(naam != "Anders_aanleiding")){
					foutMeldingen(naam);
					return false;
					}
				}
			}
			else 
			{
			//controles als een waarde is ingevoerd.
				if (naam == "PGGM_nummer"){
					if (isNaN(waarde)){
					alert("Een PGGM nummer bestaat alleen uit cijfers.");
					formulier.elements[i].select();
					return false;
					}
				}
				if (naam == "BRS_nummer"){
					if (isNaN(waarde)||(waarde.length > 9)){
					alert("Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.");
					formulier.elements[i].select();
					return false;
					}
				}

				if ((naam == "Postcode") && (land=="NL")) {
					if (controlePostcode(waarde)==false){
					formulier.elements[i].focus();
					return false;
					}
				}
				
				if (naam == "Huisnummer"){
				//input parameter voor MAP is een huisnummer zonder toevoeging
					if (isNaN(waarde)){
						var nummer = "";
						nummer = zetHuisnummerzonderToevoeging(waarde);
						if (nummer == ""){
							alert("U heeft een ongeldig huisnummer ingevuld.");
							formulier.elements[i].select();
							return false;
						}
						else
						{
						document.getElementById("HuisnummerZonderToevoeging").value = nummer;
						}
					}
					else
					{
						document.getElementById("HuisnummerZonderToevoeging").value = waarde;
					}
				}
				
				if (naam =="GeboorteJaar"){
					if (controleGeboorteJaar(waarde)==false){
					formulier.elements[i].focus();
					return false;
					}
				}
				
				if (naam =="Functie"){
					if (waarde=="Anders"){
						var v = i + 1;
						if(formulier.elements[v].value == ""){
							foutMeldingen(naam);
							formulier.elements[v].focus();
							return false;
						}	
					}
				}
				if (naam =="Telefoon"){
					if (!controleTelefoonnummer(waarde)){
					formulier.elements[i].focus();
					return false;
					}
				}
				if (naam =="Email"){
	 				if (controleEmailadres(waarde)==false){
        	      	formulier.elements[i].focus();
        	        return false;
					}
        	    }
				if (naam =="EmailEN"){
	 				if (controleEmailadresEN(waarde)==false){
        	      	formulier.elements[i].focus();
        	        return false;
					}
        	    }
				
				if (naam =="Aanleiding"){
					if (waarde=="Anders"){
						var v = i + 1;
						if(formulier.elements[v].value == ""){
							foutMeldingen(naam);
							formulier.elements[v].focus();
							return false;
						}	
					}
				}
				
				
			}	
		}	
	}	
}

function controlePostcode(Postcode)	{
	ZIP = Postcode;
	ZIP = ZIP.toUpperCase();
	if ( ZIP.length != 6 ) {
		alert("U heeft een ongeldige postcode ingevuld.\nEen postcode bestaat uit 6 karakters (bv '1234AB').");
		return false;
	}
	for (letter =0; letter < 4; letter++){
		if ( isNaN( parseInt( ZIP.charAt( letter ) ) ) ){
			alert("U heeft een ongeldige postcode ingevuld.\nDe eerste 4 karakter mogen alleen getallen bevatten (bv '1234AB').");
			return false;
		}
	}
	for (letter=4; letter < 6; letter++){
		if ( !isNaN( parseInt( ZIP.charAt( letter ) ) ) | ZIP.charAt( letter) == ' ' ){
			alert("U heeft een ongeldige postcode ingevuld.\nDe laatste 2 karakters moeten letters zijn (bv '1234AB').");
			return false;
		}
	}
	return true; 
}

function controleGeboorteJaar(Jaar)	{
	GeboorteJaar = Jaar;
	var nu = new Date
	var huidigeJaar = nu.getFullYear()
	if (Jaar.length != 4 ) {
		//alert("Vul uw geboortejaar in.");
		return false;
	}
	if (isNaN( GeboorteJaar)){
		//alert("Vul uw geboortejaar in.");
		return false;
	}
	if ((Jaar < 1900) || (Jaar > huidigeJaar)){
		//alert("Vul uw geboortejaar in.");
		return false;
	}
	return true; 
}

function controleTelefoonnummer(telnum) {
  	var str = "";
	var nmr;
	str = stripNumberString(telnum);
	if (str==true) {
		alert ("U heeft een ongeldig telefoonnummer ingevuld.");
    	return false;
	}
	nmr = parseInt( str, 10 );
	if( (str.length > 9)  &&  (str.length < 11) && (nmr > 9999999) && (nmr <= 9999999999)  ){
    	return true;
	} else  {
    	alert ("U heeft een ongeldig telefoonnummer ingevuld.");
    	return false;
  	}
}

function stripNumberString(theString){
	var str = '';
  	var theMatch = /([0-9- ])/;
  	for (i=0; i < theString.length; i++) {
    	if (! theString.charAt(i).match(theMatch) ) {
    	return true;
		} else if ( !((theString.charAt(i) == ' ') || (theString.charAt(i) == '-')) ) {
      		str += theString.charAt(i);
    	}
  	}
  	return str;
}
function controleEmailadres(email,formuliernaam){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email)) {
	}
	else 
	{
		if (formuliernaam != 'AanvragenKwartaalberichtEN') {
			alert("Uw gegevens worden niet als e-mailadres herkend. Controleer of de invoer juist is.");
			return false;
		}
		else {
			alert("Please enter a valid email address.");
			return false;
		}
			
	}
}

function controleHTMLsyntax(invoerWaarde) {
	var tempString=invoerWaarde;
	var HTMLsyntax = ['<','>','/','&'];
	var vervangMet = ['','','',''];
	for(var i=0; i < HTMLsyntax.length; i++)
		tempString=tempString.replace(HTMLsyntax[i],vervangMet[i]);
	return tempString;
}

function nederlandseDatum(){
	var datum = new Date();
	var dag=datum.getDate();
	var jaar=datum.getYear();
	
	if (jaar < 1000)
	{jaar+=1900}
	var maand=datum.getMonth();
	var maandArray=new Array("januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december")	
	var nedDatum = dag + ' ' + maandArray[maand] + ' ' + jaar;
	return nedDatum;
	
	}

var regExpressions = /[$\\@\\\-#%!;:.,\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
function vervangVreemdeTekens(invoer) {
	var controle = invoer.value;
	var lengte = controle.length;
	var lchar = invoer.value.charAt((lengte) - 1);
	if(lchar.search(regExpressions) != -1) {
		var temp = invoer.value.substring(0, (lengte) - 1);
		invoer.value = temp;
   }
}

function zetHuisnummerzonderToevoeging(huisnummer){
	var eenCijfer = /([0-9- ])/;
	var nummer= '';
	for (i=0; i < huisnummer.length; i++) {
    	if (huisnummer.charAt(i).match(eenCijfer) ) {
    		nummer += huisnummer.charAt(i);
		} 
		else {
      		nummer += '';
    	}
	}
	return nummer;
}

//openAWindow, validateDate en validateOptionalDate 
function openAWindow( pageToLoad, winName, width, height, center) 
{
    xposition=0; yposition=0;
    if ((parseInt(navigator.appVersion) >= 4 ) && (center))
	{
        xposition = (screen.width - width) / 2;
        yposition = (screen.height - height) / 2;
    }
    args = "width=" + width + "," 
    + "height=" + height + "," 
    + "location=0," 
    + "menubar=0,"
    + "resizable=1,"
    + "scrollbars=1,"
    + "status=0," 
    + "titlebar=0,"
    + "toolbar=0,"
    + "hotkeys=0,"
    + "screenx=" + xposition + ","  //NN Only
    + "screeny=" + yposition + ","  //NN Only
    + "left=" + xposition + ","     //IE Only
    + "top=" + yposition;           //IE Only
    window.open( pageToLoad,winName,args );
}

function validateDate(txtfield) {

/*	txtfield is een input type text met een datum 
	Er wordt gevalideerd op een geldige datum. 
	Inputformaat is DDMMYYYY of DDMMYY of DD-MM-YY of DD-MM-YYYY
	Als geen eeuwaanduiding is meegegeven dan wordt dit bepaald a.d.v.
	het jaar xx17.*/
	
	var strInput = txtfield.value;
	
	var str31maand='01,03,05,07,08,10,12'
	var dag, maand, jaar;
	var boolResult=true;
	var trace=0;
	
	if (strInput.indexOf('-')==-1) {
		dag=strInput.substring(0,2);
		maand=strInput.substring(2,4);
		jaar=strInput.substring(4,8);
	}
	else {
		dag=strInput.substring(0,2);
		maand=strInput.substring(3,5);
		jaar=strInput.substring(6,10);
	}
	if (jaar.length==2){
		if (jaar<=17){ jaar='20'+jaar }
		else { jaar='19'+jaar }
	}
	/* Check op lengtes van input en de verschillende datumonderdelen */
	boolResult=(strInput.length>5)?true:false;
	if (boolResult) {
		if (dag.length!=2){
			boolResult=false;
			trace=1
		}
	}
	if (boolResult) {
		if (maand.length!=2){
			boolResult=false;
			trace=2
		}
	}
	if (boolResult){
		if (jaar.length!=4){
			boolResult=false;
			trace=3
		}
	}

	/* test op laatste dag in februari */
	if (boolResult) {
		if (jaar%4==0) {
			if (maand=="02"&&dag>29){
				boolResult=false;
				trace=4
			}
		}
		else {
			if (maand=="02"&&dag>28){
				boolResult=false;
				trace=5
			}
		}
	}
	/* test op laatste dag van overige maanden */
	if (boolResult) {
		if (str31maand.indexOf(maand)>-1) {
			if (dag>31){
				boolResult=false;
				trace=6
			}
		}
		else {
			if (dag>30){
				boolResult=false;
				trace=7
			}
		}
	}
	/* Test op geldige maand */
	boolResult=(boolResult&&maand>0&&maand<13)?true:false;

	/* Test op geldige dag */
	boolResult=(boolResult&&dag>"00")?true:false;

	/* Toon foutmelding of plaats geformatteerde datum in txtfield */
	if (!boolResult) {
		alert("De ingevoerde datum kan niet verwerkt worden.\nU kunt een datum als volgt invoeren:\nDDMMJJ  of  DDMMJJJJ  of  DD-MM-JJ  of  DD-MM-JJJJ");
		txtfield.focus()
	}
	else {
		txtfield.value=dag+'-'+maand+'-'+jaar}
	return boolResult;
}

function validateOptionalDate(txtfield) {
/* Validatie van een optioneel in te vullen datumveld
   Deze functie maakt gebruik van de functie validateDate() */
	if (txtfield.value=="") {return true}
	else {return validateDate(txtfield)}
}

// TuO:22 jan 2007 tbv vtw 5233: *** info_aanvraag_particulieren ***
// Als land geen Nederland is, dan geen verplichting op straat en huisnummer.
function CheckInput(){
	var formNaam = document.InfoAanvragenParticulieren;

	if (formNaam.Voorletters.value == ""){
		foutMeldingen("Voorletters");
		return false;
	}
	else
	{
		if (formNaam.Achternaam.value == ""){
			foutMeldingen("Achternaam");
			return false;
		}
		else
		{
			var isChecked = false;
			var geslacht = formNaam.Geslacht;
			
			for (var r = 0; r < geslacht.length; r++)
			{
				if (geslacht[r].checked){
					isChecked = true;
				}
			}
			if (isChecked) {
			}
			else
			{
				foutMeldingen("Geslacht");
				return false;
			}				
		}
		if (formNaam.Geb_Dag.value == ""){
				foutMeldingen("Geb_Dag");
				return false;			
		}
		else
		{
			if (formNaam.Geb_Maand.value == ""){
				foutMeldingen("Geb_Maand");
				return false;			
			}
			else
			{
				if (controleGeboorteJaar(formNaam.GeboorteJaar.value) == false)
				{
					formNaam.GeboorteJaar.focus();
					return false;
				}
				else
				{
					if (isNaN(formNaam.BRS_nummer.value)||(formNaam.BRS_nummer.value.length > 9)){
						alert("Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.");
						formNaam.BRS_nummer.focus();
						return false;
					}
					else
					{
						if (formNaam.Straat.value == ""){
							foutMeldingen("Straat");
							return false;
						}
						else
						{
							if (formNaam.Huisnummer.value != ""){
								if (isNaN(formNaam.Huisnummer.value)){
									var nummer = "";
									nummer = zetHuisnummerzonderToevoeging(formNaam.Huisnummer.value);
									if (nummer == ""){
										alert("U heeft een ongeldig huisnummer ingevuld.");
										formNaam.Huisnummer.focus();
										return false;
									}
									else
									{
										document.getElementById("HuisnummerZonderToevoeging").value = nummer;
									}
								}
								else
								{
									document.getElementById("HuisnummerZonderToevoeging").value = formNaam.Huisnummer.value;
								}
							}
							else
							{
								foutMeldingen("Huisnummer");
								return false;									
							}

							var selectedValue = formNaam.selectLand.value;
							if (selectedValue == "Nederland"){
								if (formNaam.Postcode.value != ""){
									if (controlePostcode(formNaam.Postcode.value) == false ){
										formNaam.Postcode.focus();
										return false;
									}
								}
								else
								{
									foutMeldingen("Postcode");
									return false;																	
								}
								if (formNaam.Plaats.value == ""){
									foutMeldingen("Plaats");
									return false;
								}
							}
							
							if (formNaam.Email.value != ""){
								if (controleEmailadres(formNaam.Email.value)==false){
        	      					formNaam.Email.focus();
				        	        return false;
								}
							}
							else
							{
								foutMeldingen("Email");
								return false;
							}
							
							var isChecked = false;
							var Klant = formNaam.Klant;
			
							for (var r = 0; r < Klant.length; r++){
								if (Klant[r].checked){
									isChecked = true;
								}
							}
							if (isChecked) {
							}
							else
							{
								foutMeldingen("Klant");
								return false;
							}				

							var isChecked = false;
							var Op_de_hoogte_houden = formNaam.Op_de_hoogte_houden;
			
							for (var r = 0; r < Op_de_hoogte_houden.length; r++){
								if (Op_de_hoogte_houden[r].checked){
									isChecked = true;
								}
							}
							if (isChecked) {
							}
							else
							{
								foutMeldingen("Op_de_hoogte_houden");
								return false;
							}				
						}
					}
				}
			}
		}
	}
}

// TuO:16 maart 2007 tbv vtw 5233: *** EigenTijd_Nieuwsbrief ***
// Als land geen Nederland is, dan geen verplichting op straat en huisnummer.
function CheckInputNB(){
	var formNaam = document.AanmeldenNieuwsbrief;

	if (formNaam.Voorletters.value == ""){
		foutMeldingen("Voorletters");
		return false;
	}
	else
	{
		if (formNaam.Achternaam.value == ""){
			foutMeldingen("Achternaam");
			return false;
		}
		else
		{
			var isChecked = false;
			var geslacht = formNaam.Geslacht;
			
			for (var r = 0; r < geslacht.length; r++)
			{
				if (geslacht[r].checked){
					isChecked = true;
				}
			}
			if (isChecked) {
			}
			else
			{
				foutMeldingen("Geslacht");
				return false;
			}				
		}
		if (formNaam.Geb_Dag.value == ""){
				foutMeldingen("Geb_Dag");
				return false;			
		}
		else
		{
			if (formNaam.Geb_Maand.value == ""){
				foutMeldingen("Geb_Maand");
				return false;			
			}
			else
			{
				if (controleGeboorteJaar(formNaam.GeboorteJaar.value) == false)
				{
					formNaam.GeboorteJaar.focus();
					return false;
				}
				else
				{
					if (isNaN(formNaam.BRS_nummer.value)||(formNaam.BRS_nummer.value.length > 9)){
						alert("Een klantnummer is een 9-cijferige veld. U vindt uw klantnummer op uw pensioenoverzicht.");
						formNaam.BRS_nummer.focus();
						return false;
					}
					else
					{
						if (formNaam.Straat.value == ""){
							foutMeldingen("Straat");
							return false;
						}
						else
						{
							if (formNaam.Huisnummer.value != ""){
								if (isNaN(formNaam.Huisnummer.value)){
									var nummer = "";
									nummer = zetHuisnummerzonderToevoeging(formNaam.Huisnummer.value);
									if (nummer == ""){
										alert("U heeft een ongeldig huisnummer ingevuld.");
										formNaam.Huisnummer.focus();
										return false;
									}
									else
									{
										document.getElementById("HuisnummerZonderToevoeging").value = nummer;
									}
								}
								else
								{
									document.getElementById("HuisnummerZonderToevoeging").value = formNaam.Huisnummer.value;
								}
							}
							else
							{
								foutMeldingen("Huisnummer");
								return false;									
							}

							var selectedValue = formNaam.selectLand.value;
							if (selectedValue == "Nederland"){
								if (formNaam.Postcode.value != ""){
									if (controlePostcode(formNaam.Postcode.value) == false ){
										formNaam.Postcode.focus();
										return false;
									}
								}
								else
								{
									foutMeldingen("Postcode");
									return false;																	
								}
								if (formNaam.Plaats.value == ""){
									foutMeldingen("Plaats");
									return false;
								}
							}
							
							if (formNaam.Email.value != ""){
								if (controleEmailadres(formNaam.Email.value)==false){
        	      					formNaam.Email.focus();
				        	        return false;
								}
							}
							else
							{
								foutMeldingen("Email");
								return false;
							}
							
							var isChecked = false;
							var Klant = formNaam.Klant;
			
							for (var r = 0; r < Klant.length; r++){
								if (Klant[r].checked){
									isChecked = true;
								}
							}
							if (isChecked) {
							}
							else
							{
								foutMeldingen("Klant");
								return false;
							}				
						}
					}
				}
			}
		}
	}
}

function sterretjesUit(txtland) {
    if ((txtland != "NL") && (txtland != "")) {
        document.getElementById('mijnStraat').style.visibility = 'hidden';
        document.getElementById('mijnHuisnummer').style.visibility = 'hidden';
        document.getElementById('mijnPostcode').style.visibility = 'hidden';
        document.getElementById('mijnPlaats').style.visibility = 'hidden';
    }
    else {
        document.getElementById('mijnStraat').style.visibility = 'visible';
        document.getElementById('mijnHuisnummer').style.visibility = 'visible';
        document.getElementById('mijnPostcode').style.visibility = 'visible';
        document.getElementById('mijnPlaats').style.visibility = 'visible';
    }
}