');
pwin.document.writeln('FoTo & DigiTaL Service Ihr Partner für analoge und digitale Fotografie ');
pwin.document.writeln('...wir machen mehr!
');
pwin.document.writeln(' ');
if (dm < 1 ) pwin.document.writeln(' ');
// Variablen;
// KalStil (bitweise 0= nur Kalender, 1=+Kopf, 2=+Fuss, 4=+Hintergrund, 8=+Rahmen),
// KalSize (0 - 7)
// KalBreite (Tabellenbreite 100 - 500)
// dm (1-12 Kalender Monat, dm=0 für Deckblatt);
// dj (Kalender Jahr)
var ATag = 0;
var AMonat = dm;
var AJahr = dj;
AJahr += AJahr<1900?1900:0;
var Jetzt = new Date();
var Termine = new Array();
var SonderTag = new Array();
var FeierTag = new Array();
var Feiertage = ',';
var Spalte = 0;
var Anzahl = 0;
if (KalBreite > 500) KalBreite = 500;
if ((dm > 0) && (Monat < 13)) {
Kalender(dm, dj);
if ((KalStil == 2) || (KalStil == 3) || (KalStil == 6) || (KalStil == 7) || (KalStil == 10) || (KalStil == 11) || (KalStil == 14) || (KalStil == 15)) {
pwin.document.writeln ('| ');
SchreibeTermine();
pwin.document.writeln(' | '); }
}
function Kalender (Monat, Jahr) {
BelegeTermine();
Monatsname = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli",
"August", "September", "Oktober", "November", "Dezember");
Tag = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
var Kopfface = "Arioso,Verdana,Arial";
var WTagface = "Verdana,Arial";
var Datumface = "Verdana,Arial";
var Unterface = "Verdana,Arial";
var Kopfcolor = "#0000FF";
var WTagcolor = "#0000FF";
var Datumcolor = "#000000";
var TagFarbe = "#000000"
var SoFarbe = "#FF0000";
var SetFarbe = "#0000FF";
var MyFarbe = "#FF77FF";
var Kopfsize = KalSize;
var WTagsize = Kopfsize - 6;
var Datumsize = Kopfsize - 4;
var TabRand = "0"; if (KalStil>7) TabRand = 10;
var Hinter1 = "#FFFFFF"; if ((KalStil>3) && (!((KalStil==8)|| (KalStil==9)||(KalStil==10)||(KalStil==11)))) Hinter1="#eeeeee";
var Hinter2 = "#FFFFFF"; if ((KalStil>3) && (!((KalStil==8)|| (KalStil==9)||(KalStil==10)||(KalStil==11)))) Hinter2="#eeeeee";
var Hinter3 = "#FFFFFF";
var jetzt = new Date();
var DieserMonat = jetzt.getMonth() + 1;
var DiesesJahr = jetzt.getYear();
if (DiesesJahr < 999)
DiesesJahr += 1900;
var DieserTag = jetzt.getDate();
var Zeit = new Date(Jahr, Monat - 1, 1);
var Start = Zeit.getDay();
if (Start > 0) {
Start--;
} else {
Start = 6;
}
var Stop = 31;
if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11)--Stop;
if (Monat == 2) {
Stop = Stop - 3;
if (Jahr % 4 == 0)
Stop++;
if (Jahr % 100 == 0)
Stop--;
if (Jahr % 400 == 0)
Stop++;
}
pwin.document.writeln('');
var Monatskopf = Monatsname[Monat - 1] + " " + Jahr;
SchreibeKopf(Monatskopf, Hinter1, Kopfcolor, Kopfsize, Kopfface, WTagcolor, WTagsize, WTagface);
var Tageszahl = 1;
for (var i = 0; i <= 5; i++) {
pwin.document.writeln("");for (var j = 0; j <= 5; j++) {
if ((i == 0) && (j < Start)) {
SchreibeZelle("", Hinter2, Datumcolor, Datumsize, Datumface);
} else {
if (Tageszahl > Stop) {
SchreibeZelle("", Hinter2, Datumcolor, Datumsize, Datumface);
} else {
if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
SchreibeZelle(Tageszahl, Hinter3, Datumcolor, Datumsize, Datumface);
} else {
if (FeierTag[Tageszahl] >0) {Datumcolor=SoFarbe;}
else {
if (SonderTag[Tageszahl]) {Datumcolor=SetFarbe;} else {Datumcolor=TagFarbe;}}
if (FeierTag[Tageszahl] <0) Datumcolor=MyFarbe;
SchreibeZelle(Tageszahl, Hinter2, Datumcolor, Datumsize, Datumface);
}
Tageszahl++;
}
}
}
if (Tageszahl > Stop) {
SchreibeZelle("", Hinter2, SoFarbe, Datumsize, Datumface);
} else {
if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
SchreibeZelle(Tageszahl, Hinter3, SoFarbe, Datumsize, Datumface);
} else {
SchreibeZelle(Tageszahl, Hinter2, SoFarbe, Datumsize, Datumface);
}
Tageszahl++;
}
pwin.document.writeln(" ");
}
pwin.document.writeln(" ");
}
function SchreibeKopf (Monatstitel, HgFarbe, SchrFarbe, SchrGroesse, SchrArt, WTagcolor, WTagsize, WTagface) {
pwin.document.writeln("");
pwin.document.writeln('| ');
pwin.document.writeln('');
if ((KalStil %2)== 1) pwin.document.writeln(Monatstitel);
pwin.document.writeln(" | ");
pwin.document.writeln("");
for (var i = 0; i <= 6; i++)
SchreibeZelle(Tag[i], HgFarbe, WTagcolor, WTagsize, WTagface);
pwin.document.writeln(" ");
}
function SchreibeZelle (Inhalt, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) {
pwin.document.writeln('');
pwin.document.writeln('');
pwin.document.writeln(Inhalt);
pwin.document.writeln(" | ");
}
function Monatsname() {
return Array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November',
'Dezember')[AMonat-1]+' '+AJahr
}
function Monatslaenge(Monat,Jahr) {
return Monat==2?28+(Jahr%4==0 && Jahr%100>0 || Jahr%400==0?1:0):32-(Math.abs(Monat*2-15)%4+1)/2
}
function Rang(Termin) {
return (Termin.Monat*32+Termin.Tag-AMonat*32-ATag+12*32+2)%(12*32)-2
}
function ZeichneFeld(Text,Farbe) {
Spalte = (Spalte+1)%7;
var Feiertag = Spalte==0 || Feiertage.indexOf(','+Text+',')>=0;
pwin.document.writeln("" + (Spalte==1?'':'')+'| '+
(''+Text).fontcolor(Farbe==0?'#A0A0A0':(Feiertag? SoFarbe: TagFarbe)).fontsize(5)+' | '+(Spalte==0?' ':''))
}
function ErzeugeTermin(NFrei,NTag,NMonat,NName) {
this.Frei = NFrei;
this.Tag = NTag;
this.Monat = NMonat;
this.Name = NName
}
function Set(NFrei,NTag,NMonat,NName) {
if (NMonat==AMonat && NFrei==1) Feiertage += NTag+','
var Gesamt = 31;
var Termin = new ErzeugeTermin(NFrei,NTag,NMonat,NName);
if (NMonat == dm) FeierTag[NTag] = NFrei;
if (NMonat == dm) SonderTag[NTag] = NTag;
var Zahl = Anzahl;
while (Zahl>30 && Rang(Termin)Zahl; --Index) Termine[Index] = Termine[Index-1];
Termine[Zahl] = Termin
}
else Termin = null
}
function SetBezug(Frei,Tag,Verschub,Wochentag,Name) {
Tag +=
Verschub-(Tag-Math.ceil(Math.floor(AJahr/100)*7/4)+Math.floor(AJahr%100*5/4)+2-Wochentag)%7+Monatslaenge(2,AJahr);
var Monat = 2;
while (Tag>Monatslaenge(Monat,AJahr)) Tag -= Monatslaenge(Monat++,AJahr);
Set(Frei,Tag,Monat,Name)
}
function SetOstern(Frei,Verschub,Name) {
var Rest = AJahr%19+1;
SetBezug(Frei,57-(Rest*11-6)%30-(Rest*11%30==6+(Rest>11?1:0)?1:0),Verschub,0,Name)
}
function SetJahreszeit(Merkmal,Tag,Monat,Name) {
Set(0,Tag+(Merkmal>>AJahr%4&1),Monat,Name)
}
function BelegeTermine() {
Set(1, 1, 1,'Neujahr');
Set(1, 6, 1,'Hl. Drei Könige');
Set(0,10, 1,'Weltlachtag');
Set(0,14, 2,'Valentinstag');
SetOstern(0,-52,'Schmutzige');
SetOstern(0,-48,'Rosenmontag');
SetOstern(0,-47,'Fastnacht');
SetOstern(0,-46,'Aschermittwoch');
if (Monatslaenge(2,AJahr+(AMonat>2?1:0))>28) Set(0,29, 2,'Schalttag');
Set(0, 8, 3,'Weltfrauentag');
SetJahreszeit( 8,20, 3,'Frühlingsanfang');
Set(1, 1, 5,'Tag d. Arbeit');
SetBezug(1, 75,0,0,'Muttertag');
SetOstern(1, 39,'Christi Himmelfahrt');
Set(0,31, 5,'Weltnichtrauchertag');
SetOstern(1, 49,'Pfingstsonntag');
SetOstern(1, 50,'Pfingstmontag');
SetOstern(1, 60,'Fronleichnam');
SetJahreszeit( 0,21, 6,'Sommeranfang');
Set(0,24, 6,'Johannistag');
Set(0,27, 6,'Siebenschläfer');
Set(0,15, 8,'Mariä Himmelfahrt');
Set(0,20, 9,'Weltkindertag');
SetJahreszeit(14,22, 9,'Herbstanfang');
SetBezug(1,220,0,0,'Erntedankfest');
Set(1, 3,10,'Tag der Dt. Einheit');
Set(0,30,10,'Weltspartag');
Set(0,31,10,'Helloween');
Set(1, 1,11,'Allerheiligen');
Set(0, 2,11,'Allerseelen');
Set(0, 3,11,'Weltmännertag');
Set(0,11,11,'Martinstag');
Set(0, 6,12,'Nikolaus');
Set(0, 8,12,'Mariä Empfängnis');
SetJahreszeit(12,21,12,'Winteranfang');
Set(0,24,12,'Heiligabend');
Set(1,25,12,'Weihnachten');
Set(1,26,12,'2. Weihnachtstag');
Set(0,31,12,'Silvester');
SetBezug(1,264,0,0,'Volkstrauertag');
SetBezug(0,267,0,3,'Buß- und Bettag');
SetBezug(1,271,0,0,'Totensonntag');
SetBezug(1,278,0,0,'1. Advent');
SetBezug(1,285,0,0,'2. Advent');
SetBezug(1,292,0,0,'3. Advent');
SetBezug(1,299,0,0,'4. Advent');
SetOstern(1, -7,'Palmsonntag');
SetOstern(0, -3,'Gründonnerstag');
SetOstern(1, -2,'Karfreitag');
SetOstern(1, 0,'Ostersonntag');
SetOstern(1, 1,'Ostermontag');
SetOstern(1, 7,'Weißer Sonntag');
if (Monat < 13) Set(-1, 30, 3,'Geburtstag Autor');
if (Monat < 13) Set(-1, 22, 6,'F&D-Service Jahrestag');
if ((KalDat1 >"0") && (Monat < 13)) Set(-1, KalDat1,dm, KalTxt1);
if ((KalDat2 >"0") && (Monat < 13)) Set(-1, KalDat2,dm, KalTxt2);
if ((KalDat3 >"0") && (Monat < 13)) Set(-1, KalDat3,dm, KalTxt3);
if ((KalDat4 >"0") && (Monat < 13)) Set(-1, KalDat4,dm, KalTxt4);
}
function SchreibeTermine() {
var ARang = AMonat*32+ATag;
for (var Zahl = 0; Zahl ");
if (((Zahl+1) % 5) < 1) pwin.document.writeln(" ");
Datum = null;
VMonat = Monat
};
Termine[Zahl] = null
}
pwin.document.writeln(' |