function checkDate(element,trennzeichen,text)
{

	var datumAngabe = false;
	var datum = element.value;
	if(datum.length > 0 && datum.search(/\d+/) > -1)
	{  
		datum = datum.replace(/\D+/g,trennzeichen);
		if(datum.indexOf(trennzeichen) == datum.lastIndexOf(trennzeichen) && datum.indexOf(trennzeichen) != -1)
		{
			if(datum.indexOf(trennzeichen) < 3){
				datum = datum.substr(0,datum.indexOf(trennzeichen)+3)+trennzeichen+datum.substr(datum.indexOf(trennzeichen)+3,datum.length-datum.indexOf(trennzeichen)+3);
			}else{
				datum = datum.substr(0,2)+trennzeichen+datum.substr(2,datum.length-2);			
			}
		}
		if(datum.indexOf(trennzeichen) == -1)
		{
			switch (datum.length)		
			{
				case 1:			
				case 2:
					datum = datum+trennzeichen+trennzeichen;  
					break;
				case 3:
				case 4:
					datum = datum.substr(0,2) + trennzeichen + datum.substr(2,datum.length-2) + trennzeichen;
					break;
				default:	
					datum = datum.substr(0,2) + trennzeichen + datum.substr(2,2) + trennzeichen + datum.substr(4,datum.length-4);
					break;
			}
		}
		var datum 	= datum.split(trennzeichen)
		var tage 	= datum[0];
		var monate 	= datum[1];
		var jahre 	= datum[2];
		if (tage.search(/\D+/) == -1 && monate.search(/\D+/) == -1 && jahre.search(/\D+/) == -1) 
		{
			if(tage.length == 0){
				var date = new Date();
				tage = String(date.getDate());
			}
			if(tage.length == 1){	
				tage = "0"+tage;
			}
			if(monate.length == 0){ 
				var date = new Date();
				monate = String(date.getMonth()+1);
			}
			if(monate.length == 1){ 
				monate = "0"+monate;
			}
			if(jahre.length < 4){   
				var date = new Date();
				date = String(date.getFullYear());
				jahre = date.substr(0,4-jahre.length) + jahre;
			}
			if(	((tage <= 31 && monate == 1) || (tage <= 29 && monate == 2)  || (tage <= 31 && monate == 3)  || (tage <= 30 && monate == 4)   ||
				 (tage <= 31 && monate == 5) || (tage <= 30 && monate == 6)  || (tage <= 31 && monate == 7)  || (tage <= 31 && monate == 8)   ||
				 (tage <= 30 && monate == 9) || (tage <= 31 && monate == 10) || (tage <= 30 && monate == 11) || (tage <= 31 && monate == 12)) &&
				 (tage > 0)
				)
			{
				if(monate != 2 || tage != 29 || (monate == 2 && tage == 29 && jahre%4 == 0))
				{
					if(monate != 2 || tage != 29 || (jahre%100 != 0 || jahre%400 == 0))
					{
						var datumAngabe = true;
					}
				}
			}
		}
		datum = tage + trennzeichen + monate + trennzeichen + jahre;
	}		
	if(datumAngabe){
		element.value = datum;
		return (true);
	}else{
		if(text && datum.length > 0){
			alert(text);
		}
		element.value = "";
		return (false);
	}	
}

