// JavaScript Document
	// formular-eingabe-kontrolle
	function formChecker_de(checklistString)
	{
		formCheckController=0;
		formCheckResult = "";
		var checklist = checklistString.split(',');
		for(x=0; x < checklist.length; x++)
		{
			checklist[x] = checklist[x].split('|')
		}
		for(i=0; i < document.form2check.elements.length; i++)
		{
			for(j=0; j < checklist.length; j++)
			{
				if ((''+document.form2check.elements[i].name) == (''+checklist[j][0]))
				{
					if (document.form2check.elements[i].value=="")
					{
						formCheckResult = formCheckResult + ", " + checklist[j][1];
						formCheckController++;
					}
					else 
					{
						if (document.form2check.elements[i].name.indexOf("mail") != -1)
						{
							var emailString = document.form2check.elements[i].value;
							if (emailCheck(emailString) == false)
							{
								formCheckResult = formCheckResult + ", " + checklist[j][1];
								formCheckController++;
							}
						}
				   }
				}
			}
		}
		if (formCheckController != 0)
		{
			formCheckResult = ""+formCheckResult.substring(2,formCheckResult.length);
			alert('Bitte fuellen Sie folgende Felder aus: ' + formCheckResult);
			return false;
		}
		else
		{
			return true;
		}
	}

// EMail-Validation
	function emailCheck_de(emailStr)
	{
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
		if (matchArray==null)
		{
			alert("Die angegebene E-Mail-Adresse ist nicht gueltig. Pruefen Sie sie auf @ und .");
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
		if (user.match(userPat)==null)
		{
			// user is not valid
			alert("Die angegebene E-Mail-Adresse enthaelt keinen gueltigen Benutzernamen!");
			return false;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
			// this is an IP address
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
					alert("Die IP-Nummer in der angegebenen E-Mail-Adresse ist ungueltig!");
					return false;
				}
			}
			return true;
		}
		var domainArray=domain.match(domainPat);
		if (domainArray==null)
		{
			alert("Die angegebene E-Mail-Adresse scheint nicht gueltig zu sein!");
			return false;
		}
		var atomPat=new RegExp(atom,"g");
		var domArr=domain.match(atomPat);
		var len=domArr.length;
		if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
		{
			alert("Die angegebene E-Mail-Adresse endet nicht mit einem dreiziffrigen Domain- oder zweiziffrigen Laendercode!");
			return false;
		}
		if (len<2)
		{
			alert("Die angegebene E-Mail-Adresse enthaelt keinen Hostnamen!");
			return false;
		}
		return true;
	}


	// formular-eingabe-kontrolle
	function formChecker_fr(checklistString)
	{
		formCheckController=0;
		formCheckResult = "";
		var checklist = checklistString.split(',');
		for(x=0; x < checklist.length; x++)
		{
			checklist[x] = checklist[x].split('|')
		}
		for(i=0; i < document.form2check.elements.length; i++)
		{
			for(j=0; j < checklist.length; j++)
			{
				if ((''+document.form2check.elements[i].name) == (''+checklist[j][0]))
				{
					if (document.form2check.elements[i].value=="")
					{
						formCheckResult = formCheckResult + ", " + checklist[j][1];
						formCheckController++;
					}
					else 
					{
						if (document.form2check.elements[i].name.indexOf("mail") != -1)
						{
							var emailString = document.form2check.elements[i].value;
							if (emailCheck(emailString) == false)
							{
								formCheckResult = formCheckResult + ", " + checklist[j][1];
								formCheckController++;
							}
						}
				   }
				}
			}
		}
		if (formCheckController != 0)
		{
			formCheckResult = ""+formCheckResult.substring(2,formCheckResult.length);
			alert('Veuillez remplir les champs suivants : ' + formCheckResult);
			return false;
		}
		else
		{
			return true;
		}
	}

// EMail-Validation
	function emailCheck_fr(emailStr)
	{
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
		if (matchArray==null)
		{
			alert("L'adresse e-mail indiquee n'est pas valable. Examinez l'adresse sur @ et .");
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
		if (user.match(userPat)==null)
		{
			// user is not valid
			alert("L'adresse e-mail indiquee ne contient pas de nom de l'utilisateur valable !");
			return false;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
			// this is an IP address
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
					alert("Le IP-Nummer dans l'adresse e-mail indiquee est invalide !");
					return false;
				}
			}
			return true;
		}
		var domainArray=domain.match(domainPat);
		if (domainArray==null)
		{
			alert("L'adresse e-mail indiquee ne semble pas etre valable !");
			return false;
		}
		var atomPat=new RegExp(atom,"g");
		var domArr=domain.match(atomPat);
		var len=domArr.length;
		if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
		{
			alert("L'adresse e-mail indiquee ne prend pas fin avec un Domaincode avec 3 nombres ou un code de pays avec 2 nombres !");
			return false;
		}
		if (len<2)
		{
			alert("L'adresse e-mail indiquee ne contient pas de nom d'un host !");
			return false;
		}
		return true;
	}
