function checkDate(element,trennzeichen,text,fullyear,alter,altermessage,alterdelete,onlyfuture,onlyfuturemessage,onlyfuturedelete)
{	
//	if(!fullyear || fullyear > 4)
//	{
		fullyear = 4;
//	}	
	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 < fullyear)
            {   
                var date = new Date();
                var jahr = date.getFullYear();
                var monat = String(date.getMonth() + 1);                
                if (monat.length == 1)
                    monat = "0" + monat;
                var tag = String(date.getDate());
                if (tag.length == 1)
                    tag = "0" + tag;
                
                if ( monate + '-' + tage < monat + '-' + tag)
                    jahr++;

                jahr = String(jahr);
        
				if(jahre.length == 2 && jahre > parseFloat(jahr.substr(2,2)) + 5)
				{
					jahre = "19"+jahre;
				}else{
					jahre = jahr.substr(4-fullyear,fullyear-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;
		if(alter)
		{
			checkAdult = new Date();
			if(jahre < 1900)
			{
				alert("Geburtsgtagserkennung funktioniert nur mit 4 Stelligem Datum!!");
				return false;
			}
			if(checkAdult.getFullYear() - jahre > alter)
			{
				if(checkAdult.getMonth()+1 - monate == 0)
				{
					if(checkAdult.getDate() - tage == 0)
					{
//						alert("Herzlichen Glückwunsch zum "+(checkAdult.getFullYear() - jahre)+". Geburtstag!");
					}
				}
				return true;
			}
			
			if(checkAdult.getFullYear() - jahre == alter)
			{
				if(checkAdult.getMonth()+1 - monate > 0)
				{
					return true;
				}
				if(checkAdult.getMonth()+1 - monate == 0)
				{
					if(checkAdult.getDate() - tage > 0)
					{
						return true;
					}
					if(checkAdult.getDate() - tage == 0)
					{
//						alert("Herzlichen Glückwunsch zum 18 Geburtstag!");
						return true;
					}

				}
			}
			
			if(altermessage)
			{
				alert(altermessage);
			}		
			if(alterdelete)
			{
				element.value = "";
			}
			return false; 
		}else if(onlyfuture)		
		{
			heute = new Date();
			gestern = new Date(jahre, monate-1, tage);
			if(heute.getTime() > gestern.getTime())
			{
				if(onlyfuturedelete)
				{
					element.value = "";					
				}

				if(onlyfuturemessage)
				{
					alert(onlyfuturemessage);
				}
				return false;
			}
		}
		return true;
	}else{
		if(text && datum.length > 0){
			alert(text);
		}
		element.value = "";
		return false;
	}	
}

