<!--
function isdatum(cur)
// *************************************************************************
// Programm ist Jahrhundertwechselfähig. Egal welches Jahrhundert!!!!!
// *************************************************************************
{
	// 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"+unescape("%E4")+"nner","februar","m"+unescape("%E4")+"rz","april","mai","juni","juli","august","september","oktober","november","dezember"];
	var m_name2 = ["jannuar","februer","marz","abril","may","juny","july","agust","sebtember","october","november","december"];


// leere Eingabe wird hier nicht geprueft
	if( s == "") 
		return true;

// regular expression
//                     T  T   Trennz.     Monat Trennz.    Jahr
	re = new RegExp("(\\d\\d?)[,\\x2d/.\\x3d/ ]+(\\w+)[,\\x2d/.\\x3d/ ]*(\\d*)","");
	// RegExp testen
	if ( !re.test( s))
	{
		alert('Ung'+unescape('%FC')+'ltiges Eingabeformat');
		cur.value="";
		cur.focus();
		return false;
	}

	// RegExp ausfuehren
	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'+unescape('%FC')+'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);

	if( isNaN(jahr_n) || jahr_n > 9999 || jahr_n < 1000)
	{
		year_helper = new Date;
		jahr_jetzt= year_helper.getYear();
		// getYear returns 2-digit values for years between 1900-1999
		if( jahr_jetzt < 100)
			jahr_jetzt += 1900;
		jahrhundert = parseInt(jahr_jetzt/100);
		jahrzweiste = jahr_jetzt - (jahrhundert*100);
		if( isNaN(jahr_n))
		{
			jahr_n = jahr_jetzt;
		}
		else
		{
			if( jahr_n < 100)
			{
				if (jahrzweiste < 60)
					if (jahr_n < 70)
						jahr_n += (jahrhundert*100);
					else	jahr_n += ((jahrhundert-1)*100);
				else
					if (jahr_n < 70)
						jahr_n += ((jahrhundert+1)*100);
					else	jahr_n += (jahrhundert*100);
			} else if (jahr_n < 1000) {
				if (jahr_n < 300)
					jahr_n += 2000;
				else	jahr_n += 1000;
			} else {
				jahr_n = jahr_jetzt;
			}
		}
	}
	// 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);
		cur.value = neudatum;
		parent.document.write;
		return true;
	}
}
// -->
