// der Kalender ist frei positionierbar // die verwendete Schrift wird durch die entsprechende style-Anweisung in der html-Datei festgelegt aktuell = new Date(); tag = aktuell.getDate(); ganztag = aktuell.getDate(); tage = aktuell.getDay(); monat = aktuell.getMonth() + 1; monatx = monat if (monat <= 9) monatx = "0" + monat jahr = aktuell.getYear(); wochentag = new Array("So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."); monate = new Array("","Jan.","Feb.","Mär.","Apr.","Mai","Jun.","Jul.","Aug.","Sep.","Okt.","Nov.","Dez."); tagezahl = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31); if (jahr < 1900) jahr = jahr +1900; // umrechnen fuer Mozilla werk = "#FFFFFF"; // Hintergrundfarbe fuer Montag bis Freitag sams = "#d6dff7"; // Hintergrundfarbe fuer Samstag #FE7E02 sonn = "#6487DC"; // Hintergrundfarbe fuer Sonntag #FF0000 feier = "#0066FF"; // Hintergrundfarbe fuer Feiertage #FF0000. Geht allerdings nicht, wenn Feiertag ein Sonntag ist. A.S. // Pfad fuer Bilder zurueck = "kalender/pic/k_back1.gif"; // zurueck (Dreieck links) outlook = "kalender/pic/outlook.gif"; // Outlook-Icon outlook_grey = "kalender/pic/outlook_grey.gif"; // Outlook-Icon vor = "kalender/pic/k_fw1.gif"; // Bild vor (Dreieck rechts) now = "kalender/pic/k_now1.gif"; // aktueller Werktag (roter Kringel) w_now = "kalender/pic/k_w_now1.gif"; // aktueller Wochenendtag (weisser Kringel) // Hintergrundfarben für Bild heute (roter bzw. weisser Kringel), keine Farbe = Transparenz zum Layer atag = "#FFFFFF"; // Mo-Fr atag_sa = "#d6dff7"; // Samstag #FE7E02 atag_so = "#6487DC"; // Sonntag #FF0000 titelhg = "#FFFFFF"; // Hintergrundfarbe fuer Kalenderkopf und -fuss lhg = "#FFFFFF"; // Hintergrundfarbe fuer Layer bzw. Div, keine Farbe = Transparent zum Hintergrund (bgcolor) titelvg = "#021D68"; // Schriftfarbe fuer Kalenderkopf und -fuss monatform = "bold"; // Schriftdicke fuer Kalenderkopf (bold = fett | normal | lighter = dünner) datform = "normal"; // Schriftdicke fuer Kalenderfuß Tag (bold = fett | normal | lighter = dünner) uhrform = "normal"; // Schriftdicke fuer Kalenderfuß Uhr (bold = fett | normal | lighter = dünner) tagfarbe = "#021D68"; // Schriftfarbe fuer Tagesbezeichnungen datumfarbe = "#021D68"; // Schriftfarbe fuer Kalendertage bord = "2px"; // Rahmendicke in Pixel bordfarb = "#6487DC"; // Rahmenfarbe pad = "0px 5px 0px 5px"; // Abstand vom Rahmen zum Kalender in Pixel: oben rechts unten links bordnav = "border-bottom:solid #1E4584 1.0pt;" // Rahmenlinie unter Monatsnavigation (Tabellenkopf), leer lassen wenn kein Rahmen erwünscht, ansonsten folgende Syntax verwenden: bordnav = "border-bottom:solid #1E4584 1.0pt;" bordmon = "border-top:solid #1E4584 1.0pt;" // Rahmenlinie über Datums- und Uhrzeitanzeige, leer lassen wenn kein Rahmen erwünscht, ansonsten folgende Syntax verwenden: bordmon = "border-top:solid #1E4584 1.0pt;" borduhr = "" borddatum = "" idname = "monatskalender"; // Name/ID fuer Kalender zeitintervall = 60000; // Aktualisierungsintervall von Uhr/Kalender. (1000 = 1 Sekunde | 60000 = 1 Minute) // ************************** jtag = tag; jmonat = monat; jjahr = jahr; jsekunde = ""; jminute = ""; jstunde = ""; starttag = 1; minute = 0; stunde = 0; inhalt = ""; if (tag < 10) ganztag = "0" + String(tag); // ************************** ns4 = document.layers; ie4 = document.all; ns6 = document.getElementById && !document.all; var verfahren, posx, posy, aktuellx, aktuelly, kleben; function kalender_schreiben(range, recht, ver_jahr, verf_mon) { document.cookie = "ver_jahr1="+ver_jahr; document.cookie = "verf_mon1="+verf_mon; //document.cookie = "verf_tag1="+verf_tag; document.cookie = "recht1="+recht; document.cookie = "verf_range="+range; if(ns4) { document.write(""); verfahren = document.layers[idname]; } else { document.write("
"); if (ie4 || ns6) verfahren = ns6? document.getElementById(idname) : document.all[idname]; verfahren.style.width = 140; } kanzeige(); } function OsterSonntag(Jahr, TagesDifferenz) { // Erstellt von Ralf Pfeifer (www.arstechnica.de) // Falls kein Datum angegeben, aktuelles Jahr verwenden. if ((Jahr == "") || (Jahr == null)) { Jahr = new Date().getYear() } // Falls ausserhalb des gültigen Datumsbereichs, kein Ergebnis zurueckgeben if ((Jahr < 1970) || (2099 < Jahr)) { return "Datum muss zwischen 1970 und 2099 liegen"; } // Falls keine TagesDifferenz angegeben, TadgesDifferenz auf 0 setzen. if ((TagesDifferenz == "") || (TagesDifferenz == null)) { TagesDifferenz = 0; } var a = Jahr % 19; var d = (19 * a + 24) % 30; var Tag = d + (2 * (Jahr % 4) + 4 * (Jahr % 7) + 6 * d + 5) % 7; if ((Tag == 35) || ((Tag == 34) && (d == 28) && (a > 10))) { Tag -= 7; } var OsterDatum = new Date(Jahr, 2, 22) // 86400000 = 24 h * 60 min * 60 s * 1000 ms // Die Zahl 86400000 nicht ausklammern, sonst gibt's Probleme bei der Typumwandlung !! OsterDatum.setTime(OsterDatum.getTime() + 86400000 * TagesDifferenz + 86400000 * Tag) // Datum formatieren OsterDatumtag = OsterDatum.getDate(); if(OsterDatumtag<10){OsterDatumtag = "0"+OsterDatumtag;} OsterDatummon = OsterDatum.getMonth()+1; if(OsterDatummon<10){OsterDatummon = "0"+OsterDatummon;} OsterDatum1 = OsterDatumtag+"."+OsterDatummon; // Uhrzeit aus dem Datum entfernen //OsterDatum = OsterDatum.substring(0, OsterDatum.length - 9); return OsterDatum1; } // --> function kanzeige() { tagezahl[2] = schaltjahr(jjahr); jetzt(); zeit_ermitteln(); kalender(); txt(); zeitakt = window.setTimeout("kanzeige()",zeitintervall); } function txt() { if(ns4) if(document.layers[idname]){ document.layers[idname].document.open('text/html'); document.layers[idname].document.write(inhalt); document.layers[idname].document.close(); } if(ie4) if(document.all[idname]) document.all[idname].innerHTML = inhalt; if(ns6) if(document.getElementById(idname)) document.getElementById(idname).innerHTML = inhalt; } function zeit_ermitteln() { aktuell = new Date(); sekunde = aktuell.getSeconds(); minute = aktuell.getMinutes(); stunde = aktuell.getHours(); jstunde = String(stunde); jminute = String(minute); jsekunde = String(sekunde); if (minute < 10) jminute = "0" + String(minute); if (sekunde < 10) jsekunde = "0" + String(sekunde); } function schaltjahr(j) { t = 28; if (j % 4 == 0) { t = 29; if (j % 100 == 0 && j % 400 != 0) t = 28; } return t; } function jetzt() { jdat = new Date(jjahr,jmonat-1,1); starttag = jdat.getDay(); if (starttag == 0) starttag = 7; } function monatzurueck() { window.clearTimeout(zeitakt); jmonat--; if (jmonat<1) { jmonat = 12; jjahr--; if (jjahr < 1970) { jjahr = 1970; jmonat = 1; } } kanzeige(); } function monatvor() { window.clearTimeout(zeitakt); jmonat++; if (jmonat > 12) { jmonat = 1; jjahr++; } kanzeige(); } function stellen() { jtag = tag; jmonat = monat; jjahr = jahr; kanzeige(); } function getCookie(name) { var i=0; //Suchposition im Cookie var suche = name + "="; while (i -1) ? ende : document.cookie.length; var cook = document.cookie.substring(i + suche.length, ende); return unescape(cook); } i++; } return ""; } function kalender() { recht1 = getCookie('recht1'); zahlenstring = getCookie('verf_range'); ver_jahr1 = getCookie('ver_jahr1'); verf_mon1 = getCookie('verf_mon1'); Array.prototype.multipush = function(){ for( i=0; i"; trtag1 = ""; style1 = "style=\"border:none; "+bordnav+" font-weight: "+monatform+"; background-color: "+titelhg+"; color: "+titelvg+";\""; style2 = "style=\"border:none; "+borduhr+" font-weight: "+uhrform+"; background-color: "+titelhg+"; color: "+titelvg+";\""; style3 = "style=\"border:1;"+ bordmon+borduhr+" font-weight: "+uhrform+"; background-color: "+titelhg+"; color: "+titelvg+";\""; tdtag = ""; inhalt = ""; inhalt = inhalt + trtag; // Uhrzeit im Tabellenkopf anzeigen //inhalt = inhalt + ""; //inhalt = inhalt + "" + trtag; inhalt = inhalt + ""; if (recht1 == 1){ // by Ali: Outlooksymbol anzeigen, wenn Recht vorhanden //inhalt = inhalt + ""; // Unterscheidung, ob solange daten vorhanden sind fehlt noch! if(jmonat < 10){ // vor dem MONAT noch eine 0 setzen, wenn kleiner 10, sonst ist die Überprüfung nach dem verfügbaren Monat nicht zutreffend 20081 <=200712 --> wird zu 200801 <= 200712 var monat2 = "0"+jmonat; }else{ var monat2 = jmonat; } if(verf_mon1 < 10){ // vor dem MONAT noch eine 0 setzen, wenn kleiner 10, sonst ist die Überprüfung nach dem verfügbaren Monat nicht zutreffend 20081 <=200712 --> wird zu 200801 <= 200712 var verf_monat2 = "0"+verf_mon1; }else{ var verf_monat2 = verf_mon1; } verfdatum = parseInt(ver_jahr1+verf_monat2); aktdatum = parseInt(jjahr+""+monat2); //alert(aktdatum+" <= "+verfdatum); if(aktdatum <= verfdatum){ inhalt = inhalt + ""; }else{ inhalt = inhalt + ""; } }else{ inhalt = inhalt + ""; } inhalt = inhalt + ""; inhalt = inhalt + trtag + ""; zahl = 0; for(asl=1; asl<7; asl++) { inhalt = inhalt + trtag; for(bsl=1; bsl<8; bsl++) { zahl++; karfreitag = OsterSonntag(jjahr,-2); karfreitag_tag = karfreitag.substring(0,2); karfreitag_mon = karfreitag.substring(3,5); ostersonntag = OsterSonntag(jjahr,0); ostersonntag_tag = ostersonntag.substring(0,2); ostersonntag_mon = ostersonntag.substring(3,5); ostermontag = OsterSonntag(jjahr,1); ostermontag_tag = ostermontag.substring(0,2); ostermontag_mon = ostermontag.substring(3,5); himmelfahrt = OsterSonntag(jjahr,39); himmelfahrt_tag = himmelfahrt.substring(0,2); himmelfahrt_mon = himmelfahrt.substring(3,5); pfingstsonntag = OsterSonntag(jjahr,49); pfingstsonntag_tag = pfingstsonntag.substring(0,2); pfingstsonntag_mon = pfingstsonntag.substring(3,5); pfingstmontag = OsterSonntag(jjahr,50); pfingstmontag_tag = pfingstmontag.substring(0,2); pfingstmontag_mon = pfingstmontag.substring(3,5); fronleichnam = OsterSonntag(jjahr,60); fronleichnam_tag = fronleichnam.substring(0,2); fronleichnam_mon = fronleichnam.substring(3,5); var BussUndBettag = new Date(); //var DatumAktuell = new Date(); //var JahrAktuell = DatumAktuell.getFullYear(); // Datum auf den 25 des laufenden Jahres setzen var Weihnachten = new Date(jjahr, 11, 25, 12, 0, 0) var TagDerWoche = Weihnachten.getDay() var ZeitwertWeihnachten = Weihnachten.getTime() // für den Buß und Bettag vordatieren abhängig vom Wochentag Verschiebung = (((TagDerWoche == 0) ? 7 : TagDerWoche) + 32 )* 86400000; BussUndBettag.setTime(ZeitwertWeihnachten - Verschiebung); var TagDatum = BussUndBettag.getDate(); var MonatDatum = BussUndBettag.getMonth() + 1; // var JahrDatum = BussUndBettag.getFullYear(); // var DatumString = TagDatum + "." + MonatDatum + "." + JahrDatum; bussundbettag_tag = TagDatum; bussundbettag_mon = MonatDatum; if (bsl < 6) farbe = werk; if (bsl == 6) farbe = sams; if (bsl > 6) farbe = sonn; akt = zahl + 1 - starttag; if (jmonat == 1 && akt == 1 || // Neujahr jmonat == 1 && akt == 6 || // Heilige 3 Könige jmonat == karfreitag_mon && akt == karfreitag_tag || // Karfreitag jmonat == ostersonntag_mon && akt == ostersonntag_tag || // Ostersonntag jmonat == ostermontag_mon && akt == ostermontag_tag || // Ostermontag jmonat == himmelfahrt_mon && akt == himmelfahrt_tag || // Himmelfahrt jmonat == 5 && akt == 1 || // Maifeiertag jmonat == pfingstsonntag_mon && akt == pfingstsonntag_tag || // Pfingstsonntag jmonat == pfingstmontag_mon && akt == pfingstmontag_tag || // Pfingstmontag jmonat == fronleichnam_mon && akt == fronleichnam_tag || // Fronleichnam jmonat == 6 && akt == 17 && jjahr < 1992 || // ehemals Tag der Deutschen Einheit jmonat == 10 && akt == 3 && jjahr > 1990 || // Tag der Deutschen Einheit jmonat == 11 && akt == 01 || // Allerheiligen //jmonat == bussundbettag_mon && akt == bussundbettag_tag || // Buß- und Bettag: auskommentiert, soll nicht mehr blau hinterlegt werden jmonat == 12 && (akt == 25 || akt == 26) // Weihnachten ) farbe = feier; if (zahl < starttag || akt > tagezahl[jmonat]) inhalt = inhalt + ""; if (zahl >= starttag && akt <= tagezahl[jmonat]) { if(akt < 10){ // vor dem TAG noch eine 0 setzen, wenn kleiner 10, sonst findet er das Datum im Array nicht 2007-11-04 != 2007-11-4 var akt2 = "0"+akt; }else{ var akt2 = akt; } if(jmonat < 10){ // vor dem Monat noch eine 0 setzen, wenn kleiner 10, sonst findet er das Datum im Array nicht 2007-09-04 != 2007-9-04 var jmonat2 = "0"+jmonat; }else{ var jmonat2 = jmonat; } var derzeit = jjahr+"-"+jmonat2+"-"+akt2; if (akt == tag && jmonat == monat && jjahr == jahr){ // dieser Teil nur innerhalb des heutigen Tags, wg Kringel wahrscheinlich if (bsl < 6 && in_array(a, derzeit) == "true") {inhalt = inhalt + "";} if (bsl < 6 && in_array(a, derzeit) == "false") {inhalt = inhalt + "";} if (bsl == 6 && in_array(a, derzeit) == "true") {inhalt = inhalt + "";} if (bsl == 6 && in_array(a, derzeit) == "false") {inhalt = inhalt + "";} if (bsl > 6 && in_array(a, derzeit) == "true") {inhalt = inhalt + "";} if (bsl > 6 && in_array(a, derzeit) == "false") {inhalt = inhalt + "";} }else{ if (in_array(a, derzeit) == "true") {inhalt = inhalt + "";} if (in_array(a, derzeit) == "false") {inhalt = inhalt + "";} } } } inhalt = inhalt + ""; } inhalt = inhalt + trtag + ""; // anstatt Wochentag den Monat ausschreiben //inhalt = inhalt + trtag + ""; inhalt = inhalt + trtag + ""; // wenn bei der Uhrzeit Sekunden angezeigt werden sollen (zeitintervall auf 1000 setzen): //inhalt = inhalt + trtag + ""; feiertag = new Array(); ln_zaehler = 0; if(jmonat==1){ feiertag[ln_zaehler] = '01.01 Neujahr' ln_zaehler = ln_zaehler + 1; feiertag[ln_zaehler] = '06.01 Hl. 3 Könige' ln_zaehler = ln_zaehler + 1; } if(jmonat==5){ feiertag[ln_zaehler] = '01.05 Maifeiertag' ln_zaehler = ln_zaehler + 1; } if(jmonat==10){ feiertag[ln_zaehler] = '03.10 Dt. Einheit' ln_zaehler = ln_zaehler + 1; } if(jmonat==11){ feiertag[ln_zaehler] = '01.11 Allerheiligen' ln_zaehler = ln_zaehler + 1; } if(jmonat==bussundbettag_mon){ feiertag[ln_zaehler] = bussundbettag_tag+'.'+bussundbettag_mon+' Buß- und Bettag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==12){ feiertag[ln_zaehler] = '25.12 Weihnachten' ln_zaehler = ln_zaehler + 1; feiertag[ln_zaehler] = '26.12 Weihnachten' ln_zaehler = ln_zaehler + 1; } if(jmonat==karfreitag_mon){ feiertag[ln_zaehler] = karfreitag_tag+'.'+karfreitag_mon+' Karfreitag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==ostersonntag_mon){ feiertag[ln_zaehler] = ostersonntag_tag+'.'+ostersonntag_mon+' Ostersonntag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==ostermontag_mon){ feiertag[ln_zaehler] = ostermontag_tag+'.'+ostermontag_mon+' Ostermontag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==himmelfahrt_mon){ feiertag[ln_zaehler] = himmelfahrt_tag+'.'+himmelfahrt_mon+' Himmelfahrt'; ln_zaehler = ln_zaehler + 1; } if(jmonat==pfingstsonntag_mon){ feiertag[ln_zaehler] = pfingstsonntag_tag+'.'+pfingstsonntag_mon+' Pfingstsontag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==pfingstmontag_mon){ feiertag[ln_zaehler] = pfingstmontag_tag+'.'+pfingstmontag_mon+' Pfingstmontag'; ln_zaehler = ln_zaehler + 1; } if(jmonat==fronleichnam_mon){ feiertag[ln_zaehler] = fronleichnam_tag+'.'+fronleichnam_mon+' Fronleichnam'; ln_zaehler = ln_zaehler + 1; } feiertag.sort(); if(ln_zaehler >0){ inhalt = inhalt + trtag1 + ""; for(i=0;i"+feiertag[i]+""; } } inhalt = inhalt + "
"+jstunde+":"+jminute+":"+jsekunde+" Uhr
\"<\""+monate[jmonat]+" "+jjahr+"
\"Outlookexport\"
"+monate[jmonat]+" "+jjahr+"
\"Outlookexport\"
"+monate[jmonat]+" "+jjahr+"
\"Outlookexport\"
"+monate[jmonat]+" "+jjahr+"\"\" onclick=\"monatvor();\" title=\"Einen Monat vor\" style=\"cursor: hand;\">
Mo" + tdtag + "Di" + tdtag + "Mi" + tdtag + "Do" + tdtag + "FrSaSo
 "+""+String(akt)+""+""+String(akt)+""+""+String(akt)+""+""+String(akt)+""+""+String(akt)+""+""+String(akt)+""+""+String(akt)+""+""+String(akt)+"
"+wochentag[tage]+", "+ganztag+"."+monatx+"."+jahr+"
""+ganztag+". "+monate[monat]+" "+jahr+"
"+jstunde+":"+jminute+" Uhr
"+jstunde+":"+jminute+":"+jsekunde+"
Feiertage:
"; } function startbewegen(e){ if (ns4) { posx = e.pageX; posy = e.pageY; aktuellx = window.document[idname].pageX; aktuelly = window.document[idname].pageY; kleben = true; window.captureEvents(Event.MOUSEMOVE); window.onmousemove = bewegen; } if (ie4 && event.srcElement.id == idname || ns6 && e.target.id == idname) { posx = ie4? event.clientX : e.clientX; posy = ie4? event.clientY : e.clientY; aktuellx = parseInt(verfahren.style.left); aktuelly = parseInt(verfahren.style.top); kleben = true; document.onmousemove = bewegen; } } function bewegen(e){ if (kleben) { if (ie4){ verfahren.style.left = aktuellx + event.clientX - posx; verfahren.style.top = aktuelly + event.clientY - posy; } if (ns6){ verfahren.style.left = Number(aktuellx + e.clientX - posx); verfahren.style.top = Number(aktuelly + e.clientY - posy); } if (ns4) window.document[idname].moveTo (aktuellx + e.pageX - posx,aktuelly + e.pageY - posy); } return true; } if(ns4) { window.captureEvents(Event.MOUSEDOWN); window.captureEvents(Event.MOUSEUP); window.onmousedown = startbewegen; window.onmouseup = new Function("kleben=true"); } else { document.onmousedown = startbewegen; document.onmouseup = new Function("kleben=false"); }