	var objCtrlFirst	= null;
	var szTextDefault	= "";
	var lCount			= 0;
	
   function CheckInit() {
		objCtrlFirst	= null;
		szTextDefault	= "";
		lCount			= 0;
   };
   
   	
   function CheckCountErrors() {
		return (lCount);
   };

	function CheckGetElement(szID) {
		if (!document.getElementById) return (null);
		return (document.getElementById(szID));
	};
   

	function CheckGetElementByName(strName) {
		if (!document.getElementsByName) return (null);
		return (document.getElementsByName(strName));
	};

	function CheckGetElement2(strNameID) {
		var oElement = CheckGetElement(strNameID);
		if (oElement != null) return oElement;
		return CheckGetElementByName(strNameID);
	};
	
	
	function CheckAddError(szElementID,szText) {
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (objCtrlFirst == null) objCtrlFirst = oElement;
			if (lCount <= 2) {
			   szTextDefault = szTextDefault + szText + "\n"
			   lCount++
			};
		};			
	};
	

	function CheckAddErrorElement(oElement,szText) {
		if (oElement) {
			if (objCtrlFirst == null) objCtrlFirst = oElement;
			if (lCount <= 2) {
			   szTextDefault = szTextDefault + szText + "\n"
			   lCount++
			};
		};			
	};
	
	function CheckAddErrorEmpty(szElementID, szLabel) {
		CheckAddError(szElementID,"\"" + szLabel + "\" - fehlende Angabe");
	};

	function CheckAddErrorEmptyElement(oElement, szLabel) {
		CheckAddErrorElement(oElement,"\"" + szLabel + "\" - fehlende Angabe");
	};

	function CheckAddErrorTextDefault(objCtrl,szText) {
		if (objCtrl) {
			if (objCtrlFirst == null) objCtrlFirst = objCtrl
			if (lCount <= 2) {
			   szTextDefault = szTextDefault + szText + "\n"
			   lCount++
			};
		};
	}
	
	function AddText(objCtrl,szText) {
		CheckAddErrorTextDefault(objCtrl,szText);
   }
	
	function CheckNumber(szElementID,bEmpty,lVon,lBis) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if ((oElement.value == "") && (bEmpty)) return (true);
			if (oElement.value=="" || isNaN(oElement.value) || oElement.value<lVon || oElement.value>lBis) return (false);
		};
		return (true);
		
	};
	
	function CheckFloat(szElementID,bEmpty,fVon,fBis) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			var value = oElement.value.replace(",",".")
			if ((value == "") && (bEmpty)) return (true);
			if (value=="" || isNaN(value) || value<fVon || value>fBis) return (false);
		};
		return (true);
		
	};

      

	function CheckText(szElementID,bEmpty,bNotNumeric,lMinLen) {
		
		if (typeof(bNotNumeric) == 'undefined') bNotNumeric = true;
		if (typeof(lMinLen) == 'undefined') lMinLen = 0;
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if ((oElement.value == "") && (bEmpty)) return (true);
			if (oElement.value == "") return (false);
			if (bNotNumeric && !isNaN(oElement.value)) return (false);
			if (lMinLen > 0 && oElement.value.length < lMinLen) return (false);
		};
		return (true);
	};
	
	function CheckDate(szElementID,bEmpty,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			FormatDDMMYYYY (oElement, false);
			if (!CheckText(szElementID,bEmpty)) {
				if (typeof(szLabel) != 'undefined') CheckAddErrorEmpty(szElementID,szLabel);
			};
		};
		return (true);
	};


	function CheckIsChecked(szElementID) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) return (oElement.checked);
		return (false);
		
	};
	
	
	function CheckIsSelectEmpty(szElementID,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (parseInt(oElement.options[oElement.selectedIndex].value,10) < 0) {
				if (typeof(szLabel) != 'undefined') CheckAddErrorEmpty(szElementID,szLabel);
				return false;
			};
		};
		return (true);
	};

	function CheckGetSelectValue(szElementID,vErrorValue) {
		
		var oElement = CheckGetElement(szElementID);
		if (!oElement) {
			if (typeof(vErrorValue) != 'undefined') return vErrorValue;
			return -1;
		};
		
		return parseInt(oElement.options[oElement.selectedIndex].value,10)
	};
		
	
	function CheckIsTextEmpty(szElementID,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (oElement.value == "") {
				if (typeof(szLabel) != 'undefined') CheckAddErrorEmpty(szElementID,szLabel);
				return false;
			};
		};
		return (true);
	};
	
	function CheckIsRadioEmpty(oElement,szLabel) {
		
		if (oElement) {
			
			if (isNaN(oElement.length)) {
				if (oElement.checked) return (true);
			} else {
				for (var i=0; i<=oElement.length-1; i++) {
					if (oElement[i].checked) return (true);
				};
			}
			return (false);
		};
		return (true);
	};

	      
	function CheckGetRadioValue(oElement) {
		
		if (oElement) {
		
			if (isNaN(oElement.length)) return  (oElement.checked ? oElement.value : -1);
			for (var i=0; i<=oElement.length-1; i++) {
				if (oElement[i].checked) return oElement[i].value;
			};
		};
		return (-1);
	};


	function CheckSelectFirstRadio(oElement) {
		
		if (oElement) {
			if (isNaN(oElement.length)) 
				oElement.checked = true;
			else 
				oElement[0].checked = true;
		};
	};

	function CheckIsNumber(szElementID,szLabel,bEmpty,lVon,lBis) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
		
			if (oElement.value == "") {
				if (bEmpty) return (true);
				return (false);
			};
			
			if (!CheckNumber(szElementID,bEmpty,lVon,lBis)) {
				return (false);
			};			
		};
		
		return (true);
	};
	
	function CheckIsElementVisible(szID) {
		if (!document.getElementById) return false;
		if (!document.getElementById(szID)) return false;
		if (document.getElementById(szID).style.display == "none") return false;
		return true;
	};

	
	function CheckSelectSetOption(szElementID,varOptionValue) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement == null) return;
		
		for (var i=0; i<oElement.length;i++) {
			if (oElement.options[i].value == varOptionValue) {
				oElement.selectedIndex = i;
				return i;
			};
		};
		return -1;
	};
				
	
	
	function CheckShowErrors() {

	   if (lCount < 1) return (true);
	   
		objCtrlFirst.focus()
		alert("Bitte prüfen und korrigieren Sie die folgenden Angaben:\n\n" + szTextDefault)
		objCtrlFirst.focus()	
		return;
		
	};

	function CheckSetDisplayStyle(szElementID,szStyle) {
		if (CheckGetElement(szElementID)) document.getElementById(szElementID).style.display = szStyle; 
	};
