//DQ&A
var ord = Math.random() * 10000000000000000;

function checkEmail(obj, descr, optional)
{
	if ( obj.value.length )
	{
		re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
		if ( !obj.value.match(re) )
			return "- Ongeldig " + descr + ".\n";
	}
	else if ( !optional )
		return "- Geen " + descr + " ingevuld.\n";

	return "";
}

function checkOneChecked(radioobj, radioname)
{
	var chk = false;

	for ( var i = 0; i < radioobj.length; ++i )
		if ( radioobj[i].checked )
		{
			chk = true;
			break;
		}

	if ( !chk )
		return "- Geen " + radioname + " gekozen.\n";

	return "";
}

function checkForm(f)
{
	var i, j, re, err = "", msg = "";

	if ( f.name == "reactie" )
	{
		if ( !f.author.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.message.value.length ) err += "- Geen bericht ingevuld.\n";
	}
	else if ( f.name == "contact" || f.name == "katalysator" )
	{
		if ( !f.naam.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.bericht.value.length ) err += "- Geen bericht ingevuld.\n";
		if ( !f.antispam.value.length ) err += "- Geen naam van de site ingevuld.\n";
	}
	else if ( f.name == "pluk" )
	{
		if ( !f.wincode.value.length ) err += "- Geen wincode ingevuld.\n";
		if ( !f.naam.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.nieuwsbrief[0].checked && !f.nieuwsbrief[1].checked )
			err += "- Geen keuze gemaakt bij 'Nieuwsbrief'.\n";
		if ( !f.optin[0].checked && !f.optin[1].checked )
			err += "- Geen keuze gemaakt bij 'Specials'.\n";
	}
	else if ( f.name == "onlineredactie" )
	{
		if ( !f.naam.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.info.value.length ) err += "- Geen infotekst ingevuld.\n";
	}
	else if ( f.name == "nieuwsbrief" || f.name == "dv")
	{
		if ( !f.voornaam.value.length )
			err += "- Geen voornaam ingevuld.\n";

		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		
		err += checkOneChecked(f.optin, "specials-optie");
	}
	else if ( f.name == "uitschrijven" )
	{
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		
		err += checkOneChecked(f.optin, "specials-optie");
	}
	else if (
		f.name == "winnen"
		|| f.name == "porschespa"
		|| f.name == "philips"
		|| f.name == "rado"
		|| f.name == "azzaro"
		|| f.name == "jl"
		|| f.name == "bh"
		|| f.name == "pd"
		|| f.name == "kenwood"
		|| f.name == "cr"
	)
	{
		if ( f.voornaam )
			if ( !f.voornaam.value.length ) err += "- Geen voornaam ingevuld.\n";
		if ( f.achternaam )
			if ( !f.achternaam.value.length ) err += "- Geen achternaam ingevuld.\n";
		if ( f.naam )
			if ( !f.naam.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.geboortejaar.value.length )
			err += "- Geen geboortejaar ingevuld.\n";
		else
		{
			var now = new Date(), j = parseInt(f.geboortejaar.value);
			var jmin = 1900, jmax = now.getFullYear();
			if ( j < jmin || j > jmax ) err += "- Ongeldig geboortejaar (" + jmin + "-" + jmax + ").\n";
		}
		if ( !f.rijbewijs[0].checked && !f.rijbewijs[1].checked ) err += "- Geen keuze gemaakt bij 'Rijbewijs'.\n";
		if ( !f.auto[0].checked && !f.auto[1].checked )
			err += "- Geen keuze gemaakt bij 'Auto'.\n";
		else
		{
			if ( f.auto[0].checked )
			{
				if ( !f.automerk.value.length ) err += "- Geen automerk ingevuld.\n";
				if ( !f.autojaar.value.length ) err += "- Geen autojaar ingevuld.\n";
				if ( !f.lease[0].checked && !f.lease[1].checked ) err += "- Geen keuze gemaakt bij 'Lease'.\n";
			}
			else
			{
				f.automerk.value = "";
				f.autojaar.value = "";
				f.lease[0].checked = false;
				f.lease[1].checked = false;
			}
		}
		//if ( !f.optin[0].checked && !f.optin[1].checked ) err += "- Geen keuze gemaakt bij 'Partneraanbiedingen'.\n";
	}
	else if ( f.name == "proefrit" )
	{
		if ( !f.proefritmerk.value.length ) err += "- Geen automerk ingevuld.\n";
		if ( !f.proefrittype.value.length ) err += "- Geen autotype ingevuld.\n";
		if ( !f.proefritnaam.value.length ) err += "- Geen naam ingevuld.\n";
		if ( !f.proefritmail.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.proefritmail.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
		if ( !f.proefritpost.value.length )
			err += "- Geen postcode ingevuld.\n";
		else
		{
			re = /^[1-9][0-9]{3}( ?[A-Z]{2})?$/i;
			if ( !f.proefritpost.value.match(re) ) err += "- Ongeldige Nederlandse of Belgische postcode.\n";
		}
	}
	else if ( f.name == "autoraiexp" )
	{
		if ( !f.email.value.length )
			err += "- Geen e-mailadres ingevuld.\n";
		else
		{
			re = /^[a-z0-9][a-z0-9_.+-]*@[a-z0-9.-]{2,}\.[a-z]{2,4}$/i;
			if ( !f.email.value.match(re) ) err += "- Ongeldig e-mailadres.\n";
		}
	}
	else if ( f.name == "mailafriend" )
	{
		err += checkEmail(f.from, "afzender e-mailadres");
		err += checkEmail(f.email1, "e-mailadres vriend 1");
		err += checkEmail(f.email2, "e-mailadres vriend 2", true);
		err += checkEmail(f.email3, "e-mailadres vriend 3", true);
		if ( !f.antispam.value.length ) err += "- Geen naam van de site ingevuld.\n";
	}
	else if ( f.name == "nbfwd" )
	{
		if ( !f.nb.value.length )
			err += "- Geen nieuwsbriefcode ingevuld.\n";
		else
		{
			re = /^[0-9]{4}\/[0-9]{3}$/i;
			if ( !f.nb.value.match(re) ) err += "- Ongeldige nieuwsbriefcode.\n";
		}

		err += checkEmail(f.from, "afzender e-mailadres");
		err += checkEmail(f.to, "e-mailadres vriend(in)");
	}
	else
		msg += "Interne fout: onbekend formulier.\n";

	if ( err.length )
	{
		window.alert("Niet alle gegevens waren correct:\n" + err);
		return false;
	}
	if ( msg.length )
		window.alert(msg);
	return true;
}
