/*
############################################################
###                 kalender4.js                         ###
###         Javascript von Michael Duetting              ###
###                 copyright 2010                       ###

                für sternfreunde-muenster.de

            CMS              |----||----|
            Datenbanken      |    ||    |
                             |----||----|
            eShops                 |----|
                        |------|   |    |
            Webdesign   |      |   |----|
                        | multi|p l i c o
            Multimedia  |------|



###                  Telemannstr. 26                     ###
###                   48147 Münster                      ###
###             http://www.multiplico.de                 ###
############################################################
*/
var Monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var Wochentag = new Array("So", "Mo", "Di", "Mi","Do", "Fr", "Sa");
var monatLan = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var PCZeit = new Date();
var tag = PCZeit.getDate();
var monat = PCZeit.getMonth();
var jahr = PCZeit.getFullYear();
var schaltjahr = (jahr % 4 == 0)?monatLan[1]=29:monatLan[1]=28;
var eingabeTxt = "";
var TypSelect = "";
//*********************************************************************************	
//XMLHttpRequest
//*********************************************************************************	
var httpObject = false;
function getHttpObject() 
{
httpObject = (window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
	if(httpObject)
	{
		if(arguments[1])
		{
		url = "templates2010/ajaxkalender4.php?id="+arguments[0];
		httpObject.open("GET",url,true);
		httpObject.onreadystatechange = function()
			{
				if(httpObject.readyState == 4)
				{
					if(httpObject.status == 200)
					{showTermin();}
				}
			}
		}
		else
		{
		url = "templates2010/ajaxkalender4.php?monat="+arguments[0];
		httpObject.open("GET",url,true);
		httpObject.onreadystatechange = function()
			{
				if(httpObject.readyState == 4)
				{
					if(httpObject.status == 200)
					{Termine(monatZahl,monatLang,monatName);}
				}
			}		
		}
	httpObject.send(null);
	}
}	
//========================================================================================
var monatName,monatLang,monatZahl;
function Kalender()
{
monat = monat;//-1
	if(document.getElementById("kebene"))
	{
	document.getElementById("kebene").parentNode.removeChild(document.getElementById("kebene"));
	}
var kebene = document.createElement("div");
kebene.id = "kebene";
document.getElementById("ctext").appendChild(kebene);
//PDF-Termin-Link		
	if(terminPDF !=0)
	{
	var tlnk = document.getElementById("pdfTerminLink").cloneNode(true);
	document.getElementById("kebene").appendChild(tlnk);
	}
//document.getElementsByTagName("body")[0].appendChild(kebene);
monatName = (arguments[0] == -1)?Monate[monat]:Monate[arguments[0]];
monatLang = (arguments[0] == -1)?monatLan[monat]:monatLan[arguments[0]];
monatZahl = (arguments[0] == -1)?monat:arguments[0];
//Eingabe-Anzeige aktiv?
	if(document.getElementById("mkT"))
	{makeTermin(1,monatZahl,monatName,monatLang)}
//Monat
var kopf = document.createElement("p");
kopf.className ="th";
var kopftxt = document.createTextNode(" " + monatName + " "+jahr);
kopf.appendChild(kopftxt);
document.getElementById("kebene").appendChild(kopf);	
//Tabelle
	var kalender = document.createElement("table");
	kalender.className = "tabelle";
	document.getElementById("kebene").appendChild(kalender);
//Blättern
var fuss = document.createElement("p");
fuss.className ="th";
document.getElementById("kebene").appendChild(fuss);
var tabindexM = 30;
		for(i=0;i<Monate.length;i++)
		{
		var aMonat = document.createElement("a");
		aMonat.className = "fwm";
		aMonat.href = "javascript:Kalender("+i+")";
		var indexM = document.createAttribute("tabindex");
		indexM.nodeValue = tabindexM;
		aMonat.setAttributeNode(indexM);
		tabindexM += 1;
		aMtxt = document.createTextNode(Monate[i]);
		aMonat.appendChild(aMtxt);
		fuss.appendChild(aMonat);
		}
//tbody
	var tbody = document.createElement("tbody");
	kalender.appendChild(tbody);
//Zellen
var trZ = -1;
	for(i=1;i<=monatLang;i++)	
	{	
		//Wochentag
		var wtag = new Date(jahr,monatZahl,i);
		var wt = Wochentag[wtag.getDay()];
	if(wt == "Mo" || i == 1)	
		{
		trZ++;
		var tr = document.createElement("tr");
		tr.id = "tr_"+ trZ;
		tbody.appendChild(tr);
		}
	var td = document.createElement("td");
	td.id = "d_"+i;	
	td.className = "tz";
	var eingabeLink = document.createElement("span");
	eingabeLink.className = "day2";
	eingabeLink.id = "a_"+i;
	var tdTxt = document.createTextNode(i);
	var tdBR = document.createElement("span");
	var tdTxt2 = document.createTextNode(wt);
	eingabeLink.appendChild(tdTxt);
	td.appendChild(eingabeLink);
	td.appendChild(tdBR);
		//Wochenende
		if(wt == "Sa"){tdBR.className = "sa";}
		if(wt == "So"){tdBR.className = "so";}
	tdBR.appendChild(tdTxt2);
	tr.appendChild(td);
		//Heute markieren		
		if(monat == monatZahl && i == tag)
		{
		document.getElementById(td.id).style.backgroundColor = "#cccccc";
		}			
	}
//Zeilenkorrektur oben
var dayContainer = [];
	if(document.getElementById("tr_0").childNodes.length < 7)
	{
	var dayDiff = 7 - document.getElementById("tr_0").childNodes.length;
		while(document.getElementById("tr_0").hasChildNodes() == true)
		{
		dayContainer.push(document.getElementById("tr_0").firstChild);
		document.getElementById("tr_0").firstChild.parentNode.removeChild(document.getElementById("tr_0").firstChild);
		}
		//Tageszahl des vorhergehenden Monats
		revMonat = (monatZahl - 1 < 0)? 11 : monatZahl - 1;
		revZahl = monatLan[revMonat] - dayDiff +1;
		for(var i=0;i<dayDiff;i++)		
		{
		var td = document.createElement("td");						
		var xtxt = document.createTextNode(revZahl);		
		td.appendChild(xtxt);
		td.className = "tdrev";
		document.getElementById("tr_0").appendChild(td);
		revZahl++;
		}
		for(var i=0;i<dayContainer.length;i++)		
		{document.getElementById("tr_0").appendChild(dayContainer[i]);}				
	}
//Zeilenkorrektur unten
var trLast = [];
	for(i=0;i<document.getElementsByTagName("tr").length;i++)
	{
		if(/tr_/.test(document.getElementsByTagName("tr")[i].id) == true )
		{trLast.push(document.getElementsByTagName("tr")[i].id);}
	}
	if(document.getElementById(trLast[trLast.length-1]).childNodes.length < 7)
	{
	var dayDiff = 7 - document.getElementById(trLast[trLast.length-1]).childNodes.length;
	//Tageszahl des vorhergehenden Monats
	var ffDay = 1;
		for(var i=0;i<dayDiff;i++)		
		{
		var td = document.createElement("td");						
		var xtxt = document.createTextNode(ffDay);		
		td.appendChild(xtxt);
		td.className = "tdrev";
		document.getElementById(trLast[trLast.length-1]).appendChild(td);
		ffDay++;
		}	
	}
//-------------------------------------	
getHttpObject(monatZahl);
}
//*******************************************************************************************************************
//*******************************************************************************************************************
function Termine()
{
	if(httpObject.responseText!=0)
	{
	var termine = httpObject.responseText.split("_");
	var tabindex = 15;
		for(i=0;i<termine.length;i++)
		{
		var termin = termine[i].split("//");
			if(document.getElementById("a_"+termin[0]))
			{
				var ankerTxt = document.getElementById("a_"+termin[0]).firstChild.nodeValue;
				document.getElementById("a_"+termin[0]).removeChild(document.getElementById("a_"+termin[0]).firstChild);
				var tAnker = document.createElement("a");
				tAnker.href = "javascript:getHttpObject("+termin[2]+",'id')";
				var tAnkerTxt = document.createTextNode(ankerTxt||1);
				tAnker.appendChild(tAnkerTxt);
				tAnker.className = "day";
				var tindex = document.createAttribute("tabindex");
				tindex.nodeValue = tabindex;
				tAnker.setAttributeNode(tindex);
				tabindex += 1;
				document.getElementById("a_"+termin[0]).appendChild(tAnker);
				var bgImg = "";
					switch(termin[1])
					{
					case("ob"):bgImg = "../icon2010/scope.jpg";break;//scope.jpg
					case("mgv"):bgImg = "../icon2010/mgv.jpg";break;
					case("ak"):bgImg = "../icon2010/aktion.jpg";break;//aktion.jpg
					case("rad"):bgImg = "../icon2010/rad.jpg";break;
					case("sky"):bgImg = "../icon2010/sky.jpg";break;
					case("int"):bgImg = "../icon2010/mgv.jpg";break;
					case("ex"):bgImg = "../icon2010/extern.jpg";break;
					case("kv"):bgImg = "dobs.jpg";break;
					case("iya"):bgImg = "../icon2010/iyakal.gif";break;
					case("zeiss"):bgImg = "../icon2010/zeiss.jpg";break;
					default:bgImg = "../icon2010/vortrag.jpg";break;
					}
				document.getElementById("d_"+termin[0]).style.backgroundImage = "url(icon2010/" + bgImg+")";
			}
		}
	}
}
function showTermin()
{
var vTyp = new Array();
vTyp["vortrag"] = "Vortrag";
vTyp["st"] = "Stammtisch";
vTyp["ob"] = "öffentliche Beobachtung";
vTyp["ak"] = "Aktion";
vTyp["sky"] = "Astrohighlight";
vTyp["rad"] = "Radtour";
vTyp["ex"] = "extern";
vTyp["int"] = "intern";
vTyp["kv"] = "vereins-interne Beobachtung";
vTyp["mgv"] = "Mitgliederversammlung";
vTyp["zeiss"] = "Zeiss-Planetarium";
var termin = httpObject.responseText.split("//");
var terminMon = parseInt(termin[1])+1;
	if(document.getElementById("tAnzeige"))
	{document.getElementById("tAnzeige").parentNode.removeChild(document.getElementById("tAnzeige"));}	
var tAnzeige = document.createElement("div");
tAnzeige.id = "tAnzeige";
var tAnzDat = document.createTextNode(vTyp[termin[3]] + ": " + termin[0] + ". " + terminMon +".");
var xText = unescape(termin[2]).split("[")[0];
var tAnzTxt = document.createTextNode(xText);
		//KHTML bzw Konqueror
		if(/KHTML/.test(navigator.userAgent) == true)
		{
		var KHTMLTxt = escape(termin[2]);
		//ü,ö,ß,Ä,Ü,Ö,ä
		var UMLs = ["%C3%BC","%C3%B6","%C3%9F","%C3%84","%C3%9C","%C3%96","%C3%A4"];
		var DTL =["ü","ö","ß","Ä","Ü","Ö","ä"];
			for(var i=0;i<UMLs.length;i++)
			{
			var tester = eval("/" + UMLs[i] + "/");
				while(tester.test(KHTMLTxt) == true)
				{KHTMLTxt = KHTMLTxt.replace(UMLs[i],DTL[i]);}
			}
		KHTMLTxt = unescape(KHTMLTxt);
		var tAnzTxt = document.createTextNode(KHTMLTxt);
		}
//******************************************************************************************
var tAnzH1 = document.createElement("h1");
var tAnzP = document.createElement("p");
var tClose = document.createElement("a");
var tCloseTxt = document.createTextNode("schließen");
tClose.href = "javascript:tClose()";
tClose.className = "fwm";
tAnzH1.appendChild(tAnzDat);
tAnzP.appendChild(tAnzTxt);
tAnzeige.appendChild(tAnzH1);
tAnzeige.appendChild(tAnzP);
tClose.appendChild(tCloseTxt);
tAnzeige.appendChild(tClose);
document.getElementsByTagName("body")[0].appendChild(tAnzeige);
tClose.focus();
}
function tClose()
{
	if(document.getElementById("tAnzeige"))
	{document.getElementById("tAnzeige").parentNode.removeChild(document.getElementById("tAnzeige"));}
}
//=================================================================================
//----------------------------- 24.12.2009 ----------------------------------------
//=================================================================================
