function check_date(datum,pass) {

  // Eingaben nur ab aktuellem Datum erlaubt mit Vergangenheit = "nein"
  if (check_date.arguments.length==2) {
	  Vergangenheit = pass;
	} else {
	  Vergangenheit = "nein";
     }
  var JetztDatum = new Date();
  var DiesesJahr = JetztDatum.getYear();
  var DieserMonat = JetztDatum.getMonth()+1;
  var DieserTag = JetztDatum.getDate();

 // var dy = document.getElementById("DatumTa").value;
 // var mo = document.getElementById("DatumMo").value;
 // var yr = document.getElementById("DatumJa").value;

  var aDatum = datum.split(".");
  var dy = aDatum[0];
  var mo = aDatum[1];
  var yr = aDatum[2];
  if ((datum.length > 0) && (aDatum.length < 3)) {
  	alert("Ungültiges Datumsformat "+datum.length)
	return false;
	}	

  // bei einstelligem Wert Null voranstellen
  dy  = ((dy.length < 2) ? "0" + dy : dy);

  // bei einstelligem Wert Null voranstellen
  mo  = ((mo.length < 2) ? "0" + mo : mo);

  // bei zweistelligem Wert 20 voranstellen
  yr  = ((yr.length == 2) ? "20" + yr : yr);


  var nDate = new Date();  // current date (local)
  var nowTime = nDate.getTime();  // current time (UTC)
  var thenTime = Date.UTC(yr, mo-1, dy);  // specified time (UTC)
  var thisYear = nDate.getFullYear();
  var thisMonth = nDate.getMonth();
  var thisDay = nDate.getDate();

if (isNaN(dy) || isNaN(mo) || isNaN(yr)) {
window.alert("Eintrag Ungültig, nur Ziffern sind erlaubt!");
return false
}

if (dy<1 || dy>31) {
window.alert("Der Eintrag '" + dy + "' für den Tag ist nicht gültig!");
return false
}

if (dy>30 && (mo == 2 || mo==4 || mo==6 || mo==9 || mo==11)) {
window.alert("Der Eintrag " + dy + " ist für den Monat " + mo + " nicht gültig!");
return false
}

if (dy>29 && mo==2) {
window.alert("Der Eintrag " + dy  + " ist für den Februar nicht gültig!");
return false
}

if ((mo == 2 && dy == 29)  && ((yr%4 != 0) || (yr%100 == 0 && yr%400 != 0))) {
window.alert("Der Eintrag 29. Februar ist für " + yr + " nicht gültig!");
return false
}


if (mo<1 || mo>12) {
window.alert("Der Eintrag '" + mo + "' für den Monat ist nicht gültig!");
return false
}


// Prüfung Jahr
if (yr < 01 || yr > 3000) {
window.alert("Der Eintrag für das Jahr ist nicht gültig!");
return false
}

// mind 2 Stellen
if (yr.length < 3) {
window.alert("Der Eintrag für das Jahr ist ungültig!");
return false
}



// Datum kleiner / gleich als heutiges Datum?
// Prüfung bur wenn Vergangenheit auf "nein"
if (Vergangenheit == "nein" && yr <= DiesesJahr)
{
// if ( (yr == DiesesJahr) && (mo >= DieserMonat) && (dy >= DieserTag) )
// if ( (yr == DiesesJahr) && (mo > DieserMonat) && ((mo == DieserMonat) || (dy >= DieserTag)) )
 if ( (yr == DiesesJahr) && (mo > DieserMonat) || ((mo == DieserMonat) && (dy >= DieserTag)) )
 {
 // alert zur Kontrolle Datum Zukunft
 // alert("Datum liegt in der Zukunft und die Werte sind OK");||
 }
 else
 {
 window.alert("Das Datum liegt in der Vergangenheit!!!");
 return false;
 }

}


// zu Testzwecken
//window.alert(dy + "." + mo + "." + yr + " ist ein gültiges Datum!");
return true;
}


