var toernooionderdelen;			// lijst van onderdelen
var ookPartners, ookEnkels, ookLeeftijd;// geeft aan dat ook om partners, speelsterkte en geboortedatum gevraagd moet worden
var sSpeelsterkteE, sSpeelsterkteD, sLeeftijd;
var sManVrouw = "allebei";
var spknltbnummer, partnerknltbnummer;
var pgegevens;
var maxopgaven;
var banner, bi;
var acceptatie;
var knltbMetChanged = false;
var EMailadresChanged = false;
var logozelf;
var debug;
var mystylesheet;
var laatsteNaamElement = "";
var emailadresverplicht = false;
var incassoverplicht = true;
var gesubmit = false;
var tjaar;
var download = false;
var metGebdatum = false;
var arrOnd;

sSpeelsterkteE = "";
sSpeelsterkteD = "";
sLeeftijd = "";
spknltbnummer = "";
sManVrouw = "allebei";

function setLeeftijd(oSelectie) {
	var jaar;
	var s1;
	if (download) return true;
	jaar = oSelectie.options[oSelectie.selectedIndex].value;
    if(jQuery.trim(jaar)=="") {
      alert("Selecteer je geboortedatum!");
	  oSelectie.focus();
      return false;
      }
    metGebdatum = true;
	sLeeftijd = tjaar - jaar;
	setOnderdelen();
}

function setManVrouw(manVrouw) {
	if (download) return true;
	sManVrouw = manVrouw;
	setOnderdelen();
	return true;
}

function setSpeelsterkte(oSelectie, iEnkelDubbel)
{
	if (download) return true;
	if (iEnkelDubbel == 1)  // enkel
		sSpeelsterkteE = oSelectie.options[oSelectie.selectedIndex].value;
	else                    // dubbel
		sSpeelsterkteD = oSelectie.options[oSelectie.selectedIndex].value;
	setOnderdelen();
}

function vraagOmPartner(ond, row, isChecked) {
	var ond, onderdeelgeslacht;
	var tstring;
	var spelsoort, speelsterkte;
	var leeftijdvanaf, leeftijdtotenmet;
	var pgegeven, pgegevenid;
	var i, j, k;
	var dubbelAlGeweest = false;
    //alert("vraagOmPartner ond="+ond+" row="+row+" isChecked="+isChecked);
	if (sManVrouw == "allebei") {
		alert("Begin svp met invullen van je eigen gegevens.\r\nMan of vrouw?\r\nJongen of meisje?");
		var oMV = document.getElementById("sexe1");
		oMV.focus();
		return false;
		}
	var oTafel = document.getElementById('oOnderdelenbody');
	//ond = Onderdeel.id.substring(2,4);
	spelsoort = toernooionderdelen[ond]["SPELSOORT"];
	onderdeelgeslacht = toernooionderdelen[ond]["GESLACHT"];
	speelsterkte = toernooionderdelen[ond]["SPEELSTERKTE"];
	partnerwanted = toernooionderdelen[ond]["PARTNERWANTED"];
	if (speelsterkte == null) speelsterkte = "";
	leeftijdvanaf = toernooionderdelen[ond]["LEEFTIJDVANAF"];
	if (leeftijdvanaf == null) leeftijdvanaf = "";
    if (leeftijdvanaf == "1") leeftijdvanaf = "";
	leeftijdtotenmet = toernooionderdelen[ond]["LEEFTIJDTOTENMET"];
	if (leeftijdtotenmet == null) leeftijdtotenmet = "";
	if ((leeftijdvanaf != "" || leeftijdtotenmet != "") && sLeeftijd == "") {
		alert("Vul svp geboortedatum in!");
		return false;
		}
	if (speelsterkte != "" && spelsoort == "D" && sSpeelsterkteD == "") {
		alert("Geef svp dubbelspelspeelsterkte op!");
		return false;
		}
	if (speelsterkte != "" && spelsoort == "E" && sSpeelsterkteE == "") {
		alert("Geef svp enkelspelspeelsterkte op!");
		return false;
		}
	if (isChecked && (spelsoort == "D") ) {                       // eigenlijke vraag om partner
//	if (Onderdeel.checked && (spelsoort == "D") ) {                       // eigenlijke vraag om partner
		partnergeslacht = onderdeelgeslacht;
		if (sManVrouw == "man" && onderdeelgeslacht == "G") partnergeslacht = "V";
		if (sManVrouw == "vrouw" && onderdeelgeslacht == "G") partnergeslacht = "M";
		tstring = "";
		if (partnergeslacht == "V") partnermv = "vrouw";
		else if (partnergeslacht == "M") partnermv = "man";
		else tstring = "onbekend geslacht partner???<BR>";
		tstring += 	"<INPUT TYPE=HIDDEN name='geslacht"+ond+"' VALUE='"+partnergeslacht+"'>"+
				"<TABLE border='0' cellpadding='0' cellspacing='0'>" +
				"<TR><TD>Voornaam(letters)"+
				"<TD colspan=2><INPUT TYPE=TEXT name='voornaam"+ond+"' id='voornaam"+ond+"' SIZE='15'><B>&nbsp;"+partnermv+"</B></TR>"+
				"<TR><TD>Tussenvoegsels"+
				"<TD colspan=2><INPUT TYPE=TEXT name='tussenvoegsels"+ond+"' id='tussenvoegsels"+ond+"' SIZE='5'></TD></TR>"+
				"<TR><TD>Achternaam"+
				"<TD colspan=2><INPUT TYPE=TEXT name='achternaam"+ond+"' id='achternaam"+ond+"' SIZE='30'></TD></TR>";
		//if (partnerwanted == "toegestaan") tstring += "<tr><td>eventueel aanvinken: <td><input type=checkbox name='pw"+ond+"' id='pw"+ond+"'><td> zoekt partner";
		for (var i=0; i < pgegevens.length; i++) {
			//pgegeven         = pgegevens.item(i);
			pgegevenid	= pgegevens[i]["IDENTIFICATIE"];
			if (pgegevenid == "knltbnummer") {
				tstring += "<TR><TD>Bondsnummer:</TD><TD colspan=2><INPUT TYPE=TEXT name='knltbnummer"+ond+"' id='knltbnummer"+ond+"' onChange='knltbMetChanged=true' onBlur='checkKNLTBnummerMet(this)'></TD></TR>";
				}
			if (pgegevenid == "speelsterkteenkel") {
				//alert("speelsterkteenkel");
				tstring += "<TR><TD>Speelsterkte enkel<TD colspan=2><select size='1' name='speelsterkteenkel"+ond+"' id='speelsterkteenkel"+ond+"' >\r";
				for(j=1; j <= 9; j++) {
					tstring += "<option value='"+j+"'>"+j+"<\/option>";
					}
				tstring += "<option selected><\/option><\/select>\r";
				for (var k= i + 1; k < pgegevens.length; k++) {
					if (pgegevens[k]["IDENTIFICATIE"] == "speelsterktedubbel") {
						tstring += "&nbsp;Speelsterkte dubbel:<select size='1' name='speelsterktedubbel"+ond+"' id='speelsterktedubbel"+ond+"'>\r";
						for(j=1; j <= 9; j++) {
							tstring += "<option value='"+j+"'>"+j;  //+"<\/option>");
							}
						}
						tstring += "<option selected><\/option></select><\/TD><\/TR>\r";
						dubbelAlGeweest = true;
						break;
					}
				if (dubbelAlGeweest == false) tstring += "<\/TD><\/TR>";
				}
			if (pgegevenid == "speelsterktedubbel" && dubbelAlGeweest == false) {
				tstring += "<TR><TD>Speelsterkte dubbel<TD colspan=2><select size='1' name='speelsterktedubbel"+ond+"' id='speelsterktedubbel"+ond+"'>\r";
				for(j=1; j <= 9; j++) {
					tstring += "<option value='"+j+"'>"+j;  //+"<\/option>");
					}
				tstring += "<option selected><\/option></select><\/TR>\r";
				}
			if (pgegevenid == "telefoonhuis") {
				tstring += "<TR><TD>Telefoon huis:<TD colspan=2><INPUT TYPE=TEXT name='telefoonhuis"+ond+"' id='telefoonhuis"+ond+"'></TD></TR>";
				}
			if (pgegevenid == "telefoonwerk") {
				tstring += "<TR><TD>Telefoon werk:<TD colspan=2><INPUT TYPE=TEXT name='telefoonwerk"+ond+"' id='telefoonwerk"+ond+"'></TD></TR>";
				}
			if (pgegevenid == "telefoonmobiel") {
				tstring += "<TR><TD>Telefoon mobiel:<TD colspan=2><INPUT TYPE=TEXT name='telefoonmobiel"+ond+"' id='telefoonmobiel"+ond+"'></TD></TR>";
				}
			if (pgegevenid == "emailadres") {
				tstring += "<TR><TD>Emailadres:<TD colspan=2><INPUT TYPE=TEXT name='emailadres"+ond+"' id='emailadres"+ond+"'></TD></TR>";
				}
			if (pgegevenid == "adresstraat") {
				tstring += "<TR><TD>Straat<TD colspan=2>"+
					"<INPUT TYPE=text name='adresstraat"+ond+"' id='adresstraat"+ond+"'>&nbsp;Nr:"+
					"<INPUT TYPE='text' SIZE='5'  name='adreshuisnummer"+ond+"' id='adreshuisnummer"+ond+"'>"+
					"</TR>"+
					"<TR><TD>Postcode Woonplaats<TD colspan=2>"+
					"<INPUT TYPE='text' SIZE='5' name='adrespostcode"+ond+"' id='adrespostcode"+ond+"'>&nbsp;"+
					"<INPUT TYPE='text' name='adreswoonplaats"+ond+"' id='adreswoonplaats"+ond+"'>"+
					"</TR>";
				}
			if (pgegevenid == "geboortedatum") {
				tstring += "<TR><TD>Geboortedatum<TD colspan=2><select size='1' name='geboortedag"+ond+"' id='geboortedag"+ond+"'>";
				for(j=1; j < 32; j++) {
					if (j == 1) tstring += "<option selected value='"+j+"'>"+j+"<\/option>";
					else tstring += "<option value='"+j+"'>"+j+"<\/option>";
					}
				tstring += "<\/select><select size='1' name='geboortemaand"+ond+"' id='geboortemaand"+ond+"'><option selected value='1'>januari<\/option>";
				tstring += "<option value='2'>februari<\/option><option value='3'>maart<\/option><option value='4'>april<\/option>";
				tstring += "<option value='5'>mei<\/option><option value='6'>juni<\/option><option value='7'>juli<\/option>";
				tstring += "<option value='8'>augustus<\/option><option value='9'>september<\/option><option value='10'>oktober<\/option>";
				tstring += "<option value='11'>november<\/option><option value='12'>december<\/option><\/select>";
				tstring += "<select size='1' name='geboortejaar"+ond+"' id='geboortejaar"+ond+"' >";
				for(j=1920; j < 2004; j++) {
					if (j == 1980) tstring += "<option selected value=''>&nbsp";
					tstring += "<\/option><option value='"+j+"'>"+j+"<\/option>";
					}
				tstring += "<\/select><\/TR>\r";
				}
			}
		if (partnerwanted == "toegestaan") tstring += "<tr><td>of eventueel aanvinken: <td><input type=checkbox name='pw"+ond+"' id='pw"+ond+"'><td> partner 'wanted'";
		oTafel.rows[row].cells[2].innerHTML = tstring;
		// oOnderdelenbody.rows[row].cells[5].focus();
		}
	//else if (Onderdeel.checked && (spelsoort == "D") && partnerwanted == "toegestaan") oTafel.rows[row].cells[5].innerHTML = ' "Zonder partner"';
	else if (ookPartners) oTafel.rows[row].cells[2].innerHTML = "&nbsp;";
	return;
}

function submitIt(formulier) {
	var vld, vld1, tfocus;
	var AantalInschrijvingen = 0;
	var knltbnummer = "";
	var knltbnummers = new Array();
	var namen = new Array();
	var ncounter, tot, qPartner;
	var sVoornaam, sTussenvoegsels, sAchternaam;
        //alert(document.voorselectie.elements.length);
	if (gesubmit == true) return false;
	sTussenvoegsels = "";
	vld = document.getElementById("voornaam");
	if (vld && vld.value == "") {
		alert("Voornaam invullen svp!");
		vld.focus();
		return false;
	}
	vld1 = document.getElementById("achternaam");
	if (vld1 && vld1.value == "") {
		alert("Achternaam invullen svp!");
		vld1.focus();
		return false;
	}
	namen[namen.length] = vld.value+" "+document.getElementById("tussenvoegsels").value+" "+vld1.value;
	vld = document.getElementById("knltbnummer");
	if (vld && vld.value == "") {
		alert("Bondsnummer invullen svp!");
		vld.focus();
		return false;
	}
    if (vld) knltbnummer = vld.value;
	vld = document.getElementById("adresstraat");
	if (vld && vld.value == "") {
		alert("Adres invullen svp!");
		vld.focus();
		return false;
	}
    val = "";
    vld2 = document.getElementById("telefoonwerk");
    if (vld2) {
      val = val+vld2.value;
      tfocus = vld2;
      }
    vld1 = document.getElementById("telefoonmobiel");
    if (vld1) {
      val = val+vld1.value;
      tfocus = vld1;
      }
    vld = document.getElementById("telefoonhuis");
    if (vld) {
      val = val + vld.value;
      tfocus = vld;
      }
    if (vld || vld1 || vld2) {
      val = jQuery.trim(val);
      if (val == "") {
        alert ("Vul een telefoonnummer in svp!");
		tfocus.focus();
        return false;
      }
    }
	vld = document.getElementById("geboortedag");
	if (vld && vld.value == "" && sLeeftijd != "") {
		alert("Geboortedag invullen svp!");
		vld.focus();
		return false;
	}
	vld = document.getElementById("geboortemaand");
	if (vld && vld.value == "" && sLeeftijd != "") {
		alert("Geboortemaand invullen svp!");
		vld.focus();
		return false;
	}
	vld = document.getElementById("adreswoonplaats");
	if (vld && jQuery.trim(vld.value) == "") {
		alert("Woonplaats invullen svp!");
		vld.focus();
		return false;
	}
	for (i = 1; i <= maxVerhinderingen; i++) {
		vld = document.getElementById("verhindering"+i);
		if (vld && !(vld.value == "")) {
			if (!verhinderingOK(document.getElementById("van"+i).value, document.getElementById("tot"+i).value)) {
				alert("Selecteer ook de periode van/tot dat je verhinderd bent!");
				vld.focus();
				return false;
			}
		}
	}
	vld = document.getElementById("incasso");
	if (vld && incassoverplicht && vld.value == "") {
		alert("Bank of gironummer invullen svp!");
		vld.focus();
		return false;
	}
	vld1 = document.getElementById("bankgiro");
	if (vld1 && vld.value != "" && !(vld1.value == "bank" || vld1.value == "giro")) {
		alert("geef aan of het een bank of een gironummer betreft "+vld.value);
		vld1.focus();
		return false;
    }
	if (vld && vld.value != "" && !incassoOK(vld.value, vld1.value)) {
			vld.focus(); // "incasso"
			return false;
	}
	vld1 = document.getElementById("incassoaccoord");
	if (vld && vld.value != "" && !vld1.checked) {
		alert("Incasso akkoord aanvinken svp!");
		vld1.focus();
		return false;
	}
	vld = document.getElementById("reglement");
	if (vld  && !vld.checked) {
		alert("Svp bevestigen dat je kennis hebt\r\n genomen van het reglement!\r\nKlik op reglement om het in te zien.");
		vld.focus();
		return false;
	}
	vld = document.getElementById("emailadres");
	if (vld && vld.value == "" && emailadresverplicht) {
		alert("Uw emailadres invullen svp!");
		vld.focus();
		return false;
	}
	vld = document.getElementById("emailadresc");
	if (vld && vld.value == "") {                // veld voor bevestiging aanwezig
		alert("Emailadres bevestigen svp!");
		vld.focus();
		return false;
	}
    if (vld) {
	  vld1 = document.getElementById("emailadres");
      if (vld1) {
        if(vld.value.toUpperCase() != vld1.value.toUpperCase()) {
          alert ("Emailadressen verschillen!");
          vld1.focus();
          return false;
        }
      }
    }
	/* check de inschrijvingen en de opgegeven partners */
    AantaldagdelenChecked = 0;
    for(dagdeelNr = 0; dagdeelNr < aantalDagdelen; dagdeelNr++) {
        var dd = document.getElementById("dagdeel"+dagdeelNr);
        if (!dd) continue;
        if (!dd.checked) continue;
        ddCheck = dd;
        AantaldagdelenChecked++;
    }
    if (AantaldagdelenChecked > maxVerhinderingen) {
        alert("Te veel dagdelen verhinderd!\r\n\neventuele dagdelen ('s-ochtends)\ndie buiten het toernooi vallen niet aanvinken");
        ddCheck.focus();
        return false;
        }
    qPartner = false;
	for(onderdeelNr = 0;  onderdeelNr < maxOnderdelen; onderdeelNr++) {
		var cb = document.getElementById("TO"+onderdeelNr);
		if (!cb) continue;
		if (!cb.checked) continue;
		vld = document.getElementById("voornaam"+onderdeelNr);
        if (toernooionderdelen[onderdeelNr]["SPELSOORT"] != "E" && !vld) {
          vraagOmPartner(onderdeelNr,arrOnd[onderdeelNr],true);
          qPartner = true;
          }
        }
    //if (qPartner) return false;
	for(onderdeelNr = 0;  onderdeelNr < maxOnderdelen; onderdeelNr++) {
		var cb = document.getElementById("TO"+onderdeelNr);
		if (!cb) continue;
		if (!cb.checked) continue;
		AantalInschrijvingen++;
		if (AantalInschrijvingen > maxopgaven) {
			alert("Je schrijft voor teveel onderdelen in!");
			cb.focus();
			return false;
			}
 		cbpw = document.getElementById("pw"+onderdeelNr);
		if (cbpw && cbpw.checked) continue;
		vld = document.getElementById("voornaam"+onderdeelNr);
		melding = "Voornaam invullen svp!";
		if (cbpw) melding += "\r\nof partner 'wanted' aanvinken.";
		if (vld && jQuery.trim(vld.value) == "") {
			alert(melding);
			vld.focus();
			return false;
			}
		else {
			if (vld) sVoornaam = vld.value;
			}
		sTussenvoegsels = "";
		vld = document.getElementById("tussenvoegsels"+onderdeelNr);
		if (vld) sTussenvoegsels = vld.value;
		vld = document.getElementById("achternaam"+onderdeelNr);
		if (vld && jQuery.trim(vld.value) == "") {
			alert("Achternaam invullen svp!");
			vld.focus();
			return false;
			}
		else {
			if (vld) sAchternaam = vld.value;
			}
		namen[namen.length] = sVoornaam+" "+sTussenvoegsels+" "+sAchternaam;
		vld = document.getElementById("knltbnummer"+onderdeelNr);
		if (vld && vld.value == "") {
			alert("Bondsnummer invullen svp!");
			vld.focus();
			return false;
			}
		vld = document.getElementById("adresstraat"+onderdeelNr);
		if (vld && jQuery.trim(vld.value) == "") {
			alert("Adres invullen svp!");
			vld.focus();
			return false;
			}
		vld = document.getElementById("knltbnummer"+onderdeelNr);
		if (vld && vld.value == "") {
			alert("KNLTB nummer invullen svp!");
			vld.focus();
			return false;
			}
		if (vld) knltbnummers[knltbnummers.length] = vld.value;
	}  // einde onderdelen loop
	if (AantalInschrijvingen == 0) {
		alert("Selecteer onderdelen om in te schrijven!");
		return false;
		}
	if (namen.length > 1) {
		ncounter = 0;
		for (vld = 0; vld < namen.length; vld++) {
			for (vld1 = vld + 1; vld1 < namen.length; vld1++) {
				if (namen[vld].toUpperCase() == namen[vld1].toUpperCase()) {
					ncounter++;
					}
				}
			if (ncounter > 2) {
				alert (namen[vld]+"\r\nSamengestelde namen van de spelers moeten verschillen!\nGebruik voornamen o.i.d. ter onderscheid\nof splits de opgaven over meerdere formulieren.");
				return false;
				}
			}
		}
	if (knltbnummers.length > 0) {
		ncounter = 0;
		for (vld = 0; vld < knltbnummers.length; vld++) {
			if (knltbnummers[vld] == knltbnummer) {
				alert("Eigen bondsnummer en dat van de partner moeten verschillen!");
				return false;
			}
			for (vld1 = vld + 1; vld1 < knltbnummers.length; vld1++) {
				if (knltbnummers[vld] == knltbnummers[vld1]) {
					ncounter++;
					}
				}
			if (ncounter > 2) {
				alert ("Bondsnummers moeten verschillend zijn!");
				return false;
				}
			}
		}
  gesubmit = true;
	return true;	// vergeet niet om true te maken na de test!
}

function verhinderingOK(van, tot) {
	if (van == "") return false;
	if (tot == "") return false;
	if (tot <= van) return false;
	return true;
	}

function incassoOK(nummerStr, bankOfGiro) {
	var i;
	var k = 1;
	var som = 0;
	var digit;
	//alert("nummer= "+nummerStr+" BG="+bankOfGiro);
	if (bankOfGiro == "bank") {
		for (i = nummerStr.length; i > 0; i--) {
			digit = nummerStr.substr(i-1, 1);
			if (digit == "." || digit == " ") continue;
			som = som + (digit * k++);
			}
		if (som % 11 != 0) {
			alert("banknummer onjuist!");
			return false;
			}
		return true;
		}
	else if (nummerStr.length < 4 || nummerStr.length >9) {
		alert("aantal tekens in het gironummer klopt niet!");
		return false;
		}
	return true;
}

function ResetCheck() {
	sSpeelsterkteE = "";
	spknltbnummer = "";
	sSpeelsterkteD = "";
	sLeeftijd = "";
	setManVrouw("allebei");
	gesubmit = false;
	gevondenV = document.getElementById('gevonden');
	if (gevondenV) {
		gevondenV.innerHTML = "svp eerst invullen, emailadres = paswoord";
		gevondenV = document.getElementById('gevonden1');
		gevondenV.innerHTML = " dan klik &nbsp;&nbsp;<INPUT TYPE='button' value='vul aan' id='opzoeken' onclick=zoekop()>";
	}
	return true;
}

function checkKNLTBnummerMet()
{
	var i, k;
	var som = 0;
	var digit;
	var str;
	  sKNLTB = document.getElementById('knltbnummer');
	  str = jQuery.trim(sKNLTB.value);
	  if (str.length != 8) {
            alert("Bondsnummer moet uit 8 cijfers bestaan!");
	    sKNLTB.focus();		// werkt niet hoe moet dit??
	    return false;
	    }
	  k = 1;
	  for (i = str.length; i > 0; i--) {
	    digit = str.substr(i-1, 1);
	    som = som + (digit * k++);
		//alert(som);
	    }
	  if (som % 11 != 0) {
	    sKNLTB.focus();
	    alert(" Geldig Bondsnummer invullen svp!! ");
	    return false;
	    }
	  spknltbnummer = sKNLTB.value;
	  //if (document.getElementById('gevonden1')) zoekop();      // !!!!!!!!!!!!!!!!!!
	  return true;
}

function checkKNLTBnummer(sKNLTB)
{
	var i, k;
	var som = 0;
	var digit;
	var str;
	str = jQuery.trim(sKNLTB.value);
	k = 1;
	if (str == "") return true;
	if (str.length != 8) {
		return false;
		}
	for (i = str.length; i > 0; i--) {
		digit = str.substr(i-1, 1);
		som = som + (digit * k++);
		}
	if (som % 11 != 0) {
		return false;
		}
	return true;
}

function checkEmailadres(sEmail)
{
	var invalidChars = " /:,;";
	var i;
	var atPos, periodPos;
	var badChar;
        if (jQuery.trim(sEmail.value) == "" && emailadresverplicht == false) return true;
        if (jQuery.trim(sEmail.value) == "" && metGebdatum) return true;
        if (jQuery.trim(sEmail.value) == "" && emailadresverplicht == true) {
          EMailadresChanged=false;
          alert("Vul het emailadres in!");
          sEmail.focus();
          return false;
          }
        if (EMailadresChanged) {
          EMailadresChanged=false;
	  //if (spknltbnummer == "") return true;
	  for (i=0; i<invalidChars.length; i++) {
	    badChar = invalidChars.charAt(i);
	    if (sEmail.value.indexOf(badChar,0)>-1) {
	      alert("Ongeldig email adres");
	      sEmail.focus();
              return false;
              }
            }
          atPos = sEmail.value.indexOf("@",1);
          if (atPos == -1) {
            alert("Het @-teken ontbreekt in het emailadres.");
	    sEmail.focus();
            return false;
            }
          if (sEmail.value.indexOf("@",atPos+1) > -1) {
            alert("Teveel @-tekens in het emailadres.");
            sEmail.focus();
            return false;
            }
          periodPos = sEmail.value.indexOf(".",atPos);
          if (periodPos == -1) {
            alert("Een . ontbreekt in het emailadres.");
            //sEmail.select();
            sEmail.focus();
            return false;
            }
          if (periodPos+3 > sEmail.value.length) {
            alert("Het laatste deel van het emailadres is te kort.");
            sEmail.focus();
            //sEmail.select();
            return false;
            }
	  return true;
          }
}

function setOnderdelen()		// vul de tabel met onderdelen afhankelijk van geslacht
{
	// sManVrouw is global "man", "vrouw" of "allebei"
	var curr_row, geslacht, speelsterkte, leeftijdvanaf, leeftijdtotenmet, spelsoort, tstring;
	var onderdeelgeslacht;
	// verwijder eerst de tabel
	var oTafel = document.getElementById('oOnderdelenbody');
	for (curr_row = oTafel.rows.length - 1; curr_row > 0; curr_row--)
	{
		oTafel.deleteRow(curr_row);
	}
	var bLeeg = true;	// tabel is nu leeg
    curr_row = 1;		// en display vervolgens de regels die in aanmerking komen
	arrOnd = new Array();
	for (i=0; i < toernooionderdelen.length; i++)
	{
		geslacht = toernooionderdelen[i]["GESLACHT"];
		if ((geslacht == "G") || (sManVrouw == "allebei")
			|| ((sManVrouw == "man") && (geslacht == "M"))
			|| ((sManVrouw == "vrouw") && (geslacht == "V")))
		{
			speelsterkte = toernooionderdelen[i]["SPEELSTERKTE"];
			spelsoort = toernooionderdelen[i]["SPELSOORT"];
			onderdeelgeslacht = toernooionderdelen[i]["GESLACHT"];
			leeftijdvanaf = toernooionderdelen[i]["LEEFTIJDVANAF"];
			if (leeftijdvanaf == "") leeftijdvanaf = 1;
			leeftijdtotenmet = toernooionderdelen[i]["LEEFTIJDTOTENMET"];
			if (leeftijdtotenmet == "") leeftijdtotenmet = 99;
			//alert("i: "+i+"  sLeeftijd: "+sLeeftijd+"  leeftijdvanaf: "+leeftijdvanaf+" leeftijdtotenmet: "+leeftijdtotenmet);
			//leeftijdtotenmet = (leeftijdtotenmet != null ? leeftijdtotenmet : "-");

			if (((	spelsoort != "E" && ((sSpeelsterkteD  >= speelsterkte) || sSpeelsterkteD == ""))
				|| (spelsoort == "E" && ((sSpeelsterkteE  >= speelsterkte) || sSpeelsterkteE == "")))
				&& (sLeeftijd == "" || ((sLeeftijd <= leeftijdtotenmet) && (sLeeftijd >= leeftijdvanaf))))
			{
                arrOnd[i] = curr_row;
				oRow  = oTafel.insertRow(oTafel.rows.length);
                if (curr_row % 2 == 0) oRow.className = 'ond';
				oCell = oRow.insertCell(0);
				oCell.align = "center";
				tstring = "<INPUT TYPE='CHECKBOX' name='TO"+i+"' id='TO"+i+"' VALUE='"+toernooionderdelen[i]["NAAM"]+"'";
                tstring += " onClick='vraagOmPartner("+i+","+curr_row+",this.checked)'";  // doet meer dan om partner vragen
                oCell.innerHTML = tstring + " >\n";
				//oCell.innerHTML = "<INPUT TYPE='CHECKBOX' name='TO"+i+"' id='TO"+i+"' VALUE='"+toernooionderdelen[i]["NAAM"]+"' onClick='return vraagOmPartner(this,"+curr_row+")' >";
				oCell = oRow.insertCell(1);
				oCell.innerHTML = "<span style='font-weight:bold; white-space:nowrap'>"+toernooionderdelen[i]["NAAM"]+"</span>"+
					"<INPUT TYPE=HIDDEN name='spelsoort"+i+"' VALUE='"+spelsoort+"'>"+
					"<INPUT TYPE=HIDDEN name='spelgeslacht"+i+"' VALUE='"+onderdeelgeslacht+"'>";
				if (ookPartners) {
					oCell = oRow.insertCell(2);
					oCell.innerHTML = "&nbsp;";
					}
				bLeeg = false;
				curr_row++;
			}
		}
	}
	if (bLeeg == true) alert("Vul geboortedatum en of speelsterkte indien mogelijk goed in!");
}

var LastField = null;
var isWorking = false;

function zoekop() {
    gebj = document.getElementById('geboortejaar');
    geboorte = "";
    if (gebj && gebj.value != "") {
      gebm = document.getElementById('geboortemaand');
      gebd = document.getElementById('geboortedag');
      geboorte = "&gebj="+gebj.value+"&gebm="+gebm.value+"&gebd="+gebd.value;
      metGebdatum=true;
      }
	if (!metGebdatum && !checkKNLTBnummerMet()) return;
    EMailadresChanged=true;
	if (!metGebdatum && !checkEmailadres(document.getElementById("emailadres"))) return;
	field1 = document.getElementById('emailadres');
    emailV = field1.value;
	field = document.getElementById('knltbnummer');
    jQuery.getJSON("formdataprefetch.php?op=ajax&field="+field.name+"&value="+field.value+"&email="+emailV+geboorte+"&callback=?", preset);
}

function preset(data) {
  if (typeof(data.speler) == 'undefined') {
    veld = document.getElementById("gevonden");
    veld.innerHTML = "&lt;== (nog) niet gevonden, svp zelf invullen!&nbsp; ";
    veld = document.getElementById("gevonden1");
    veld.innerHTML = "";
    return;
  }
  haalop(data);
  veld = document.getElementById("gevonden");
  veld.innerHTML = "&nbsp; &nbsp; beschikbare gegevens ingevuld!&nbsp;&nbsp;";
  veld = document.getElementById("gevonden1");
  veld.innerHTML = "";
}

function reload() {
  jQuery.getJSON("formdataprefetch.php?ref="+vorige+"&pin="+pin+"&callback=?",haalop);
}

function haalop(data) {
  if (typeof(data) == 'undefined' || data.length == 0) return;
  if (data.onderdeel.aantal == 0 && typeof(data.error) != 'undefined') alert(data.error);
  for (element in data.speler) {
    veld = document.getElementById(element);
    if (veld) veld.value = data.speler[element];
    switch (element) {
      case "geslacht" :
        if (data.speler.geslacht == 'M') {
          document.getElementById("sexe1").checked = true;
          sManVrouw = 'man';
        } else {
          document.getElementById("sexe2").checked = true;
          sManVrouw = 'vrouw';
        }
        break;
      case "geboortejaar" :
        jaar = data.speler.geboortejaar;
        if (jaar != "")  sLeeftijd = tjaar - jaar;
        break;
      case "speelsterkteenkel" :
        sSpeelsterkteE = data.speler.speelsterkteenkel;
        break;
      case "speelsterktedubbel" :
        sSpeelsterkteD = data.speler.speelsterktedubbel;
        break;
      case "emailadres" :
        veld = document.getElementById("emailadresc");
        if (veld) veld.value = data.speler[element];
        break;
    }
  }
  setOnderdelen();
  var j = 1;
  if (data.verhindering.aantal > 0) {
    for ( var i = 1; i <= data.verhindering.aantal; i++) {
      dagvhjaar = data.verhindering[i].dag + '-' + data.verhindering[i].maand + '-' + data.verhindering[i].jaar;
      zoek = dagvhjaar + ';' + data.verhindering[i].tijdtot;
      if (data.verhindering[i].tijdvan == "09:00") {
        jQuery('#voorselectie input:radio[value*="'+zoek+'"]').attr("checked", true);
        if (jQuery('#voorselectie input:radio[value*="'+zoek+'"]').length > 0) continue;
      }
      periode = null;
      if (data.verhindering[i].tijdvan == "9:00" && data.verhindering[i].tijdtot == "13:00") periode = " A";
      if (data.verhindering[i].tijdvan == "13:00" && data.verhindering[i].tijdtot == "18:00") periode = " B";
      if (data.verhindering[i].tijdvan == "18:00" && data.verhindering[i].tijdtot == "23:00") periode = " C";
      if (periode) {
        dagdeel = dagvhjaar + periode;
        jQuery('#voorselectie input:checkbox[value*="'+dagdeel+'"]').attr("checked", true);
        if (jQuery('#voorselectie input:checkbox[value*="'+dagdeel+'"]').attr("checked", true).length > 0) continue;
      }
      jQuery('#van'+j).attr("value", data.verhindering[i].tijdvan);
      jQuery('#tot'+j).attr("value", data.verhindering[i].tijdtot);
      jQuery('#verhindering'+j+' option[value*="'+dagvhjaar+'"]').attr("selected", true);
      j++;
    }
  }

  for (var i = 1; i <=  data.onderdeel.aantal; i++) {
    var Selector = jQuery('#oOnderdelenbody input:checkbox[value="'+data.onderdeel[i].naam+'"]');
    Selector.attr("checked", true);
	for (j=0; j < toernooionderdelen.length; j++) {
	  if (toernooionderdelen[j]["NAAM"] == data.onderdeel[i].naam) {
	    //alert(toernooionderdelen[j]["NAAM"]+" j="+j+" i="+i+" "+data.onderdeel[i].naam+" "+arrOnd[j]);
	    vraagOmPartner(j,arrOnd[j],true);
        break;
	  }
	}
    //Selector.click();
    num = Selector.attr("id").substring(2,4);
    if (toernooionderdelen[num].SPELSOORT == "D") {
    if (typeof(data.partner) == 'undefined' || typeof(data.partner[i]) == 'undefined') {jQuery('#pw'+num).click();}
    else {
      for (key in data.partner[i]) {
        //alert(key);
        jQuery('#'+key+num).attr('value',data.partner[i][key]);
        }
      }
    }
  }
} // preset data end

