// JavaScript Document


 <!--
 // (c) 1999 by Thomas Salvador, Freeware
 // http://www.brauchbar.de
 //
 // Die hier gebrachten Scripts koennen Sie nach Belieben verwenden, solange
 // diese Copyright-Meldung vollstaendig und unveraendert enthalten bleibt
 // Jegliche Nutzung mit veraenderter oder entfernter Meldung ist untersagt.

  var heute = new Date();
  var m   = heute.getMonth();
 // Achtung: Folgende Zeilen nicht ändern!
  var ms  = "Januar   Februar  M&auml;rz April    Mai      Juni    Juli     August   September Oktober  November Dezember ".substring(m*9,m*9+9);
  var wd  = heute.getDay();
  var wds = "Sonntag   Montag    Dienstag  Mittwoch  Donnerstag Freitag   Samstag ".substring(wd*10,wd*10+10);
  var TdJ = "Tag: "+getDoy(heute);

  var WoZ =   "Woche: "+genALine(heute);

  var SJp = "Schaltjahr!"
  var SJn = "Kein Schaltjahr!"
  var SJ  = isLeapYear(t4(heute.getYear()));
  switch (SJ)
	{
	case true: Meldung=SJp;break;
   	case false: Meldung=SJn;break;
   }

  var Qu  = getQuarter(heute)+". Quartal";
  var JZ  = getPeriod(heute)+" (Jahreszeit)";
//  var bWT = "bis Weihnachten";


  
function t4(y) {
  return (y < 1000 ? y+1900 : y);
}

// Das zielDatum
var zieljahr  = 2011;   // Jahr, oder 0 wenn jährlich wiederkehrend.
var zielmonat = 05;   // Monat
var zieltag   = 14;   // Tag
var azieljahr = zieljahr;
if (azieljahr==0) {azieljahr = t4(heute.getYear());}
var julziel = ymd2julian(azieljahr,zielmonat,zieltag);
var julheut = ymd2julian(t4(heute.getYear()),heute.getMonth()+1,heute.getDate());
if ((zieljahr==0) && (julheut>=julziel)) {
azieljahr++;
var julziel = ymd2julian(azieljahr,zielmonat,zieltag);
}

function getPeriod(t) {
  var m = t.getMonth()+1;
  var d = t.getDate();
  if ((m < 3) || ( (m == 3) && (d < 20) ) || ((m==12) && ( d > 20)))
    return 'Winter';
  else
    if ((m < 6) || ( (m == 6) && (d < 21)))
      return 'Fr&uuml;hling';
    else
      if ((m < 9) || ((m==9) && (d < 23)))
        return 'Sommer';
      else
        return 'Herbst';
}

function getQuarter(t) {
  return Math.floor(t.getMonth() / 3)+1;
}

function isLeapYear(y) {
  return ((y % 4 == 0) && ((y % 100!= 0) || (y % 400 == 0)));
}

function weekYear(dat, wek) {
  var result = t4(dat.getYear());
  if (wek == 1 && dat.getMonth() == 11)
    result++;
  else
    if (wek > 50 && dat.getMonth() == 0)
      result--;
  return result;
}

function getWeek(dat) {
  var y = t4(dat.getYear());
  var julianDat = getJulian(dat);
  var dowDat = julianDow(julianDat);
  var workJulian;

  if (dowDat == 0)
    workJulian = julianDat - 6;
  else
    workJulian = julianDat - dowDat + 1;

  var julianFirst = ymd2julian(y, 1, 1);
  var weeksFromFirst = Math.floor( (workJulian-julianFirst) / 7) + 1;
  var dowFirst = julianDow(julianFirst);
  var week;
  if (dowFirst == 0 || dowFirst > 4) {
    week = 53 + weeksFromFirst;
    if (week > 53)
      week -= 53;
  } else
    week = 1 + weeksFromFirst;

  if (week >= 53) {
    var tempWeek = getWeek(new Date(y+1, 0, 1));
    if (tempWeek == 1)
      week = 1;
  }
  return week;
}

function ymd2julian(y, m, d) {
  if (m < 3)
    var f = -1;
  else
    var f = 0;

  return Math.floor((1461*(f+4800+y))/4)
       + Math.floor(((m-2-(f*12))*367)/12)
       - Math.floor(3*Math.floor((y+4900+f)/100)/4)
       + d
       - 32075;
}

function getJulian(t) {
  return ymd2julian(t4(t.getYear()), t.getMonth()+1, t.getDate());
}

function doy(y,m,d) {
  return ymd2julian(y,m,d)-ymd2julian(y,1,1)+1;
}

function getDoy(t) {
  return doy(t4(t.getYear()), t.getMonth()+1, t.getDate());
}

function dow(y,m,d) {
  return ((ymd2julian(y,m,d) % 7) + 1) % 7;
}

function julianDow(j) {
  return ((j % 7) + 1) % 7;
}

function genALine(dat) {
  return getWeek(dat);
}

if (julheut < julziel) {
	TbW=julziel-julheut;
	if (TbW==1)
	  var bWT="1 Tag bis zum "+"<br>"+"11. 3Spieleturnier <br>in Zeglingen <br>vom 14.5.2011";
	else
	  var bWT=TbW+" Tage bis zum "+"<br>"+"11. 3Spieleturnier <br>in Zeglingen <br>vom 14.5.2011";
}

 // Vollmond //
 heute.setTime(heute.getTime() + (heute.getTimezoneOffset()*60000));
 var blaueMondZeit = new Date(96, 1, 3, 16, 15, 0);
 var mondPeriode  = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000);
 var mondPhasenZeit = (heute.getTime() - blaueMondZeit.getTime()) % mondPeriode;
 var Vollmond = "Vollmond in "+Math.round((mondPeriode-mondPhasenZeit)/(24*3600*1000))+" Tagen";



