﻿function CheckInput()
{
	var tijdstipChecked = false;
	var errorString = '';
	var locatie = 'Speelstad Wechelderzande';
	var	tmpEmail = '';
	var validNumber = '0123456789'; // define valid numeric characters
	
	tmpEmail = document.reservatie.email.value;

	if (document.reservatie.dag.options.selectedIndex == 0)
	{
		errorString += 'Gelieve een datum voor het feestje in te geven.\n';
	}

	if (document.reservatie.naam.value == '')
	{
		errorString += 'Gelieve de naam van de jarige in te geven.\n';
	}

	if (document.reservatie.voornaam.value == '')
	{
		errorString += 'Gelieve de voornaam van de jarige in te geven.\n';
	}

	if (document.reservatie.adres.value == '')
	{
		errorString += 'Gelieve uw adres (straat en huisnummer) in te geven.\n';
	}

	if (document.reservatie.postcode.value == '' || document.reservatie.gemeente.value == '')
	{
		errorString += 'Gelieve uw postcode en gemeente in te geven.\n';
	}

	if (document.reservatie.gebdag.value == '' || document.reservatie.gebmaand.value == '' || document.reservatie.gebjaar.value == '')
	{
		errorString += 'Gelieve de volledige geboortedatum van de jarige in te vullen.\n';
	}
	else
	{
		var intValue = document.reservatie.gebdag.value;
		if (!isValid(intValue,validNumber, 1, 31))
			errorString += 'Gelieve een geldige geboortedag in te vullen.\n';

		var intValue = document.reservatie.gebmaand.value;
		if (!isValid(intValue,validNumber, 1, 12))
			errorString += 'Gelieve een geldige geboortemaand in te vullen.\n';

		var intValue = document.reservatie.gebjaar.value;
		var currentDate = new Date();
		var intJaar = currentDate.getFullYear();
		if (!isValid(intValue,validNumber, 1900, intJaar))
			errorString += 'Gelieve een geldig geboortejaar in te vullen.\n';	
	}

	if (document.reservatie.leeftijd.options.selectedIndex == 0)
	{
		errorString += 'Gelieve de leeftijd van de jarige aan te duiden.\n';
	}

	if (document.reservatie.telefoon.value == '')
	{
		errorString += 'Gelieve uw telefoon nummer in te geven.\n';
	}

	if (document.reservatie.aantal_kindjes.value != '')
	{
		if (document.reservatie.aantal_kindjes.value < 8)
		{
			errorString += 'Het aantal kinderen moet minimaal 8 bedragen.\n';
		}
	}

	if (tmpEmail == '')
	{
		errorString += 'Gelieve uw e-mail adres in te geven.\n';
	}
	else
	{
		p = tmpEmail.indexOf('@');
        if (p < 1 || p == (tmpEmail.length-1)) 
			errorString += 'Gelieve een geldig e-mail adres in te geven.\n';

		p = tmpEmail.indexOf(' ');
	    if (p > 0) 
			errorString += 'Gelieve een geldig e-mail adres in te geven. Spaties zijn niet toegestaan.\n';

		p = tmpEmail.indexOf(';');
	    if (p > 0) 
			errorString += 'Gelieve een geldig e-mail adres in te geven. Ongeldig karakter ";" gevonden.\n';

		p = tmpEmail.indexOf(',');
	    if (p > 0) 
			errorString += 'Gelieve een geldig e-mail adres in te geven. Ongeldig karakter "," gevonden.\n';
	}

	for (var i=0; i < document.reservatie.elements.length; i++)  // for all of the elements on the form..
	{
		if ((document.reservatie.elements[i].name.indexOf('tijdstip') > -1))  //only checkboxes
		{
			if (document.reservatie.elements[i].checked)
			{
				tijdstipChecked = true;
			}
		}
	}

	if (!tijdstipChecked)
	{
		errorString += 'Gelieve een tijdstip aan te duiden.\n';
	}
	
	if (errorString == '')
	{
		return confirm('Bent u zeker dat u de reservatie voor het feestje in ' + locatie + ' wil verzenden?');
	}
	else
	{
		errorString = 'Uw reservatie kon niet verzonden worden:\n\n' + errorString;
		alert(errorString);
		return false;
	}

}

function SetTijdstipOptions(SelectedOption)
{
	if (SelectedOption == 0)
	{
		document.reservatie.tijdstip_vast[0].checked = false;
		document.reservatie.tijdstip_vast[1].checked = false;
		document.reservatie.tijdstip_vast[2].checked = false;
		document.reservatie.tijdstip_vast[0].disabled = true;
		document.reservatie.tijdstip_vast[1].disabled = true;
		document.reservatie.tijdstip_vast[2].disabled = true;
	}
	
	if (SelectedOption == 1)
	{
		document.reservatie.tijdstip_vast[0].disabled = false;
		document.reservatie.tijdstip_vast[1].disabled = false;
		document.reservatie.tijdstip_vast[2].disabled = false;
		document.reservatie.tijdstip_vast[0].checked = true;
	}
	return true;
}

function isValid(string, allowed, min, max)
{
	for (var i=0; i < string.length; i++) 
	{
		if (allowed.indexOf(string.charAt(i)) == -1)
		return false;
	}
	
	if (parseInt(string) >= min && parseInt(string) <= max)
		return true;
	else
		return false;
}
