function filterTest(filter,str) {
	if (filter.test(str)) {
		testresults=true;
	} else {
		testresults=false;
	}
return testresults;
}

// POSTCODE CHECK
function isValidPostcode(str) { // 4814DC
	var filter=/^([0-9]{4})\s?([A-Z]{2})$/i;
	return filterTest(filter,str);
}

function isValidPostcodeBestellen(str) { // 4814DC
	var filter=/^([0-9]{4})\s?([A-Z]{2})$/i;
	return filterTest(filter,str);
}

function isValidTelefoon(fld) {
    var error = true;
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        error = false;
    } else if (isNaN(parseInt(stripped))) {
        error = false;
    } else if (!(stripped.length == 10)) {
        error = false;
    }
    return error;
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function isValidEmail(fld) {
    var error=true;
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        error = false;
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        error = false;
    } else if (fld.value.match(illegalChars)) {
        error = false;
    } else {
        error = false;
    }
    return error;
}


// BANKREKENING 11 PROEF
function elfProef(bankrekeningnummer) {
	// verwijder alle tekens die geen cijfers zij
	nummer='';
	for (i=0; i<bankrekeningnummer.length; i++) {
		getal=bankrekeningnummer.charAt(i);
		if (getal >=0 && getal <= 9) {
			nummer+=''+getal;	
		}
	} 
	bankrekeningnummer=nummer;
	aantal_tekens=bankrekeningnummer.length;
	if (aantal_tekens>=3 && aantal_tekens<=7) {
		return true;
	}
	if(aantal_tekens != 9) {
		return false;	
	}
	var som=0;
	// loop door de 9 cijfers met de 11 proef formule
	for (i=1; i<10; i++) {
		getal=bankrekeningnummer.charAt(i-1);
		som+=getal*(10-i);
	} 
	// geef resultaat van check terug
	if (som % 11==0 && aantal_tekens==9) {
		return true;
	} else {
		return false;
	}
}

function contactVersturen() {
	d = document.frmContact;
	var errors = new Array("voornaam","achternaam","telefoon","email","vraag");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}

	if (!error) {
		d.submit();
	}
}

function showAndersVeld(value){	
var input;
  if(input = document.getElementById('anders')){
    if(value == 'anders'){
      input.style.visibility = 'visible';
    }
    else{
      input.style.visibility = 'hidden';
    }
  }
}

function aanmeldenCollectief(){
	d = document.inschrijvenCollectief;
	var errors = new Array("voorletters","achternaam","straatnaam","huisnummer","postcode","woonplaats","rekeningnummer","email");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}
	
	// check of minstens een telefoonnummer is ingevuld.
	document.getElementById('telefoonoverdag').className = "";
	document.getElementById('telefoonsavonds').className = "";
	document.getElementById('telefoonmobiel').className = "";
	if ((!d['telefoonoverdag'].value) && (!d['telefoonsavonds'].value) && (!d['telefoonmobiel'].value)) {
		error = true;
		document.getElementById('telefoonoverdag').className = "error";
		document.getElementById('telefoonoverdagLbl').classname = "error";
	}
	
	// postcode check
	document.getElementById('postcode').className = "";
	if (!isValidPostcode(d['postcode'].value)) {
		error = true;
		document.getElementById('postcode').className = "error";
		document.getElementById('postcodeLbl').classname = "error";
	}
	
	// bankrekening check
	document.getElementById('rekeningnummer').className = "";
	if (!elfProef(d['rekeningnummer'].value)) {
		error = true;
		document.getElementById('rekeningnummer').className = "error";
	}
	
	document.getElementById('akkoord').className = "noBorder";
	if (!(d.akkoord.checked)) {
		error = true;
		document.getElementById('akkoord').className = "errorCheckbox";
		document.getElementById('akkoordLbl').classname = "error";
	}

	if (!error) {
		return true;
	} else {
		return false;	
	}
}


function kortingCheck(code){
	if (code == 'jaap.nl'){
		window.alert('Uw kortingscode is correct. U kunt het boek nu bestellen tegen de actieprijs van € 17,50 + € 2,75 verzendkosten.');
		document.getElementById('normaalCbx').style.display = 'none'; 
		document.getElementById('kortingCbx').style.display = 'block';
		document.getElementById('checkCode').value = 'true'; 
		d = document.frmBoekBestellen;
		d.submit();
	}
	else{ 
		window.alert('De door u ingevoerde kortingscode is niet correct.');
	}
}
	
	
function boekBestellen() {
	d = document.frmBoekBestellen;
	var errors = new Array("voorletters","achternaam","straatnaam","huisnummer","postcode", "woonplaats","bankrekening","email");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}
	
	// check of minstens een telefoonnummer is ingevuld.
	document.getElementById('telefoonoverdag').className = "";
	document.getElementById('telefoonsavonds').className = "";
	document.getElementById('telefoonmobiel').className = "";
	if ((d['telefoonoverdag'].value == '') && (d['telefoonsavonds'].value == '') && (d['telefoonmobiel'].value == '')) {
		error = true;
		document.getElementById('telefoonoverdag').className = "error";
		document.getElementById('telefoonoverdagLbl').classname = "error";
	}
	
	// postcode check
	document.getElementById('postcode').className = "";
	if (!isValidPostcodeBestellen(d['postcode'].value)) {
		error = true;
		document.getElementById('postcode').className = "error";
	}

	// bankrekening check
	document.getElementById('bankrekening').className = "";
	if (!elfProef(d['bankrekening'].value)) {
		error = true;
		document.getElementById('bankrekening').className = "error";
	}

	document.getElementById('akkoord_1').className = "noBorder";
	document.getElementById('akkoord_2').className = "noBorder";	
	if (!(document.getElementById('akkoord_1').checked) && !(document.getElementById('akkoord_2').checked)) {
		error = true;
		document.getElementById('akkoord_1').className = "errorCheckbox";
		document.getElementById('akkoord_2').className = "errorCheckbox";
	}

	if (!error) {
		return true;
	} else {
		return false;	
	}
}

function vraagVoucher() {
	var d = document.frmVoucher;
	var errors = new Array("naam");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";

		}
	}
	
	document.getElementById('telefoon').className = "";
	if (!isValidTelefoon(d['telefoon'].value)) {
		error = true;
		document.getElementById('telefoon').className = "error";
	}
	
	document.getElementById('email').className = "";
	if (!isValidEmail(d['email'].value)) {
		error = true;
		document.getElementById('email').className = "error";
	}
	
	if (!error) {
		return true;
	} else {
		return false;	
	}
}

function tellAFriendVerzenden() {
	d = document.frmTellAFriend;
	var errors = new Array("myvoornaam","myachternaam","myemail","tovoornaam","toachternaam","toemail");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}
	
	if (!error) {
		d.submit();
	}
}

function nieuwsbriefAanmelden(){
	d = document.aanmeldenNieuwsbrief;
	var errors = new Array("voorletters","achternaam","email");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";		
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').className = "error";
		} 
	}
	
	if (!error) {
		document.aanmeldenNieuwsbrief.submit();
	}
}


function checkformulier(field){
	var status = 'okee';
	// GA KIJKEN WELKE VELDEN VERPLICHT ZIJN.
	// DEZE BEGINNEN MET check_
	var frm = document.forms[0];
	for (var e = 0; e < frm.length; e++) {
		var name = frm.elements[e].name;
	    if(name.substr(0,6) == 'check_'){
			var naamzondercheck = name.substr(6,28)
			if(frm.elements[e].value==''){
			 	alert('U heeft geen '+ naamzondercheck + ' ingevoerd');
				status = 'niet okee';
			}
		}
    }
	if(status=='okee'){
		frm.submit();
	}
}
function bugreport(currentPage,referer,naam) {
	open("/content/reportbug.php?currentPage="+escape("http://"+currentPage)+"&referer="+escape(referer)+"&naam="+naam,"bugReport","width=500,height=380,scrollbars=no,resizable=no,toolbar=no,statusbar=yes");
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function Email(s){
	Email1 = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;
	Email2 = /^.*@[^_]*$/;
	return (Email1.test(s) && Email2.test(s));
}
function emailerCheckForm()
{
	formulier = document.emailerForm;
	if (!Email(formulier.emailerEmail.value))
	{
		alert("U heeft geen geldig e-mailadres ingevoerd");
		formulier.emailerEmail.focus();
		formulier.emailerEmail.select();
		return false;
	}
	return true;
}