// JWmail 1.2 lite - Invoer controle van een HTML formulier
//
// -----------------------------------------------------------------------------------------------------------
//
// Copyright     : S.C. van Rees, JavaWare
// Versie        : november 2002 1.0
//                 januari 2003 1.1
//                 maart/mei 2003 1.2
// Toepassing    : Invoer controle op formulier.
//
// aangepaste vesrei voor pilatescompany.nl - afvangen invoer nieuwsbrief aanmelding
//
// -----------------------------------------------------------------------------------------------------------

// Controleren van invoer in formulier
function email_controle(naam_formulier, error_output, error_message)
{
	
	if (error_output == "undefined" || error_output == "")
	{
		document.write(erroroutput);
		return false;
	}
	
	var tekst = "";
	
	for (var i = 0; tekst == "" && i < naam_formulier.length; i++)
	{
		if (naam_formulier.elements[i].type != "button" || naam_formulier.elements[i].type != "submit" || naam_formulier.elements[i].type != "reset")
		{
			if (naam_formulier.elements[i].name.search("_empty") != -1)
			{
				if (naam_formulier.elements[i].type == "checkbox")
				{
					if (naam_formulier.elements[i].status == false)
						tekst = "" + naam_formulier.elements[i].name + checkboxerror;
				}
				if (naam_formulier.elements[i].type == "select-one" ||naam_formulier.elements[i].type == "select-multiple")
				{
					if (naam_formulier.elements[i].selectedIndex == 0)
					{
						tekst = "" + naam_formulier.elements[i].name + selecterror;
						
					}
				} 
				else
				{
					if (naam_formulier.elements[i].value == "" || naam_formulier.elements[i].value == "uw e-mail adres" || naam_formulier.elements[i].value == "uw naam")
					{
						tekst = "" + naam_formulier.elements[i].name + invoervelderror;
					}
				}
			}
			
			// controleren of invoer een getal is			
			if (naam_formulier.elements[i].name.search("_getal") != -1)
			{
				getalwaarde = naam_formulier.elements[i].value;
				if (getalwaarde.length != 0)
					if (getalwaarde / getalwaarde != 1)
						tekst = "" + naam_formulier.elements[i].name + getalerror;
			}
			
			// controleren of invoer een geldige postcode is
			if (naam_formulier.elements[i].name.search("_postcode") != -1)
			{
				postcodewaarde = naam_formulier.elements[i].value;
				// spaties verwijderen
				var tempstrpostcode = "";
				for (var postcodei = 0; postcodei < postcodewaarde.length; postcodei++)
				{
					if (postcodewaarde.charAt(postcodei) == " ") tempstrpostcode += "";
					else tempstrpostcode += postcodewaarde.charAt(postcodei);
				}	
				postcodewaarde = tempstrpostcode;
				naam_formulier.elements[i].value = tempstrpostcode;
				if (postcodewaarde.length != 6 && postcodewaarde.length != 0)
					tekst = "" + postcodeerror;
				else
				{
					str1 = "0123456789";
					str2= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
					getal1 = postcodewaarde.substring(0, 1);
					getal2 = postcodewaarde.substring(1, 2);
					getal3 = postcodewaarde.substring(2, 3);
					getal4 = postcodewaarde.substring(3, 4);
					letter1 = postcodewaarde.substring(4, 5);
					letter2 = postcodewaarde.substring(5, 6);
					if (str1.indexOf(getal1) == -1 || str1.indexOf(getal2) == -1 || str1.indexOf(getal3) == -1 || str1.indexOf(getal4) == -1 || str2.indexOf(letter1) == -1 || str2.indexOf(letter2) == -1)
						tekst = "" + postcodeerror;
				}
			}
			
			// controleren of invoer een geldig telefoonnummer is
			if (naam_formulier.elements[i].name.search("_telefoon") != -1)
			{
				telefoonwaarde = naam_formulier.elements[i].value;
				// spaties verwijderen
				var tempstrtelefoon = "";
				for (var telefooni = 0; telefooni < telefoonwaarde.length; telefooni++)
				{
					if (telefoonwaarde.charAt(telefooni) == " " || telefoonwaarde.charAt(telefooni) == "-" || telefoonwaarde.charAt(telefooni) == "(" || telefoonwaarde.charAt(telefooni) == ")") tempstrtelefoon += "";
					else tempstrtelefoon += telefoonwaarde.charAt(telefooni);
				}
				telefoonwaarde = tempstrtelefoon;
				naam_formulier.elements[i].value = tempstrtelefoon;
										
				telefoonstr = "0123456789";
				for (pos = 0; pos < naam_formulier.elements[i].value.length; pos++)
				{
					if (telefoonstr.indexOf(naam_formulier.elements[i].value.substring(pos, pos+1)) == -1 || naam_formulier.elements[i].value.length < 10 || naam_formulier.elements[i].value.substring(0,1) != "0")
						tekst = "" + telefoonerror;
				}
			}
			
			// controleren of invoer een geldig e-mail adres is
			if (naam_formulier.elements[i].name.search("_email") != -1)
			{
				emailwaarde = naam_formulier.elements[i].value;
				if (naam_formulier.elements[i].value != "uw e-mail adres")
					naam_formulier.elements[i].value = emailwaarde.replace(" ", "");
				var xapestaart = naam_formulier.elements[i].value.indexOf("@");
				if (emailwaarde.length != 0)
					if (xapestaart ==  - 1 || naam_formulier.elements[i].value.indexOf(".", xapestaart + 2) == -1 || naam_formulier.elements[i].value.lastIndexOf(".") == naam_formulier.elements[i].value.length - 1)
						tekst = "" + emailerror;
			}
		}
	}
	
	// als tekst leeg is true teruggeven
    if (tekst == "")
		return true;
	
	// overbodige waarden uit "tekst" verwijderen	
	tekst = tekst.replace("_empty", "");
	tekst = tekst.replace("_getal", "");
	tekst = tekst.replace("_postcode", "");
	tekst = tekst.replace("_telefoon", "");
	tekst = tekst.replace("_email", "");
	tekst = tekst.replace("_sendername", "");
	tekst = tekst.replace("_senderemail", "");
	
	// alle "_" uit tekst vervangen door een " "
	tekst_str = tekst.split("");
	var tekst_nostr = "";
	for (teller = 0;teller < tekst_str.length; teller++)
	{
		if (tekst_str[teller] == "_")
			tekst_str[teller] = " ";
		tekst_nostr = tekst_nostr + tekst_str[teller];
	}
	tekst = tekst_nostr;
	
	// als voor alle errors dezelfde message getoond moet worden
	if (error_message == "one_error_message")
		tekst = oneerror;
		
	// error message tonen in layer
	if (error_output == "checkmail_layer")
	{
		this.ver=navigator.appVersion
		this.agent=navigator.userAgent
		this.dom=document.getElementById?1:0
		this.opera5=this.agent.indexOf("Opera 5")>-1
		this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
		this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
		this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
		this.ie=this.ie4||this.ie5||this.ie6
		if (ie)
		{ 
			document.all.checkmail_layer.innerHTML = tekst; 
		}	 
		else
		{
			document.layers["checkmail_layer"].document.open(); 
			document.layers["checkmail_layer"].document.writeln("tekst"); 
			document.layers["checkmail_layer"].document.close(); 
		}
	}
	else
	{
		if (error_output == "alertbox")
			alert(tekst);
		else
			location.href = error_output + "?" + tekst;
	}
	
	naam_formulier.elements[i - 1].focus();
	return false;
}

