function checkFields( form ) {
	var ret = true;
	if ( document.all ) {
		if ( ret ) {
			ret = checkText( form.all.firstname );
		}

		if ( ret ) {
			ret = checkText( form.all.lastname );
		}

		if ( ret ) {
			ret = checkText( form.all.email );
		}

		if ( ret ) {
			ret = checkEmailtoEmail( form );
		}

		if ( ret ) {
			ret = checkDate( document.all["emailform"].birthday, document.all["emailform"].birthmonth, document.all["emailform"].birthyear );
		}

		if ( ret ) {
			ret = checkBirthDate( document.all["emailform"].birthday, document.all["emailform"].birthmonth, document.all["emailform"].birthyear );
		}

		if ( ret ) {
			ret = checkInterest( document.all["emailform"].cameras, document.all["emailform"].printers, document.all["emailform"].voicerecorders, document.all["emailform"].binoculars );
		}

		if ( ret ) {
			var v = form.all.email.value.indexOf( "@" );
			if ( v == -1 ) {
				alert( "Voer a.u.b. een geldig email adres in" );
				ret = false;
			}
		}

		if ( ret ) {
			v = form.all.email.value.indexOf( "." );
			if ( v == -1 ) {
				alert( "Voer a.u.b. een geldig email adres in" );
				ret = false;
			}
		}

		if ( ret ) {
			ret = checkSelection( form.all.title );
			if ( !ret ) {
				alert( "Selecteer a.u.b. een aanhef uit het menu" );
			}
		}
	} else {
		/*safari & netscape etc*/
		if ( ret ) {
			ret = checkText( form.firstname );
		}

		if ( ret ) {
			ret = checkText( form.lastname );
		}

		if ( ret ) {
			ret = checkText( form.email );
		}

		if ( ret ) {
			ret = checkEmailtoEmail( form );
		}

		if ( ret ) {
			ret = checkDate( form.birthday, form.birthmonth, form.birthyear );
		}

		if ( ret ) {
			ret = checkBirthDate( form.birthday, form.birthmonth, form.birthyear );
		}

		if ( ret ) {
			ret = checkInterest( form.cameras, form.printers, form.voicerecorders, form.binoculars );
		}

		if ( ret ) {
			var v = form.email.value.indexOf( "@" );
			if ( v == -1 ) {
				alert( "Voer a.u.b. een geldig email adres in" );
				ret = false;
			}
		}

		if ( ret ) {
			v = form.email.value.indexOf( "." );
			if ( v == -1 ) {
				alert( "Voer a.u.b. een geldig email adres in" );
				ret = false;
			}
		}

		if ( ret ) {
			ret = checkSelection( form.title );
			if ( !ret ) {
				alert( "Selecteer a.u.b. een aanhef uit het menu" );
			}
		}
	}
	return ret;
}

function checkText( field ) {
	if ( !checkEmpty( field ) ) {
		alert( "Voer a.u.b. alle velden in om te registreren!" );
		return false;
	}
	return true;
}

function checkEmpty( field ) {
	if ( field.value.length == 0 ) {
		return false;
	}
	return true;
}


function checkEmailtoEmail( form ) {
	var ret = true;
	if ( document.all ) {
		var email = form.all.email.value;
		var email2 = form.all.email2.value;
		if ( email == email2 ) {
			return true;
		} else {
			alert( "De beide email adressen komen niet overeen. Corrigeer dit a.u.b." );
			return false;
		}
	} else {
		var email = form.email.value;
		var email2 = form.email2.value;
		if ( email == email2 ) {
			return true;
		} else {
			alert( "De beide email adressen komen niet overeen. Corrigeer dit a.u.b." );
			return false;
		}
	}
}


function checkDate( day, month, year ) {
	var cDate = new  Date();

	if ( isNaN( day.value ) || isNaN( month.value ) || isNaN( year.value ) ) {
		return false;
	}

	if ( !checkEmpty( day ) || !checkEmpty( day ) || !checkEmpty( day ) ) {
		alert( "Vul a.u.b. een geldige geboortedatum in" );
		return false;
	}

	if ( day.value < 1 || day.value > 31 ) {
		alert( "Vul a.u.b. een geldige geboortedatum in: u heeft een onjuiste dag ingevoerd" );
		return false;
	}

	if ( month.value < 1 || month.value > 12 ) {
		alert( "Vul a.u.b. een geldige geboortedatum in: u heeft een onjuiste maand ingevoerd" );
		return false;
	}

	if ( month.value == 2 && day.value > 29 ) {
		alert( "Vul a.u.b. een geldige geboortedatum in: u heeft een onjuiste dag ingevoerd" );
		return false;
	}

	var y = new Number( year.value );

	if ( year.value.length < 4 || y < 1900 || y > 2004 ) {
		alert( "Vul a.u.b. een geldige geboortedatum in: u heeft een onjuist jaar ingevoerd. Een jaar dient uit 4 cijfers te bestaan" );
		return false;
	}

	cDate.setYear( year.value );
	cDate.setMonth( month.value-1 );
	cDate.setDate( day.value );
	return true;
}

function checkBirthDate( day, month, year ) {
	var bDate = new Date( );
	var startDate = new Date( );
	var endDate = new Date( );

	startDate.setYear( 1900 );
	startDate.setMonth( 1 );
	startDate.setDate( 1 );
	endDate.setYear( 1988 );
	endDate.setMonth( 1 );
	endDate.setDate( 1 );
	bDate.setYear( year.value );
	bDate.setMonth( month.value-1 );
	bDate.setDate( day.value );
	if ( bDate < startDate || bDate > endDate ) {
		alert( "Om u te kunnen inschrijven voor eflash news, moet uw geboortedatum tussen 1 januari 1900 mei en 1 januari 1988 liggen" );
		return false;
	}
	return true;
}

function checkSelection( field ) {
	if ( field.value == -1 ) {
		return false;
	}
	return true;
}

function checkInterest( camera, binocular, voicerecorder, printer ) {
	if ( camera.checked == false && binocular.checked == false && voicerecorder.checked == false && printer.checked == false ) {
		alert("Wilt u a.u.b. teminste 1 interesse selecteren?");
		return false;
	}
	return true;
}

function form_complete_onload( ) {
	if ( document.all ) {
		alert( document.all.copyright.name );
	}
}
