<!--
    function Date_skipTime( aDateStr )
    {
        if( aDateStr.split( " " ).length > 1 )
        {
            return aDateStr.split( " " )[ 0 ];
        }
        else
            return aDateStr;
    }

    function Date_fromString( aDateStr )
    {
        var aDateArray;

        // Deutsches Format testen
        // Tag, Monat, Jahr extrahieren
        aDateArray = Date_skipTime( aDateStr ).split( "." );
        // keine deutsches Format ?
        if( aDateArray.length == 3 )
        {
            // fuehrende Nullen entfernen und in Integer umwandeln
            if( "0" == aDateArray[ 0 ].substring( 0, 1 ) ) aDateArray[ 0 ] = aDateArray[ 0 ].substring( 1 );
            if( "0" == aDateArray[ 1 ].substring( 0, 1 ) ) aDateArray[ 1 ] = aDateArray[ 1 ].substring( 1 );
            aDateArray[ 0 ] = parseInt( aDateArray[ 0 ] );
            aDateArray[ 1 ] = parseInt( aDateArray[ 1 ] );
        }
        else
        {
            // dann entsprechend dem amerikanisches Format aufteilen und Monat und Tag vertauschen
            aDateArray = Date_skipTime( aDateStr ).split( "/" );
            if( 3 == aDateArray.length )
            {
                // fuehrende Nullen entfernen und in Integer umwandeln
                if( "0" == aDateArray[ 0 ].substring( 0, 1 ) ) aDateArray[ 0 ] = aDateArray[ 0 ].substring( 1 );
                if( "0" == aDateArray[ 1 ].substring( 0, 1 ) ) aDateArray[ 1 ] = aDateArray[ 1 ].substring( 1 );
                aDateArray[ 0 ] = parseInt( aDateArray[ 0 ] );
                aDateArray[ 1 ] = parseInt( aDateArray[ 1 ] );
                // Tag und Monat vertauschen
                aDateArray[ 0 ] += aDateArray[ 1 ];
                aDateArray[ 1 ] = aDateArray[ 0 ] - aDateArray[ 1 ];
                aDateArray[ 0 ] -= aDateArray[ 1 ];
            }
            else
            {
                return null;
            }
        }

        // Monat muss 0-11 sein
        aDateArray[ 1 ] -= 1;

        // f. Y2K ggf. Jahrhundert hinzufuegen
        aDateArray[ 2 ] = parseInt( aDateArray[ 2 ] );
        if( aDateArray[ 2 ] < 100 )
        {
            // ergibt bis 2049 den Wert 2000, ab 2050 den Wert 2100
            //var currentCentury = ( new Date() ).getYear() + 50 - ( ( new Date() ).getYear() + 50 ) % 100;
            var currentCentury = 2000;

            if( aDateArray[ 2 ] < 50 )
                aDateArray[ 2 ] += currentCentury;
            else
                aDateArray[ 2 ] += ( currentCentury - 100 );
        }

        // Datum erzeugen
        return new Date( aDateArray[ 2 ], aDateArray[ 1 ], aDateArray[ 0 ] );
    }

    function Date_isDate( aDateStr )
    {
        var aDateArray;

        // Deutsches Format ?
        // Tag, Monat, Jahr extrahieren
        aDateArray = Date_skipTime( aDateStr ).split( "." );
        // keine deutsches Format ?
        if( aDateArray.length < 3 )
        {
            // dann entsprechend dem amerikanisches Format aufteilen und Monat und Tag vertauschen
            aDateArray = Date_skipTime( aDateStr ).split( "/" );
            if( 3 == aDateArray.length )
            {
                // fuehrende Nullen entfernen und in Integer umwandeln
                if( "0" == aDateArray[ 0 ].substring( 0, 1 ) ) aDateArray[ 0 ] = aDateArray[ 0 ].substring( 1 );
                if( "0" == aDateArray[ 1 ].substring( 0, 1 ) ) aDateArray[ 1 ] = aDateArray[ 1 ].substring( 1 );
                aDateArray[ 0 ] = parseInt( aDateArray[ 0 ] );
                aDateArray[ 1 ] = parseInt( aDateArray[ 1 ] );
                // Tag und Monat vertauschen
                aDateArray[ 0 ] += aDateArray[ 1 ];
                aDateArray[ 1 ] = aDateArray[ 0 ] - aDateArray[ 1 ];
                aDateArray[ 0 ] -= aDateArray[ 1 ];
            }
			else
			{
				// Datum hat das Format yyyy-MM-dd
            	aDateArray = Date_skipTime( aDateStr ).split( "-" );
            	if( 3 == aDateArray.length )
				{
					// dd mit yyyy vertauschen
					var temp = aDateArray[ 0 ];
					aDateArray[ 0 ] = aDateArray[ 2 ]
					aDateArray[ 2 ] = temp
				}
			}
        }

        // Alle Angaben vorhanden ?
        if( aDateArray.length == 3 &&
            ! isNaN( parseInt( aDateArray[ 0 ] ) ) &&
            ! isNaN( parseInt( aDateArray[ 1 ] ) ) &&
            ! isNaN( parseInt( aDateArray[ 2 ] ) ) )
        {
            // Monat muss 0-11 sein
            aDateArray[ 1 ] -= 1;

            var aDate = new Date( aDateArray[ 2 ], aDateArray[ 1 ], aDateArray[ 0 ], 12, 0, 0 );

            // Gueltiges Datum ?
            return( aDate.getDate() == aDateArray[ 0 ] &&
                    aDate.getMonth() == aDateArray[ 1 ] &&
                    aDate.getYear() % 100 == aDateArray[ 2 ] % 100 );
        }
        return false;
    }

    function Date_isDayDiff( aNumString )
    {
        if( aNumString.length > 1 )
        {
            return( ( aNumString.charAt( 0 ) == '+' || aNumString.charAt( 0 ) == '-' ) && ! isNaN( parseInt( aNumString.substring( 1 ) ) ) );
        }
        else
        {
            return false;
        }
    }

    function Date_add( aDateStr, aNumString )
    {
        var aDate = Date_fromString( aDateStr );
        var sDays = String_trim( aNumString.substring( 1, aNumString.length ) ),
            nDays = isNaN( parseInt( sDays ) ) ? 0 : parseInt( sDays );

        if( aNumString.charAt( 0 ) == '-' )
        {
            nDays = -nDays;
        }
        var aDate = new Date( aDate.getYear(), aDate.getMonth(), aDate.getDate() + nDays );

        return Date_convert( aDate );
    }

    function Date_convert( aDate )
    {
        //return aDate.toLocaleString().split( " " )[ 0 ];
        return aDate.getDate() + "." + ( aDate.getMonth() + 1 ) + "." + aDate.getYear();
    }


    function Date_checkDates( aFormFieldArray )
    {
        var bOK = true;

        for( var i = 0 ; i < aFormFieldArray.length ; i += 2 )
        {
            var aDateStr = new String( aFormFieldArray[ i ].value );

            // Datumsdifferenz angegeben ?
            if( Date_isDayDiff( aDateStr ) )
            {
                // Dann zu Datum konvertieren
                aFormFieldArray[ i ].value = Date_add( Date_convert( new Date() ), aDateStr );
            }
            else
            {
                // Gueltiges Datum ?
                if( ! Date_isDate( aDateStr ) )
                {
                    // Nein, dann Feldermeldung ausgeben
                    alert( aDateStr + ': Invalid date ; ' + aFormFieldArray[ i + 1 ] );
                    bOK = false;
                }
            }
        }

        return bOK;
    }



    function Date_compare( aDate1, aDate2 )
    {
        return Date.UTC( aDate1.getYear(), aDate1.getMonth(), aDate1.getDate(), aDate1.getHours(), aDate1.getMinutes(), aDate1.getSeconds() ) -
               Date.UTC( aDate2.getYear(), aDate2.getMonth(), aDate2.getDate(), aDate2.getHours(), aDate2.getMinutes(), aDate2.getSeconds() );
    }

//-->
