// 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("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
monate = new Array("","Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
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 = "#FFFFFF";		// Hintergrundfarbe fuer Samstag
sonn = "#FFFFFF";		// Hintergrundfarbe fuer Sonntag

// Pfad fuer Bilder
zurueck = "/img/monat_zurueck.gif";	// zurueck (Dreieck links)
vor = "/img/monat_vor.gif";		// Bild vor (Dreieck rechts)
lhg = "#FFFFFF";		// Hintergrundfarbe fuer Layer bzw. Div, keine Farbe = Transparent zum Hintergrund (bgcolor)
idname = "monatskalender";	// Name/ID fuer Kalender

// **************************

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() {
	if(ns4) {
		document.write("<layer name=\""+idname+"\" id=\""+idname+"\" style=\"background-color: " + lhg + "\"></layer>");
		verfahren = document.layers[idname];
	}
	else {
		document.write("<div id=\"" + idname + "\" style=\"background-color: " + lhg + "\"></div>");
		if (ie4 || ns6) verfahren = ns6? document.getElementById(idname) : document.all[idname];
		verfahren.style.width = 160;
	}
	kanzeige();
}
function kanzeige() {
	tagezahl[2] = schaltjahr(jjahr);
	jetzt();
	zeit_ermitteln();
	kalender();
	txt();
}
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() {
	jmonat--;
	if (jmonat<1) {
		jmonat = 12;
		jjahr--;
		if (jjahr < 1970) {
			jjahr = 1970;
			jmonat = 1;
		}
	}
	kanzeige();
}
function monatvor() {
	jmonat++;
	if (jmonat > 12) {
		jmonat = 1;
		jjahr++;
	}
	kanzeige();
}
function stellen() {
	jtag = tag;
	jmonat = monat;
	jjahr = jahr;
	kanzeige();
}
function kalender() {
	trtag = "<tr>";
	tdtagheadfirst = "<td class='head first'>";
	tdtaghead = "<td class='head'>";
	
	inhalt = "<div id='kalender'><div id='monat'>";
	inhalt = inhalt + "<div class='monatswitch'><img src='"+zurueck+"' alt='' onclick='monatzurueck();' title='Einen Monat zur&uuml;ck' style='cursor: hand;'/></div>";
	inhalt = inhalt + "<div class='monatswitch-text'>" +monate[jmonat]+ "&nbsp;" +jjahr+"</div>";
	inhalt = inhalt + "<div class='monatswitch'><img src='"+vor+"' alt='' onclick='monatvor();' title='Einen Monat vor' style='cursor: hand;'/></div>";
	inhalt = inhalt + "</div>"
	inhalt = inhalt + "<table id='tabelle' cellspacing='0' cellpadding='0' border='0' class='clear'>"
	inhalt = inhalt + trtag + tdtagheadfirst + "Mo</td>" + tdtaghead + "Di</td>" + tdtaghead + "Mi</td>" + tdtaghead + "Do</td>" + tdtaghead + "Fr</td>"+ tdtaghead + "Sa</td>"+ tdtaghead +"So</td></tr>";
	zahl = 0;
	for(asl=1; asl<7; asl++) {
		inhalt = inhalt + trtag;
		for(bsl=1; bsl<8; bsl++) {
			zahl++;
			akt = zahl + 1 - starttag;
			if (jmonat == 1 && akt == 1 || jmonat == 5 && akt == 1 || jmonat == 6 && akt == 17 && jjahr < 1992 || jmonat == 10 && akt == 3 && jjahr > 1990 || jmonat == 12 && (akt == 25 || akt == 26)) farbe = sonn;
			if (zahl < starttag || akt > tagezahl[jmonat]) {
				if (bsl == 1) {inhalt = inhalt + "<td class='nodate first'>&nbsp;</td>";}
				else if (bsl > 1) {inhalt = inhalt + "<td class='nodate'>&nbsp;</td>";}
			}
			if (zahl >= starttag && akt <= tagezahl[jmonat]) {
				if (akt == tag && jmonat == monat && jjahr == jahr)
					{
						if (bsl == 1) {inhalt = inhalt + "<td class='tag first active' onclick='eventsearch(\""+String(akt)+"."+jmonat+"."+jjahr+"\");' style='cursor: hand;'>"+String(akt)+"</td>";}
						else if (bsl > 1) {inhalt = inhalt + "<td class='tag active' onclick='eventsearch(\""+String(akt)+"."+jmonat+"."+jjahr+"\");' style='cursor: hand;'>"+String(akt)+"</td>";}
					}
				else {
					if (bsl == 1) {inhalt = inhalt + "<td class='tag first' onclick='eventsearch(\""+String(akt)+"."+jmonat+"."+jjahr+"\");' style='cursor: hand;'>"+String(akt)+"</td>";}
					else if (bsl > 1) {inhalt = inhalt + "<td class='tag' onclick='eventsearch(\""+String(akt)+"."+jmonat+"."+jjahr+"\");' style='cursor: hand;'>"+String(akt)+"</td>";}
					}
			}
		}
		inhalt = inhalt + "</tr>";
	}
	
	inhalt = inhalt + "</table>";
}
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=false");
}
else {
	document.onmousedown = startbewegen;
	document.onmouseup = new Function("kleben=false");
}

