function DateFunctions(){
	this.monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	this.getDateStr = function(sqlDate){
		//alert(sqlDate);
		var tAdd="";
		if(typeof sqlDate=="undefined")
			return false;
		if(sqlDate=="")
			return false;	
		if(sqlDate.indexOf(":")>-1)
		{
			var tSplit=sqlDate.split(" ");
			if(tSplit[1].indexOf(".")>-1)
			{
				var t2Split=tSplit[1].split(".");
				tAdd=" "+t2Split[0];
			}
			else
			{
				tAdd=" "+tSplit[1];
			}
			var dSplit=tSplit[0].split("-");
		}
		else
		{
			var dSplit=sqlDate.split("-");	
		}
		var erg=dSplit[2]+"."+dSplit[1]+"."+dSplit[0]+tAdd;
		return erg;
	}
	this.getDateArray = function(sqlDate){
		var tAdd="";
		var result=new Object();
		var dSplit,d2Split,tSplit,t2Split
		if(typeof sqlDate=="undefined")
			return false;
		if(sqlDate=="")
			return false;	
		if(sqlDate.indexOf(":")>-1)
		{
			d2Split=sqlDate.split(" ");
			dSplit=d2Split[0].split("-");
			tSplit=d2Split[1].split(":");
			result['hour']=tSplit[0];
			result['minute']=tSplit[1];
			if(tSplit[1].indexOf(".")>-1)
			{
				t2Split=tSplit[1].split(".");
				result['second']=t2Split[0];				
			}
			else
			{
				result['second']=tSplit[2];
			}			
		}
		else
		{
			dSplit=sqlDate.split("-");	
		}	
		result['day']=dSplit[2];
		result['month']=dSplit[1];
		result['year']=dSplit[0];
		return result;
	}
	this.getMsecsFromSql = function(sqlDate){		
		if(typeof sqlDate=="undefined")
			return false;
		if(sqlDate=="")
			return false;
		var dSplit=sqlDate.split("-");
		var tag=generalFunctions.myParseInt(dSplit[2]);
		var monat=generalFunctions.myParseInt(dSplit[1])-1;
		var jahr=generalFunctions.myParseInt(dSplit[0]);
		var thisDate=new Date(jahr,monat,tag);
		var thisStamp=thisDate.getTime();
		return thisStamp;
	}
	this.getMsecsFromStr = function(dateStr){
		var sqlDate=this.getSqlFromStr(dateStr);
		var erg=this.getMsecsFromSql(sqlDate);
		return erg;
	}
	this.getSqlFromStr = function(dateStr){
		var dSplit=dateStr.split(".");
		var erg=dSplit[2]+"-"+dSplit[1]+"-"+dSplit[0];
		return erg;
	}
	this.getStrFromMs = function(msecs){
		var thisDate=new Date(msecs);
		var erg=GeneralFunctions.makeString(thisDate.getDate())+"."+GeneralFunctions.makeString(thisDate.getMonth()+1)+"."+thisDate.getFullYear();
		return erg;
	}
	this.getSqlFromMs = function(msecs){
		var dateStr=this.getStrFromMs(msecs);
		var erg= this.getSqlFromStr(dateStr);
		return erg;
	}
	this.checkDate = function(tag,monat,jahr,zukunft){	
		zukunft=(typeof zukunft=="undefined") ? false : true;
		if(tag > this.monthLength[monat-1])
			return false;
		if (!tag || !monat || !jahr || tag<1 || monat<1 || jahr<=1900 || monat>12)
			return false;
		if(zukunft)
		{		
			var test=new Date(jahr,monat-1,tag);
			var tMsec=test.getTime();
			var nMsec=reiseData['tDatum'].getTime();
			if(tMsec>nMsec)
				return false;
		}
		return true;
	}
	this.getDayFromMsecs = function(msecs){
		var jetzt=new Date(msecs);
		var erg=days[language][jetzt.getDay()];
		return erg;
	}
	this.sameDay = function(d1,d2){
		//vergleicht, ob die Datumsobjekte d1 und d2 am gleichen Tag sind
		if(d1.getDate() != d2.getDate())
			return false;
		if(d1.getMonth() != d2.getMonth())
			return false;
		if(d1.getFullYear() != d2.getFullYear())
			return false;
		return true;
	}
}
