agendaFromNow=0;

function showagenda(event)
{
	if (isNaN(event))
		var tag = this.getAttribute("id").replace(/^tag_/, "");
	else
		var tag = event;
	document.getElementById("agenda"+tag).className="agendainfo";
}
function hideagenda(event)
{
	if (isNaN(event))
		var tag = this.getAttribute("id").replace(/^tag_/, "");
	else
		var tag = event;
	document.getElementById("agenda"+tag).className="agendainfohidden";
}

function nextMonth () {
	agendaFromNow++;
	reqSend();
}

function prevMonth () {
	agendaFromNow--;
	reqSend();
}

function reqSend() {
	var url = window.location.href.replace(/\?.*$/, "").replace(/\/[^/]*$/, "")+'/ajax/agenda.php?agendaFromNow='+agendaFromNow;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
        	req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", url, true);
	req.onreadystatechange = reqHandler;
	req.send(null);
}

function reqHandler() {
	if (req.readyState==4 && req.status == 200)
	{
//		alert(req.responseText);
		var agenda=req.responseXML.firstChild;
		if (agenda.nodeName=="xml") agenda=agenda.nextSibling;  // in case IE interprets first xml tag
		var agendaTitle	=agenda.getElementsByTagName("month")[0].firstChild.nodeValue
				+" "
				+agenda.getElementsByTagName("year")[0].firstChild.nodeValue;
		document.getElementById("agendaTitle").firstChild.nodeValue=agendaTitle;

		var startday=agenda.getElementsByTagName("startday")[0].firstChild.nodeValue;
		var today=agenda.getElementsByTagName("today")[0].firstChild.nodeValue;
		var days=agenda.getElementsByTagName("day");
		var numdays=days.length;
		var maxevents=0;
		var table=document.getElementById("agendaTable");
		while (table.hasChildNodes())
			table.removeChild(table.firstChild);
		var info=document.getElementById("info");
		while (info.hasChildNodes())
			info.removeChild(info.firstChild);
		var myTr;
		var myTd;
		var myText;
		var myDiv;
		var myUl;
		var myLi;
		myTr=document.createElement("tr");
		for (var i=0;i<startday;i++)
		{	
			myTd=document.createElement("td");
			myTd.className="agendaempty";
			myText=document.createTextNode("");
			myTd.appendChild(myText);
			myTr.appendChild(myTd);	
		}
		for (var i=0;i<numdays;i++)
		{	
			if (eval("("+i+"+"+startday+")%7") == 0)
			{
				table.appendChild(myTr);
				myTr=document.createElement("tr");
			}
			myTd=document.createElement("td");
			myTd.style.width="20px";
			if (days[i].childNodes.length>0)
			{
				myTd.className="agendafull";
				myTd.onmouseover=showagenda;
				myTd.onmouseout=hideagenda;
				myTd.setAttribute("id", "tag_"+i);
				if (days[i].childNodes.length>maxevents) maxevents = days[i].childNodes.length;
				myDiv=document.createElement("div");
				myDiv.className="agendainfohidden";
				myDiv.setAttribute("id", "agenda"+i);
				myUl=document.createElement("ul");
				for (var j=0;j<days[i].childNodes.length;j++)
				{
					myLi=document.createElement("li");
					myText=document.createTextNode(days[i].getElementsByTagName("event")[j].firstChild.nodeValue);
					myLi.appendChild(myText);
					myUl.appendChild(myLi);
				}
				myDiv.appendChild(myUl);
				info.appendChild(myDiv);
			}
			else
				myTd.className="agendaempty";
			if (i+1==today) myTd.className+=" agendatoday";
			myText=document.createTextNode(i+1);
			myTd.appendChild(myText);
			myTr.appendChild(myTd);
		}
		table.appendChild(myTr);
		document.getElementById("shortcuts").style.marginTop=maxevents*17+"px";
	}
}
