/*
Routinen
*/

function convertZahl(zahl){

	var tmp2=zahl.split(",");
	if(tmp2.length==2){
		zahl=zahl.replace(",",".");
	}
	return zahl;
}

/* */
function checkManuell(feld){

	// Eigene Routine
	if(!formular.fehler_texte[feld.name] && !formular.feld_korrekt[feld.name]){
		formular.fehler_texte[feld.name]=js_texte["er_feld_leer"];
	}

	formular.setzeFehler(feld,formular.fehler_texte[feld.name]);
}

/* Zahl prüfen */
function checkZahl(feld,maxi,mini,dez,pos,neg,punkt,nullj,leer,event,summevon,summe)
{
	var zahl_key=null
	if(event){

		zahl_key=(event.keyCode);
	}else{
		zahl_key=null;
	}



	if(feld)
	{
		var meldung=null;

		var fleer=false;
		var fehlerart=-1
		var nullmenge=0;

		var feld_eingabe=gf().elements["input_"+feld.name]



                if (typeof feld_eingabe == "undefined") feld_eingabe=feld; //PF,31.05.2010



		var tmp=feld_eingabe.value;

		var fvl=tmp.length;
		tmp=convertZahl(tmp);

		if(tmp==""){
			fleer=true;
		}


		for(k=0;k<fvl;k++)
		{
			if(tmp.substr(k,1)=="0")
			{
				nullmenge++;
			}else{
				break;
			}
		}

		if(tmp==""){
			fleer=true;
		}

		if(isNaN(Number(tmp)))
		{
			fehlerart=0;
			tmp=0;
		}


		if(tmp>maxi && maxi!=null && fehlerart==-1){//tmp=maxi;
			fehlerart=1;}
		if(tmp<mini && mini!=null && fehlerart==-1){//tmp=mini;
			fehlerart=2;}
		if(neg==false && tmp<0 && fehlerart==-1){//tmp=0;
			fehlerart=3;}
		if(pos==false && tmp>0 && fehlerart==-1){//tmp=0;
			fehlerart=4;}




		switch(fehlerart){
			case 0:
			meldung=js_texte["er_zahl_gueltig"];
			break;

			case 1:
			meldung=js_texte["er_zahl_maximum"] + " " + number_format(maxi,dez,((dez==0)?"":","),((punkt==true)?".":""));
			break;

			case 2:
			meldung=js_texte["er_zahl_minimum"] +" " + number_format(mini,dez,((dez==0)?"":","),((punkt==true)?".":""));
			break;

			case 3:
			meldung=js_texte["er_zahl_negativ"];
			break;

			case 4:
			meldung=js_texte["er_zahl_positiv"];
			break;
		}

		//tmp=number_format(tmp,dez,((dez==0)?"":","),((punkt==true)?".":""));



		if(tmp==0)
		{
			nullmenge--;
		}

		if(nullj==true)
		{
			for(k=0;k<nullmenge;k++)
			{
				tmp="0"+""+tmp;
			}
		}

		if(fleer==true && leer==true){
			meldung=null;
			tmp="";
		}

		if(fleer==true && leer==false){
			meldung=js_texte["er_feld_leer"];
		}

		formular.setzeFehler(feld,meldung);

// if(meldung==null && (zahl_key==null || zahl_key=="0" ))



		if(meldung==null && (zahl_key==null || zahl_key=="0" || zahl_key==null))
		{
			if(fleer==true){
				feld.value="";
				feld_eingabe.value="";
			}else{

			   var valtmp=feld_eingabe.value;


			    if (valtmp.substr(valtmp.length-1)=='.' || valtmp.substr(valtmp.length-1)==','){



			    	if(valtmp.substr(valtmp.length-1,valtmp.length-0)!=","){
			    		 feld_eingabe.value=number_format(tmp,dez,((dez==0)?"":","),"")+",";
			    	}else{
			    		 feld_eingabe.value=number_format(tmp,dez,((dez==0)?"":","),"");
			    	}


			    }else{
			    		feld_eingabe.value=number_format(tmp,dez,((dez==0)?"":","),"");
							feld.value=number_format(tmp,dez,((dez==0)?"":"."),"");
			    }
			}
		}else{
			if(fleer==true){
				feld.value="";
				feld_eingabe.value="";
			}else if(meldung!=null){
				feld.value="";
			}
		}

		/**
		 * feldersumme
		 * @author PF
		 */
		if(fehlerart == -1 && meldung == null && summevon != null && summevon != '')
		{
			var feldarr = summevon.split(",");

			if(feldarr.length > 0)
			{
				var tmpsumme=0;
				for(var i=0;i<feldarr.length;i++)
				{
					if(feldarr[i] != '' && typeof gf().elements[feldarr[i]] != 'undefined')
					{
						if(feldarr[i]!=feld.name)tmpsumme += Number(gf().elements[feldarr[i]].value);
						else{tmpsumme += Number(tmp);}
					}
				}
				if(tmpsumme != summe)
				{
					meldung = js_texte["er_felder_summe"]+" "+summe;

				}else{
					 meldung=null;
				}

				felder_felder = new Array;
	    	felder_felder.farbe = new Array;
				for(var i=0;i<feldarr.length;i++){
					if(feldarr[i] != '' && typeof gf().elements[feldarr[i]] != 'undefined')
					{
						formular.setzeFehler(gf().elements[feldarr[i]], meldung);
					}
				}
			}
		}//ende routine summe
	}
}

/* Text */
function checkText(feld,leer,mini,maxi,alphanum,upper,lower,feld_direkt)
{
	if(feld)
	{
	var typ=feld.type;
	var meldung=null;
	var fehlertext="";

	if(typ=="select-one")
	{
		var tmp=feld.value;

		if(tmp=="" && leer==false){
			meldung=js_texte["err_feld_select_auswahl"];
		}

		if(typeof feld_direkt != "undefined"){
			if(feld_direkt!="" && feld_direkt!=null){
				if(typeof gf().elements[feld_direkt] != "undefined"){
					gf().elements[feld_direkt].value=feld.value;
				}
			}
		}

	}
	else
	{

		var tmp=feld.value;


		if(mini!=null && tmp.length < mini && tmp.length!=0)
		{
			meldung=js_texte["min_laenge"] + " " + mini + " " + js_texte["zeichen"];
		}

		if(maxi!=null && tmp.length > maxi && tmp.length!=0)
		{
			meldung=js_texte["max_laenge"] + " " + maxi + " " + js_texte["zeichen"];
		}
		if(alphanum!=null && tmp.length!=0 && alphanum==true)
		{
			var Ausdruck = /(\W.*)/;
			if (Ausdruck.exec(tmp))
			{
				meldung=js_texte["alphanum"];
			}
		}
		if(upper==true && tmp != tmp.toUpperCase() && tmp.length!=0)
		{
			feld.value = tmp.toUpperCase();
		}
		if(lower==true && tmp != tmp.toLowerCase() && tmp.length!=0)
		{
			feld.value = tmp.toLowerCase();
		}


		if(tmp=="" && leer==false){
			meldung=js_texte["er_feld_leer"];
		}
	}

	formular.setzeFehler(feld,meldung);
}
}

function checkRegistriernummer(pn,feld,leer) {
	var meldung = null;
	if(feld) {
		if(feld.value == '') {
		  if (leer == false) meldung = js_texte['er_feld_leer'];
		} else {
			reg_ex_de = /^[A-Z]{1}-[A-Z0-9]{4}-[A-Z0-9]{5}-[0-9]{2}$/;
			reg_ex_at = /^[0-9]{3}-[A-Z0-9]{1,11}$/;
			if(pn == 'de') {
				if(!reg_ex_de.test(feld.value)) {
					meldung = js_texte['er_regno_ungueltig'];
				}
			} else if(pn == 'at') {
				if(!reg_ex_de.test(feld.value) && !reg_ex_at.test(feld.value)) {
					meldung = js_texte['er_regno_ungueltig'];
				}
			}
		}
	}
	formular.setzeFehler(feld,meldung);
}

/* E-Mail prüfen */
function checkEMail(feld,mehrfach,leer)
{
	if(feld)
	{
	var meldung=null;
	var tmp=new Array();

	if(mehrfach==true)
	{
		// Splitten anhand von , und ;
		var tmp=new Array();

		var l1=feld.value.split(",");

		for(i=0;i<l1.length;i++){

				var l2=l1[i].split(";");

					for(i2=0;i2<l2.length;i2++){
					tmp[tmp.length]=l2[i2];
				}
		}

	}else{

		tmp[0]=feld.value;
	}
	var fleer=false;
	var fehlerart=-1

	if(tmp==""){
		fleer=true;
	}

	var tmp2=tmp;


	for(i=0;tmp2.length>i;i++)
	{
		tmp=trim(tmp2[i]);



	 reg_ex5=/^\w[\w|\.|\-|äöüÄÖÜ]+@\w[\w|\.|\-|äöüÄÖÜ]+\.[a-zA-Z\.]{2,6}$/;;


		if(!reg_ex5.test(tmp))
		{
			fehlerart=1;
		}



		zeichenDabei=tmp.split("@");

		if(zeichenDabei[0]==""){
			fehlerart=0;
		}

		if(zeichenDabei.length!=2){
			fehlerart=0;
		}else{
			zeichenDabei=zeichenDabei[1].split(".");
			if(zeichenDabei.length<2){
				fehlerart=0;
			}

			if(zeichenDabei[0]=="" || zeichenDabei[1]==""){
				fehlerart=0;
			}
		}

		switch(fehlerart){
			case 0:
			meldung=js_texte["er_mail_gueltig"];
			break;
			break;

			case 1:
			meldung=js_texte["er_mail_zeichen"];
			break;
			break;
		}
	}

	if(fleer==true && leer==true){
			meldung=null;
			tmp="";
		}

	if(fleer==true && leer==false){
		meldung=js_texte["er_feld_leer"];

	}
	formular.setzeFehler(feld,meldung);


}
}

/* Passwort prüfen */
function checkPasswort(feld,mini,leer,praefix)
{
	/*
	strlen &lt; 4 || strlen > 16 => error
strlen >= 6 => +1
strlen >= 10 => +1
stristr(0-9) => +1
3x stristr(0-9) => +1
stristr(a-z) &und stristr(A-Z) => +1
	*/
	var punkte=0;
	var meldung=null;

	var tmp=feld.value;
	var fleer=false;
	var fehlerart=-1

	// Diese Zeilen Code sind nur für dich Hannes!
	if(feld.value.length>5)
	{
		punkte++;
	}

	if(feld.value.length>8)
	{
		punkte++;
	}

	var erg=feld.value.split("");

	if (erg)
	{
		var menge=0;

	  for (var i = 0; i < erg.length; ++i)
	  {
	  	if(erg[i].search(/[0-9]/)!=-1)
	  	{
	  		menge++;
	  	}
	  }

	  if(menge>0)
	  {
	  	punkte++;
	  }
	  if(menge>2)
	  {
	  	punkte++;
	  }
	}

	var beide=0;
	if(feld.value.search(/[a-z]/)!=-1)
	{
		beide++;
	}

	if(feld.value.search(/[A-Z]/)!=-1)
	{
		beide++;
	}

	if(beide==2)
	{
		punkte++;
	}

	if(tmp==""){
		fleer=true;
	}

	if(feld.value.search(/[^0-9a-z]/i)>-1)
	{
		fehlerart=1;
	}


	if(feld.value.length<mini)
	{
		fehlerart=2;
	}

	if(praefix!="")
	{
		for(i=0;i<5;i++)
		{
			document.images[praefix+i].src="/neu/data/stocks/unsicher.gif";
		}

		for(i=0;i<punkte;i++)
		{
			document.images[praefix+i].src="/neu/data/stocks/sicher.gif";
		}
	}


	switch(fehlerart){
		case 1:
		meldung=js_texte["er_kennwort_zeichen"];
		break;

		case 2:
		meldung=js_texte["er_minlaenge"]+" "+mini;
		break;
	}



	if(fleer==true && leer==true){
		meldung=null;
		tmp="";
	}


	if(fleer==true && leer==false){
		meldung=js_texte["er_feld_leer"];
	}
	formular.setzeFehler(feld,meldung);
	feld.value=tmp;
}

/* Kunde prüfen */
function checkKunde(kdr,pw,kdr_string,pw_string,leer)
{
		if(leer==true &&  kdr.value==""  &&  pw.value=="")
		{

				felder_felder = new Array;
		    felder_felder.farbe = new Array;
		    felder_felder.zusatz = new Array;

		   	felder_felder.farbe[0] = pw;
		   	felder_felder.farbe[1] = kdr;

		    felder_felder.zusatz[0] = pw;

	    	felder_felder.id = kdr;

			formular.setzeFehler(felder_felder,null);
		}
		else
		{
			if(kdr.value != "" && pw.value!="")
			{



				getAjax("js",root+"/mods/_class/formular/routine.kunde.php5?pw_feld="+pw_string+"&kdr_feld="+kdr_string+"&kdr_pruef="+kdr.value+"&pw_pruef="+pw.value);
			}else{


				felder_felder = new Array;
		    felder_felder.farbe = new Array;
		    felder_felder.zusatz = new Array;

		   	felder_felder.farbe[0] = pw;
		   	felder_felder.farbe[1] = kdr;

		   	 felder_felder.zusatz[0] = pw;

	    	felder_felder.id = kdr;

				formular.setzeFehler(felder_felder,js_texte["kennwort_kdr_bitte"]);


			}
		}
}

/* Konto prüfen */
var kontopruefungen=new Array();
function checkKonto(konto_nr_string,blz_string,leer,poolnation,formular_konto,bank_feld)
{
	konto_nr=formular.getInput(konto_nr_string,formular_konto);
	blz=formular.getInput(blz_string,formular_konto);



	if(konto_nr && blz)
	{
		if(leer==true &&  konto_nr.value==""  &&  blz.value=="")
		{
						formular.setzeFehler(blz,null);
			formular.setzeFehler(konto_nr,null);
		}
		else
		{
			konto_nr.value=deleteZeichen(konto_nr.value,new Array(" ","-","/"));
			blz.value=deleteZeichen(blz.value,new Array(" ","-","/"));
			if(konto_nr.value != "" && blz.value!="")
			{
				formular.setzeFehler(konto_nr,null);
				formular.setzeFehler(blz,null);

				getAjax("js",root+"class/formular/routine.konto.php5?bank_feld="+((bank_feld==null)?"":bank_feld)+"&blz_feld="+blz_string+"&nr_feld="+konto_nr_string+"&nr_pruef="+konto_nr.value+"&formular="+formular_konto+"&blz_pruef="+blz.value+"&poolnation="+poolnation, null, null, false, null, null, null,null,null, false);
			}else{

				if(konto_nr.value!="")	{
					kontopruefungen[konto_nr.name]=true;
				}
				if(konto_nr.value==""){
					formular.setzeFehler(konto_nr,js_texte["er_ko_nrfehlt"]);
				}else{
					formular.setzeFehler(konto_nr,null);
				}
				if(blz.value!="")	{
					kontopruefungen[blz.name]=true;
				}


				if(blz.value=="")	{
					var meldung=js_texte["er_zahl_gueltig"];
					formular.setzeFehler(blz,meldung);
				}else{
					formular.setzeFehler(blz,null);
				}
			}
		}
	}else{
		if(!konto_nr)
		{
			//alert("Konto Nr ist kein gültiges Feld!");
		}

		if(!blz)
		{
			 //alert("BLZ ist kein gültiges Feld!");
		}
	}
}



/* Checkbox prüfen */
function checkCheckbox(feld,haken)
{
	if(feld)
	{
	if(!feld.length)
	{
		var checkfeld=document.forms['blau_form'].elements["checkbox_"+feld.name];
		if(!checkfeld)
		{
			checkfeld=feld;
		}


		if(haken==false)
		{
			if(checkfeld.checked==false)
			{
				formular.setzeFehler(feld,null);
			}else{

				formular.setzeFehler(feld,js_texte["er_checkbox_mithaken"]);
			}
		}else{
			if(checkfeld.checked==true)
			{
				formular.setzeFehler(feld,null);
			}else{
				formular.setzeFehler(feld,js_texte["er_checkbox_keinhaken"]);
			}
		}
	}
	else
	{

		var gecheckt_alla=false;
		var gecheckt_i=null;

		formular.setzeFehler(feld[0],null);
		for(var k=0;k<feld.length;k++)
		{
				if(feld[k].checked==true)
				{
					gecheckt_alla=true;
					gecheckt_i=k;
				}
		}

		if(gecheckt_alla==false)
		{
			if(feld[0].type=="radio")
			{
				formular.setzeFehler(feld[0],js_texte["wert_auswaehlen"]);
			}else{
				formular.setzeFehler(feld[0],js_texte["er_checkbox_keinhaken"]);
			}
		}
	}
}
}

/* Url prüfen */
function checkUrl(feld,leer)
{
	var tmp=feld.value;
	meldung=null;
	var fleer=false;
	var fehlerart=null;

	if(tmp=="" || tmp.toLowerCase()=="http://" || tmp.toLowerCase()=="https://"){
		fleer=true;
		feld.value="";
	}


	if(fleer==false)
	{
		if(tmp.length>0)
		{
			if(tmp.substr(0,7).toLowerCase()!="http://" && tmp.substr(0,7).toLowerCase()!="https://")
			{
				feld.value="http://"+tmp;
			}
		}

		var tmp2=tmp.split(".");

		if(tmp2[tmp2.length-1]=="" || tmp2.length==1)
		{
			meldung=js_texte["bitte_domain"];
			fehlerart=1;
		}
	}






	if(fleer==true && leer==false){
		meldung=js_texte["er_feld_leer"];
	}

	if(fleer==true && leer==true){
		meldung=null;
		tmp="";
	}


	formular.setzeFehler(feld,meldung);
}

/* Telefonnummern, Faxe, Mobil prüfen */
function checkNummer(feld,leer,typ)
{
	var tmp=feld.value;
	var fleer=false;
	var nummer_gueltig=true;
	var meldung=null;

	if(tmp==""){
		fleer=true;
	}

	s=deleteZeichen(feld.value,new Array("/","+","-"," ","(",")"));

	if(isNaN(s))
	{
		switch(typ)
		{
			case "fax":
			meldung=js_texte["er_nummer_fax_nichtgueltig"];
			break;

			case "mobil":
			meldung=js_texte["er_nummer_mobil_nichtgueltig"];
			break;

			default:
			meldung=js_texte["er_nummer_tel_nichtgueltig"];
			break;
		}
	}

	if(fleer==true && leer==true){
		meldung=null;
		tmp="";
	}

	if(fleer==true && leer==false){
		meldung=js_texte["er_feld_leer"];
	}

	formular.setzeFehler(feld,meldung);
}


var datum_eingegeben=new Array();
/* Datum prüfen */
function checkDatum(feld, leer, eingabe, pos, neg, mini, maxi, vergleich) {



    var meldung;
    var meldung_mini = null;
    var meldung_maxi = null;

    if(document.forms['blau_form'].elements["monat_" + feld.name])
    {
    if(document.forms['blau_form'].elements["minuten_" + feld.name].value.toLowerCase()=="h" ||document.forms['blau_form'].elements["sekunden_" + feld.name].value.toLowerCase()=="h" ||document.forms['blau_form'].elements["stunden_" + feld.name].value.toLowerCase()=="h" || document.forms['blau_form'].elements["monat_" + feld.name].value.toLowerCase()=="h" || document.forms['blau_form'].elements["jahr_" + feld.name].value.toLowerCase()=="h" || document.forms['blau_form'].elements["tag_" + feld.name].value.toLowerCase()=="h")
    {
    	var jetzt_n = new Date;

    	if(!document.forms['blau_form'].elements["tag_" + feld.name+"2"])
    	{
    		document.forms['blau_form'].elements["tag_" + feld.name].value=jetzt_n.getDate();
    	}



    	document.forms['blau_form'].elements["monat_" + feld.name].value=(jetzt_n.getMonth()+1);
    	document.forms['blau_form'].elements["jahr_" + feld.name].value=jetzt_n.getFullYear();


    	document.forms['blau_form'].elements["stunden_" + feld.name].value=jetzt_n.getHours();
    	document.forms['blau_form'].elements["minuten_" + feld.name].value=jetzt_n.getMinutes();
    	document.forms['blau_form'].elements["sekunden_" + feld.name].value=jetzt_n.getSeconds();

    		AutoTab(document.forms['blau_form'].elements["jahr_" + feld.name]);
    }

    if(document.forms['blau_form'].elements["minuten_" + feld.name].value.toLowerCase()=="n" ||document.forms['blau_form'].elements["sekunden_" + feld.name].value.toLowerCase()=="n" ||document.forms['blau_form'].elements["stunden_" + feld.name].value.toLowerCase()=="n" || document.forms['blau_form'].elements["monat_" + feld.name].value.toLowerCase()=="n" || document.forms['blau_form'].elements["jahr_" + feld.name].value.toLowerCase()=="n" || document.forms['blau_form'].elements["tag_" + feld.name].value.toLowerCase()=="n")
    {
    	var jetzt_n = new Date;

    	document.forms['blau_form'].elements["tag_" + feld.name].value="01";

    	var monat_neu=(jetzt_n.getMonth()+2);
    	var jahr_neu=(jetzt_n.getFullYear());

    	if(monat_neu==13)
    	{
    		monat_neu="01";
    		jahr_neu++;
    	}

    	document.forms['blau_form'].elements["monat_" + feld.name].value=monat_neu;
    	document.forms['blau_form'].elements["jahr_" + feld.name].value=jahr_neu;

    	AutoTab(document.forms['blau_form'].elements["jahr_" + feld.name]);
    }


    var felder2=new Array();
  	felder2[0]=["monat"];
  	felder2[1]=["tag"];
  	felder2[2]=["stunden"];
  	felder2[3]=["minuten"];
  	felder2[4]=["sekunden"];

		  var feld_2;
		  for(z=0;z<5;z++){
		  	 feld_2 = document.forms['blau_form'].elements[felder2[z]+"_" + feld.name];
		    if (isNaN(feld_2.value)) {
		        feld_2.value = "";
		    } else {
		        feld_2.value = feld_2.value.length == 1 ? "0" + "" + feld_2.value : feld_2.value;
		    }
		  }




    feld_2 = document.forms['blau_form'].elements["jahr_" + feld.name];
    if (isNaN(feld_2.value)) {
        feld_2.value = "";
    } else {
        if (feld_2.value.length == 1) {
            feld_2.value = "0" + feld_2.value;
        }
        if (feld_2.value.length == 2) {
            var jetzt = new Date;
            var jahr = parseInt("20" + feld_2.value);
            if (jahr > parseInt(jetzt.getFullYear() + 10)) {
                feld_2.value = "19" + feld_2.value;
            } else {
                feld_2.value = "20" + feld_2.value;
            }
        } 
    }
    if (document.forms['blau_form'].elements["monat_" + feld.name].value != "" &&
        document.forms['blau_form'].elements["jahr_" + feld.name].value != "" &&
        document.forms['blau_form'].elements["tag_" + feld.name].value != "") {
        var datum = new Date( document.forms['blau_form'].elements["jahr_" + feld.name].value, (document.forms['blau_form'].elements["monat_" + feld.name].value - 1), document.forms['blau_form'].elements["tag_" + feld.name].value, document.forms['blau_form'].elements["stunden_" + feld.name].value, document.forms['blau_form'].elements["minuten_" + feld.name].value, document.forms['blau_form'].elements["sekunden_" + feld.name].value );

				//alert(datum.toLocaleString() + "-" + (Date.UTC(document.forms['blau_form'].elements["jahr_" + feld.name].value, (document.forms['blau_form'].elements["monat_" + feld.name].value - 1), document.forms['blau_form'].elements["tag_" + feld.name].value, document.forms['blau_form'].elements["stunden_" + feld.name].value, document.forms['blau_form'].elements["minuten_" + feld.name].value, document.forms['blau_form'].elements["sekunden_" + feld.name].value) / 1000));
//	if(document.cookie.search(/MA_IT=TN/)!=-1 || document.cookie.search(/MA_IT=FD/)!=-1 || document.cookie.search(/MA_IT=UR/)!=-1){

				
				var D=new Date();
				
				//alert(datum.getTime() / 1000);
				
				//feld.value = Date.UTC(document.forms['blau_form'].elements["jahr_" + feld.name].value, (document.forms['blau_form'].elements["monat_" + feld.name].value - 1), document.forms['blau_form'].elements["tag_" + feld.name].value, document.forms['blau_form'].elements["stunden_" + feld.name].value, document.forms['blau_form'].elements["minuten_" + feld.name].value, document.forms['blau_form'].elements["sekunden_" + feld.name].value) / 1000			- (D.getTimezoneOffset() * 60);
				
			//	feld.value = Date.UTC(document.forms['blau_form'].elements["jahr_" + feld.name].value, (document.forms['blau_form'].elements["monat_" + feld.name].value - 1), document.forms['blau_form'].elements["tag_" + feld.name].value, document.forms['blau_form'].elements["stunden_" + feld.name].value, document.forms['blau_form'].elements["minuten_" + feld.name].value, document.forms['blau_form'].elements["sekunden_" + feld.name].value) / 1000			- (7200);
				
				//feld.value=datum.getTime() / 1000;
				
			//				Date.parse(datum.toGMTString())/1000;
				
			//	feld.value=mktime(gf().elements["stunden_" + feld.name].value, gf().elements["minuten_" + feld.name].value, gf().elements["sekunden_" + feld.name].value, gf().elements["monat_" + feld.name].value, gf().elements["tag_" + feld.name].value,gf().elements["jahr_" + feld.name].value,0);
			
			var D=new Date();
			
			D.setUTCHours(gf().elements["stunden_" + feld.name].value-1);
			D.setUTCSeconds(gf().elements["sekunden_" + feld.name].value-1);
			D.setUTCMinutes(gf().elements["minuten_" + feld.name].value);
			D.setUTCFullYear(gf().elements["jahr_" + feld.name].value);
			D.setUTCDate(gf().elements["tag_" + feld.name].value);
			D.setUTCMonth(gf().elements["monat_" + feld.name].value-1);
			
			feld.value=Math.round(D.getTime() / 1000 - 3600);

				
				
        var jetzt = new Date;
         if (vergleich != "null" && typeof vergleich != "undefined") {
            jetzt.setTime(vergleich.value * 1000);
        }
        var jetzt_str = "" + jetzt.getFullYear();
        var dummy = jetzt.getMonth() + 1;
        if (dummy < 10) {
            jetzt_str += "0";
        }
        jetzt_str += dummy;
        dummy = jetzt.getDate();
        if (dummy < 10) {
            jetzt_str += "0";
        }
        jetzt_str += dummy;
        var jetzt = Number(jetzt_str);
        var jetzt_mini = Number(jetzt_str);
        var jetzt_maxi = Number(jetzt_str);
        eingabe = new Date();
        eingabe.setTime(feld.value * 1000);
        var eingabe_str = "" + eingabe.getFullYear();
        dummy = eingabe.getMonth() + 1;
        if (dummy < 10) {
            eingabe_str += "0";
        }
        eingabe_str += dummy;
        dummy = eingabe.getDate();
        if (dummy < 10) {
            eingabe_str += "0";
        }
        eingabe_str += dummy;
        eingabe = Number(eingabe_str);
        if (mini != "null") {
            var vorzeichen = mini.substr(0, 1);
            switch (vorzeichen) {
              case "+":
                var jetzt_mini = jetzt + Number(mini.substr(1)) * 10000;
                if (eingabe < jetzt_mini) {
                    meldung_mini = js_texte.er_datum_mini;
                }
              break;
              case "-":
                var jetzt_mini = jetzt - Number(mini.substr(1)) * 10000;
                if (eingabe < jetzt_mini) {
                    meldung_mini = js_texte.er_datum_mini;
                }
              break;
            }
        }
        if (maxi != "null") {
            var vorzeichen = maxi.substr(0, 1);
            switch (vorzeichen) {
              case "+":
                var jetzt_maxi = jetzt + Number(maxi.substr(1)) * 10000;
                if (eingabe > jetzt_maxi) {
                    meldung_maxi = js_texte.er_datum_maxi;
                }
              break;
              case "-":
                var jetzt_maxi = jetzt - Number(maxi.substr(1)) * 10000;
                if (eingabe > jetzt_maxi) {
                    meldung_maxi = js_texte.er_datum_maxi;
                }
              break;
            }
        }
        if ((meldung_mini != null)||(meldung_maxi != null)) {

          if (meldung_mini != null) {
              var dummy = jetzt_mini.toString();
              meldung_mini += " <b>" + dummy.substr(6, 2) + "." + dummy.substr(4, 2) + "." + dummy.substr(0, 4) + "</b>";
              meldung = meldung_mini;
          }
          if (meldung_maxi != null) {
              var dummy = jetzt_maxi.toString();
              meldung_maxi += " <b>" + dummy.substr(6, 2) + "." + dummy.substr(4, 2) + "." + dummy.substr(0, 4) + "</b>";
              meldung = meldung_maxi;
          }
        }
        if (document.forms['blau_form'].elements["monat_" + feld.name].value.substr(0, 1) == "0") {
            var Monat = document.forms['blau_form'].elements["monat_" + feld.name].value.substr(1, 2);
        } else {
            var Monat = parseInt(document.forms['blau_form'].elements["monat_" + feld.name].value);
        }
        if (document.forms['blau_form'].elements["tag_" + feld.name].value.substr(0, 1) == "0") {
            var Tag = document.forms['blau_form'].elements["tag_" + feld.name].value.substr(1, 2);
        } else {
            var Tag = parseInt(document.forms['blau_form'].elements["tag_" + feld.name].value);
        }
        var Jahr = parseInt(document.forms['blau_form'].elements["jahr_" + feld.name].value);

        var Sekunden = parseInt(document.forms['blau_form'].elements["sekunden_" + feld.name].value);
        var Minuten = parseInt(document.forms['blau_form'].elements["minuten_" + feld.name].value);
        var Stunden = parseInt(document.forms['blau_form'].elements["stunden_" + feld.name].value);

        var tageMonat = 0;
        if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11) {
            tageMonat = 30;
        } else if (Monat == 1 ||
            Monat == 3 ||
            Monat == 5 ||
            Monat == 7 || Monat == 8 || Monat == 10 || Monat == 12) {
            tageMonat = 31;
        } else if (Monat == 2 && Jahr % 4 == 0 && Jahr % 100 != 0 ||
            Jahr % 400 == 0) {
            tageMonat = 29;
        } else if (Monat == 2 && Jahr % 4 != 0 ||
            Jahr % 100 == 0 && Jahr % 400 != 0) {
            tageMonat = 28;
        }
        if (Tag >= 1 && Tag <= tageMonat && Monat >= 1 && Monat <= 12 && Sekunden >= 0 && Sekunden <= 60 && Stunden >= 0 && Stunden <= 60 && Minuten >= 0 && Minuten <= 60) {
        } else {
            meldung = js_texte.er_datum_ungueltig;
        }


        if (meldung == null) {





            var jetzt = new Date;
            if (jetzt.getMonth() != 9) {
                var monat_jetzt = jetzt.getMonth() < 10 ? "0" + (jetzt.getMonth() + 1) : jetzt.getMonth() + 1;
            } else {
                var monat_jetzt = 10;
            }
            var tag_heute = jetzt.getDate() < 10 ? "0" + jetzt.getDate() : jetzt.getDate();
            var heutedat = jetzt.getFullYear() + "" + monat_jetzt + "" + tag_heute;
            var eingabedat = document.forms['blau_form'].elements["jahr_" + feld.name].value + "" + document.forms['blau_form'].elements["monat_" + feld.name].value + "" + document.forms['blau_form'].elements["tag_" + feld.name].value;
            var neg_pos_vergleich = false;
            
            if (vergleich != "null" && typeof vergleich != "undefined" && (neg == false || pos == false)) {

                var jetzt = new Date;
                jetzt.setTime(vergleich.value * 1000);
                var jetzt_str = "" + jetzt.getFullYear();
                dummy = jetzt.getMonth() + 1;
                if (dummy < 10) {
                    jetzt_str += "0";
                }
                jetzt_str += dummy;
                dummy = jetzt.getDate();
                if (dummy < 10) {
                    jetzt_str += "0";
                }
                jetzt_str += dummy;
                var heutedat = Number(jetzt_str);
                neg_pos_vergleich = true;
            }



            if (neg == false) {

                if (heutedat > eingabedat) {
                    if (neg_pos_vergleich) {
                        meldung = js_texte.er_datum_mini;
                        var dummy = heutedat.toString();
                        meldung += " <b>" + dummy.substr(6, 2) + "." + dummy.substr(4, 2) + "." + dummy.substr(0, 4) + "</b>";
                    } else {
                        meldung = js_texte.er_datum_vergangenheit;
                    }
                }
            }
            if (pos == false) {
                if (heutedat < eingabedat) {
                    if (neg_pos_vergleich) {
                        meldung = js_texte.er_datum_maxi;
                        var dummy = heutedat.toString();
                        meldung += " <b>" + dummy.substr(6, 2) + "." + dummy.substr(4, 2) + "." + dummy.substr(0, 4) + "</b>";
                    } else {
                        meldung = js_texte.er_datum_zukunft;
                    }
                }
            }
        }
    } else {
        if (leer == true) {
            meldung = null;
        } else {
            meldung = js_texte.err_feld_datum_unvollstaendig;
        }
        feld.value = "";
    }
  }

    datum_eingegeben[eingabe.name] = true;
    felder_felder = new Array;
    felder_felder.farbe = new Array;
    felder_felder.farbe[0] = document.forms['blau_form'].elements["tag_" + feld.name];
    felder_felder.farbe[1] = document.forms['blau_form'].elements["monat_" + feld.name];
    felder_felder.farbe[2] = document.forms['blau_form'].elements["jahr_" + feld.name];
   	felder_felder.farbe[3] = document.forms['blau_form'].elements["stunden_" + feld.name];
   	felder_felder.farbe[4] = document.forms['blau_form'].elements["minuten_" + feld.name];
   	felder_felder.farbe[5] = document.forms['blau_form'].elements["sekunden_" + feld.name];

    felder_felder.id = document.forms['blau_form'].elements[feld.name];



    formular.setzeFehler(felder_felder, meldung);
}


//Funktion für sortierbare Selectfelder (sortable=true und size > 1)
function sortselect(feldname,direction) {
  if (feldname && direction) {
    var sel = document.getElementsByName(feldname)[0];
    var maxopt = sel.options.length;

    if (direction == 'down') {
      if  (sel.selectedIndex != -1 && (sel.selectedIndex+1 < maxopt) ) {
        var ist = sel.options[sel.selectedIndex];
        var to  = sel.options[(sel.selectedIndex+1)];
        var dummy_text = to.text;
        var dummy_value = to.value;
        to.text  = ist.text;
        to.value = ist.value;
        ist.text = dummy_text;
        ist.value = dummy_value;
        sel.selectedIndex = sel.selectedIndex+1;
      }
    }
    else if (direction == 'up') {
      if  (sel.selectedIndex != -1 && (sel.selectedIndex-1 >= 0) ) {
        var ist = sel.options[sel.selectedIndex];
        var to  = sel.options[(sel.selectedIndex-1)];
        var dummy_text = to.text;
        var dummy_value = to.value;
        to.text  = ist.text;
        to.value = ist.value;
        ist.text = dummy_text;
        ist.value = dummy_value;
        sel.selectedIndex = sel.selectedIndex-1;
      }
    }
  }
}

function getAlter(f) {
	g = new Date();
	tage = g.getDate()-f.getDate();
	monate = g.getMonth()-f.getMonth();
	jahre = g.getYear()-f.getYear();
	if(tage < 0) {
 		tage = tage + 30;
		monate--;
	}
	if(monate < 0) {
		monate = monate + 12;
		jahre--;
	}
	if(jahre > 2000) {
		jahre = jahre - 2000;
	}
	if(jahre > 1900) {
		jahre = jahre - 1900;
	}
	return jahre;
}