// einen Stringeigabe auf ein gültiges Datum überprüfen
function checkDate(string)
{
    if(!string) return false;

    var split = string.split(".");
    var day = parseInt(split[0]);
    var month = parseInt(split[1]);
    var year = parseInt(split[2]);
    if(year < 100) year += 2000;
    if(isNaN(year)) year = getFullYear();;

    var check = new Date(year, month - 1, day);
    var day2 = check.getDate();
    var year2 = getFullYear(check);
    var month2 = check.getMonth() + 1;

    if ( year2 == year && month == month2 && day == day2 ) return check;
    return null;
}

function formatDate(datum, uhrzeit)
{
    if(!datum) datum = new Date();

    var y = getFullYear(datum);
    var m = datum.getMonth();m++;
    var d = datum.getDate();


    var uhr = "";
    if(uhrzeit)
    {
       var x = '00' + datum.getHours();
       uhr += ' [' + x.substring( x.length - 2);
       x = '00' + datum.getMinutes();
       uhr += ':' + x.substring(  x.length - 2) + ']';
    }
    var wd = (new Array( 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'))[datum.getDay()]
    return (wd + ' ' + d +"." + m + "." + y + uhr);
}

function getFullYear(date)
{
    if(!date) date = new Date();
    if(typeof date.getFullYear != 'undefined') return date.getFullYear();
    var year = date.getYear();
    if(year < 100) year += 2000;
    if(year < 999) year += 1900;
    return year;
}

function last_Modified(doc)
{
     if(!doc) doc = document;
     var datum = new Date(doc.lastModified);
     var year = getFullYear(datum);

     if(year < 2000) datum.setYear(year + 100);

     return formatDate(datum, true);
}

function deltaDays(date1, date2)
{
    if(!date1 || !date2) return null;
    var time1 = date1.getTime();
    var time2 = date2.getTime();
    return Math.round(Math.abs(time1 - time2) / (1000 * 60 * 60 * 24 ) );
}

function weekOfMonth(d)
{
    if(!d) return null;
    var t = d.getDate();
    var w = 0;
    while(t>0) {t -=7;w++}
    return w;
}