var zielDatum = new Date("February 7, 2008, 22:00:00");

function countdown() {
  startDatum=new Date(); // Aktuelles Datum

  // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
  if(startDatum<zielDatum)  {

    var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

    // Jahre
    while(startDatum<zielDatum) {
      jahre++;
      startDatum.setFullYear(startDatum.getFullYear()+1);
    }
    startDatum.setFullYear(startDatum.getFullYear()-1);
    jahre--;

    // Monate
    while(startDatum<zielDatum) {
      monate++;
      startDatum.setMonth(startDatum.getMonth()+1);
    }
    startDatum.setMonth(startDatum.getMonth()-1);
    monate--;

    // Tage
    while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
      tage++;
      startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
    }

    // Stunden
    stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
    startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

    // Minuten
    minuten=Math.floor((zielDatum-startDatum)/(60*1000));
    startDatum.setTime(startDatum.getTime()+minuten*60*1000);

    // Sekunden
    sekunden=Math.floor((zielDatum-startDatum)/1000);

    // Anzeige formatieren
    (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
    (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
    (tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
    (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
    (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
    if(sekunden<10) sekunden="0"+sekunden;
    (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

    document.getElementById('countdown').innerHTML = "Noch " + tage+stunden+minuten+sekunden+"...";

    setTimeout('countdown()',200);
  }
  // Anderenfalls alles auf Null setzen
  else document.getElementById('countdown').innerHTML = "Die Zeit ist um - Heli ist wieder da!";
}
