// @date 13.07.2006
var Errtxt = new Array();

Errtxt[0] = "In das Feld "
Errtxt[1] = " dürfen Sie nur Zahlen eingeben."
Errtxt[2] = "Sie haben die Postleitzahl falsch eingegeben."
Errtxt[3] = "Sie müssen das Feld "
Errtxt[4] = " ausfüllen."
Errtxt[5] = "Sie müssen einen Eintrag in der Auswahlliste "
Errtxt[6] = " auswählen."
Errtxt[7] = "Sie müssen einen Wert auswählen."
Errtxt[8] = "Sie dürfen im Feld "
Errtxt[9] = " nur Zahlen von "
Errtxt[10] = " bis "
Errtxt[11] = " eingeben."
Errtxt[12] = "Die Email-Adresse hat ein falsches Format."
Errtxt[13] = "In das Feld "
Errtxt[14] = " müssen Sie mindestens "
Errtxt[15] = " Zeichen eingeben."
Errtxt[16] = " dürfen Sie nur positive ganze Zahlen eingeben."
Errtxt[17] = "Bitte geben Sie ein gültiges Datum im Format TT.MM.JJ ein"
Errtxt[18] = "In das Feld "
Errtxt[19] = " dürfen Sie nur positive Zahlen und ein Komma eingeben (z.B. 5,15)."
Errtxt[20] = "Bitte geben Sie das Datum im Format mm.jj ein (z.B. 01.02)."
Errtxt[21] = "Bitte geben Sie ein Jahr zwischen 1900 und 3000 ein."
Errtxt[22] = "Bitte geben Sie einen Monat zwischen 1 und 12 ein."
Errtxt[23] = "Bitte geben Sie einen Tag zwischen 1 und 31 ein."
Errtxt[24] = "Bitte geben Sie das Datum im Format mm.jjjj ein (z.B. 02.2003)."
Errtxt[25] = " nur positive Zahlen von "
Errtxt[26] = " und ein Komma eingeben."
Errtxt[27] = "Das Datum muß in der Zukunft liegen."

function writeError (t)
{
	alert(t);
}
function MM_findObj(n, d) 
{
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function isContent(oN) 
{
	var objRef = MM_findObj(oN);
  if (objRef.value == "PLZ") 
    {
     objRef.value="";
     //objRef.focus();
     return false;
    }
}


function isPLZ(oN,Fehlermeldung)
{ 
	var objRef = MM_findObj(oN);
	if ((isNaN(objRef.value)) || objRef.value.length!=5 || objRef.value.indexOf(".")!=-1)
		{
			alert(Fehlermeldung);
		  objRef.focus();
		  return false;
		}	
}

function isValue(oN,Fehlermeldung) 
{
	var objRef = MM_findObj(oN);
	if (objRef.value=="")
	{
		alert(Fehlermeldung);
		objRef.focus();
		return false; 
	}
}
function isEmail(oN, Fehlermeldung)
{  	
	var objRef = MM_findObj(oN);
	suche=objRef.value.search(/@.+/);
	letzter_teil=objRef.value.substr(suche+1,objRef.value.length)
	letzter_teil=letzter_teil.length
	if (!objRef.value=="")
	{
		if ((objRef.value.indexOf('@') == -1)||(objRef.value.length<10)||(suche<1)||(letzter_teil<6))
		{
			alert(Fehlermeldung);
			objRef.focus();
			return false;
		}
	}
}
function isValueDrop(oN,Fehlermeldung,Ausschluss)
{  		
	var objRef = MM_findObj(oN);	
	var i=0; leer=false; x="";
	with (objRef)
	{  	
		for (i=0;i<objRef.length;i++)
		{
			if (objRef[i].selected) x=objRef[i].value;
		} 
		if (x=="") leer = true;
	}
	if (x==Ausschluss)
	{
		alert(Fehlermeldung);
		objRef.focus();
		return false;
	}
	else return true;
	if (leer)
	{
		alert(Fehlermeldung);
		objRef.focus();
		return false;
	}
	else return true;
}
function isValue_one_cbox(oN,Fehlermeldung) 
{
	var objRef = MM_findObj(oN);
	if (objRef.checked==false) 
	{
		if (Fehlermeldung) alert(Fehlermeldung);
		objRef.focus();
		return false; 
	}
}
function isDateFormat(oN,Typ) 
{
	var Jetzt = new Date();
	var Tag = Jetzt.getDate();
	var Monat = Jetzt.getMonth();Monat=Monat+1;
	var Jahr = Jetzt.getFullYear();
	Jahr=Jahr.toString().substring(2,4);
	
	var objRef = MM_findObj(oN);
	var datum = objRef.value;
	var zahl,RegExpPoint,RegExpNoPoint,formatedDate;
	var ErrCode = 0;
	if (objRef.value != "") 
	{
		if (Typ == "0") 
		{
			RegExpPoint = /^\d{1,2}\.\d{1,2}\.\d{2}$/; // check Tt.Mm.JJ
			RegExpNoPoint = /^\d{4}$/; //check ttmmjj
			if(RegExpPoint.test(datum) || RegExpNoPoint.test(datum)) 
			{
				if(RegExpPoint.test(datum))
				{
					zahl = datum.split(".");
					formatedDate = ((zahl[0].toString().length<2)?"0"+zahl[0]:zahl[0])+"."+((zahl[1].toString().length<2)?"0"+zahl[1]:zahl[1])+"."+zahl[2];
				}
				else 
				{
					zahl = new Array();
					zahl[0] = datum.substring(0,2);
					zahl[1] = datum.substring(2,4);
					zahl[2] = datum.substring(4,6);
					formatedDate = zahl[0]+"."+zahl[1]+"."+zahl[2];
				}
				
				if (isNaN(zahl[0]) || isNaN(zahl[1]) || isNaN(zahl[2]))  ErrCode = 17;
				else if ((zahl[0]<1) || (zahl[0]>31)) ErrCode = 23;
				else if ((zahl[1]<1) || (zahl[1]>12)) ErrCode = 22;
				else if (zahl[2]<Jahr) ErrCode = 27;
				else if ((zahl[1]<Monat) && (zahl[2]<=Jahr)) ErrCode = 27;
				else if ((zahl[0]<Tag) && (zahl[1]<=Monat) && (zahl[2]<=Jahr)) ErrCode = 27;
				
			}
			else ErrCode = 17;
		}    
	    //--- Typ mmjj -------------------------------------------
	    else if (Typ == "1") 
		{
			RegExpPoint = /^\d{1,2}\.\d{2}$/; // check Mm.JJ
			RegExpNoPoint = /^\d{4}$/; //check mmjj
			if(RegExpPoint.test(datum) || RegExpNoPoint.test(datum)) 
			{
				if(RegExpPoint.test(datum))
				{
					zahl = datum.split(".");
					formatedDate = ((zahl[0].toString().length<2)?"0"+zahl[0]:zahl[0])+"."+zahl[1];
				}
				else 
				{
					zahl = new Array();
					zahl[0] = datum.substring(0,2);
					zahl[1] = datum.substring(2,4);
					formatedDate = zahl[0]+"."+zahl[1];
				}
				if (isNaN(zahl[0]) || isNaN(zahl[1])) ErrCode = 20;
				else if ((zahl[0]<1) || (zahl[0]>12)) ErrCode = 22;
			}
			else ErrCode = 20;
		}
	    //--- Typ mmjjjj -------------------------------------------    
	    else if (Typ == "2") 
		{
			RegExpPoint = /^\d{1,2}\.\d{4}$/; // check Mm.JJJJ
			RegExpNoPoint = /^\d{6}$/; //check mmjjjj
			if(RegExpPoint.test(datum) || RegExpNoPoint.test(datum)) 
			{
				if(RegExpPoint.test(datum))
				{
					zahl = datum.split(".");
					formatedDate = ((zahl[0].toString().length<2)?"0"+zahl[0]:zahl[0])+"."+zahl[1];
				}
				else 
				{
					zahl = new Array();
					zahl[0] = datum.substring(0,2);
					zahl[1] = datum.substring(2,6);
					formatedDate = zahl[0]+"."+zahl[1];
				}
				if (isNaN(zahl[0]) || isNaN(zahl[1])) ErrCode = 24;
				else if ((zahl[0]<1) || (zahl[0]>12)) ErrCode = 22;
			}
			else ErrCode = 24;
	    }
	}
	// return true: wenn feld eintrag leer (optionale validierung)    
	else 
	{
		return true;
	}
	//alert:
	if(ErrCode!=0)
	{
		writeError(Errtxt[ErrCode]);
		objRef.focus();
		return false;
	}
	//formatieren: führungsnullen an monat und tag
	else objRef.value = formatedDate;
}
/*alle folgenden werden z.zt. nicht verwendet*/
function isNumeric(oN,Fehlermeldung)
{ 
	var objRef = MM_findObj(oN);
	if (isNaN(objRef.value)) 
	{
		if (objRef.value.indexOf(".")!=-1) 
		{
			var zahl = objRef.value.split(".");
		} 
		else 
		{ 
			var zahl = objRef.value.split(","); 
		}
		if (zahl.length>2)
		{ 
			alert(Fehlermeldung);
			objRef.focus();return false;
		}
		if (isNaN(zahl[0]) || isNaN(zahl[1]))
		{ 
			alert(Fehlermeldung);
			objRef.focus();return false;
		} 
	}
}
function countit2(oN,maxzahl)
{ 	
	var objRef = MM_findObj(oN);
	if (objRef.value.length>maxzahl) 
	{
		alert("In dieses Feld können Sie nur "+maxzahl+ " Zeichen eingeben.");
		objRef.value = objRef.value.substring(0, maxzahl-1);		
		objRef.focus();return false; 
	}	
}
function countit3(oN,maxzahl)
{ 	
	var objRef = MM_findObj(oN);
	if (objRef.value.length>maxzahl) 
	{		
		alert("In this field you cannot enter more than "+maxzahl+ " characters.");		
		objRef.value = objRef.value.substring(0, maxzahl-1);		
		objRef.focus();return false; 
	}	
}
function countit(oN,Fehlermeldung,maxzahl)
{ 
	var objRef = MM_findObj(oN);
	if (objRef.value.length>maxzahl) 
	{
		alert(Fehlermeldung);		
		objRef.focus();return false; 
	}
}
//auch für checkbox-gruppen
function isValueRadio(oN,Fehlermeldung) 
{  	
	var objRef = MM_findObj(oN);
	var i=0; leer=false; x="";
	with (objRef) 
	{ 
		for (i=0;i<objRef.length;i++) 
		{
			if (objRef[i].checked) 
			x=objRef[i].value; 
		} 
		if (x=="") leer = true;
	}
	if (leer) 
	{
		alert(Fehlermeldung);
		return false;
	}
	else return true;
}
function isRange(oN,Fehlermeldung,x,y)
{  	

	var objRef = MM_findObj(oN);
	if (objRef.value != "") 
	{
		if ((objRef.value < x)||(objRef.value > y))
		{
			alert(Fehlermeldung);
			objRef.focus();
			return false;
		} 
	}
}
function isFloatRange(oN,Fehlermeldung,Vz,i,min,max)
{  	
	var objRef = MM_findObj(oN);
	z=objRef.value;
	z=z.replace(" ","");                    // Leerzeichen durch Komma ersetzen	
	p_pos=z.indexOf(".");
	while (p_pos!=-1)						// solange punkte vorhanden sind
	{
		if (z.charAt(p_pos-1)=="." || z.charAt(p_pos+1)==".")	// Bereich vor und nach punkt nach punkten durchsuchen
		{
			alert(Fehlermeldung);
		}
		tmp=z.substring(0,p_pos);
		z=tmp.concat((z.substring(p_pos+1,z.length)));
		p_pos=z.indexOf(".",p_pos);
	}
  	if (z.indexOf("e") != -1 || z.indexOf("E") != -1) 		    // falls e´s vorhanden sind : fehler
        { 								
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
 	z=z.replace(/,/,".");					// kommas durch punkte ersetzen...
  	if (isNaN(z))  							// ...und auf numerische angabe überprüfen
	{
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
	if ((Vz == 1) && (z.charAt(0) == "-"))  // überprüfen auf negative werte
	{
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
	if (z > i) 								//prüfen, ob pos. eintrag größer i und zwischen min und max
	{
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
}
function isEmail_apartner(oN, Fehlermeldung)
{  	
	var objRef = MM_findObj(oN);
	suche=objRef.value.search(/@.+/);
	letzter_teil=objRef.value.substr(suche+1,objRef.value.length)
	letzter_teil=letzter_teil.length
	if (!objRef.value=="")
	{
		if ((objRef.value.indexOf('@') == -1)||(objRef.value.length<10)||(suche<3)||(letzter_teil<6))
		{
			alert(Fehlermeldung);
			objRef.focus();
			letzter_teil="";
			return false;
		}
	}
	letzter_teil="";
}	
function isMinStr(oN,Fehlermeldung,zeichenanzahl)
{ 	
	var objRef = MM_findObj(oN);
	if (objRef.value.length<zeichenanzahl)
	{ 
		alert(Fehlermeldung);
		objRef.focus();
		return false;
	}
}
function isPos(oN,Fehlermeldung)
{	
	var objRef = MM_findObj(oN);
  	z=objRef.value;        
  	if ((z.indexOf(".")!=-1)||(z.indexOf(",")!=-1)||(z.indexOf("e")!=-1)||(z.indexOf("E")!=-1)||(isNaN(z))||(z<0))
	{
		alert(Fehlermeldung);
		objRef.focus();
		return false;
	}
}
function isFloat(oN,Fehlermeldung,Vz)
{  	
	var objRef = MM_findObj(oN);
	z=objRef.value;
	z=z.replace(" ",""); 						// Leerzeichen durch Komma ersetzen	
	p_pos=z.indexOf(".");
	while (p_pos!=-1)							// solange punkte vorhanden sind
	{
		if (z.charAt(p_pos-1)=="." || z.charAt(p_pos+1)==".")	// Bereich vor und nach punkt nach punkten durchsuchen
		{
			alert(Fehlermeldung);
		}
		tmp=z.substring(0,p_pos);
		z=tmp.concat((z.substring(p_pos+1,z.length)));
		p_pos=z.indexOf(".",p_pos);
	}
  	if (z.indexOf("e") != -1 || z.indexOf("E") != -1) 		// falls e´s vorhanden sind : fehler
	{ 								
		writeError ( Errtxt[18]+Fehlername+Errtxt[19]);
		objRef.focus();return false;
	}
 	z=z.replace(/,/,".");						// kommas durch punkte ersetzen...
  	if (isNaN(z))  								// ...und auf numerische angabe überprüfen
        {
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
	if ((Vz == 1) && (z.charAt(0) == "-"))		// überprüfen auf negative werte
	{
		alert(Fehlermeldung);
		objRef.focus();return false;
	}
}
