// Funktion berechnet die Differenz zwischen zwei Zeitstempeln
function differenz (d1, d2) {
  // Ist der Timestamp d1 < d2, dann müssen die beiden Werte
  // getauscht werden, da sonst negative Werte berechnet werden.
  if (d1 < d2) {
    var d = d1;
    d1 = d2;
    d2 = d;
  }
  // Vergangene Zeit in ihre Komponenten umrechnen.
  // Vergangene Tage berechnen,...
  var t = Math.floor ((d1 - d2) / (24 * 60 * 60 * 1000));
  // verstrichene Stunden berechnen,...
  var s = Math.floor (((d1 - d2) - (t * 24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
  // Minuten, die zwischenzeitlich vergangen sind...
  var m = Math.floor (((d1 - d2) - (t * 24 * 60 * 60 * 1000) - (s * 60 * 60 * 1000)) / (60 * 1000));
  // und die Sekunden.
  var sec = Math.floor (((d1 - d2) - (t * 24 * 60 * 60 * 1000) - (s * 60 * 60 * 1000) - (m * 60 * 1000)) / 1000);
  // Berechnete Differenz als Rückgabe per Objekt liefern.
  return { 't': t, 's': s, 'm': m, 'sec': sec };
}

// Funktion, welche den Countdown-Timer zyklisch im Ausgabeelement ausgibt.
function update_countdown () {
	var termin = new Date('July 26, 2009 16:00:00 GMT');
  // Datumsobjekt mit aktuellem Datum und ktueller Zeit erzeugen.
  // Von diesem Timestamp ausgehend wird die Differenz zum Termin
  // berechnet.
  var now = new Date ();
  // Varaiable zur Speicherung der auszugebenen Zeichenkette
  // für den Countdown.
  var ausgabe;
  // Variable zur Speicherung der Differenz zwischen Termin und
  // aktuellem Zeitpunkt.
  var diff;
   // Termin in Zukunft
    //ausgabe = '';
    // Wie lange dauert es noch, bis zum Termin?
    diff = differenz (termin, now.getTime ());
   
  document.getElementById('pos1').innerHTML = diff.t;
  document.getElementById('pos2').innerHTML = diff.s;
  document.getElementById('pos3').innerHTML = diff.m;
  document.getElementById('pos4').innerHTML = diff.sec;
}

function countdown_timer()
{
	update_countdown();
	window.setInterval('update_countdown()', 1000);
}
