function trim(st)
{
	var test;
	var tmp;
	tmp=st;
	
	test=" "+String.fromCharCode(9)+String.fromCharCode(10)+String.fromCharCode(13);
	while((tmp!='')&&(test.indexOf(tmp.substring(0,1))>=0))
	{
		tmp=tmp.substring(1,tmp.length)
	};
	while((tmp!='')&&(test.indexOf(tmp.substring(tmp.length-1,tmp.length))>=0))
	{
		tmp=tmp.substring(0,tmp.length-1)
	};
	
	return tmp;
};

function testempty(contents)
{
	if (!contents)
	{
		return(true);
	}
	if (trim(contents)=='')
	{
		return true;
	}
	else
	{
		return false;
	};
};

function checkempty(formname,elementname,contents,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (testempty(contents))
		{
			if (elementname=='Vorschlag_HV_Grund')
			{
				if(getFieldValue('Vorschlag_HV_Wertung')=='positiv')
				{
					return true;
				};
			};
			if (elementname=='Vorschlag_FL_Grund')
			{
				if(getFieldValue('Vorschlag_FL_Wertung')=='positiv')
				{
					return true;
				};
			};
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("Bitte dieses Feld ausfüllen!")
			};
			try
			{
				document.forms[formname].elements[elementname].focus();
			}
			catch(e){};
			messagegiven=true;
			MessageToBeGiven="";
		};
	};
};

function checkradiochecked(formname,elementname,contents,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		var checked=false
		for (i=0;i<contents.length;i++)
		{
			if (contents[i].checked)
			{
				checked=true
			};
		};
		if (!checked)
		{
            if (elementname == "Vorschlag_FL_Wertung" || elementname == "Vorschlag_HV_Wertung")
            {
               	alert("Bitte nehmen Sie eine Bewertung vor.")          
      		}
      		else
			{		
				if (!testempty(errmsg))
				{
					alert(errmsg)
				}
				else
				{
					alert("Bitte einen Radiobutton markieren.")			
				};
			};

			document.getElementsByName(elementname)[0].focus();
			messagegiven=true;
		};
	};
};

function checkemptyRadio(formname,elementname,errmsg)
{
	checkradiochecked(formname,elementname,document.getElementsByName(elementname),errmsg)
};

function checkemptyCheckbox(formname,elementname,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		contents=document.getElementsByName(elementname)
		var checked=false
		for (i=0;i<contents.length;i++)
		{
			if (contents[i].checked)
			{
				checked=true
			};
		};
		if (!checked)
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("Bitte eine Checkbox markieren.")
			};
			document.getElementsByName(elementname)[0].focus();
			messagegiven=true;
		};
	};
};

function checkemptySelect(formname,elementname,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		contents=document.getElementsByName(elementname)[0].options
		var selected=false
		for (i=0;i<contents.length;i++)
		{
			if (contents[i].selected)
			{
				selected=true
			};
		};
		if (!selected)
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("Bitte einen Eintrag markieren.")
			};
			document.getElementsByName(elementname)[0].focus();
			messagegiven=true;
		};
	};
};

function checkemptyDropdown(formname,elementname,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (document.getElementsByName(elementname)[0].selectedIndex<=0)
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("Bitte einen Eintrag auswählen.")
			};
			document.getElementsByName(elementname)[0].focus();
			messagegiven=true;
		};
	};
};

function testinteger(contents)
{

	var i;
	var test;
	var trimcontents;
	
	test='-1234567890';
	trimcontents=trim(contents);
		
	if (trimcontents!='')
	{
		for (i=0;i<trimcontents.length;i++)
		{
			if (test.indexOf(trimcontents.substring(i,i+1))<0)
			{
				return false;
			};
		};
		
		if (trimcontents.lastIndexOf("-")>0)
		{
			return false;
		};
								
		if (isNaN(myParseInt(trimcontents)))
		{
			return false;
		};
	};
	return true;
};

function checkinteger(formname,elementname,contents,dummy,errmes)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testinteger(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur eine Ganzzahl eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function testnumeric(contents)
{
	var i;
	var test;
	var trimcontents;
	
	test='-1234567890.,';
	trimcontents=trim(contents);
		
	if (trimcontents!='')
	{
		for (i=0;i<trimcontents.length;i++)
		{
			if (test.indexOf(trimcontents.substring(i,i+1))<0)
			{
				return false;
			};
		};

		if (trimcontents.lastIndexOf("-")>0)
		{
			return false;
		};
						
		trimcontents=trimcontents.replace(/,/g,".");
		while (trimcontents.split(".").length>2)
		{
			trimcontents=trimcontents.substring(0,trimcontents.indexOf("."))+trimcontents.substring(1+trimcontents.indexOf("."),trimcontents.length);
		};
			
		if (isNaN(parseFloat(trimcontents)))
		{
			return false;
		};
	};
	return true;
};

function checknumeric(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testnumeric(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur eine Zahl eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function testemail(contents)
{
	var i;
	var test;
	var trimcontents;
			
	test=':;[]|{}$\\,"#%^&*()+=!~`<>?/\'';
	trimcontents=trim(contents);
		
	if (trimcontents!='')
	{
		for (i=0;i<test.length;i++)
		{
			if (trimcontents.indexOf(test.substring(i,i+1))>=0)
			{
				return false;
			};
		};
			
		if (trimcontents.indexOf("@")<0)
		{
			return false;
		};
			
	};
	return true;

};

function checkemail(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testemail(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur eine gültige Email-Adresse eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function testtime(contents)
{

	var i;
	var test;
	var trimcontents;
	var pmflag;
	var hms;
	
	test='1234567890:APM';
	trimcontents=contents.toUpperCase().replace(/ /g,"");
				
	if (trimcontents!='')
	{
		for (i=0;i<trimcontents.length;i++)
		{
			if (test.indexOf(trimcontents.substring(i,i+1))<0)
			{
				return false;
			};
		};
			
		pmflag=false;
		if (trimcontents.indexOf("P")>=0)
		{
			pmflag=true;
		};
		trimcontents=trimcontents.replace(/A/g,"");
		trimcontents=trimcontents.replace(/P/g,"");
		trimcontents=trimcontents.replace(/M/g,"");
		while (trimcontents.split(":").length<3)
		{
			trimcontents=trimcontents+":00"
		};
		if (trimcontents.split(":").length>3)
		{
			return false;
		};
		hms=trimcontents.split(":");
		hms[0]=myParseInt(hms[0]);
		if (isNaN(hms[0]))
		{
			return false;
		};
		if (pmflag)
		{
			hms[0]=hms[0]+12;
		};
		hms[1]=myParseInt(hms[1]);
		if (isNaN(hms[1]))
		{
			return false;
		};
		hms[2]=myParseInt(hms[2]);
		if (isNaN(hms[2]))
		{
			return false;
		};
		if ((hms[0]<0)||(hms[1]<0)||(hms[2]<0)||(hms[0]>24)||(hms[1]>59)||(hms[2]>59))
		{
			return false;
		};
	};
	return true;

};

function checktime(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testtime(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur eine Uhrzeit eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function testdate(contents)
{
	var i;
	var test;
	var trimcontents;
	var tmp;
	var daysinmonth;
	
	test='1234567890./';
	trimcontents=contents.replace(/ /g,"");
	daysinmonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
				
	if (trimcontents!='')
	{
	
		if (trimcontents.split("-").length==3)
		{
			trimcontents=trimcontents.replace(/-/g,"/");
		};
		
		for (i=0;i<trimcontents.length;i++)
		{
			if (test.indexOf(trimcontents.substring(i,i+1))<0)
			{
				return false;
			};
		};
			
		if (trimcontents.indexOf(".")>=0)
		{
			trimcontents=trimcontents.split(".")
			if (trimcontents.length!=3)
			{
				return false;
			};
		}
		else
		{
			trimcontents=trimcontents.split("/")
			if (trimcontents.length!=3)
			{
				return false;
			};
			tmp=trimcontents[0];
			trimcontents[0]=trimcontents[1];
			trimcontents[1]=tmp;
		};
		trimcontents[0]=myParseInt(trimcontents[0]);
		if (isNaN(trimcontents[0]))
		{
			return false;
		};
		trimcontents[1]=myParseInt(trimcontents[1]);
		if (isNaN(trimcontents[1]))
		{
			return false;
		};
		trimcontents[2]=myParseInt(trimcontents[2]);
		if (isNaN(trimcontents[2]))
		{
			return false;
		};
		
		if ((trimcontents[0]<1)||(trimcontents[1]<1)||(trimcontents[1]>12)||(trimcontents[2]<-9999)||(trimcontents[2]>9999))
		{
			return false;
		};
		
		if ((trimcontents[2]%4)==0)
		{
			daysinmonth[1]++;
		};
		if ((trimcontents[2]%100)==0)
		{
			daysinmonth[1]--;
		};
		if ((trimcontents[2]%400)==0)
		{
			daysinmonth[1]++;
		};
		
		if (trimcontents[0]>daysinmonth[trimcontents[1]-1])
		{
			return false;
		};

	};
	return true;
};

function checkdate(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testdate(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur ein Datum eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function testdatetime(contents)
{

	var i;
	var test;
	var trimcontents;
	
	test=".-/:APM"
	
	trimcontents=trim(contents.toUpperCase());
				
	if (trimcontents!='')
	{
	
		for (i=0;i<test.length;i++)
		{
			
			while (trimcontents.indexOf(" "+test.substring(i,1+i))>=0)
			{
				trimcontents=trimcontents.replace(" "+test.substring(i,1+i),test.substring(i,1+i));
			};
			while (trimcontents.indexOf(test.substring(i,1+i)+" ")>=0)
			{
				trimcontents=trimcontents.replace(test.substring(i,1+i)+" ",test.substring(i,1+i));
			};
			
		};
		
		while (trimcontents.indexOf("  ")>=0)
		{
			trimcontents=trimcontents.replace("  "," ");
		};
		
		trimcontents=trimcontents.split(" ");
		if (trimcontents.length!=2)
		{
			return false;
		};

		return ((testdate(trimcontents[0]))&&(testtime(trimcontents[1])));

	};
	return true;
};

function checkdatetime(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testdatetime(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur ein Datum mit Uhrzeit eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function getdate(contents)
{
	var trimcontents;
	var tmp;
	var out;
	
	trimcontents=contents.replace(/ /g,"");
	if (trimcontents.split("-").length==3)
	{
		trimcontents=trimcontents.replace(/-/g,"/");
	};
	if (trimcontents.indexOf(".")>=0)
	{
		trimcontents=trimcontents.split(".")
	}
	else
	{
		trimcontents=trimcontents.split("/")
		tmp=trimcontents[0];
		trimcontents[0]=trimcontents[1];
		trimcontents[1]=tmp;
	};
	
	trimcontents[0]=myParseInt(trimcontents[0]);
	trimcontents[1]=myParseInt(trimcontents[1]);
	trimcontents[2]=myParseInt(trimcontents[2]);
		
	if (trimcontents[2]<30)
	{
		trimcontents[2]=trimcontents[2]+2000;
	};
	if (trimcontents[2]<100)
	{
		trimcontents[2]=trimcontents[2]+1900;
	};

	out=new Date(trimcontents[2],trimcontents[1]-1,trimcontents[0])

	return out;
};

function getnumeric(contents)
{
	var trimcontents;
	
	trimcontents=contents.replace(/ /g,"");
	if ((trimcontents.indexOf(".")!=-1)&&(trimcontents.indexOf(",")!=-1))
	{
		if (trimcontents.lastIndexOf(".")>trimcontents.lastIndexOf(","))
		{
			trimcontents=trimcontents.replace(/,/g,"");
		}
		else
		{
			trimcontents=trimcontents.replace(/\./g,"");
			trimcontents=trimcontents.replace(/,/g,".");
		};
	}
	else if (trimcontents.indexOf(".")!=trimcontents.lastIndexOf("."))
	{
		trimcontents=trimcontents.replace(/\./g,"");
	}
	else if (trimcontents.indexOf(",")!=trimcontents.lastIndexOf(","))
	{
		trimcontents=trimcontents.replace(/,/g,"");
	}
	else if ((trimcontents.indexOf(".")!=-1)&&(trimcontents.indexOf(".")==trimcontents.length-4))	
	{
		trimcontents=trimcontents.replace(/\./g,"");
	}
	else if (trimcontents.indexOf(",")!=-1)
	{
		trimcontents=trimcontents.replace(/,/g,".");
	};
	
	return parseFloat(trimcontents);
	
};

function isVisible(elementname)
{
	var el=document.getElementsByName(elementname)[0]
	while (el.parentNode)
	{
		el=el.parentNode;
		try
		{
			if (el.style.display=='none')
			{
				return false;
			};
		}
		catch(e){};
	};
	return true;
};

function checkemptyMark(formname,elementname,contents,imagesrc,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (testempty(contents))
	{
		if (elementname=='Vorschlag_HV_Grund')
		{
			if(getFieldValue('Vorschlag_HV_Wertung')=='positiv')
			{
				return true;
			};
		};
		if (elementname=='Vorschlag_FL_Grund')
		{
			if(getFieldValue('Vorschlag_FL_Wertung')=='positiv')
			{
				return true;
			};
		};
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Bitte dieses Feld ausfüllen!")
			};
		};
	};
};

function checkradiocheckedMark(formname,elementname,contents,imagesrc,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	var checked=false
	for (i=0;i<contents.length;i++)
	{
		if (contents[i].checked)
		{
			checked=true
		};
	};
	if (!checked)
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Bitte einen Radiobutton markieren.")
			};
		};
	};
};

function checkemptyRadioMark(formname,elementname,imagesrc,errmsg)
{
	checkradiocheckedMark(formname,elementname,document.getElementsByName(elementname),imagesrc,errmsg)
};

function checkemptyCheckboxMark(formname,elementname,imagesrc,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	contents=document.getElementsByName(elementname)
	var checked=false
	for (i=0;i<contents.length;i++)
	{
		if (contents[i].checked)
		{
			checked=true
		};
	};
	if (!checked)
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Bitte eine Checkbox markieren.")
			};
		};
	};
};

function checkemptySelectMark(formname,elementname,imagesrc,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	contents=document.getElementsByName(elementname)[0].options
	var selected=false
	for (i=0;i<contents.length;i++)
	{
		if (contents[i].selected)
		{
			selected=true
		};
	};
	if (!selected)
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Bitte einen Eintrag markieren.")
			};
		};
	};
};

function checkemptyDropdownMark(formname,elementname,imagesrc,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (document.getElementsByName(elementname)[0].selectedIndex<=0)
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Bitte einen Eintrag auswählen.")
			};
		};
	};
};

function checkintegerMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testinteger(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur eine Ganzzahl eingeben!")
			};
		};
	};
};

function checknumericMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testnumeric(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur eine Zahl eingeben!")
			};
		};
	};
};

function checktimeMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testtime(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur eine Uhrzeit eingeben!")
			};
		};
	};
};

function checkdateMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testdate(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur ein Datum eingeben!")
			};
		};
	};
};

function checkdatetimeMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testdatetime(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur ein Datum mit Uhrzeit eingeben!")
			};
		};
	};
};

function checkemailMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testemail(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur eine gültige Email-Adresse eingeben!")
			};
		};
	};

};

var elementToFocus=null;
var MessageToBeGiven="";

function setErrorMessage(formname,elementname,message)
{
	MessageToBeGiven=message;
	elementToFocus=document.getElementsByName(elementname)[0];
	messagegiven=true;
};

function showErrorMessage()
{
	if (messagegiven)
	{
		if (MessageToBeGiven)
		{
			alert(MessageToBeGiven)
		}
		try
		{
			elementToFocus.focus()
		}
		catch(e){};
	};
};

function clearOldErrorMarks()
{
	var imgObjs=document.getElementsByTagName("img")
	if (imgObjs.length>0)
	{
		for (var i=imgObjs.length-1;i>=0;i--)
		{
			if (imgObjs[i].className=='PF_ErrorImage')
			{
				imgObjs[i].parentNode.removeChild(imgObjs[i])
			};
		};
	};
};

function setErrorMark(formname,elementname,imagesrc)
{
	var el=document.getElementsByName(elementname)[0];
	while ((el)&&((!el.style)||(!el.style.zIndex)))
	{
		el=el.parentNode;
	};
	var parEl=el.offsetParent;
	var oleft=el.offsetLeft-17;
	var otop=el.offsetTop;
	var imgObj=document.createElement("img");
	imgObj.src=imagesrc
	imgObj=parEl.insertBefore(imgObj,null)
	
	imgObj.setAttribute("style","position:absolute;left:"+oleft+"px;top:"+otop+"px",false)
	if (!imgObj.style.cssText)
	{
		try
		{
			imgObj.style.setAttribute("position","absolute",false)
			imgObj.style.setAttribute("left",""+oleft+"px",false)
			imgObj.style.setAttribute("top",""+otop+"px",false)
		}
		catch(e)
		{
			//Ignore
		};
	};
	
	imgObj.className="PF_ErrorImage"
};

function checkMaxLength(obj,ml)
{
	if (obj.value.length>ml)
	{
		obj.value=obj.value.substring(0,ml)
		alert("Maximale Zeichenlänge: "+ml)
		if (isVisible(obj.name))
		{
			obj.focus();
		};	
		return false;	
	};
	return true;
};

function checkregularexpression(formname,elementname,contents,regexpr,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testregularexpression(contents,regexpr))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("Die Eingabe in diesem Feld entspricht nicht dem erforderlichen Format.")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
		};
	};
};

function checkregularexpressionMark(formname,elementname,contents,imagesrc,regexpr,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testregularexpression(contents,regexpr))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"Die Eingabe in diesem Feld entspricht nicht dem erforderlichen Format.")
			};
		};
	};
};

function testregularexpression(contents,regexpr)
{
	var trimcontents;
	
	trimcontents=trim(contents);
		
	if (trimcontents!='')
	{

		var re=new RegExp(regexpr,"")
		var r=contents.match(re)
		if (r==contents)
		{
			return true;
		}
		else
		{
			return false;
		};
	
	};
	return true;
};


function checknofuturedate(formname,elementname,contents,dummy,errmsg)
{
	if (!messagegiven)
	{
		if (!isVisible(elementname))
		{
			return true;
		};
		if (!testdate(contents))
		{
			if (!testempty(errmsg))
			{
				alert(errmsg)
			}
			else
			{
				alert("In dieses Feld bitte nur ein Datum eingeben!")
			};
			document.forms[formname].elements[elementname].focus();
			messagegiven=true;
			return false;
		};
		if (!testempty(contents))
		{
			if (getdate(contents)>new Date())
			{
				if (!testempty(errmsg))
				{
					alert(errmsg)
				}
				else
				{
					alert("##Das_Datum_darf_nicht_in_der_Zukunft_liegen_js_##")
				};
				document.forms[formname].elements[elementname].focus();
				messagegiven=true;
				return false;
			};
		};
	};
};

function checknofuturedateMark(formname,elementname,contents,imagesrc,dummy,errmsg)
{
	if (!isVisible(elementname))
	{
		return true;
	};
	if (!testdate(contents))
	{
		setErrorMark(formname,elementname,imagesrc)
		if (!messagegiven)
		{
			if (!testempty(errmsg))
			{
				setErrorMessage(formname,elementname,errmsg)
			}
			else
			{
				setErrorMessage(formname,elementname,"In dieses Feld bitte nur ein Datum eingeben!")
			};
		};
		return false;
	};
	if (!testempty(contents))
	{
		if (getdate(contents)>new Date())
		{
			setErrorMark(formname,elementname,imagesrc)
			if (!messagegiven)
			{
				if (!testempty(errmsg))
				{
					setErrorMessage(formname,elementname,errmsg)
				}
				else
				{
					setErrorMessage(formname,elementname,"##Das_Datum_darf_nicht_in_der_Zukunft_liegen_js_##")
				};
			};
			return false;
		};
	};
};

function myParseInt(x)
{
	var y;
	y=x;
	if (y.length>1)
	{
		while ((y.length>1) && (y.substr(0,1)=="0") && (y.substr(1,1)!="."))
		{
			y=y.substr(1)
		}
		return parseInt(y)
	}
	else
	{
		return parseInt(x)
	};
}


