function istdatum(cur)

{
	// Variablendeklarationen
	//************************************************************
  
	var string = cur;
	var s = cur.value;
	var tag, monat, jahr;
	var position = 0;
	var monatstage = [31,28,31,30,31,30,31,31,30,31,30,31];

	var m_name1 = ["jänner","februar","märz","april","mai","juni","juli","august","september","oktober","november","dezember"];
	var m_name2 = ["jan","feb","mar","apr","mai","jun","jul","aug","sept","okt","nov","dez"];


// leere Eingabe wird hier nicht geprüft
	if( s == "") 
		return true;

// regular expression
//                     T  T   Trennz.     Monat Trennz.    Jahr
	re = new RegExp("(\\d\\d?)[.\\x2d/ ]+(\\w+)[.\\x2d/ ]*(\\d*)","");
	// RegExp testen
	if ( !re.test( s))
	{
		alert("Ungültiges Eingabeformat");
		cur.value="";
		cur.focus();
		return false;
	}

	// RegExp ausführen
	regExpResult=re.exec( s);
		
	tag = regExpResult[1];
	monat = regExpResult[2];
	jahr = regExpResult[3];


	tag_n=parseInt(tag, 10);
	if( isNaN(tag_n) || (tag_n < 1) || (tag_n > 31))
	{
		alert("Tag muß zwischen 1 und 31 liegen!");
		cur.value="";
		cur.focus();
		return false;
	}

	monat_n = parseInt( monat, 10);
	if( isNaN(monat_n))
	{
		// vielleicht alpha-eingabe ?
		for(var i=0; i<12; i++)
		{
			if( m_name1[i].indexOf(monat.toLowerCase())== 0 || m_name2[i].indexOf(monat.toLowerCase())== 0 ) 
			{
				monat = i+1;
				monat_n = parseInt(monat, 10);
				break;
			}
		}
	}
	if (isNaN(monat_n))
	{
		alert("Monatseingabe ist ungültig");
		cur.value="";
		cur.focus();
		return false;
	}
	if(( monat_n < 1) || (monat > 12))
	{
		alert("Es gibt bloß 12 Monate im Jahr  ;-) (den Monatsnamen schon probiert?)");
		cur.value="";
		cur.focus();
		return false;
	}

	jahr_n = parseInt( jahr, 10);

     //   alert(jahr_n);

	if( isNaN(jahr_n))
	{
		year_helper = new Date;
		jahr_n= year_helper.getYear();
		// getYear returns 2-digit values for years between 1900-1999
		if( jahr_n < 100)
			jahr_n += 1900;
	}
	else
	{
                if((jahr_n >= 100) && (jahr_n <= 1899)) {
		alert("Wohl ein bisschen im Jahrhundert geirrt ?");
		cur.value="";
		cur.focus();
		return false;                  
                }   

		if( jahr_n < 100)
		{
			if( jahr_n < 70)
				jahr_n += 2000;
			else
				jahr_n += 1900;
		}
	}

	// schaltjahr ?
	leap=false;
	if( (jahr_n % 4) == 0)
	{
		leap=true;
		if( (jahr_n % 100) == 0)
		{
			leap = false;
			if( (jahr_n % 400) == 0)
				leap = true;
		}
	}

	// passen tag + monat zusammen ?
	if( leap)
		monatstage[1] = 29;
	else	
		monatstage[1] = 28;

	if( monatstage[ monat_n - 1] < tag_n)
	{
		alert("Monat " + m_name1[monat_n - 1] + " hat nicht " + tag_n + " Tage!");
		cur.value="";
		cur.focus();
		return false;
	}
	else
	{
		neudatum = String(tag_n) + "." + String(monat_n) + "." + String(jahr_n);
//		sqldatum = String(jahr_n) + "-" + String(monat_n) + "-" + String(tag_n);
		cur.value = neudatum;
//		cur.value = sqldatum;
		parent.document.write;
	
		return true;
	
		
	}
}