var Monatstage = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
function countdown() {
    var jetzt = new Date();
    var day = jetzt.getDate();
    var month = jetzt.getMonth()+1;
    var year = jetzt.getFullYear();
    var Std = jetzt.getHours();
    var Min = jetzt.getMinutes();
    var Sek = jetzt.getSeconds();
    var tag = jetzt.getDay()+1;
    var ziel=0;
    var ist=0;
    var training=0;
    var aktWoche=weekNo();
    var nun= Tag_des_Jahres(day, month, year)*24*60*60+ Std * 60*60 + Min * 60 + Sek;
    var n_tr= nextDay(jetzt);
    var dann= n_tr*24*60*60+18*60*60+30*60;
    var delta= dann-nun;
    var spanne= delta;
    var t= Math.floor( delta / (24*60*60));
    delta= delta % (24*60*60);
    var h= Math.floor( delta / (60*60));
    delta= delta % (60*60);
    var m= Math.floor( delta / 60);
    var s= delta % 60;
    if (h<10) h="0"+h;
    if (m<10) m="0"+m;
    if (s<10) s="0"+s;
    if (window.document.zeit.tage!=null) window.document.zeit.tage.value=t;
    if (window.document.zeit.stunden!=null) window.document.zeit.stunden.value=h;
    if (window.document.zeit.minuten!=null) window.document.zeit.minuten.value=m;
    if (window.document.zeit.sekunden!=null) window.document.zeit.sekunden.value=s;
    if (window.document.zeit.date!=null) window.document.zeit.date.value=nextTrainingsDay(jetzt);

    window.setTimeout ('countdown()',1000);

    return spanne;
 }

 function Tag_des_Jahres(tag,monat,jahr) {
  var Tage = 0;

  Monatstage[1]  = 28 + ist_Schaltjahr(jahr);
  if (tag <= Monatstage[monat-1]) {
     for (var i=0; i < monat-1; i++)
         Tage = Tage + Monatstage[i];
     Tage = Tage + tag;
  }
  return Tage;
 }
 function ist_Schaltjahr(jahr) {
   if (jahr % 4 == 0)
      if (jahr < 1582)
         return 1;
      else if (!(jahr % 100 == 0))
              return 1;
           else if (jahr % 400 == 0)
                   return 1;
   return 0;
 }

function weekNo() {
	return kalenderwoche(new Date());
}
function kalenderwoche(datum) {
  var jh=datum.getYear(); if(jh<1900) jh+=1900; // Anm. 1
  jh++; // Anm. 2
  var kalwo=kaldiff(datum,jh);
  while(kalwo<1) { jh--; kalwo=kaldiff(datum,jh); }
  return kalwo;
}
function kaldiff(datum,jahr) {
  var d4j=new Date(jahr,0,4);
  var wt4j=(d4j.getDay()+6)%7; // Anm. 3
  return Math.floor(1.05+(datum.getTime()-d4j.getTime())/6048e5+wt4j/7); // Anm. 4
}
 function CurrentDoomDay(jahr) {
   var CenturyDoomDay = new Array (5,4,2,0);
   var CC             = Math.floor(jahr/100);
   var YY             = jahr%100;
   var CCDoomDay      = CenturyDoomDay[CC%4];
   var YYDoomDay      = 0;

   if (YY == 0)
      YYDoomDay = CCDoomDay;
   else if (YY%12 == 0)
           YYDoomDay = (CCDoomDay + YY/12 - 1) % 7;
   else YYDoomDay = ( CCDoomDay
                     + (Math.floor(YY/12)
                     + (YY%12)
                     + Math.floor(((YY-1)%12)/4))
                    ) % 7;
   if ((CC%4 == 0) && (YY != 0))
      YYDoomDay = (YYDoomDay + 1) % 7;

   return YYDoomDay;
}
 function firstFriday(jahr) {
  var dayNr= CurrentDoomDay(jahr);
   var tag= 1;
  if (dayNr<=4) tag =tag+(4-dayNr);
  else tag= tag+7+4-dayNr;
  return Tag_des_Jahres(tag, 1, jahr);
 }

 function firstFridayWoche(jahr){
  var woche= kalenderWoche(firstFriday(jahr), 0,jahr)
  if (woche==53) woche=0;
  return woche;
}
function nextDay(datum) {
 var jahr=datum.getFullYear();
 var monat= datum.getMonth();
 var tag=datum.getDate();
 var friday1=firstFriday(jahr);
 var tagnr= Tag_des_Jahres(tag, monat+1, jahr);
 var fridaynr=0;
 var k=0;
 var i=-1;
 while (k<tagnr) {
     i++;
     k=(wochen[i])*7 +friday1;
 }
 if ((k==tagnr)&&(datum.getHours()>=18) && (datum.getMinutes()>=30)) k=wochen[i+1]*7 +friday1;

 return k;
}
function nextTrainingsDay(datum) {
 var jahr=datum.getFullYear();
 var monat= datum.getMonth();
 var tag=datum.getDate();
 var friday1=firstFriday(jahr);
 var tagnr= Tag_des_Jahres(tag, monat+1, jahr);
 var fridaynr=0;
 var k=0;
 var i=-1;
 while (k<tagnr) {
     i++;
     k=(wochen[i])*7+friday1;
 }
 if ((k==tagnr)&&(datum.getHours()>=18) && (datum.getMinutes()>=30)) k=wochen[i+1]*7 +friday1;
 return TrainingsDatum(k, jahr);
}
 function TrainingsDatum(Tag_des_Jahres, jahr) {

  Monatstage[1]  = 28 + ist_Schaltjahr(jahr);
  var monat=0;
  var tag= Tag_des_Jahres;
  if (tag > Monatstage[0]) {
     while (tag>Monatstage[monat]) {
         tag = tag - Monatstage[monat];
         monat++;
     }
     //monat=monat+2;
  }
  monat++;
  tr= new Date(jahr, monat-1, tag);
  if (tr.getDay()<5) tag++;
  return tag+'.'+monat+'.'+jahr;
 }