/**
*  @author Schuler Andi
*  created 3.3.2008
*  Überprüft die Eingaben in zwei Textfeldern gegeneinander und versucht diese in ein Datum 
*  umzuwandeln.
*  Todo: Es soll in Zukunft möglich sein ein Pattern für die Eingabe von aussen mitzugeben.
*/
function checkDate(  idFieldFromDate , idFieldTillDate )
{
	if( !idFieldFromDate )
		return false;
	if( !idFieldTillDate )
		return false;
	
	var fromField = this.document.getElementById( idFieldFromDate ).value;
	var tillField = this.document.getElementById( idFieldTillDate ).value;
	
	
	/* Sollte das Feld leer sein findet keine Prüfung statt */
	if( fromField == "" 
	   || fromField == "YYYY-MM-DD")
	{
		return false;
	}
	
	var dateFrom = parseDate(fromField, '-');
	if( dateFrom )
	{
		/* Das Datum wurde entsprechend geparst, nun wird überprüft, ob das Datum im bis Feld davor liegt... */
		if( tillField == "" || tillField == "YYYY-MM-DD" )
		{
			/* Sollte das Feld leer sein, wird das von Datum übernommen */
			this.document.getElementById( idFieldTillDate ).value = fromField;
			return;
		}
		var tillDate = parseDate( tillField, "-" );
		
		if( !tillDate )
		{
			/* Konnte kein Datum geparst werden wird das von Datum verwendet */
			this.document.getElementById( idFieldTillDate ).value = fromField;
			return;
		}
		else
		{
			if( tillDate < dateFrom )
			/* Sollte das Bis Datum vor dem Von Datum liegen so wird das Von Datum verwendet */
				this.document.getElementById( idFieldTillDate ).value = fromField;
			return;
		}
	}
}


	
function parseDate( dateString, seperator )
{
	/* mit String.matcht gegen regular expression für datePattern prüfen */
	if( dateString == "" )
		return;
	if( seperator == "" )
		return;
		
	var splitter = dateString.split( seperator );
	if( splitter.length == 3 )
	{
		var dateFrom = new Date();
		dateFrom.setYear( splitter[0] );
		dateFrom.setMonth( splitter[1] );
		dateFrom.setMonth( dateFrom.getMonth() - 1 ); // Da Date in JavaScript 0...11
		dateFrom.setDate( splitter[2] );
		return dateFrom;
	}
	return;
}

function formatDate( dateString, pattern )
{
	var returnDate = new Date();
	day = formatDateValue( 'd', pattern, dateString );
	month = formatDateValue( 'm', pattern, dateString );
	year = formatDateValue( 'y', pattern, dateString );
	return;
}

function formatDateValue(was,format,datum)
{
	format=format.substr(1).split(/\%|\.\%|\-\%/);
	datum=datum.split(/\.|\-/);
	for(var i=0;i<datum.length;i++)
		if(format[i]==was)
			return datum[i];
}
