

// =========================================================================================================
// Algemene functies voor formuliervelden
// =========================================================================================================


function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function checkDatum(datum)
	{

	datumstukken=datum.split("-");
	datumCheck = new Date(datumstukken[1] + "/" + datumstukken[0] + "/" + datumstukken[2]);
	datumNu = new Date();
	datumCheck = Date.UTC(y2k(datumCheck.getYear()),datumCheck.getMonth(),datumCheck.getDate(),0,0,0);
	datumNu = Date.UTC(y2k(datumNu.getYear()),datumNu.getMonth(),datumNu.getDate(),0,0,0);

	if (datumCheck < datumNu)
		{
		return false;
		}
	return true;
	}
	
// Controleer op geldig emailadres
// ---------------------------------------------------------------------------------------------------------
function emailCheck(emailStr) 
	{
	var emailPat = /^[\w-]+(\.[\w-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$/;
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) 
		{
		return false;
		}
	var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
	if (IPArray != null) 
		{
		for (var i=1;i<=4;i++) 
			{
			if (IPArray[i]>255) 
				{
				return false;
      			}
   			}
		}
	return true;
	}


// Controleer lengte van veld a en ga na x karakters naar veld b 
// ---------------------------------------------------------------------------------------------------------

function CheckFieldLen(Aantal,ControleVeldnaam,GaNaarVeldnaam)
	{
	if (ControleVeldnaam.length == Aantal)
		{
		GaNaarVeldnaam.focus();
		return true;
		} 
	}


// Controleer Postcode
// ---------------------------------------------------------------------------------------------------------

function PostcodeCheck(strPostcodeCijfers,strPostcodeLetters) 
	{
   	if (strPostcodeCijfers.length != 4) 
		{
       	alert('Ongeldige postcode. \nU dient bij de postcode 4 cijfers in te voeren.\n\nVoorbeeld : 1234 AZ');
        document.all.strPostcodeCijfers.select();
       	return false;
   		}

   	var valid="0123456789"

   	for (var i=0; i<strPostcodeCijfers.length; i++) 
		{
       	if (valid.indexOf(strPostcodeCijfers.charAt(i)) < 0) 
			{
           	alert('Ongeldige postcode. \nDe eerste 4 karakters van de postcode mogen alleen cijfers zijn.\n\nVoorbeeld : 1234 AZ');
            document.all.strPostcodeCijfers.select();
		   	return false;
       		}
   		}

   	if (strPostcodeLetters.length != 2) 
		{
       	alert('Ongeldige postcode. \nU dient bij de postcode 2 Letters in te voeren.\n\nVoorbeeld : 1234 AZ');
        document.all.strPostcodeLetters.select()
       	return false;
   		}

   	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

   	for (var i=0; i<strPostcodeLetters.length; i++) 
		{
       	if (valid.indexOf(strPostcodeLetters.charAt(i)) < 0) 
			{
           	alert('Ongeldige postcode. \nDe laatste 2 karakters van de postcode kunnen alleen uit letters bestaan.\n\nVoorbeeld : 1234 AZ');
	        document.all.strPostcodeLetters.select();
		   	return false;
       		}
   		}

   	return true;

	}		 

// Zet inhoud van veld om in hoofdletters
// ---------------------------------------------------------------------------------------------------------

function SetCAPS(veldnaam) 
	{
	
	string = document.getElementById(veldnaam).value;
	string = string.toUpperCase();
	document.getElementById(veldnaam).value = string
   	}
	


function checkAccept()
	{
	if (document.all.AcceptatieVoorwaarden.checked == true)
		{
		document.all.Registreer.style.visibility="visible"
		}
	else
		{
		document.all.Registreer.style.visibility="hidden"
		}
		
	}

function getSelectedRadio(buttonGroup) 
	{
	if (buttonGroup[0]) 
		{ 
    	for (var i=0; i<buttonGroup.length; i++) 
			{
        	if (buttonGroup[i].checked) 
				{
            	return i
         		}
      		}
   		} 
   	else 
		{
    	if (buttonGroup.checked) 
			{ 
			return 0; 
			}
   		}
   	return -1;
	}

function getSelectedRadioValue(buttonGroup) 
	{
	var i = getSelectedRadio(buttonGroup);
   	if (i == -1) 
		{
      	return "";
   		} 
	else 
		{
      	if (buttonGroup[i]) 
			{ 
        	return buttonGroup[i].value;
      		} 
		else 
			{ 
         	return buttonGroup.value;
      		}
   		}
	}

// ==============================================================================================
// Controleer telefoonnummer
// ==============================================================================================
function CheckPhone(PhoneNumber) 
	{
	var sNummer =  PhoneNumber
	var Aanwezig = sNummer.search(/[\s\-]/)
	while (Aanwezig != -1)
		{
		sNummer = sNummer.replace(/\s/,"");
		sNummer = sNummer.replace(/-/,"");
		Aanwezig = sNummer.search(/[\s\-]/)
		}
	if (sNummer.length != 10 )
		{
		return false;
		}
	if (sNummer.match(/\d\d\d\d\d\d\d\d\d/) == null)
		{
		return false;
		}
	return true;
	}


function CheckBankkeuze(keuze,strRekeningNummer)
	{
	var msgGiro = ""
	var msgBank = ""
	if (keuze == "B")
		if (CheckBankAccount(strRekeningNummer) == false)
		{
		if (CheckGiroAccount(strRekeningNummer) == true)
			{
			msgBank = "Wellicht heeft u een Gironummer ingevoerd i.p.v. een bankrekeningnummer."
			}
		alert("Ongeldig bankrekeningnummer. \n" + msgBank)
		return false
		}
	if (keuze == "P")
		if (CheckGiroAccount(strRekeningNummer) == false)
		{
		if (CheckBankAccount(strRekeningNummer) == true)
			{
			msgGiro = "Wellicht heeft u een bankrekeningnummer ingevoerd i.p.v. een gironummer."
			}
		alert("Ongeldig gironummer. \n" + msgGiro)
		return false
		}
	return true
	}

// Controleer de bankrekening voor de Postbank
function CheckGiroAccount(strRekeningNummer) 
	{
	var sNummer =  strRekeningNummer
	var Aanwezig = sNummer.search(/[\s\.]/)
	while (Aanwezig != -1)
		{
		sNummer = sNummer.replace(/\s/,"");
		sNummer = sNummer.replace(/\./,"");
		Aanwezig = sNummer.search(/[\s\.]/)
		}
		
	if (sNummer.length < 3 || sNummer.length > 7 )
		{
		return false;
		}
	return true;
	}

// Controleer de bankrekening via de 11proef
function CheckBankAccount(strRekeningNummer) 
	{
	var Tot = parseInt(0);
	var NumberCount = 0
	for (i = 0; i < strRekeningNummer.length; i++) 
		{
		if (strRekeningNummer.charAt(i).search(/[\d\.\s]/) == -1)
			{
			return false;
			}
		if (strRekeningNummer.charAt(i).search(/\d/) != -1)
			{
			NumberCount ++
			Tot = Tot + (parseInt(strRekeningNummer.charAt(i))*(10-(NumberCount))); 
			
			if (NumberCount > 9)
				{
				return false
				}
				
			if (NumberCount==9)
				{
				Tot = (Tot/11);
				if (Tot != Math.round(Tot))
					{
					return false;
					}
				}
			}
		}
	if (NumberCount < 9)
		{
		return false
		}
	return true
	}


function BankChoice(keuze)
	{
	if (keuze == "B")
		{
		document.all("banktekst").innerText = "  "
		return true
		}
	if (keuze == "P");
		{
		document.all("banktekst").innerText = "P";
		return true
		}
	}

	