// ****************************************************************************************************************************************************
// START Javascript Datumscheck/Datumsvervollständigung programmed by Stefan Imhof Juni 2005
function Startcheck(inputelement,ErrorMessage) 
{
	var Datum = inputelement.value;
	var Meldung = ErrorMessage;
	var antwort = gueltigesDatum(Datum);
	if (antwort != false)
	{
		if(antwort == "LEER")
		{
			inputelement.value = "";
		}
		else
		{
			inputelement.value = antwort;
		}
	}
	else
	{
		alert(Meldung);
	}
}

function gueltigesDatum (datum)
{
    //Fehlerbehandlung
 if (!datum) return "LEER";
	datum=datum.toString();
	var schluss1
	var schluss2
	var schluss3
	var jetzt = new Date();
	
    //Aufspaltung des Datums
	datum=datum.split(".");
	// gibt es mehr als 2 Punkte?
	if (!datum[3])
	{
		// Teste Tag
		if ((datum[0].length == 0) || (datum[0].length > 3) || (isNaN(datum[0]) == true)) return false;
		if (datum[0].length == 1) {
			schluss1 = "0" + datum[0];
		}
		else
		{
			schluss1 = datum[0];
		}
		
		// Teste Monat
		if (!datum[1])	 
		{
			schluss2 = jetzt.getMonth() + 1;
			if (schluss2.toString().length == 1){	
				schluss2 = "0" + schluss2.toString();
			}
		}
		else
		{
			if (datum[1].length > 2 || (isNaN(datum[1]) == true)) return false;
			if (datum[1].length == 1) {	
				schluss2 = "0" + datum[1];
			}
			else
			{
				schluss2 = datum[1];
			}
		}
		
		// Teste Jahr
		if (!datum[2])	 
		{
			var jetzt = new Date();
			schluss3 = jetzt.getFullYear();
		}
		else
		{
			if ((datum[2].length > 4) || (isNaN(datum[2]) == true)) return false;
			if (datum[2].length == 1) return false;
			if (datum[2].length == 3) return false;
			if (datum[2].length == 2)
			{
				if (parseInt(jetzt.getFullYear())+5 < parseInt("20" + String(datum[2]).charAt(0) + String(datum[2]).charAt(1)))
				{
					schluss3 = "19" + datum[2];
				}
				else
				{
					schluss3 = "20" + datum[2];
				}
			}
			else
			{
				schluss3 = datum[2];
			}
		}
		
		//Entfernung der fuehrenden Nullen und Anpassung des Monats
		var schluss1b = parseInt(schluss1,10);
		var schluss2b = parseInt(schluss2,10)-1;

		//Erzeugung eines neuen Dateobjektes
		var kontrolldatum = new Date(schluss3,schluss2b,schluss1b);
		//Vergleich, ob das eingegebene Datum gleich dem JS-Datum ist
		if (kontrolldatum.getDate()==schluss1b && kontrolldatum.getMonth()== schluss2b && kontrolldatum.getFullYear()==schluss3)
		{
			return schluss1 + "." + schluss2 + "." + schluss3;
		} 
		else
		{
			return false;
		}
   }
   return false;
}

// ENDE Javascript Datumscheck/Datumsvervollständigung programmed by Stefan Imhof Juni 2005
// ****************************************************************************************************************************************************