var Datum = new Date();
var Startjahr
var Startmonat
SGheader = 8	//14 Schriftgröße Überschrift in px
SGtage = 8		//10 Schriftgröße Tage in px
Breite = 12		//Breite der Tage in px
Hoehe = 1		//

function Header(vor,zahl) 
{
	document.write("<tr style='font-size: " + SGheader + "px;'>");
	text = "<td>&nbsp;</td><td colspan='6'>";
	Startmonat = (Datum1.getMonth() + 11 - vor) % 12;
	
	if (Startmonat < Datum1.getMonth())
	Startjahr = Datum1.getFullYear();
	else
	Startjahr = Datum1.getFullYear() - 1;
	
	aktMonat = Startmonat;
	aktJahr = Startjahr;

	for (i = 1; i <= zahl; i++)
	{
		var a = (aktMonat + 1) % 12;
		if (aktMonat > a) aktJahr = aktJahr + 1;
		aktMonat = a;
		document.write(text);
		document.write(Monat(aktMonat));
		document.write(aktJahr);
	}
	document.write("</td><td>&nbsp;</td></tr>");
}

function Tage(vor,zahl) 
{
	for (Zeilennummer = 0; Zeilennummer <= 6; Zeilennummer++)
	{
		if (Zeilennummer == 6) document.write("<tr height='" + Hoehe + "' style='color:RED;'>"); else document.write("<tr height='" + Hoehe + "'>");

		document.write("<td>" + WT(Zeilennummer + 1,'kurz') + "</td>");
		aktMonat = Startmonat;
		aktJahr = Startjahr;

		for (i = 1; i <= zahl; i++)
		{
			var a = (aktMonat + 1) % 12;
			if (aktMonat > a) aktJahr = aktJahr + 1;
			aktMonat = a;
			Datum.setDate(1); Datum.setMonth(aktMonat); Datum.setFullYear(aktJahr); off = (Datum.getDay() + 6) % 7;
			last = 32;
			do {last=last-1; Datum.setMonth(aktMonat); Datum.setFullYear(aktJahr); Datum.setDate(last);}
			while (last != Datum.getDate()) 
			Block(Zeilennummer + 1 - off, aktMonat, aktJahr);
			document.write("<td>" + WT(Zeilennummer+1,'kurz') + "</td>");
		}
		document.write("</tr>");
	}
}

function Block(Zeilennummer,Monat,Jahr) 
{
	for(var i = 0; i <= 5; i++) 
	{
		Tag = 7 * i + Zeilennummer;
		Datum = new Date("jan 1,2000");
		Datum.setDate(Tag);
		Datum.setMonth(Monat);
		Datum.setFullYear(Jahr);

		if (Datum1 <= Datum && Datum2 >= Datum && !(Tag <= 0 || Tag > last))
		document.write("<td width='" + Breite + "' style='background-color: #80ff80;'>");
		else
		document.write("<td width='" + Breite + "' style='background-color: #ffff80;'>");

		if (Tag <= 0 || Tag > last)
		document.write("&nbsp;");
		else
		document.write(Tag);

		document.write("</td>");
	}
}

function Monat(Zahl) // Zahl = 0 bis 11 wird gewandelt in Januar bis Dezember
{
	var Monatsnamen = new Array("Januar ","Februar ","März ","April ","Mai ","Juni ","Juli ","August ","September ","Oktober ","November ","Dezember ");
	return Monatsnamen[Zahl%12];	
}

function WT(Zahl,form)  // Zahl = 0 bis 6 wird gewandelt in Sonntag bis Samstag, form = wenn  nicht "lang" dann Kurzform
{
	var Wochentag1 = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
	var Wochentag2 = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
	
	if (form == "lang")
	return Wochentag1[Zahl%7];
	else
	return Wochentag2[Zahl%7];
}

function Kalenderwoche() // noch nicht fertig
{
	document.write("<tr><td>KW</td><td>44</td><td>45</td><td>46</td><td>47</td><td>48</td><td>&nbsp;</td><td>KW</td><td>48</td><td>49</td><td>50</td><td>51</td><td>52</td><td>&nbsp;</td><td>KW</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>&nbsp;</td><td>KW</td></tr>");
}

var Datum1 = new Date();
var Datum2 = new Date();

function kalender(zahl,vor,anfang,ende,text) // zahl = Anzahl der dargestellten Monate, vor = Anzahl der Monate vor Startmonat, anfang = Startdatum, ende = Enddatum, text = wenn "U" dann Datumsbereich unter Kalender 
{
	Datum1.setTime(Date.parse(anfang));
	Datum2.setTime(Date.parse(ende));

	document.write("<table border='0' style='font-family: Arial; font-size: " + SGtage + "px; text-align: center; font-weight: bold; border: 3px outset #FFE1AA;' bgcolor='#FFFFD7' cellpadding='0' cellspacing='0'>");
	Header(vor,zahl);
	Tage(vor,zahl);
	//Kalenderwoche(); noch nicht fertig
	document.write("</table>");
	
	if (text == "U")
	{
		a1 = Datum1.getFullYear();
		b1 = Datum1.getMonth();
		c1 = Datum1.getDate();
		a2 = Datum2.getFullYear();
		b2 = Datum2.getMonth();
		c2 = Datum2.getDate();
		d = "&nbsp; bis &nbsp;";
		
		document.write("<span style='font-size: 14px; font-weight: bold;'><br>")
		if (a1 == a2)
		{
			if (b1 == b2)
			{
				if (c1 == c2)
				{
					//nichts
				}else{
					document.write(c1 + "." + d);
				}
			}else{
				document.write(c1 + ". " + Monat(b1) + d);
			}
		}else{
			document.write(c1 + ". " + Monat(b1) + a1 + d);
		}
	document.write(c2 + ". " + Monat(b2) + a2 + "<br></span>");
	}
}

var nummer = 0;

function reisetag(text,anzahl) // text = Text hinter automatischem Datum, anzahl = Bereiche von mehr als einem Tag
{
	document.write("<br><br>");
	tagout();
	nummer++;
	if (anzahl)	
	{
		nummer = nummer + anzahl - 2;
		document.write(" bis ");
		tagout();
		nummer++;
	}
	document.write("<b> "+text+"</b><br>");
}

function tagout()
{
	var aDatum=new Date();
	if (true) //(aDatum.getDate() != Datum1.getDate()) 
	{
		aDatum.setTime(Date.parse(Datum1));
		aDatum.setDate(aDatum.getDate() + nummer);
		var a = WT(aDatum.getDay(),'lang');
		var b = aDatum.getDate() + ". " + Monat(aDatum.getMonth()) + aDatum.getFullYear();
		a = ", " + a;
		b = ", " + b;
	}else{
		a = "";
		b = "";
	}
	document.write("<b>" + (nummer + 1) + ".Tag" + a + b + "</b>");
}
