/*	JavaScript Library (4) "AutoFormCheck"
		Developed for forms to be automatically checked on right input.
		Copyright (c) 2003 Realize99
		written by Joachim Maderer
		Dependences: basic/frmcheck.js; basic/format.js
		See readme.txt file for correct use!
*/
function checkForms(strForm) { // this function reads all dependence-fields in all forms
		var regTest = /_dep$/; // ending _dep for hidden dependence-fields
		var conditions = new Array(); var ii=0;
		for(ii=0;ii<document.forms[strForm].elements.length;ii++) {
				if(regTest.test(document.forms[strForm].elements[ii].name)) {
					objCurrent = eval("document.forms[\""+strForm+"\"]."+
								document.forms[strForm].elements[ii].name.substring(0,
								document.forms[strForm].elements[ii].name.length-4));
					conditions = document.forms[strForm].elements[ii].value.split('\\');
					c=runCheck(objCurrent.value,conditions[0],conditions[1],conditions[2],conditions[3]);
					if(c==false) {
						objCurrent.focus();
					  return(false);
					}
				}
		}
}
function runCheck(pValue,pCtrlType,pFieldName,pChecktype,pParameter) {
		if(pCtrlType=='opt'&&pValue=='') {
			 return(true);
		}
		else if(pCtrlType=='req'&&pValue=='') {
			 alert("Das Feld '"+pFieldName+"' erfordert eine Eingabe!");
			 return(false);
		}
		else {
		switch(pChecktype) {
			 case 'mail':
			 			if(!(c=checkMail(trimSpaces(pValue)))) alert("Ihre E-Mail Adresse im Feld '"+pFieldName+"' ist ungültig!");
						return(c);
			 break;
			 case 'char':
			 			if(pParameter>0) {
			 				 if(pValue.length<pParameter) {
							 		alert("Der Wert im Feld '"+pFieldName+"' ist zu kurz, min. Länge "+pParameter+" Zeichen!");
									return(false);
							 }
							 else return(true);
						}
						else return(true);
			 break;
			 case 'badchar':
			 			if(pParameter>0) {
			 				 if(pValue.length<pParameter) {
							 		alert("Der Wert im Feld '"+pFieldName+"' ist zu kurz, min. Länge "+pParameter+" Zeichen!");
									return(false);
							 }
							 else {
							 		if(!(c=checkBadWords(pValue))) alert("Zügeln Sie bitte Ihre Ausdrucksweise im Feld '"+pFieldName+"'!");
									return(c);
							 }
						}
						else {
							 if(!(c=checkBadWords(pValue))) alert("Zügeln Sie bitte Ihre Ausdrucksweise im Feld '"+pFieldName+"'!");
							 return(c);
						}		 					 
			 break;
			 case 'date':
			 		  if(!(c=checkDate(pValue))) alert("Das Datum im Feld '"+pFieldName+"' ist ungültig!");
						return(c);
			 break;
			 case 'numerical':
			 var regTest0 = /[^0-9\.,]/;
			 if(regTest0.test(trimSpaces(pValue))) {
			 			alert("Der Wert im Feld '"+pFieldName+"' ist nicht numerisch (Komma od. Ganzzahl). Bitte überprüfen Sie die Eingabe!");
						return(false);
			 } else return(true);
			 break;
			 case 'integer':
			 var regTest1 = /[^0-9]/;
			 if(regTest1.test(trimSpaces(pValue))) {
			 			alert("Der Wert im Feld '"+pFieldName+"' ist keine ganze Zahl. Bitte überprüfen Sie die Eingabe!");
						return(false);
			 } else return(true);
		}
		}
}
