
<!--
var Monate =
[
{name:"Januar", name_js:"Januar", tage:31},
{name:"Februar", name_js:"Februar", tage:28},
{name:"M&auml;rz", name_js:"M\xE4rz", tage:31},
{name:"April", name_js:"April", tage:30},
{name:"Mai", name_js:"Mai", tage:31},
{name:"Juni", name_js:"Juni", tage:30},
{name:"Juli", name_js:"Juli", tage:31},
{name:"August", name_js:"August", tage:31},
{name:"September", name_js:"September", tage:30},
{name:"Oktober", name_js:"Oktober", tage:31},
{name:"November", name_js:"November", tage:30},
{name:"Dezember", name_js:"Dezember", tage:31}
]
var Wochentage =
[
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
]
function get4DigitYear(theDate)
{
if(theDate.getFullYear)
return theDate.getFullYear()
var y = theDate.getYear()
return y + ((y < 1900) ? 1900 : 0)
}
function Ostersonntag(Jahr)
{
if((Jahr < 1583) || (Jahr > 2299))
return null
var m, n
if(Jahr <= 1699)
{
m = 22
n = 2
}
else if(Jahr <= 1799)
{
m = 23
n = 3
}
else if(Jahr <= 1899)
{
m = 23
n = 4
}
else if(Jahr <= 2099)
{
m = 24
n = 5
}
else if(Jahr <= 2199)
{
m = 24
n = 6
}
else
{
m = 25
n = 0
}
var a = Jahr % 19
var b = Jahr % 4
var c = Jahr % 7
var d = (19 * a + m) % 30
var e = (2 * b + 4 * c + 6 * d + n) % 7
var t = 22 + d + e
if(t > 31)
{
t = t - 31
if(t == 26)
t = 19
else if(t == 25)
{
if((d == 28) && (e == 6) && (a > 10))
t = 18
}
return new Date(Jahr, 3, t, 12, 0, 0)
}
return new Date(Jahr, 2, t, 12, 0, 0)
}
function VierterAdvent(Jahr)
{
var StartDatum = new Date(Jahr, 11, 25, 12, 0, 0)
var WTag = StartDatum.getDay()
var Temp = StartDatum.getTime()
StartDatum.setTime(Temp - ((WTag == 0) ? 7 : WTag) * 86400000)
return StartDatum
}
function feiertag(datum, name)
{
this.datum = datum
this.datum.setHours(12)
this.datum.setMinutes(0)
this.datum.setSeconds(0)
this.name = name
return this
}
function feiertag_time(time, name, flag)
{
var TempDate = new Date()
TempDate.setTime(time)
this.datum = TempDate
this.datum.setHours(12)
this.datum.setMinutes(0)
this.datum.setSeconds(0)
this.name = name
return this
}
function compare_date(d1, d2)
{
if(d1.datum.getTime() < d2.datum.getTime())
return -1
if(d1.datum.getTime() > d2.datum.getTime())
return 1
return 0
}
function feiertage(Jahr)
{
var TagMS = 86400000
var Feiertag = new Array()
var cnt = 0
var Ostern = Ostersonntag(Jahr)
var OTime = Ostern.getTime()
Feiertag[cnt] = new feiertag(Ostern, "Ostersonntag")
Feiertag[++cnt] = new feiertag_time(OTime + TagMS, "Ostermontag")
Feiertag[++cnt] = new feiertag_time(OTime + 39 * TagMS, "Christi Himmelfahrt")
Feiertag[++cnt] = new feiertag_time(OTime + 49 * TagMS, "Pfingstsonntag")
Feiertag[++cnt] = new feiertag_time(OTime + 50 * TagMS, "Pfingstmontag")
Feiertag[++cnt] = new feiertag_time(OTime + 60 * TagMS, "Fronleichnam (b)")
Feiertag[++cnt] = new feiertag_time(OTime - 48 * TagMS, "Rosenmontag (n)", true)
Feiertag[++cnt] = new feiertag_time(OTime - 47 * TagMS, "Fastnacht (n)")
Feiertag[++cnt] = new feiertag_time(OTime - 46 * TagMS, "Aschermittwoch (n)")
Feiertag[++cnt] = new feiertag_time(OTime - 2 * TagMS, "Karfreitag")
var Advent4 = VierterAdvent(Jahr)
var A4Time = Advent4.getTime()
Feiertag[++cnt] = new feiertag(Advent4, "4. Advent")
Feiertag[++cnt] = new feiertag_time(A4Time - 7 * TagMS, "3. Advent")
Feiertag[++cnt] = new feiertag_time(A4Time - 14 * TagMS, "2. Advent")
Feiertag[++cnt] = new feiertag_time(A4Time - 21 * TagMS, "1. Advent")
Feiertag[++cnt] = new feiertag_time(A4Time - 28 * TagMS, "Totensonntag")
Feiertag[++cnt] = new feiertag_time(A4Time - 35 * TagMS, "Volkstrauertag")
Feiertag[++cnt] = new feiertag_time(A4Time - 32 * TagMS, "Bu&szlig;- und Bettag (b)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 0, 1), "Neujahr")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 0, 6), "Heilige 3 K&ouml;nige (b)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 1, 14), "Valentinstag (n)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 4, 1), "Maifeiertag")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 7, 15), "Maria Himmelfahrt (b)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 9, 3), "Tag der Deutschen Einheit")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 9, 31), "Reformationstag (b)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 10, 1), "Allerheiligen (b)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 11, 6), "Nikolaus (n)")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 11, 24), "Heiligabend")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 11, 25), "1. Weihnachtstag")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 11, 26), "2. Weihnachtstag")
Feiertag[++cnt] = new feiertag(new Date(Jahr, 11, 31), "Silvester")
Feiertag.sort(compare_date)
return Feiertag
}
function Kalender(monat, jahr)
{
var pct = 0
var Monat = new Date(jahr, monat - 1, 1)
var Heute = new Date()
var DieserTag = null
function pcta(p)
{
status = "Aufbereitung Kalender " + String(p) + "% fertig."
}
pcta(pct)
if((Heute.getMonth() == Monat.getMonth()) &&
(get4DigitYear(Heute) == get4DigitYear(Monat)))
DieserTag = Heute.getDate()
var Jahr = get4DigitYear(Monat)
if((!(Jahr % 4) && (Jahr % 100)) || !(Jahr % 400))
Monate[1].tage = 29
AnzahlTage = Monate[Monat.getMonth()].tage
var StartTag = Monat.getDay() - 1
if(StartTag < 0)
StartTag = 6
var Feiertage = feiertage(Jahr)
var RelevanteFeiertage = new Array()
pct += 5
pcta(pct)
var j
var cnt = 0
for(j = 0; j < Feiertage.length; j++)
if(Feiertage[j].datum.getMonth() == Monat.getMonth())
RelevanteFeiertage[cnt++] = Feiertage[j]
with(document)
{
open("text\/html")
writeln("<div id=\"Kalenderblatt\">")
writeln("<h1 id=\"Titel\">" + Monate[Monat.getMonth()].name + " " + String(Jahr) + "<\/h1>")
document.title = "Kalenderblatt " + Monate[Monat.getMonth()].name_js + " " + String(Jahr)
writeln("<table id=\"Kalender\">")
writeln("<thead>")
write("<tr><th width=\"14%\">" + Wochentage[1] + "<\/th>")
write("<th width=\"14%\">" + Wochentage[2] + "<\/th>")
write("<th width=\"14%\">" + Wochentage[3] + "<\/th>")
write("<th width=\"14%\">" + Wochentage[4] + "<\/th>")
write("<th width=\"14%\">" + Wochentage[5] + "<\/th>")
write("<th width=\"15%\">" + Wochentage[6] + "<\/th>")
writeln("<th width=\"15%\">" + Wochentage[0] + "<\/th><\/tr>")
writeln("<\/thead>")
write("<tbody>")
var column = StartTag
write("<tr>")
var i
for(i = 0; i < StartTag; i++)
write("<td class=\"Leer\">&nbsp;<\/td>")
for(i = 1; i <= AnzahlTage; i++)
{
pct += Math.floor(90 / AnzahlTage)
pcta(pct)
var ftage = ""
for(j = 0; j < RelevanteFeiertage.length; j++)
if(i == RelevanteFeiertage[j].datum.getDate())
ftage += ((ftage == "") ? "" : ", ") + RelevanteFeiertage[j].name
write("<td" + (ftage ? (" class=\"Feiertag\" title=\"" + ftage + "\"") : "") + ">")
if(i == DieserTag)
write("<span id=\"Heute\">")
if(column >= 5)
write("<span class=\"Wochenende\">")
document.write(i)
if(i == DieserTag)
write("<\/span>")
if(column >= 5)
write("<\/span>")
write("<\/td>")
column++
if((column == 7) && (i != AnzahlTage))
{
writeln("<\/tr>")
write("<tr>")
column = 0
}
}
if(column != 0)
for(i = column; i < 7; i++)
write("<td class=\"Leer\">&nbsp;<\/td>")
writeln("<\/tr><\/tbody><\/table>")
var ausg = false
for(j = 0; j < RelevanteFeiertage.length; j++)
{
if(!ausg)
{
write("<table id=\"Feiertage\"><tbody>")
ausg = true
}
write("<tr><td>" +
String(RelevanteFeiertage[j].datum.getDate()) +
".&nbsp;" +
RelevanteFeiertage[j].name +
"<\/td><\/tr>")
}
if(ausg)
write("<\/tbody><\/table>")
writeln("<\/div>")
close()
}
pct = 100
pcta(pct)
}
var aktuell = new Date()
var aktuell_monat = aktuell.getMonth() + 1
var aktuell_jahr = get4DigitYear(aktuell)
var my_monat = aktuell_monat
var my_jahr = aktuell_jahr
if(location.search != "")
{
var werte = unescape(location.search.substring(1))
werte = werte.split("&")
if(werte.length == 2)
{
werte[0] = werte[0].split("=")
if(werte[0][0] == "monat")
my_monat = parseInt(werte[0][1])
if(werte[0][0] == "jahr")
my_jahr = parseInt(werte[0][1])
werte[1] = werte[1].split("=")
if(werte[1][0] == "monat")
my_monat = parseInt(werte[1][1])
if(werte[1][0] == "jahr")
my_jahr = parseInt(werte[1][1])
}
}
var l = location.href
if(l.indexOf("?") != -1)
{
l = location.href.split("?")
l = l[0]
}
var vor = new Date(my_jahr, my_monat - 2, 1)
var nach = new Date(my_jahr, my_monat, 1)
with(document)
{
open("text/html")
if((my_monat != aktuell_monat) || (my_jahr != aktuell_jahr))
write("<link rel=\"up\" title=\"Aktueller Monat\" href=\"" + l + "?monat=" + String(aktuell_monat) + "&jahr=" + String(aktuell_jahr) + "\">")
write("<link rel=\"prev\" title=\"Voriger Monat\" href=\"" + l + "?monat=" + String(vor.getMonth() + 1) + "&jahr=" + String(get4DigitYear(vor)) + "\">")
write("<link rel=\"next\" title=\"N&auml;chster Monat\" href=\"" + l + "?monat=" + String(nach.getMonth() + 1) + "&jahr=" + String(get4DigitYear(nach)) + "\">")
var i
for(i = 0; i < 12; i++)
write("<link rel=\"chapter\" title=\"" + Monate[i].name + " " + String(aktuell_jahr) + "\" href=\"" + l + "?monat=" + String(i + 1) + "&jahr=" + String(aktuell_jahr) + "\">")
close()
}
//-->