	var objCtrlFirst	= null;
	var szTextDefault	= "";
	var lCount			= 0;


	String.prototype.ltrim = function (clist) {
		if (clist) return this.replace (new RegExp ('^[' + clist + ']+'), '');
		return this.replace (/^\s+/, '');
	}


	String.prototype.rtrim = function (clist) {
		if (clist) return this.replace (new RegExp ('[' + clist + ']+$'), '');
		return this.replace (/\s+$/, '');
	}


	String.prototype.trim = function (clist) {
		if (clist) return this.ltrim (clist).rtrim (clist);
	return this.ltrim ().rtrim ();
	};

	
   function CheckInit() {
		objCtrlFirst	= null;
		szTextDefault	= "";
		lCount			= 0;
   };
   
   	
   function CheckCountErrors() {
		return (lCount);
   };

	function CheckGetElementByID(szID) {
		if (!document.getElementById) return (null);
		return (document.getElementById(szID));
	};
  

	function CheckGetElementByName(strName) {
		
		if (!document.getElementsByName) return (null);
		
		var oElement = document.getElementsByName(strName);
		if (oElement == null) return null;
		
		return oElement[0];
		
		//if (oElement.length != 1) return null;
		//return oElement[0];
	};

	function CheckGetElement(strNameID) {
		var oElement = CheckGetElementByID(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 CheckAddErrorInline(szElementID,szText,szElementErrorID) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (objCtrlFirst == null) objCtrlFirst = oElement;
			lCount++;
			
			if (typeof(szElementErrorID) != 'undefined') 
				CheckSetErrorInline(szElementErrorID,szText);
			else
				CheckSetErrorInline(szElementID,szText);
				
		};			
		
	};

	function CheckAddErrorEmptyInline(szElementID, szLabel) {
		CheckAddErrorInline(szElementID,"\"" + szLabel + "\" - fehlende Angabe");
	};

	
	function CheckIsSelectEmptyInline(szElementID,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (parseInt(oElement.options[oElement.selectedIndex].value,10) < 0) {
				if (typeof(szLabel) != 'undefined') CheckAddErrorEmptyInline(szElementID,szLabel);
				return false;
			};
		};
		return (true);
	};
	
	
	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 CheckTextTrim(szElementID,bEmpty,bNotNumeric,lMinLen) {
		
		if (typeof(bNotNumeric) == 'undefined') bNotNumeric = true;
		if (typeof(lMinLen) == 'undefined') lMinLen = 0;
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			var value = oElement.value.trim();
			if ((value == "") && (bEmpty)) return (true);
			if (value == "") return (false);
			if (bNotNumeric && !isNaN(value)) return (false);
			if (lMinLen > 0 && 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.value;
			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 CheckSetFocus(szElementID) {
		try 
		{
			var oElement = (typeof szElementID == 'object') ? szElementID : CheckGetElement(szElementID);
			if (oElement) oElement.focus()
		}
		catch (err)
		{
		}
	}
	
	function SetFocus(ctrl) {
		try 
		{
			if (!ctrl) return;
			ctrl.focus();
		}
		catch (err)
		{
		}
	}
	
	
	function CheckShowErrors() {

		try
		{
			if (lCount < 1) return (true);
	   
			if (objCtrlFirst != null) SetFocus(objCtrlFirst);
			if (szTextDefault != "") 
				alert("Bitte prüfen und korrigieren Sie die folgenden Angaben:\n\n" + szTextDefault)
			else
				alert("Bitte prüfen und korrigieren Sie die markierten Angaben");
			if (objCtrlFirst != null) SetFocus(objCtrlFirst);
			return;
		}
		catch(err)
		{}

	};

	function CheckSetDisplayStyle(szElementID,szStyle) {
		var oElement = CheckGetElement(szElementID);
		if (oElement) oElement.style.display = szStyle; 
	};


	function CheckClearErrorInline(strElementName) {
		
			var idErrLabel = "idErrLabel" + strElementName;
			var idErrClass = "idErrClass" + strElementName;
			var idErrText  = "idErrText" + strElementName;
			
			var oElement = document.getElementById(idErrLabel)
			if (oElement) {
				oElement.style.paddingBottom = ""
				oElement.style.backgroundImage = ""
				oElement.style.backgroundRepeat = ""
				oElement.style.backgroundPositionY = ""
				oElement.style.color = ""
			};
				  		
	  		oElement = document.getElementById(idErrClass)
			if (oElement) {
				oElement.style.visibility = "hidden";
			};
			
			oElement = document.getElementById(idErrText)
			if (oElement) {
				oElement.innerHTML = "";
			};
		};
		
	function CheckClearErrorInline2(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) {
		for (i=0; i<=CheckClearErrorInline2.arguments.length-1; i++) CheckClearErrorInline(CheckClearErrorInline2.arguments[i]);
	};
				
		function CheckSetErrorInline(strElementName,strError) {

			var idErrLabel = "idErrLabel" + strElementName;
			var idErrClass = "idErrClass" + strElementName;
			var idErrText  = "idErrText" + strElementName;
			
			var oElement = document.getElementById(idErrLabel)
			if (oElement) {
				oElement.style.paddingBottom = "2px"
				oElement.style.backgroundImage = "url(/makler/images/errorline.gif)"
				oElement.style.backgroundRepeat = "repeat-x"
				oElement.style.backgroundPosition = "left bottom"
				oElement.style.color = "rgb(255,0,0)"
			};			

			oElement = document.getElementById(idErrClass)
			if (oElement) {
				oElement.style.visibility = "visible";
			};

			var oElement = document.getElementById(idErrText)
			if (oElement) {
				oElement.innerHTML = strError;
			};
			
			return;
  				
		};
		
	function CheckIsTextEmptyInline(szElementID,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			if (oElement.value == "") {
				if (typeof(szLabel) != 'undefined') CheckAddErrorEmptyInline(szElementID,szLabel);
				return false;
			};
		};
		return (true);
	};
	
	
	
	function CheckDateInline(szElementID,bEmpty,szLabel) {
		
		var oElement = CheckGetElement(szElementID);
		if (oElement) {
			FormatDDMMYYYY(oElement, false);
			if ((oElement.value == "") && (!bEmpty))  {
				CheckAddErrorInline(szElementID,szLabel);
				return false;
			}
		};
		return true;
	};

	
	
	function CheckIsElementVisibleParent(strID) {
		
		var oElement = (typeof strID == 'object') ? strID : CheckGetElement(strID);
		if (!oElement) return false;
		
		while (oElement) 
		{
			if ((oElement.style) && (oElement.style.display) && (oElement.style.display == 'none')) return false;
			oElement = oElement.parentNode;
		};
		return true;
	};

	function CheckSetClassName(szElementID, strClassName) {
	    var oElement = (typeof szElementID == 'object') ? szElementID : CheckGetElement(szElementID);
	    if (oElement) oElement.className = strClassName;
	};
	

