function checkAdresForm(){
	alertStr = "";
	form = document.adreswijziging;
	date = getSplittedDate(form,"Gewenste_ingangsdatum");
	isDateStr = isDate(date, "");
	if (isDateStr==""){
		futureDate = checkdate(date);
		if (futureDate==0){
			alertStr+= form.alertGewenste_ingangsdatum.value + "\n - U heeft als ingangsdatum een datum in het verleden ingevoerd, pas dit svp aan! \n";
		}
	} else {
		alertStr+= form.alertGewenste_ingangsdatum.value + "\n" + isDateStr;
	}
	if (document.adreswijziging.Adres.value==""){ alertStr+= "Voer svp een adres in \n"; }
	if (document.adreswijziging.Plaats.value==""){ alertStr+= "Voer svp een plaats in \n"; }
	if (document.adreswijziging.PC.value==""){ alertStr+= "Voer svp een postcode in \n"; }
	if (document.adreswijziging.Telefoonnummer.value==""){ alertStr+= "Voer svp een telefoonnummer in \n"; }
	//if (document.adreswijziging.email.value==""){ alertStr+= "Voer svp een e-mail adres in \n"; }
	if (alertStr==""){
		document.adreswijziging.submit();
	} else {
		alert(alertStr);
	}
}
function checkSendPasswordForm(){
	alertStr = "";
	if (document.changePassword.password.value==""){ alertStr+= "Voer svp huidige wachtwoord in \n"; }
	if (document.changePassword.passwordNew.value==""){ alertStr+= "Voer svp uw nieuwe wachtwoord in \n"; }
	if (document.changePassword.passwordNew2.value==""){ alertStr+= "Voer svp uw nieuwe wachtwoord herhaling in \n"; }
	if (alertStr==""){
		document.changePassword.submit();
	} else {
		alert(alertStr);
	}
}
function checkSendEmailForm(){
	alertStr = "";
	if (document.SendEmailAddress.Debiteurnummer.value==""){ alertStr+= "Voer svp een debiteurnummer in \n"; }
	if (document.SendEmailAddress.email.value==""){ alertStr+= "Voer svp uw e-mail adres in \n"; }
	if (alertStr==""){
		document.SendEmailAddress.submit();
	} else {
		alert(alertStr);
	}
}
function checkLoginForm(){
	alertStr = "";
	if (document.login.username.value==""){ alertStr+= "Voer svp een debiteurnummer, emailadres of BSN nummer in \n"; }
	if (document.login.password.value==""){ alertStr+= "Voer svp een wachtwoord in \n"; }
	if (alertStr==""){
		document.login.submit();
	} else {
		alert(alertStr);
	}
}
function checkEmail(email,error) {
	var isEmail_re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/; 
   if( String(email).search (isEmail_re) != -1){ return ""; } else { return  error; }
}
function checkFormContents(form,algVw,typeOpvang,verzorgerBekend,kindBekend){
		//document.inschrijven.submit();
	alertStr = "";
	if (verzorgerBekend!=1){
		if (form.Voorletters.value==""){ alertStr+= form.alertVoorletters.value + "\n"; }
		if (form.Achternaam.value==""){ alertStr+= form.alertAchternaam.value + "\n"; }
		if (form.Postcode.value==""){ alertStr+= form.alertPostcode.value + "\n"; }
		if (form.Adres.value==""){ alertStr+= form.alertAdres.value + "\n"; }
		if (form.Huisnr.value==""){ alertStr+= form.alertHuisnr.value + "\n"; }
		if (form.Plaats.value==""){ alertStr+= form.alertPlaats.value + "\n"; }
		//selArbSit = form.Arbeidssituatie.options[form.Arbeidssituatie.selectedIndex].value;
		//if (selArbSit==0){ alertStr+= "Selecteer uw arbeidssituatie svp\n"; }
		//alertStr+= checkSplittedDate(form,"GeboortedatumVerzorger1",form.alertGeboortedatumVerzorger1.value + "\n");
		//alertStr+= checksofi(form.Sofi_nummer,0,form.alertSofi_nummer.value + "\n");
		//if (form.Sofi_nummer.value==""){ alertStr+= form.alertSofi_nummer.value + "\n"; } else {
		if (elf_proef(form.Sofi_nummer.value,'bsn')==false){ alertStr+= "Het ingevoerde BSN van verzorger 1 is niet geldig. Indien het eerste cijfer een 0 is van uw BSN, moet u deze ook invullen! \n"; }
		//}
		if (form.Telefoon_prive.value==""){ alertStr+= form.alertTelefoon_prive.value + "\n"; }
		//if (form.email.value==""){ alertStr+= form.alertemail.value + "\n"; }
		if (form.email.value==""){ alertStr+= form.alertemail.value + "\n"; } else { alertStr+= checkEmail(form.email.value,"Het ingoevoerde e-mail adres van verzorger 1 is niet geldig \n"); }
		if (form.tweede_verzorger.options[form.tweede_verzorger.selectedIndex].value=="ja"){
			if (form.Voorletters_verzorger_2.value==""){ alertStr+= form.alertVoorletters_verzorger_2.value + "\n"; }
			if (form.Achternaam_verzorger_2.value==""){ alertStr+= form.alertAchternaam_verzorger_2.value + "\n"; }
			if (form.Postcode_verzorger_2.value==""){ alertStr+= form.alertPostcode_verzorger_2.value + "\n"; }
			if (form.Adres_verzorger_2.value==""){ alertStr+= form.alertAdres_verzorger_2.value + "\n"; }
			if (form.Huisnr2.value==""){ alertStr+= form.alertHuisnr2.value + "\n"; }
			if (form.Plaats_verzorger_2.value==""){ alertStr+= form.alertPlaats_verzorger_2.value + "\n"; }
			//selArbSit = form.Arbeidssituatie2.options[form.Arbeidssituatie2.selectedIndex].value;
			//if (selArbSit==0){ alertStr+= "Selecteer de arbeidssituatie van verzorger 2svp\n"; }
			//alertStr+= checksofi(form.Sofi_nummer2,0,form.alertSofi_nummer2.value + "\n");
			if (elf_proef(form.Sofi_nummer2.value,'bsn')==false){ alertStr+= "Het ingevoerde BSN van verzorger 2 is niet geldig. Indien het eerste cijfer een 0 is van uw BSN, moet u deze ook invullen! \n"; }
			//alertStr+= checkSplittedDate(form,"GeboortedatumVerzorger2",form.alertGeboortedatumVerzorger2.value + "\n");
			if (form.Telefoon_prive_verzorger_2.value==""){ alertStr+= form.Telefoon_prive_verzorger_2.value + "\n"; }
			//if (form.Email_verzorger_2.value==""){ alertStr+= form.alertEmail_verzorger_2.value + "\n"; }
		}
	}
	if (document.getElementById("WieBetaalt1Div").style.display=="block"){
		selBetaling = form.WieBetaalt1.options[form.WieBetaalt1.selectedIndex].value;
	} else {
		selBetaling = form.WieBetaalt2.options[form.WieBetaalt2.selectedIndex].value;
	}
	//alert(document.getElementById("WieBetaalt1Div").style.display + " - " + selBetaling);
	switch(selBetaling){
		case "0":
			alertStr+= "Kies svp de betalende verzorger \n";
			break;
		case "1":
			if (form.BankGiro.value==""){
				alertStr+= form.alertBankGiro.value + "\n";
			} else {
				if (form.BankGiro.value>1000000){
					//alert("check");
					if (elf_proef(form.BankGiro.value,'bank')==false){ alertStr+= "Het ingevoerde bank / giro nummer van verzorger 1 is niet geldig\n"; }
				}
			}
			if (form.TenNameVan.value==""){
				alertStr+= form.alertTenNameVan.value + "\n";
			}
			break;
		case "2":
			if (form.BankGiro_2.value==""){
				alertStr+= form.alertBankGiro_2.value + "\n";
			} else {
				if (form.BankGiro_2.value>1000000){
					//alert("check");
					if (elf_proef(form.BankGiro_2.value,'bank')==false){ alertStr+= "Het ingevoerde bank / giro nummer van verzorger 2 is niet geldig\n"; }
				}
			}
			if (form.TenNameVan2.value==""){
				alertStr+= form.alertTenNameVan2.value + "\n";
			}
			break;
		case "3":
			if (form.BankGiro_3.value==""){
				alertStr+= form.alertBankGiro_3.value + "\n";
			} else {
				if (form.BankGiro_3.value>1000000){
					//alert("check");
					if (elf_proef(form.BankGiro_3.value,'bank')==false){ alertStr+= "Het ingevoerde bank / giro nummer van derden is niet geldig\n"; }
				}
			}
			if (form.TenNameVan3.value==""){
				alertStr+= form.alertTenNameVan3.value + "\n";
			}
			break;
	}
	if (kindBekend!=1){
		if (form.Roepnaam_kind.value==""){ alertStr+= form.alertRoepnaam_kind.value + "\n"; }
		if (form.Achternaam_kind.value==""){ alertStr+= form.alertAchternaam_kind.value + "\n"; }
		alertStr+= checkSplittedDate(form,"vermoedelijke_geboortedatum",form.alertvermoedelijke_geboortedatum.value + "\n");
		if (typeOpvang=="KDV"){
			vermoedelijke_geboortedatum = getSplittedDate(form,"vermoedelijke_geboortedatum");
			if (vermoedelijke_geboortedatum!="//"){ 
				datePast = checkdatePast(vermoedelijke_geboortedatum);
				if (datePast==1){ alertStr+= checksofi(form.Sofi_nummer_kind,0,"Burgerservice nr kind is niet correct. Indien het eerste cijfer een 0 is van het burgerservice nr, moet u deze ook invullen!\n"); }
			}
		} else {
			//alertStr+= checksofi(document.inschrijven.Sofi_nummer_kind,0,"Burgerservice nr kind is niet correct. Indien het eerste cijfer een 0 is van het burgerservice nr, moet u deze ook invullen!\n");
		}
		if (form.Huisarts.value==""){ alertStr+= form.alertHuisarts.value + "\n"; }
		if (form.Telefoon_huisarts.value==""){ alertStr+= form.alertTelefoon_huisarts.value + "\n"; }
		if (form.NoodNaam1.value==""){ alertStr+= form.alertNoodNaam1.value + "\n"; }
		if (form.NoodTel1.value==""){ alertStr+= form.alertNoodTel1.value + "\n"; }
	}
	if (form.vestiging_keuze_1.value=="" || form.vestiging_keuze_1.value=="Maak een keuze" || form.vestiging_keuze_1.value=="Selecteer een vestiging"){ alertStr+= "Selecteer een vestiging\n"; }
	if (algVw=='1'){ 
		if (!form.algemeneVoorwaarden.checked){ alertStr+= form.alertalgemeneVoorwaarden.value + "\n"; }
	}
	switch(typeOpvang){
		case "KDV":
			date = getSplittedDate(form,"Gewenste_start_datum");
			isDateStr = isDate(date, "");
			if (isDateStr==""){
				futureDate = checkdate(date);
				if (futureDate==0){
					alertStr+= form.alertGewenste_start_datum.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
				}
			} else {
				alertStr+= form.alertGewenste_start_datum.value + "\n" + isDateStr;
			}
			//alertStr+= checkSplittedDate(form,"Gewenste_start_datum",form.alertGewenste_start_datum.value + "\n");
			break;
		case "PSZ":
			date = getSplittedDate(form,"Gewenste_start_datum");
			isDateStr = isDate(date, "");
			if (isDateStr==""){
				futureDate = checkdate(date);
				if (futureDate==0){
					alertStr+= form.alertGewenste_start_datum.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
				}
			} else {
				alertStr+= form.alertGewenste_start_datum.value + "\n" + isDateStr;
			}
			//alertStr+= checkSplittedDate(form,"Gewenste_start_datum",form.alertGewenste_start_datum.value + "\n");
			break;
		case "BSO":
			selectedOpvang = 0;
			if (document.getElementById("BSO1")){ if (form.BSO1.value!=0){
				selectedOpvang = 1;
				date = getSplittedDate(form,"Gewenste_start_datum_BSO1");
				isDateStr = isDate(date, "");
				if (isDateStr==""){
					futureDate = checkdate(date);
					if (futureDate==0){
						alertStr+= form.alertGewenste_start_datum_BSO1.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
					}
				} else {
					alertStr+= form.alertGewenste_start_datum_BSO1.value + "\n" + isDateStr;
				}
				//alertStr+= checkSplittedDate(form,"Gewenste_start_datum_BSO1",form.alertGewenste_start_datum_BSO1.value + "\n");
			}}
			if (document.getElementById("BSO2")){if (form.BSO2.value!=0){
				selectedOpvang = 1;
				date = getSplittedDate(form,"Gewenste_start_datum_BSO2");
				isDateStr = isDate(date, "");
				if (isDateStr==""){
					futureDate = checkdate(date);
					if (futureDate==0){
						alertStr+= form.alertGewenste_start_datum_BSO2.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
					}
				} else {
					alertStr+= form.alertGewenste_start_datum_BSO2.value + "\n" + isDateStr;
				}
				//alertStr+= checkSplittedDate(form,"Gewenste_start_datum_BSO2",form.alertGewenste_start_datum_BSO2.value + "\n");
			}}
			if (document.getElementById("BSO3")){ if (form.BSO3.value!=0){
				selected = 0;
				if(document.getElementById("abonnementAanv").checked){ selected = 1; }
				if(document.getElementById("abonnementZBSO").checked){ selected = 1; }
				if(document.getElementById("5strip").checked){ selected = 1; }
				if(document.getElementById("10strip").checked){ selected = 1; }
				if(selected==0){ alertStr+= "Selecteer svp een optie voor Tussenschoolse opvang (Kinderrestaurant) \n"; }
				selectedOpvang = 1;
				date = getSplittedDate(form,"Gewenste_start_datum_BSO3");
				isDateStr = isDate(date, "");
				if (isDateStr==""){
					futureDate = checkdate(date);
					if (futureDate==0){
						alertStr+= form.alertGewenste_start_datum_BSO4.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
					}
				} else {
					alertStr+= form.alertGewenste_start_datum_BSO3.value + "\n" + isDateStr;
				}
				//alertStr+= checkSplittedDate(form,"Gewenste_start_datum_BSO3",form.alertGewenste_start_datum_BSO3.value + "\n");
			}}
			if (document.getElementById("BSO4")){if (form.BSO4.value!=0){
				selectedOpvang = 1;
				date = getSplittedDate(form,"Gewenste_start_datum_BSO4");
				isDateStr = isDate(date, "");
				if (isDateStr==""){
					futureDate = checkdate(date);
					if (futureDate==0){
						alertStr+= form.alertGewenste_start_datum_BSO4.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
					}
				} else {
					alertStr+= form.alertGewenste_start_datum_BSO4.value + "\n"  + isDateStr;
				}
				//alertStr+= checkSplittedDate(form,"Gewenste_start_datum_BSO4",form.alertGewenste_start_datum_BSO4.value + "\n");
			}}
			if (document.getElementById("BSO5")){if (form.BSO5.value!=0){
				selectedOpvang = 1;
				date = getSplittedDate(form,"Gewenste_start_datum_BSO5");
				isDateStr = isDate(date, "");
				if (isDateStr==""){
					futureDate = checkdate(date);
					if (futureDate==0){
						alertStr+= form.alertGewenste_start_datum_BSO5.value + "\n - U heeft als ingangsdatum opvang een datum in het verleden ingevoerd, pas dit svp aan! \n";
					}
				} else {
					alertStr+= form.alertGewenste_start_datum_BSO5.value + "\n" + isDateStr;
				}
				//alertStr+= checkSplittedDate(form,"Gewenste_start_datum_BSO5",form.alertGewenste_start_datum_BSO5.value + "\n");
			}}
			if (selectedOpvang==0){
				alertStr+= "Selecteer de gewenste opvang \n";
			}
			break;
	}
	//alertStr ="";
	if (alertStr==""){
		document.inschrijven.submit();
	} else {
		alert(alertStr);
	}
}
function confirmation() {
}
function elf_proef(bankrekeningnummer,bank_bsn) {
	// verwijder alle tekens die geen cijfers zijn
	bankrekeningnummer=bankrekeningnummer.replace(/\D/, "");
	aantal_tekens=bankrekeningnummer.length;
	if (aantal_tekens==9){
		var som=0;
		
		for (i=1; i<aantal_tekens; i++) {
			getal=bankrekeningnummer.charAt(i-1);
			som+=getal*(10-i);
		}
		if (bank_bsn=="bsn"){
			getal=bankrekeningnummer.charAt(8);
			som+=getal*(-1);
		} else {
			getal=bankrekeningnummer.charAt(8);
			som+=getal*(1);
		}
		// geef resultaat van check terug
		//alert(som % 11);
		if (som % 11==0 && aantal_tekens==9) {
			return true
		} else {
			return false
		}
	} else {
		if (bank_bsn=='bank' && aantal_tekens<8 && aantal_tekens>2){
			return true
		} else {
			return false
		}
	}
}
function checkdatePast(dateStartIn){
	var today = new Date();
	var dateStart = new Date();
	dateStart.setFullYear(dateStartIn.substr(6,4));
	dateStart.setMonth(dateStartIn.substr(0,2)-1);
	dateStart.setDate(dateStartIn.substr(3,2));
	if (today>dateStart || dateStart==''){
		return 1;
	} else {
		return 0;
	}
} 
function adresGegevensKopie(form){
	form.Postcode_verzorger_2.value = form.Postcode.value;
	form.Adres_verzorger_2.value =  form.Adres.value;
	form.Huisnr2.value =  form.Huisnr.value;
	form.HuisnrToevoeging2.value =  form.HuisnrToevoeging.value;
	form.Plaats_verzorger_2.value =  form.Plaats.value;
	form.Telefoon_prive_verzorger_2.value =  form.Telefoon_prive.value;
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
function checksofi(formObject,alertPopup, alertStr){ 
 sofinr=formObject.value.toString();
 checksum=0;
 if(isNaN(sofinr) || sofinr.length!=9){ 
  if (alertPopup){
  	alert(alertStr); 
  } else { 
  	return alertStr; 
  }
 } 
 else{ 
  for(i=0;i<8;i++){ 
   checksum += (sofinr.charAt(i)*(9-i)); 
  } 
  checksum -= sofinr.charAt(8); 
  if(checksum%11!=0){ 
	  if (alertPopup){
		alert(alertStr); 
	  } else { 
		return alertStr; 
	  }
  } else {
		return '';
  }
 } 
} 
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function checkSplittedDate(form,dateVar,alertMsg){
	monthStr = eval("form." + dateVar + "Month.value");
	dayStr = eval("form." + dateVar + "Day.value");
	yearStr = eval("form." + dateVar + "Year.value");
	dateStr = monthStr + "/" + dayStr + "/" + yearStr;
	return isDate(dateStr, alertMsg);
}
function getSplittedDate(form,dateVar){
	monthStr = eval("form." + dateVar + "Month.value");
	dayStr = eval("form." + dateVar + "Day.value");
	yearStr = eval("form." + dateVar + "Year.value");
	if (monthStr.length==1){ monthStr = "0" + monthStr; }
	if (dayStr.length==1){ dayStr = "0" + dayStr; }
	dateStr = monthStr + "/" + dayStr + "/" + yearStr;
	return dateStr;
}
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr, alertMsg){
	alertMsgDate = "";
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.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){
		alertMsgDate+=" - Het datum formaat moet zijn: mm dd jjjj\n";
		return (alertMsg + alertMsgDate);
	}
	if (strMonth.length<1 || month<1 || month>12){
		alertMsgDate+=" - Voer svp een geldige maand in\n";
		return (alertMsg + alertMsgDate);
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alertMsgDate+=" - Voer svp een geldige dag in\n";
		return (alertMsg + alertMsgDate);
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alertMsgDate+=" - Voer svp een geldig jaar in tussen "+minYear+" en "+maxYear+ "\n ";
		return (alertMsg + alertMsgDate);
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alertMsgDate+=" - Voer svp een geldige datum in\n";
		return (alertMsg + alertMsgDate);
	}
return "";
}
function checkdateOld(dateStartIn){
	var today = new Date();
	var dateStart = new Date();
	dateStart.setFullYear(dateStartIn.substr(6,4),dateStart.setMonth((dateStartIn.substr(3,2)-1)),dateStart.setDate(dateStartIn.substr(0,2)));
	if (today>dateStart || dateStart==''){
		return "U heeft en Ingangsdatum in het verleden of geen ingangsdatum ingevoerd, dit is niet toegestaan!\nEen datum moet worden ingevoerd in de vorm: dd-mm-jjjj\n";
	} else {
		return "";
	}
}
function dayDifference(laterdate,earlierdate) {
    var difference = laterdate.getTime() - earlierdate.getTime();
    var daysDifference = Math.floor(difference/1000/60/60/24);
	return daysDifference;
}
function checkdate(dateStartIn){
    var now = new Date();
    var today = new Date(now.getUTCFullYear(),now.getMonth(),now.getDate());
	var dateStart = new Date(dateStartIn.substr(6,4),dateStartIn.substr(0,2)-1,dateStartIn.substr(3,2));
	daysDifference = dayDifference(dateStart,today);
	if (daysDifference>0){ return 1; } else { return 0; } 
}
