popparms1='width=425,height=425,resizable=yes,scrollbars=yes,top=100,left=100';
popparms2='width=500,height=600,resizable=yes,scrollbars=yes,top=10,left=10';
popparms3='width=855,height=600,resizable=yes,scrollbars=yes,top=10,left=10';
popparms4='width=855,height=600,menubar=yes,resizable=yes,scrollbars=yes,top=10,left=10';
popparms5='width=425,height=400,menubar=yes,resizable=yes,scrollbars=yes,top=100,left=100';
popparms6='width=500,height=400,resizable=yes,scrollbars=yes,top=10,left=10';
popparms7='width=655,height=600,resizable=yes,scrollbars=yes,top=10,left=10';
popparms8='width=600,height=600,resizable=yes,scrollbars=yes,top=10,left=10';
popparms9='width=500,height=400,menubar=yes,resizable=yes,scrollbars=yes,top=10,left=10';
popparms10='width=855,height=800,resizable=yes,scrollbars=yes,top=10,left=10';

dezimal=false;
checkstring=false;

function setDezimalKomma()
{
	dezimal=true;
	return true;
}

function setCheckString()
{
	checkstring = true;
	return true;
}

function refocus()
{
	window.focus();
	setTimeout("refocus()",500);
}

function checkValues(lng)
{
	dateboxes = new Array();
	range = new Array();   // Zahlenbereiche

	drange = new Array();	 // Datumsbereiche
	drange2 = new Array();	 // Datumsbereiche
	drange3 = new Array();	 // Datumsbereiche

	cbcount=0;
	
	for(i=0;i<document.forms[0].length;++i)
	{
		if(document.forms[0].elements[i].type == "checkbox" && document.forms[0].elements[i].checked)
		{
			// Checkboxes
			cbcount++;
			if (cbcount > maxcheck)
			{
				if (maxcheck>0)
					alert(message102+maxcheck+message102b);
				else
					alert(message102c);
				return false;
			}
		}

		if(document.forms[0].elements[i].type == "text")
		{

			// Textfelder
			if (document.forms[0].elements[i].name.substr(0,1)=="s")
			{
            	if (checkstring && document.forms[0].elements[i].value.length>mlswert)
            	{
            		alert(message104);
            		document.forms[0].elements[i].focus();
            		return false;
            	}
			}


			// Textfelder, die nicht null sein dürfen
			if (checkstring && document.forms[0].elements[i].name.substr(0,3)=="sNN")
			{
            	if (document.forms[0].elements[i].value == "")
            	{
            		alert(message105);
            		document.forms[0].elements[i].focus();
            		return false;
            	}
			}

	  		// Zahlen und Ranges (Zahlen-Bereiche)
		  	if( (document.forms[0].elements[i].name.substr(0,1)=="n"
		   		|| document.forms[0].elements[i].name.substr(0,1)=="r")
		  		 && document.forms[0].elements[i].value != "")
		  	{
		  		if (dezimal)
		  		{
		  			check = checknumkomma(document.forms[0].elements[i].value,lng);
		  		}
		  		else
		  		{
		  			check = checknum(document.forms[0].elements[i].value,lng);
		  		}

		   		if(check == "false")
		 		{
		 	 		alert(message100);
					document.forms[0].elements[i].focus();
		 	 		return false;
		 		}
		 		document.forms[0].elements[i].value=check;

		 		if (document.forms[0].elements[i].name.substr(0,1)=="r")
		 		{
		 			check = checkminuskomma(document.forms[0].elements[i].value);
			 		if(check == "false")
			 		{

			 	 		alert(message100);
						document.forms[0].elements[i].focus();
			 	 		return false;
			 		}
		 			document.forms[0].elements[i].value=check;
		 		}

		  	}


		  	// Bereiche - Anfang
		  	if (document.forms[0].elements[i].name.substr(0,2)=="r1")
		  	{
		  	    rname=document.forms[0].elements[i].name;
		  	    rvalue=document.forms[0].elements[i].value;
		  	    if (rvalue != '')
		  			range[rname.substring(2,rname.length)]=parseFloat(rvalue);
		  	}

		  	// Bereiche - Ende
		  	if (document.forms[0].elements[i].name.substr(0,2)=="r2")
		  	{
		  	    rname=document.forms[0].elements[i].name;
		  	    rname_s=rname.substring(2,rname.length);
		  	    rvalue=document.forms[0].elements[i].value;
		  	    if (rvalue != '')
		  	    {
		  	    	rvalue=parseFloat(rvalue);
			  		rvalue1=range[rname_s];
			  		// alert('Range: '+rname_s+' a:'+rvalue1+' b:'+rvalue);
			  		if (rvalue < rvalue1)
			  		{
			  			alert(message103);
			  			document.forms[0].elements[i].focus();
			  			return false;
			  		}
			  	}
		  	}


		  	// Datum 1
		  	if(document.forms[0].elements[i].name.substr(0,1)=="d" && document.forms[0].elements[i].value != "")
		  	{
		  		$check = datumscode(document.forms[0].elements[i].value,lng)
		 		if($check == false)
		 		{
		 	 		alert(message101);
					document.forms[0].elements[i].focus();
		 	 		return false;
		 		}

		  	}


		  	// Datums-Bereiche - Anfang
		  	if (document.forms[0].elements[i].name.substr(0,2)=="d1")
		  	{
		  	    rname=document.forms[0].elements[i].name;
		  	    rvalue=datumscode(document.forms[0].elements[i].value,lng);
		  		drange[rname.substring(2,rname.length)]=rvalue;

		  		rvalue2=drange2[rname.substring(2,rname.length)];
		  		rvalue3=drange3[rname.substring(2,rname.length)];
		        // alert("rv1:"+rvalue+" rv2:"+rvalue2+" rv3:"+rvalue3);
		  		if ((rvalue2 && rvalue2<rvalue) || (rvalue3 && rvalue3<rvalue))
		   		{
		  			alert(message103);
		  			document.forms[0].elements[i].focus();
		  			return false;
		  		}
		  	}

		  	// Datums-Bereiche - Ende oder Mitte
		  	if (document.forms[0].elements[i].name.substr(0,2)=="d2")
		  	{
		  	    rname=document.forms[0].elements[i].name;
		  	    rvalue=datumscode(document.forms[0].elements[i].value,lng);
		  	    drange2[rname.substring(2,rname.length)]=rvalue;

		  		rvalue1=drange[rname.substring(2,rname.length)];
		  		rvalue3=drange3[rname.substring(2,rname.length)];
		        //alert("rv1:"+rvalue1+" rv2:"+rvalue+" rv3:"+rvalue3);
		  		if ((rvalue1 && rvalue1>rvalue) || (rvalue3 && rvalue3<rvalue))
		  		{
		  			alert(message103);
		  			document.forms[0].elements[i].focus();
		  			return false;
		  		}
		  	}

		  	// Datums-Bereiche - Ende
		  	if (document.forms[0].elements[i].name.substr(0,2)=="d3")
		  	{
		  	    rname=document.forms[0].elements[i].name;
		  	    rvalue=datumscode(document.forms[0].elements[i].value,lng);
		  		drange3[rname.substring(2,rname.length)]=rvalue;

		  		rvalue1=drange[rname.substring(2,rname.length)];
		  		rvalue2=drange2[rname.substring(2,rname.length)];
		        // alert("rv1:"+rvalue1+" rv2:"+rvalue2+" rv3:"+rvalue);
		  		if ((rvalue1 && rvalue1>rvalue) || (rvalue2 && rvalue2>rvalue))
		  		{
		  			alert(message103);
		  			document.forms[0].elements[i].focus();
		  			return false;
		  		}
		  	}

	/*
	  	// Datum 2
	  	if(document.forms[0].elements[i].name.substr(0,1)=="_" && document.forms[0].elements[i].value != "")
	  	{
	  		fieldname=document.forms[0].elements[i].name;
	  		fn=fieldname.substring(2,fieldname.length);

			// Datumsbox nur ein Mal prüfen
			ischecked=0;
	  		for (ii=0; ii<dateboxes.length; ii++)		// akt. Feldname mit gemerkten Feldnamen vergleichen
	  			if (dateboxes[ii] == fn)
	  			{
	  				ischecked=1;
	  				break;
	  			}

			// schon geprüft: nächstes Feld
	  		if (ischecked == 1)
	  			break;

			// noch nicht geprüft:
			// Datumsboxnamen merken
	  		dateboxes.push(fn);

	  		fn1='_d'+fn;
	  		fn2='_m'+fn;
	  		fn3='_y'+fn;
	        f1=document.forms[0].elements[fn1].value;
	        f2=document.forms[0].elements[fn2].value;
	        f3=document.forms[0].elements[fn3].value;

	  		$check = checkDate2(f1,f2,f3,lng)
	 		if($check == false)
	 		{
	 	 		alert(message101);
				document.forms[0].elements[i].focus();
	 	 		return false;
	 		}

	  	}
	*/

		  }
	 }
	 // document.forms[0].submit();
	 return true;
}

function datumscode(dateStr,Lang)
{
	var datePat;

    datePat = /^(\d{1,2}).(\d{1,2}).(\d{1,4})$/;

    var matchArray = dateStr.match(datePat);
	if (matchArray == null) {
		datePat = /^(\d{1,2})-(\d{1,2})-(\d{1,4})$/;
		matchArray = dateStr.match(datePat);
		if (matchArray == null) {
			datePat = /^(\d{1,2})\/(\d{1,2})\/(\d{1,4})$/;
			matchArray = dateStr.match(datePat);
			if (matchArray == null) {
				return false;
			}
		}
    }

	if (Lang == 'de')
	{
		day = parseFloat(matchArray[1]);
		month = parseFloat(matchArray[2]);
		year = parseFloat(matchArray[3]);
	}
	else
	{
		month = parseFloat(matchArray[1]);
		day = parseFloat(matchArray[2]);
		year = parseFloat(matchArray[3]);
	}

    if (year>=75 && year<=99)
    	year+=1900;
    if (year>=0 && year<=74)
    	year+=2000;

    erg = day+32*(month+13*year);
    // alert(' Tag: '+parseFloat(matchArray[1])+' Monat: '+matchArray[2]+' Jahr: '+matchArray[3]);
    // alert('Datums-Str: '+dateStr+' Tag: '+day+' Monat: '+month+' Jahr: '+year+' Zahl: '+erg);
	return erg;
}
