function onLoadForm(widget)
{
	widget.addEventListener("beforeSubmit", function()
	{
		document.getElementById("formStats"+widget.item.id).style.display = "block";
		document.getElementById("formDiv"+widget.item.id).style.display = "none";
	});
}

function checkLogin()
{
	var userField = document.getElementById("username");
	var pwField = document.getElementById("password");
	var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	if (userField.value != "admin" && !regX.test(userField.value))
	{
		window.alert('Vul a.u.b. een geldig e-mail adres in.');
		return false;
	}
	if (pwField.value == "")
	{
		window.alert('Vul a.u.b. een wachtwoord in.');
		return false;
	}
}

function checkForward()
{
	var emailFromField = document.getElementById("emailFrom");
	var nameFromField = document.getElementById("nameFrom");
	var emailToField = document.getElementById("emailTo");
	var nameToField = document.getElementById("nameTo");
	
	var errors = "";
	
	var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	
	if (nameFromField.value == "")
		errors += "Naam afzender\n";
	if (!regX.test(emailFromField.value))
		errors += "E-mailadres afzender\n";
	
	if (nameToField.value == "")
		errors += "Naam ontvanger\n";
	if (!regX.test(emailToField.value))
		errors += "E-mailadres ontvanger\n";

	if (errors != "")
	{
		window.alert("Vul a.u.b. de volgende velden in:\n" + errors);
		return false;
	}
}

function checkEnqueteLogin()
{
	var userField = document.getElementById("username");
	var pwField = document.getElementById("password");
	if (userField.value == "")
	{
		window.alert('Vul a.u.b. een inlogcode in.');
		return false;
	}
	if (pwField.value == "")
	{
		window.alert('Vul a.u.b. een wachtwoord in.');
		return false;
	}
}

function checkEmail()
{
	var email = document.getElementById("testemail").value;
	var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	
	if (!regX.test(email))
		window.alert("U heeft geen geldig e-mail adres ingevoerd.");
	else
		xajax.call("xajax_checkEmail", {parameters:[email], context: {callback: function(email, result)
		{
			if (result)
			{
				document.getElementById("step2").style.display = "block";
				document.getElementById("step1").style.display = "none";
				document.getElementById("username").value = email;
			}
			else
			{
				document.getElementById("step1").style.display = "none";
				document.getElementById("error").style.display = "block";
			}
		}}});
}

function checkRegForm(checkPw)
{
	var checkFail = false;
	var message = "De volgende velden zijn verplicht om in te vullen:\n";
	for (x in requiredFields)
	{
		var field = requiredFields[x];
		switch (field["type"])
		{
			case "enum":
				document.getElementById("label_" + field["name"]).className = "";
				if (document.getElementById(field["name"]).selectedIndex == 0)
				{
					document.getElementById("label_" + field["name"]).className = "failed";
					checkFail = true;
					message += "- " + field["friendlyname"] + "\n";
				}
				else if (document.getElementById(field["name"]).options[document.getElementById(field["name"]).selectedIndex].value == "Overig: nl.:")
				{
					var str = document.getElementById(field["name"] + "Overig").value.replace(" ", "");
					if (str.length == 0)
					{
						document.getElementById("label_" + field["name"] + "Overig").className = "failed";
						checkFail = true;
						if (field["name"] == "sector")
							message += "- Overige sector\n";
						else
							message += "- Overige wijze van contact\n";
					}
					else
						document.getElementById("label_" + field["name"] + "Overig").className = "";
				}
				break;
			case "email":
				var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
				if (!regX.test(document.getElementById(field["name"]).value))
				{
					document.getElementById("label_" + field["name"]).className = "failed";
					checkFail = true;
					message += "- " + field["friendlyname"] + " (geen geldig e-mail adres)\n";
				}
				else
					document.getElementById("label_" + field["name"]).className = "";
				break;
			default:
				if (field["name"] == "postcode")
					var regX = new RegExp(/^[0-9]{4}[ ]*[a-zA-Z]{2}$/);
				
				if (field["name"] == "postcode" && !regX.test(document.getElementById(field["name"]).value))
				{
					document.getElementById("label_" + field["name"]).className = "failed";
					checkFail = true;
					message += "- " + field["friendlyname"] + " (geen geldige postcode)\n";
				}
/*				else if (field["name"] == "tel" && document.getElementById(field["name"]).value.length < 10)
				{
					document.getElementById("label_" + field["name"]).className = "failed";
					checkFail = true;
					message += "- " + field["friendlyname"] + " (geen geldig nummer)\n";
				}
*/				else if (document.getElementById(field["name"]).value == "")
				{
					document.getElementById("label_" + field["name"]).className = "failed";
					checkFail = true;
					message += "- " + field["friendlyname"] + "\n";
				}
				else
					document.getElementById("label_" + field["name"]).className = "";
				break;
		}
	}
	
	if (checkPw && document.getElementById("password") != undefined)
	{
		var p1 = document.getElementById("password").value;
		var p2 = document.getElementById("password2").value;
		
		if (p1.length > 0 && p2.length == 0)
		{
			document.getElementById("label_password2").className = "failed";
			checkFail = true;
			message += "- Wachtwoord (2e wachtwoord veld is leeg)\n";
		}
		else if (p1.length == 0 && p2.length == 0)
		{
			document.getElementById("label_password").className = "failed";
			document.getElementById("label_password2").className = "failed";
			checkFail = true;
			message += "- Wachtwoord (geen wachtwoord ingevuld)\n";
		}
		else if (p1 != p2)
		{
			document.getElementById("label_password").className = "failed";
			document.getElementById("label_password2").className = "failed";
			checkFail = true;
			message += "- Wachtwoord (wachtwoord en herhaling komen niet overeen)\n";
		}
		else
		{
			document.getElementById("label_password").className = "";
			document.getElementById("label_password2").className = "";
		}
	}
	
	if (checkFail)
		window.alert(message);
	else
		document.getElementById("submitBtn").disabled = true;
		
	return !checkFail;
}

function checkSaveForm(checkPw)
{
	if (document.getElementById("confirm").checked)
	{
		var checkNUL12 = document.getElementById("receiveNUL12").checked;
		var checkKapitaal = document.getElementById("receiveKapitaal").checked;
		var checkOverig = document.getElementById("receiveOverig").checked;
		if (!checkNUL12 && !checkKapitaal && !checkOverig)
		{
			window.alert("Kies a.u.b. één of meerdere mogelijkheden waarvan we u op de hoogte mogen houden.");
			return false;
		}
		
		var checkFail = false;
		var message = "De volgende velden zijn verplicht om in te vullen:\n";
		for (x in requiredFields)
		{
			var field = requiredFields[x];
			switch (field["type"])
			{
				case "enum":
					if (document.getElementById(field["name"]).selectedIndex == 0)
					{
						document.getElementById("label_" + field["name"]).className = "failed";
						checkFail = true;
						message += "- " + field["friendlyname"] + "\n";
					}
					else
						document.getElementById("label_" + field["name"]).className = "";
					break;
				case "email":
					var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
					if (!regX.test(document.getElementById(field["name"]).value))
					{
						document.getElementById("label_" + field["name"]).className = "failed";
						checkFail = true;
						message += "- " + field["friendlyname"] + " (geen geldig e-mail adres)\n";
					}
					else
						document.getElementById("label_" + field["name"]).className = "";
					break;
				default:
					if (field["name"] == "postcode")
						var regX = new RegExp(/^[0-9]{4}[ ]*[a-zA-Z]{2}$/);
					
					if (field["name"] == "postcode" && !regX.test(document.getElementById(field["name"]).value))
					{
						document.getElementById("label_" + field["name"]).className = "failed";
						checkFail = true;
						message += "- " + field["friendlyname"] + " (geen geldige postcode)\n";
					}
					else if (document.getElementById(field["name"]).value == "")
					{
						document.getElementById("label_" + field["name"]).className = "failed";
						checkFail = true;
						message += "- " + field["friendlyname"] + "\n";
					}
					else
						document.getElementById("label_" + field["name"]).className = "";
					break;
			}
		}
		
		if (checkPw && document.getElementById("password") != undefined)
		{
			var p1 = document.getElementById("password").value;
			var p2 = document.getElementById("password2").value;
			
			if (p1.length > 0 && p2.length == 0)
			{
				document.getElementById("label_password2").className = "failed";
				checkFail = true;
				message += "- Wachtwoord (2e wachtwoord veld is leeg)\n";
			}
			else if (p1.length == 0 && p2.length == 0)
			{
				document.getElementById("label_password").className = "failed";
				document.getElementById("label_password2").className = "failed";
				checkFail = true;
				message += "- Wachtwoord (geen wachtwoord ingevuld)\n";
			}
			else if (p1 != p2)
			{
				document.getElementById("label_password").className = "failed";
				document.getElementById("label_password2").className = "failed";
				checkFail = true;
				message += "- Wachtwoord (wachtwoord en herhaling komen niet overeen)\n";
			}
			else
			{
				document.getElementById("label_password").className = "";
				document.getElementById("label_password2").className = "";
			}
		}
		
		if (checkFail)
			window.alert(message);
		else
			document.getElementById("submitBtn").disabled = true;
			
		return !checkFail;
	}
	else
		return true;
}

function checkPasswordForm()
{
	var userField = document.getElementById("username");
	var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	if (!regX.test(userField.value))
	{
		window.alert('U heeft geen geldig e-mail adres ingevuld.');
		return false;
	}
}

function gotoStep1()
{
	document.getElementById("step1").style.display = "block";
	document.getElementById("step2").style.display = "none";
}

function gotoStep2()
{
	var typeSelect = "";
	var elements = document.forms["bijtijdsForm"].elements;
	for (var i=0;i<elements.length;i++)
	{
		if (elements[i].name == "type" && elements[i].checked)
			typeSelect = elements[i].value;
	}
	
	if (typeSelect != "")
	{
		var price = document.getElementById(typeSelect).innerHTML;
		
		document.getElementById("type").innerHTML = typeSelect + "abonnement";
		document.getElementById("typePrice").innerHTML = price;
		
		document.getElementById("step1").style.display = "none";
		document.getElementById("step2").style.display = "block";
	}
	else
		window.alert("Selecteer a.u.b. een abonnementsvorm");
}