function Contact_Formulier_Validator(thisForm)

{
with (thisForm)
	{
		
	if (validate_listvalue_required(aan,"Selecteer geadresseerde!")==false)
		{aan.focus();return false;}
	
	if (validate_text_required(naam,"Naam is een verplicht veld!")==false)
	  {naam.focus();return false;}

	if (validate_text_required(emailadres,"Emailadres is een verplicht veld!")==false)
	  {emailadres.focus();return false;}

	if (validate_email(emailadres,"Vul een geldig email adres in!")==false)
	  {emailadres.focus();return false;}

	if (validate_text_required(vraag,"Geen vraag of opmerking ingevuld!")==false)
	  {vraag.focus();return false;}
	
	if (validate_beveiligingscode(bvcode,bvcodecheck,"Onjuiste veiligheidscode ingevoerd!")==false)
	{
		bvcode.focus();
		return false;
	}

	var params;
	params ="aan="+aan.options[aan.selectedIndex].value;
	params+="&naam="+naam.value;
	params+="&emailadres="+emailadres.value;
	params+="&vraag="+vraag.value;
	params+="&checknr="+checknr.value;
	params+="&startpos="+startpos.value;
	params+="&bvcode="+bvcode.value;
	return show_contactformulier_result(params);
	

	//return false;
	
    }
	
	
}



function Inschrijf_Validator(thisForm)
{
	with (thisForm)
		{
		//alert ("We have reached the Fomulier validator");
		//return false;
		
		if (!wedstrijd1.checked && !wedstrijd2.checked && !wedstrijd3.checked && !wedstrijd4.checked)
		  {alert("Kies één of meer wedstrijden!");wedstrijd1.focus();return false;}

		
		if (validate_text_required(vnaam,"Voornaam is een verplicht veld!")==false)
		  {vnaam.focus();return false;}

		if (validate_text_required(anaam,"Achternaam is een verplicht veld!")==false)
		  {anaam.focus();return false;}
		
		if (validate_text_required(adres,"Straat en huisnummer is een verplicht veld!")==false)
		  {adres.focus();return false;}

		if (validate_text_required(postcode,"Postcode is een verplicht veld!")==false)
		  {postcode.focus();return false;}

		if (validate_text_required(plaats,"Plaats is een verplicht veld!")==false)
		  {plaats.focus();return false;}

		if (validate_text_required(emailadres,"Emailadres is een verplicht veld!")==false)
		  {emailadres.focus();return false;}

		if (validate_email(emailadres,"Vul een geldig email adres in!")==false)
		  {emailadres.focus();return false;}

		if (validate_listvalue_required(dag,"Geboortedatum  is een verplicht veld!")==false)
		  {dag.focus();return false;}
		  
		if (validate_listvalue_required(maand,"Geboortedatum is een verplicht veld!")==false)
		  {maand.focus();return false;}

		if (validate_listvalue_required(jaar,"Geboortedatum  is een verplicht veld!")==false)
		  {jaar.focus();return false;}
		  
		if (validate_listvalue_required(geslacht,"Geslacht is een verplicht veld!")==false)
		  {geslacht.focus();return false;}
		
		if (validate_listvalue_required(vereniging,"Geef aan van welke vereniging je lid bent!")==false)
		  {vereniging.focus();return false;}
		
		if (vereniging.options[vereniging.selectedIndex].text == "Anders nl." && validate_text_required(verenigingnaam,"Vul de naam van je vereniging in!")==false)
		  {verenigingnaam.focus();return false;}

		if (validate_listvalue_required(klasse,"Klasse is een verplicht veld!")==false)
		  {klasse.focus();return false;}
		
		if (validate_listvalue_required(nationaliteit,"Land is een verplicht veld!")==false)
		  {nationaliteit.focus();return false;}

		if (validate_text_required(zeilnummer,"Zeilnummer is een verplicht veld!")==false)
		  {zeilnummer.focus();return false;}
		

		if (validate_startlicentie(startlicentie.value, klasse.options[klasse.selectedIndex].text)==false)
		{startlicentie.focus();return false;}
		
		if (!akkoord.checked){
			alert("Je moet akkoord gaan met de voorwaarden om in te kunnen schrijven!");
			akkoord.focus();
			return false;
		}
		if (validate_beveiligingscode(bvcode,bvcodecheck,"Onjuiste veiligheidscode ingevoerd!")==false)
		{
			bvcode.focus();
			return false;
		}
	
		
		var params="action=inschrijving";
		params+="&inschrijfformulier="+inschrijfformulier.value;
		params+="&wedstrijd1="+(wedstrijd1.checked ? wedstrijd1.value : '');
		params+="&wedstrijd2="+(wedstrijd2.checked ? wedstrijd2.value : '');
		params+="&wedstrijd3="+(wedstrijd3.checked ? wedstrijd3.value : '');
		params+="&wedstrijd4="+(wedstrijd4.checked ? wedstrijd4.value : '');
		params+="&vnaam="+vnaam.value;
		params+="&tnaam="+tnaam.value;
		params+="&anaam="+anaam.value;
		params+="&adres="+adres.value;
		params+="&postcode="+postcode.value;
		params+="&plaats="+plaats.value;
		params+="&telefoon="+telefoon.value;
		params+="&emailadres="+emailadres.value;
		params+="&dag="+dag.options[dag.selectedIndex].value;
		params+="&maand="+maand.options[maand.selectedIndex].value;
		params+="&jaar="+jaar.options[jaar.selectedIndex].value;
		params+="&geslacht="+geslacht.options[geslacht.selectedIndex].value;
		params+="&klasse="+klasse.options[klasse.selectedIndex].value;
		params+="&nationaliteit="+nationaliteit.options[nationaliteit.selectedIndex].value;
		params+="&zeilnummer="+zeilnummer.value;
		params+="&startlicentie="+startlicentie.value;
		params+="&vereniging="+vereniging.options[vereniging.selectedIndex].value;
		params+="&verenigingnaam="+verenigingnaam.value;
		params+="&bemanning="+bemanning.value;
		params+="&training="+(training.checked ? training.value : '-');
		params+="&akkoord="+(akkoord.checked ? akkoord.value : '-');
		params+="&checknr="+checknr.value;
		params+="&startpos="+startpos.value;
		params+="&bvcode="+bvcode.value;
		
		

		return(show_inschrijfformulier_result(params));
		
		//return false;
		
	    }
}




function validate_text_required(field,alerttxt)
{
	with (field)
	{
  		if (value==null||value==""||value.length < 1) {
  			alert(alerttxt);return false;
  		} else {
  			return true;
  		}
	}
}

function validate_listvalue_required(field,alerttxt)
{
	with (field)
	{
  		if (selectedIndex <= 0 ) {
			alert(alerttxt);return false;
  		} else {
  			return true;
  		}
	}
}

function validate_email(field,alerttxt)
{
	with (field)
	{
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");	
		if (apos<1||dotpos-apos<2||value.length-dotpos<=1)
  			{alert(alerttxt);return false;}
		else {return true;}
	}
}


function validate_startlicentie(startlic, klasse) {

	var answer;
	
	
	if ((startlic == null || startlic ==""|| startlic.length < 1) && (klasse != "Optimist C")) {
	  answer=confirm("Voor deelname in de klasse '" + klasse + "' heb je een startlicentie nodig.\n\nDruk op Cancel om je startlicentie alsnog in te vullen.\n\nHeb je nog geen startlicentie? Druk dan nu op OK om door te gaan en zorg dat je je startlicentie kunt tonen bij aanvang van het evenement. \n\nEen startlicentie vraag je aan bij het Watersportverbond. Lukt dat niet meer voor aanvang van de wedstrijd waaraan jij deelneemt, dan ligt een aanvraagformulier voor een startlicentie voor je klaar bij het inschrijfbureau.");
	  if (!answer) {
	  	return false;
	  }
	
	}

}

function validate_beveiligingscode(bvcode, bvcodecheck, alertstring) 
{
	var returnParam = (bvcode.value == bvcodecheck.value);
	if (returnParam == false)
	{
		alert(alertstring);
		var vchecknr = Math.floor(Math.random()*89998)+10001;
		var stringvchecknr=eval("\""+vchecknr+"\"");
		var vstartpos = Math.floor(Math.random()*24)+1;
		var vbvcode = hex_md5(stringvchecknr);
		var substrbvcode= vbvcode.substr(vstartpos,5);
		//alert ("vchecknr: "+vchecknr+"; vstartpos: "+vstartpos+"; vbvcode: "+vbvcode+"; subbvcode: "+subbvcode);
		//check=eval("["+getNewSecurityCode()+"]");
		document.getElementById("beveiligingscode").innerHTML=substrbvcode; // display nieuwe code
		document.getElementById("bvcode").value=""; // display nieuwe code
		document.getElementById("bvcodecheck").value=substrbvcode; // set new check value
		document.getElementById("checknr").value=vchecknr; // checknr
		document.getElementById("startpos").value=vstartpos; // posnr
	}
	return returnParam;
}

function testform_Validator(thisform) {
	var params=null;
	with (thisform) {
		params="id="+id.value;
		params=params+"&stext="+stext.value;
		params=params+"&ftext="+ftext.value;
		params=params+"&x="+x.value;
		params=params+"&y="+y.value;
		params=params+"&bvcode="+bvcode.value;
		
	}

	return(show_testform_result(params));
	
}
