// Juan Alvarez, 26-10-2004

        // Constanten
        // const MAX_LENGTE_... : int = 20; // werkt niet
        //var MAX_LENGTE_SCHOOL = 30;
        //var MAX_LENGTE_ADRES = 30;
        //var MAX_LENGTE_EMAIL = 40;
        //var MAX_LENGTE_POSTCODE = 7;
        //var MAX_LENGTE_PLAATS = 30;
        //var MAX_LENGTE_NAAM = 30;

        function isNummeriek(waarde)
        {
                // zoek naar niet nummerieke ascii tekens
                var text = "" + waarde;
                var regex = "[^0-9]";
                var result = text.match(regex);
                if(result == null) return true;
                return false;
        }

        function checkFormVelden(f) {

			var bestelling = "";

                // VELD AANTAL
                if(f.aantal.value == "") {
                        alert("Aantal moet ingevuld worden.");
                        f.aantal.focus();
                        return;
                } else {
					if(!isNummeriek(f.aantal.value)) {
                        alert("Aantal moet nummeriek zijn.");
                        f.aantal.focus();
                        return;
					} else if(f.aantal.value < 1) {
                        alert("Aantal mag niet nul zijn.");
                        f.aantal.focus();
						return;
					}
                }
                bestelling = bestelling + "Aantal: " + f.aantal.value + "\n";


				// VELD ORGANISATIE
				if(f.organisatie.value != "") {
				// Geldig ASCII: nummeriek-.() spatie 
					var text = "" + f.organisatie.value;
					var regex = "[\<\>]";
					var result = text.match(regex);
					if(result != null) {
                        alert("Het veld organisatie bevat ongeldige tekens.");
                        f.organisatie.focus();
                        return;
					}
					bestelling = bestelling + "Organisatie: " + f.organisatie.value + "\n";
                }


                // VELD NAAM
                if(f.naam.value == "") {
                        alert("De naam moet ingevuld worden.");
                        f.naam.focus();
                        return;
                }
                // Geldig ASCII: letters spatie - '
                var tekst = "" + f.naam.value.toLowerCase();
                var regex = "[^a-z\-. ']";
                var result = tekst.match(regex);
                if(result != null) {
                        alert("De naam bevat ongeldige tekens.");
                        f.naam.focus();
                        return;
                }
                bestelling = bestelling + "Naam: " + f.naam.value + "\n";

                // VELD ADRES
                if(f.adres.value == "") {
                        alert("Het adres moet ingevuld worden.");
                        f.adres.focus();
                        return;
                }
                // Geldig ASCII: alfanummeriek spatie - '
                var tekst = "" + f.adres.value.toLowerCase();
                var regex = "[^a-z0-9\-. ']";
                var result = tekst.match(regex);
                if(result != null) {
                        alert("Het adres bevat ongeldige tekens.");
                        f.adres.focus();
                        return;
                }
                bestelling = bestelling + "Adres: " + f.adres.value + "\n";

                // VELD POSTCODE
                if(f.postcode.value == "") {
                        alert("De postcode moet ingevuld worden.");
                        f.postcode.focus();
                        return;
                } else {
                        var tekst = "" + f.postcode.value.toLowerCase();
                        var lengte = f.postcode.value.length;
                        var regexPostcodeNummer = "[^0-9]";  // nummeriek
                        var regexPostcodeLetters = "[^a-z]"; // alfanummeriek
                        var regexPlaats = "[^a-z\-'\/ 0-9]"; // letters spatie -'/ nummers

                        // test postcode nummer
                        var postcodeNummer = tekst.substring(0,4);
                        var result = postcodeNummer.match(regexPostcodeNummer);
                        if((postcodeNummer.length != 4) || (result != null)) {
                                alert("Postcode nummer ongeldig");
                                f.postcode.focus();
                                return;
                        }
                        // negeer spaties
                        var offset = 4;
                        var karakter = tekst.substring(offset, offset+1);
                        while(karakter == " ") karakter = tekst.substring(++offset, offset+1);
                        // test postcode letters
                        var postcodeLetters = tekst.substring(offset, offset+2);
                        if((postcodeLetters.length < 2) || (postcodeLetters.length > 2) || (isNummeriek(postcodeLetters))) {
                                alert("Postcode letters ongeldig");
                                f.postcode.focus();
                                return;
                        }
//                        result = postcodeLetters.match(regexPostcodeLetters);
//                        if(result != null) {
//                                alert("Postcode ongeldig");
//                                f.postcode.focus();
//                                return;
//                        }
                // negeer spaties
//                        offset+=2;
//                        var karakter = tekst.substring(offset, offset+1);
//                        while(karakter == " ") karakter = tekst.substring(++offset, offset+1);
                        // test plaats
//                        var plaats = tekst.substring(offset, lengte);
//                        if(plaats == "") return "Woonplaats moet ingevuld worden.";
//                        result = plaats.match(regexPlaats);
//                        if(result != null) return "plaats ongeldig\n";
                }
                bestelling = bestelling + "Postcode: " + f.postcode.value + "\n";


                // VELD PLAATS
                if(f.plaats.value == "") {
                        alert("De plaats moet ingevuld worden.");
                        f.plaats.focus();
                        return;
                }
                // Geldig ASCII: letters spatie - '
                //var tekst = "" + f.plaats.value.toLowerCase();
                //var regex = "[^1-9\']";
                //var result = tekst.match(regex);
                //if(result != null) {
                        //alert("De plaats bevat ongeldige tekens.");
                        //f.plaats.focus();
                        //return;
                //}
                //bestelling = bestelling + "Plaats: " + f.plaats.value + "\n";
                // Geldig ASCII: alfanummeriek spatie - '
                var tekst = "" + f.plaats.value.toLowerCase();
                var regex = "[^a-z0-9\-. ']";
                var result = tekst.match(regex);
                if(result != null) {
                        alert("De plaatsnaam bevat ongeldige tekens.");
                        f.plaats.focus();
                        return;
                }
                bestelling = bestelling + "Plaats: " + f.plaats.value + "\n";


				// VELD TELEFOON
				if(f.telefoon.value != "") {
				// Geldig ASCII: nummeriek-.() spatie 
					var text = "" + f.telefoon.value;
					var regex = "[^0-9\-\.\(\)\+ ]";
					var result = text.match(regex);
					if(result != null) {
                        alert("Telefoonnummer bevat ongeldige tekens.");
                        f.telefoon.focus();
                        return;
					}
					bestelling = bestelling + "Telefoon: " + f.telefoon.value + "\n";
                }


				// VELD EMAIL
				if(f.email.value == "") {
					alert("Veld email dient ingevuld te worden.");
					f.email.focus();
					return;
				} else {
					// Geldig ASCII: alfanummeriek-.@_
					var email = "" + f.email.value.toLowerCase();
					var offset = email.indexOf("@");
					if(offset != -1) 
					{
						var voorTekst = email.substring(0, offset);
						var achterTekst = email.substring(offset+1, email.length);
						var regex1 = "[^a-z0-9\.\-_]";
						var regex2 = "^[a-z0-9]+[[\.]?[\-]?[_]?[a-z0-9]+]?[\.][a-z][a-z][a-z]?$";
						var result1 = voorTekst.match(regex1);
						// Incorrect ASCII karakter
						if(result1 == null) 
						{
							 var result2 = achterTekst.match(regex2);
							 if(result2 == null) {
								 alert("Emailadres is niet geldig..");
								 f.email.focus();
								 return;
							 }
						} else {
							alert("Emailadres is niet geldig..");
							f.email.focus();
							return;
						}
					} else {
						alert("Emailadres is niet geldig.");
						f.email.focus();
						return;
					}
				}
				bestelling = bestelling + "Email: " + f.email.value + "\n";


				// VELD OPMERKINGEN
				if(f.opmerkingen.value != "") {
				// Geldig ASCII: nummeriek-.() spatie 
					var text = "" + f.opmerkingen.value;
					var regex = "[\<\>]";
					var result = text.match(regex);
					if(result != null) {
                        alert("Het veld opmerkingen bevat ongeldige tekens.");
                        f.opmerkingen.focus();
                        return;
					}
					bestelling = bestelling + "Opmerkingen: " + f.opmerkingen.value + "\n";
                }

                if(confirm("U heeft ingevuld...\n\n" + bestelling + "\nIndien akkoord druk op OK")) {
					f.verzenden.value = "ja";
                    f.submit();
					alert("Uw bestelling is verzonden.\nU krijgt een bevestiging per email.");
                }
		}

		function formHerstellen(f) {
			f.reset();
		}

		function formWissen(f) {
			f.aantal.value = "";
			f.organisatie.value = "";
			f.naam.value = "";
			f.adres.value = "";
			f.postcode.value = "";
			f.plaats.value = "";
			f.telefoon.value = "";
			f.email.value = "";
			f.opmerkingen.value = "";
		}

