// JavaScript Document
<!--
//Formularüberprüfung
//Standard-Fehlermeldung
strMsg='Fehler';
var meldung = "Fehlende Informationen\nDamit Ihr Fragebogen abgeschickt werden kann füllen Sie bitte alle mit (*) markierten Pflichtfelder am Anfang des Fragebogens aus. Danke.\n\nNot enough Information\nYou need to fill out all fields marked with (*) before your test can be processed. Please fill out the missing information.";



arrFields=new Array();

arrFields['Firma']    = new Array(1,/^.{1,30}/, meldung);
arrFields['Abteilung']    = new Array(1,/^.{1,30}/,meldung);
arrFields['Name']    = new Array(1,/^.{1,30}/,meldung);
arrFields['eMail']     	= new Array(1,/^[a-z\d][a-z\d\._-]*@([a-z\d][a-z\d\.-]*[a-z\d]\.|)[a-z\d][a-z\d-]{1,}[a-z\d]\.[a-z]{2,5}$/i,meldung);












/** Überflüssige Leerzeichen entfernen */

function trim(strIn)
{
	return(strIn.replace(/(^\s+|\s+$)/g,''));
}


/** text-input und textarea prüfen */

function text_check(objElem, arrCheck)
{
	objElem.value=trim(objElem.value);
	
	if (arrCheck[0] || objElem.value.length > 0)
		{
		if (!objElem.value.match(arrCheck[1]))
			{
			alert((arrCheck.length == 3) ? arrCheck[2] : strMsg );
			objElem.select();
			objElem.focus();
			return false;
			}
		}
	return true;
}


/** boxes checken */

function box_check(objElem, arrCheck)
{
	intChecked = 0;
	arrBoxes=(typeof objElem.form.elements[objElem.name].length == 'number')
				?objElem.form.elements[objElem.name]
				:new Array(objElem);
	
	for (e = 0; e < arrBoxes.length; ++e)
		{
		intChecked+=(arrBoxes[e].checked) ? 1 : 0
		}
	
	if (!eval('intChecked' + arrCheck[1]))
		   {
		   alert((arrCheck.length == 3) ? arrCheck[2] : strMsg);
		   arrBoxes[0].focus();
		   return false;
		   }
	return true;
}


/** Listen checken */

function list_check(objElem, arrCheck)
{
	if(!eval('objElem.selectedIndex' + arrCheck[1]))
		{
		alert((arrCheck.length == 3) ? arrCheck[2] : strMsg );
		objElem.focus();
		return false;
		}
	return true;
}


/** befindet sich objElem in objForm? */

function in_form(objElem,objForm)
{
	return(typeof objElem.form=='object' && objElem.form==objForm);
}

/** zu prüfende Formularelemente ermitteln */



function get_field_type(objElem)
{
	switch (objElem.tagName.toLowerCase())
		{
		case "input":
			switch(objElem.type)
				{
				case "text":
					strFieldType='text';
					break;
	
				case "password":
					strFieldType='text';
					break;
	
				case "file":
					strFieldType='text';
					break;
	
				case "radio":
					strFieldType='box';
					break;
	
				case "checkbox":
					strFieldType='box';
					break;
	
				default:
					strFieldType=false;
					break;
				}
			break;
	
		case "select":
				strFieldType='list';
				break;
	
		case "textarea":
				strFieldType='text';
				break;
	
		default:
				strFieldType=false;
				break;
		}
	return strFieldType;
}

function check_form(objForm)
{
	if  (!document.getElementsByName)
	{
		return true;
	}
	
	for (var strName in arrFields)
	{	
		for(j=0;j<document.getElementsByName(strName).length;++j)
		{

		objElem=document.getElementsByName(strName)[j];

		if(in_form(objElem,objForm))
			{

			if(!eval(get_field_type(objElem)+'_check(objElem,arrFields[strName])'))
				{

				return false;

				}
			if(get_field_type(objElem)=='box')
				{

				continue;

				}
			}
		}
	}	
	return true;
}
-->
