function ShowId(id)
{	
	x = document.getElementById(id);
	x.style.display = 'block';

}

function HideId(id)
{	
	x = document.getElementById(id);
	x.style.display = 'none';
}

function CheckKey(e)
{
	if(window.event) // IE
	{	keynum = e.keyCode; }
	else if(e.which) // Netscape/Firefox/Opera
	{	keynum = e.which; }
	
								
	keychar = String.fromCharCode(keynum);
			
	// forbidden keys
	if ( 	(keychar == '\\' ) ||
			(keychar == '/' ) ||
			(keychar == '<' ) ||
			(keychar == '>' ) ||
			(keychar == '*' ) ||
			(keychar == '%' ) ||
			(keychar == '$' ) ||
			(keychar == '^' ) ||
			(keychar == '#' ) 
		)
	{	return false; }
	
	return true;		
}
	
// JavaScript Document
function IsNumeric(str)
{
   ValidChars = "0123456789-";
   IsNumber = true;
   var Char;
   
	for (i = 0; (i < str.length) && IsNumber ; i++) 
	{ 
		var Char = str.charAt(i); 
		
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	
	return IsNumber;
}

function EnableOtherBox()
{
	document.getElementById('known_by_select').name = 'known_by_select';
	document.getElementById('known_by_txt').name = 'knownBy';
	document.getElementById('known_by_txt').style.display = 'block';	
}

function DisableOtherBox()
{
	document.getElementById('known_by_txt').name = 'known_by_txt';
	document.getElementById('known_by_select').name = 'knownBy';
	document.getElementById('known_by_txt').value = '';
	document.getElementById('known_by_txt').style.display = 'none';	
}

function SelectBoxOriginal(box,val1,val2)
{
	x = document.getElementById(box);
					
	if (val1 == val2)
	{	x.className = 'SelectOriginal'; }
	else
	{	x.className = 'SelectOther'; }
}

function SwitchStep(toStep, form)
{
	f = document.getElementById(form);
	
	f.nextStep.value = toStep;
	f.onsubmit = ''; 
	
	f.submit();
}

function validateForm(form)
{
	f = document.getElementById(form);
	error = false;
	msg = 'De volgende velden zijn niet goed ingevuld: \r\n';
	switch (form)
	{	
		case 'contactForm' :				
			if (f.voornaam.value.length < 1 )
			{					
				error = true;
				msg = msg+'- Je hebt geen voornaam opgegeven\r\n'; 
				document.getElementById('voornaam').className = 'InputError';
			}else
			{	document.getElementById('voornaam').className = 'InputOK'; }	
			
			if ((f.emailadres.value.length < 4) && (f.telefoon.value.length < 10) )
			{					
				error = true;
				msg = msg+'- Je moet emailadres OF een telefoonnummer opgegeven\r\n'; 
				document.getElementById('emailadres').className = 'InputError';
			}else
			{	document.getElementById('emailadres').className = 'InputOK'; }
			
			if (f.vraag.value.length < 1 )
			{					
				error = true;
				msg = msg+'- Je hebt geen vraag ingetypt\r\n'; 
				document.getElementById('vraag').className = 'InputError';
			}else
			{	document.getElementById('vraag').className = 'InputOK'; }
			
			break;
			
		case 'specs' :	
			if (f.name.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Achternaam is niet ingevuld\r\n'; 
				document.getElementById('name').className = 'InputError';
			}else
			{	document.getElementById('name').className = 'InputOK'; }	
			
			if (f.firstName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voornaam is niet ingevuld\r\n'; 
				document.getElementById('firstName').className = 'InputError';
			}else
			{	document.getElementById('firstName').className = 'InputOK'; }
			
			if (f.initials.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voorletters zijn niet ingevuld\r\n'; 
				document.getElementById('initials').className = 'InputError';
			}else
			{	document.getElementById('initials').className = 'InputOK'; }
			
			if (f.birthdate.value.length < 6 )
			{	
				error = true;
				msg = msg+'- Geboortedatum is niet goed ingevuld\r\n'; 
				document.getElementById('birthdate').className = 'InputError';
			}else
			{	document.getElementById('birthdate').className = 'InputOK'; }
		
			if (!f.gender[0].checked && !f.gender[1].checked)
			{	
				error = true;
				msg = msg+'- Geslacht is niet geselecteerd\r\n'; 				
			}
			
			if (f.nationality.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Nationaliteit is niet ingevuld\r\n'; 
				document.getElementById('nationality').className = 'InputError';
			}else
			{	document.getElementById('nationality').className = 'InputOK'; }
			
			if (f.street.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Straat is niet ingevuld\r\n'; 
				document.getElementById('street').className = 'InputError';
			}else
			{	document.getElementById('street').className = 'InputOK'; }
			
			if (f.streetNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Huisnummer is niet ingevuld\r\n'; 
				document.getElementById('streetNr').className = 'InputError';
			}else
			{	document.getElementById('streetNr').className = 'InputOK'; }
			
			if (f.postalCode.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Postcode is niet ingevuld\r\n'; 
				document.getElementById('postalCode').className = 'InputError';
			}else
			{	document.getElementById('postalCode').className = 'InputOK'; }
			
			if (f.city.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Plaats is niet ingevuld\r\n'; 
				document.getElementById('city').className = 'InputError';
			}else
			{	document.getElementById('city').className = 'InputOK'; }
			
			if ( (f.phoneDay.value.length < 10) || !IsNumeric(f.phoneDay.value) )
			{	
				error = true;
				msg = msg+'- Telefoon overdag is niet goed ingevuld\r\n'; 
				document.getElementById('phoneDay').className = 'InputError';
			}else
			{	document.getElementById('phoneDay').className = 'InputOK'; }
			
			if ( (f.phonePrivate.value.length < 10) || !IsNumeric(f.phonePrivate.value) )
			{	
				error = true;
				msg = msg+'- Telefoon prive is niet goed ingevuld\r\n'; 
				document.getElementById('phonePrivate').className = 'InputError';
			}else
			{	document.getElementById('phonePrivate').className = 'InputOK'; }			
			
			if (f.email.value.length < 5 )
			{	
				error = true;
				msg = msg+'- Email is niet ingevuld\r\n'; 
				document.getElementById('email').className = 'InputError';
			}else
			{	document.getElementById('email').className = 'InputOK'; }
			
			if (f.passportNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort nummer is niet ingevuld\r\n'; 
				document.getElementById('passportNr').className = 'InputError';
			}else
			{	document.getElementById('passportNr').className = 'InputOK'; }
			
			if (f.passportStart.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte datum is niet ingevuld\r\n'; 
				document.getElementById('passportStart').className = 'InputError';
			}else
			{	document.getElementById('passportStart').className = 'InputOK'; }
			
			if (f.passportCity.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte plaats is niet ingevuld\r\n'; 
				document.getElementById('passportCity').className = 'InputError';
			}else
			{	document.getElementById('passportCity').className = 'InputOK'; }
			
			if (f.contactName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Naam contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactName').className = 'InputError';
			}else
			{	document.getElementById('contactName').className = 'InputOK'; }
			
			if ( (f.contactPhone.value.length < 10) || !IsNumeric(f.contactPhone.value) )
			{	
				error = true;
				msg = msg+'- Telefoonnummer contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactPhone').className = 'InputError';
			}else
			{	document.getElementById('contactPhone').className = 'InputOK'; }
			
			if (!f.vegetarian[0].checked && !f.vegetarian[1].checked)
			{	
				error = true;
				msg = msg+'- Vegetarisch is niet ingevuld\r\n'; 
			}
			
			if (!f.insuranceTravel[0].checked && !f.insuranceTravel[1].checked)
			{	
				error = true;
				msg = msg+'- Reisverzekering is niet ingevuld\r\n'; 
			}			
			
			if (!f.insuranceCancel[0].checked && !f.insuranceCancel[1].checked)
			{	
				error = true;
				msg = msg+'- Annuleringsverzekering is niet ingevuld\r\n'; 			
			}
			
			if (f.knownBy.value == '' )
			{	
				error = true;
				msg = msg+'- Je hebt niet ingevuld hoe je noSun hebt leren kennen\r\n'; 
				document.getElementById('known_by_txt').className = 'InputError';
				document.getElementById('known_by_select').className = 'InputError';
			}else
			{	
				document.getElementById('known_by_txt').className = 'InputOK'; 
				document.getElementById('known_by_select').className = 'InputOK';			
			}
					
			break;
		
		case 'confirmationForm' :	
			if (f.name.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Achternaam is niet ingevuld\r\n'; 
				document.getElementById('name').className = 'InputError';
			}else
			{	document.getElementById('name').className = 'InputOK'; }	
			
			if (f.firstName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voornaam is niet ingevuld\r\n'; 
				document.getElementById('firstName').className = 'InputError';
			}else
			{	document.getElementById('firstName').className = 'InputOK'; }
			
			if (f.initials.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voorletters zijn niet ingevuld\r\n'; 
				document.getElementById('initials').className = 'InputError';
			}else
			{	document.getElementById('initials').className = 'InputOK'; }
			
			if (f.birthdate.value.length < 6 )
			{	
				error = true;
				msg = msg+'- Geboortedatum is niet goed ingevuld\r\n'; 
				document.getElementById('birthdate').className = 'InputError';
			}else
			{	document.getElementById('birthdate').className = 'InputOK'; }
		
			if (!f.gender[0].checked && !f.gender[1].checked)
			{	
				error = true;
				msg = msg+'- Geslacht is niet geselecteerd\r\n'; 				
			}
			
			if (f.nationality.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Nationaliteit is niet ingevuld\r\n'; 
				document.getElementById('nationality').className = 'InputError';
			}else
			{	document.getElementById('nationality').className = 'InputOK'; }
			
			if (f.street.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Straat is niet ingevuld\r\n'; 
				document.getElementById('street').className = 'InputError';
			}else
			{	document.getElementById('street').className = 'InputOK'; }
			
			if (f.streetNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Huisnummer is niet ingevuld\r\n'; 
				document.getElementById('streetNr').className = 'InputError';
			}else
			{	document.getElementById('streetNr').className = 'InputOK'; }
			
			if (f.postalCode.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Postcode is niet ingevuld\r\n'; 
				document.getElementById('postalCode').className = 'InputError';
			}else
			{	document.getElementById('postalCode').className = 'InputOK'; }
			
			if (f.city.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Plaats is niet ingevuld\r\n'; 
				document.getElementById('city').className = 'InputError';
			}else
			{	document.getElementById('city').className = 'InputOK'; }
			
			if ( (f.phoneDay.value.length < 10) || !IsNumeric(f.phoneDay.value) )
			{	
				error = true;
				msg = msg+'- Telefoon overdag is niet goed ingevuld\r\n'; 
				document.getElementById('phoneDay').className = 'InputError';
			}else
			{	document.getElementById('phoneDay').className = 'InputOK'; }
			
			if ( (f.phonePrivate.value.length < 10) || !IsNumeric(f.phonePrivate.value) )
			{	
				error = true;
				msg = msg+'- Telefoon prive is niet goed ingevuld\r\n'; 
				document.getElementById('phonePrivate').className = 'InputError';
			}else
			{	document.getElementById('phonePrivate').className = 'InputOK'; }			
			
			if (f.email.value.length < 5 )
			{	
				error = true;
				msg = msg+'- Email is niet ingevuld\r\n'; 
				document.getElementById('email').className = 'InputError';
			}else
			{	document.getElementById('email').className = 'InputOK'; }
			
			if (f.passportNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort nummer is niet ingevuld\r\n'; 
				document.getElementById('passportNr').className = 'InputError';
			}else
			{	document.getElementById('passportNr').className = 'InputOK'; }
			
			if (f.passportStart.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte datum is niet ingevuld\r\n'; 
				document.getElementById('passportStart').className = 'InputError';
			}else
			{	document.getElementById('passportStart').className = 'InputOK'; }
			
			if (f.passportCity.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte plaats is niet ingevuld\r\n'; 
				document.getElementById('passportCity').className = 'InputError';
			}else
			{	document.getElementById('passportCity').className = 'InputOK'; }
			
			if (f.contactName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Naam contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactName').className = 'InputError';
			}else
			{	document.getElementById('contactName').className = 'InputOK'; }
			
			if ( (f.contactPhone.value.length < 10) || !IsNumeric(f.contactPhone.value) )
			{	
				error = true;
				msg = msg+'- Telefoonnummer contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactPhone').className = 'InputError';
			}else
			{	document.getElementById('contactPhone').className = 'InputOK'; }
			
			if (!f.vegetarian[0].checked && !f.vegetarian[1].checked)
			{	
				error = true;
				msg = msg+'- Vegetarisch is niet ingevuld\r\n'; 
			}
			
			if (!f.insuranceTravel[0].checked && !f.insuranceTravel[1].checked)
			{	
				error = true;
				msg = msg+'- Reisverzekering is niet ingevuld\r\n'; 
			}			
			
			if (!f.insuranceCancel[0].checked && !f.insuranceCancel[1].checked)
			{	
				error = true;
				msg = msg+'- Annuleringsverzekering is niet ingevuld\r\n'; 			
			}
			
			if (f.knownBy.value == '' )
			{	
				error = true;
				msg = msg+'- Je hebt niet ingevuld hoe je noSun hebt leren kennen\r\n'; 
				document.getElementById('known_by_txt').className = 'InputError';
				document.getElementById('known_by_select').className = 'InputError';
			}else
			{	
				document.getElementById('known_by_txt').className = 'InputOK'; 
				document.getElementById('known_by_select').className = 'InputOK';			
			}
					
			break;
	
		case 'IndividualTripForm1' :	
			
			if (!f.optional[0].checked && !f.optional[1].checked)
			{	
				error = true;
				msg = msg+'- Je moet aangeven of je de reis definitief of optioneel wilt boeken\r\n'; 
			}
			
			if (f.tripId.value.length < 1 )
			{					
				error = true;
				msg = msg+'- U moet een reis selecteren\r\n'; 
				document.getElementById('tripId').className = 'InputError';
			}else
			{	document.getElementById('tripId').className = 'InputOK'; }	
			
			if (f.pref1Departure.value == '' )
			{	
				error = true;
				msg = msg+'- Je hebt geen vertrek datum aangegeven\r\n'; 
				document.getElementById('pref1Departure').className = 'InputError';
			}else
			{	document.getElementById('pref1Departure').className = 'InputOK'; }
			
			if (!error && (parseInt(f.maxStep.value) <= 2))
			{	 f.maxStep.value = 2; }
					
			break;
		
		case 'IndividualTripForm2' :	
			if (f.name.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Achternaam is niet ingevuld\r\n'; 
				document.getElementById('name').className = 'InputError';
			}else
			{	document.getElementById('name').className = 'InputOK'; }	
			
			if (f.firstName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voornaam is niet ingevuld\r\n'; 
				document.getElementById('firstName').className = 'InputError';
			}else
			{	document.getElementById('firstName').className = 'InputOK'; }
			
			if (f.initials.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Voorletters zijn niet ingevuld\r\n'; 
				document.getElementById('initials').className = 'InputError';
			}else
			{	document.getElementById('initials').className = 'InputOK'; }
			
			if (f.birthdate.value.length < 6 )
			{	
				error = true;
				msg = msg+'- Geboortedatum is niet goed ingevuld\r\n'; 
				document.getElementById('birthdate').className = 'InputError';
			}else
			{	document.getElementById('birthdate').className = 'InputOK'; }
		
			if (!f.gender[0].checked && !f.gender[1].checked)
			{	
				error = true;
				msg = msg+'- Geslacht is niet geselecteerd\r\n'; 				
			}
			
			if (f.nationality.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Nationaliteit is niet ingevuld\r\n'; 
				document.getElementById('nationality').className = 'InputError';
			}else
			{	document.getElementById('nationality').className = 'InputOK'; }
			
			if (f.street.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Straat is niet ingevuld\r\n'; 
				document.getElementById('street').className = 'InputError';
			}else
			{	document.getElementById('street').className = 'InputOK'; }
			
			if (f.streetNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Huisnummer is niet ingevuld\r\n'; 
				document.getElementById('streetNr').className = 'InputError';
			}else
			{	document.getElementById('streetNr').className = 'InputOK'; }
			
			if (f.postalCode.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Postcode is niet ingevuld\r\n'; 
				document.getElementById('postalCode').className = 'InputError';
			}else
			{	document.getElementById('postalCode').className = 'InputOK'; }
			
			if (f.city.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Plaats is niet ingevuld\r\n'; 
				document.getElementById('city').className = 'InputError';
			}else
			{	document.getElementById('city').className = 'InputOK'; }
			
			if ( (f.phoneDay.value.length < 10) || !IsNumeric(f.phoneDay.value) )
			{	
				error = true;
				msg = msg+'- Telefoon overdag is niet goed ingevuld\r\n'; 
				document.getElementById('phoneDay').className = 'InputError';
			}else
			{	document.getElementById('phoneDay').className = 'InputOK'; }
			
			if ( (f.phonePrivate.value.length < 10) || !IsNumeric(f.phonePrivate.value) )
			{	
				error = true;
				msg = msg+'- Telefoon prive is niet goed ingevuld\r\n'; 
				document.getElementById('phonePrivate').className = 'InputError';
			}else
			{	document.getElementById('phonePrivate').className = 'InputOK'; }			
			
			if (f.email.value.length < 5 )
			{	
				error = true;
				msg = msg+'- Email is niet ingevuld\r\n'; 
				document.getElementById('email').className = 'InputError';
			}else
			{	document.getElementById('email').className = 'InputOK'; }
			
			if (f.passportNr.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort nummer is niet ingevuld\r\n'; 
				document.getElementById('passportNr').className = 'InputError';
			}else
			{	document.getElementById('passportNr').className = 'InputOK'; }
			
			if (f.passportStart.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte datum is niet ingevuld\r\n'; 
				document.getElementById('passportStart').className = 'InputError';
			}else
			{	document.getElementById('passportStart').className = 'InputOK'; }
			
			if (f.passportCity.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Paspoort afgifte plaats is niet ingevuld\r\n'; 
				document.getElementById('passportCity').className = 'InputError';
			}else
			{	document.getElementById('passportCity').className = 'InputOK'; }
			
			if (f.contactName.value.length < 1 )
			{	
				error = true;
				msg = msg+'- Naam contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactName').className = 'InputError';
			}else
			{	document.getElementById('contactName').className = 'InputOK'; }
			
			if ( (f.contactPhone.value.length < 10) || !IsNumeric(f.contactPhone.value) )
			{	
				error = true;
				msg = msg+'- Telefoonnummer contact persoon is niet ingevuld\r\n'; 
				document.getElementById('contactPhone').className = 'InputError';
			}else
			{	document.getElementById('contactPhone').className = 'InputOK'; }
			
			if (!f.vegetarian[0].checked && !f.vegetarian[1].checked)
			{	
				error = true;
				msg = msg+'- Vegetarisch is niet ingevuld\r\n'; 
			}
			
			if (!f.insuranceTravel[0].checked && !f.insuranceTravel[1].checked)
			{	
				error = true;
				msg = msg+'- Reisverzekering is niet ingevuld\r\n'; 
			}			
			
			if (!f.insuranceCancel[0].checked && !f.insuranceCancel[1].checked)
			{	
				error = true;
				msg = msg+'- Annuleringsverzekering is niet ingevuld\r\n'; 			
			}
			
			if (f.knownBy.value == '' )
			{	
				error = true;
				msg = msg+'- Je hebt niet ingevuld hoe je noSun hebt leren kennen\r\n'; 
				document.getElementById('known_by_txt').className = 'InputError';
				document.getElementById('known_by_select').className = 'InputError';
			}else
			{	
				document.getElementById('known_by_txt').className = 'InputOK'; 
				document.getElementById('known_by_select').className = 'InputOK';
			}
			
			if (!error)
			{	 
				if (parseInt(f.nrOfPersons.value) > 1)
				{	
					f.maxStep.value = 3;
					f.nextStep.value = 3; 
				}
				else
				{	
					f.maxStep.value = 4; 
					f.nextStep.value = 4;
				}			
			}
						
			break;
			
		case 'IndividualTripForm3' :
		
			nrOfPersons = parseInt(f.nrOfPersons.value);
			for (i=1; i <= (nrOfPersons-1); i++)
			{					
				firstName = document.getElementById('firstName_'+i);
				name = document.getElementById('name_'+i);
				birthdate = document.getElementById('birthdate_'+i);
				
				error_p = false;
				
				if (firstName.value == '' )
				{	
					error = true;
					msg = msg+'- Je hebt de gegevens voor deelnemer '+(i+1)+' niet volledig ingevuld\r\n';
					error_p = true;					
					firstName.className = 'InputError';
				}else
				{	firstName.className = 'InputOK'; }
				
				if (name.value == '' )
				{	
					error = true;
					if (!error_p)
					{	msg = msg+'- Je hebt de gegevens voor deelnemer '+(i+1)+' niet volledig ingevuld\r\n'; }
					error_p = true;
					name.className = 'InputError';
				}else
				{	name.className = 'InputOK'; }
				
				if (birthdate.value == '' )
				{	
					error = true; 
					if (!error_p)
					{	msg = msg+'- Je hebt de gegevens voor deelnemer '+(i+1)+' niet volledig ingevuld\r\n'; }
					error_p = true;
					birthdate.className = 'InputError';
				}else
				{	birthdate.className = 'InputOK'; }				
			}
			// END FOR loop 'Other Persons'
			if (!error)
			{	f.maxStep.value = 4; }
			
			break;
			
	}
	
	if (!error)
	{	return true}
	else
	{	alert(msg); return false; }
}

