function maxDays(mm, yyyy){
var mDay;
	if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
		mDay = 30;
  	}
  	else{
  		mDay = 31
  		if(mm == 1){
   			if (yyyy/4 - parseInt(yyyy/4) != 0){
   				mDay = 28
   			}
		   	else{
   				mDay = 29
  			}
		}
  }
return mDay;
}

function writeCalendar()
{
	now = new Date();
	var text = "";
	text += "<div class=\"kalender\">";
	text += "<form>";
	text += "<input type=\"hidden\" id=\"calyear\" name=\"year\" value=\""+now.getFullYear()+"\" />";
	text += "<input type=\"hidden\" id=\"calmonth\" name=\"month\" value=\""+now.getMonth()+"\" />";
	text += "</form>";
	text += "<table summary=\"Kalender\" id=\"kalender\" cellpadding=\"0\" cellspacing=\"0\">";
	text += "<caption>";
	text += "<div class=\"kalendermaand\"><a href=\"javascript:void(null)\" onclick=\"changeMonth('previous');\" title=\"vorige maand\"><img src=\"./styles/Aangepaste vormgeving/custom_images/left_button.gif\"></a><span id=\"dispmonth\">december</span><a href=\"javascript:void(null)\" onclick=\"changeMonth('next');\" title=\"volgende maand\"><img src=\"./styles/Aangepaste vormgeving/custom_images/right_button.gif\"></a></div>";
	text += "<div class=\"kalenderjaar\"><a href=\"javascript:void(null)\" onclick=\"changeYear('previous');\" title=\"vorig jaar\"><img src=\"./styles/Aangepaste vormgeving/custom_images/left_button.gif\"></a><span id=\"dispyear\">2005</span><a href=\"javascript:void(null)\" onclick=\"changeYear('next');\" title=\"volgend jaar\"><img src=\"./styles/Aangepaste vormgeving/custom_images/right_button.gif\"></a></div>";				  
	text += "</caption>";
	text += "<thead>";
	text += "<tr>";
	text += "<th scope=\"col abbr=\"zondag\" title=\"zondag\">z</th>";
	text += "<th scope=\"col abbr=\"maandag\" title=\"maandag\">m</th>";
	text += "<th scope=\"col abbr=\"dinsdag\" title=\"dinsdag\">d</th>";
	text += "<th scope=\"col abbr=\"woensdag\" title=\"woensdag\">w</th>";
	text += "<th scope=\"col abbr=\"donderdag\" title=\"donderdag\">d</th>";
	text += "<th scope=\"col abbr=\"vrijdag\" title=\"vrijdag\">v</th>";
	text += "<th scope=\"col abbr=\"zaterdag\" title=\"zaterdag\">z</th>";
	text += "</tr>";
	text += "</thead>";
	text += "<tbody>";
	aa = 0
	for (kk=0;kk<=5;kk++){
		text += "<tr>";
		for (ii=0;ii<=6;ii++){
			var day = "document.getElementById('sp"+aa+"').day";
			text += "<td day=\"\" items=\"false\" agenda=\"false\" onmouseover=\"changeStyle("+aa+");\" onmouseout=\"changeStyle("+aa+");\" onclick=\"showDay("+day+","+aa+");\" title=\"Geen evenementen gevonden\" id=sp" + aa + ">1</td>";
			aa += 1;
		}
		text += "</tr>";
	}
	text += "</tbody>";
	text += "</table>";
    text += "</div>";
	document.write(text);
	changeCal();
}

function showDay(day,tdid)
{
	if((document.getElementById("sp"+tdid).items == "true") || (document.getElementById("sp"+tdid).agenda == "true"))
	{
		month = parseInt(document.getElementById("calmonth").value);
		month = month+1;
		if(month < 10)
		{
			month="0"+month;
		}
		if(day < 10)
		{
			day="0"+day;
		}
		query = document.getElementById("calyear").value+month+day+"*";
		path = location.pathname.substring(0,location.pathname.lastIndexOf("/"));
		url  = "http://"+location.host+path+"/getdata.jsp?date="+query+"&function=showDayXMLHttp";
		loadXMLDoc(url);
	}
}
function showDayXMLHttp(result)
{
	var year = result[0].getAttribute("date").substring(0,4);
	var month = result[0].getAttribute("date").substring(4,6);
	var day = result[0].getAttribute("date").substring(6,8);
	var text = "";
	text += "<h3 style=\"color:#000000\">Evenementen op "+day+"-"+month+"-"+year+"</h3><ul>";
	for(i = 0; i < result.length;i++)
	{
		text += '<li><a href="'+result[i].getAttribute("objectid")+'">'+result[i].getAttribute("name")+'</a></li>';
	}
	text += "</ul>";
	document.getElementById("searchresults_rightbar").innerHTML = text;
}
function changeStyle(tdid)
{
	if(document.getElementById("sp"+tdid).agenda == "true")
	{
		if(document.getElementById("sp"+tdid).className == "agendah")
		{
			document.getElementById("sp"+tdid).className="agenda";
		}
		else
		{
			document.getElementById("sp"+tdid).className="agendah";
		}
	}
	else if(document.getElementById("sp"+tdid).items == "true")
	{
		if(document.getElementById("sp"+tdid).className == "agendadh")
		{
			document.getElementById("sp"+tdid).className="agendad";
		}
		else
		{
			document.getElementById("sp"+tdid).className="agendadh";
		}
	}
}

function changeMonth(value)
{
	currentMonth = parseInt(document.getElementById("calmonth").value);
	if(value=="previous")
	{
		if(currentMonth == 0)
		{
			document.getElementById("calmonth").value = 11;
			changeYear("previous");
		}
		else
		{
			document.getElementById("calmonth").value = currentMonth - 1;
		}
	}
	else
	{
		if(currentMonth == 11)
		{
			document.getElementById("calmonth").value = 0;
			changeYear("next");
		}
		else
		{
			document.getElementById("calmonth").value = currentMonth + 1;
		}
	}
	changeCal();
}

function changeYear(value)
{
	currentYear = parseInt(document.getElementById("calyear").value);
	if(value=="previous")
	{
		document.getElementById("calyear").value = currentYear - 1;
	}
	else
	{
		document.getElementById("calyear").value = currentYear + 1;
	}
	changeCal();
}

function getDisplayMonth(value)
{
	var arrM = new Array("januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");
	return arrM[value];
}

function changeCal()
{
	now = new Date()
	var dd = now.getDate();
	var mm = document.getElementById("calmonth").value;
	document.getElementById("dispmonth").innerHTML = getDisplayMonth(parseInt(document.getElementById("calmonth").value));
	var dow = now.getDay();
	var yyyy = document.getElementById("calyear").value;
	document.getElementById("dispyear").innerHTML = document.getElementById("calyear").value;
	var currM = parseInt(mm)
	var prevM
		if (currM!=0){
			prevM = currM - 1
		}
		else{
			prevM = 11
		}
	var currY = parseInt(yyyy)
	var mmyyyy = new Date()
	mmyyyy.setDate(1);
	mmyyyy.setFullYear(currY);
	mmyyyy.setMonth(currM);
	var day1 = mmyyyy.getDay()
		if (day1 == 0){
			day1 = 7
		}
	var arrN = new Array(41)
	var aa;
	for (ii=0;ii<day1;ii++){
		arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
	}
	aa = 1;
	for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){
		arrN[ii] = aa
		aa += 1
	}
	aa = 1;
	for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
		arrN[ii] = aa
		aa += 1
	}
	if(arrN[6] == 31 || arrN[6] == 30)
	{
		displayFirstRow = false;
	}
	else
	{
		displayFirstRow = true;
	}
	days = 0;
	displayLastRow = true;
	for (ii=0;ii<=41;ii++)
	{
		document.getElementById("sp"+ii).style.display = "";
		document.getElementById("sp"+ii).items = "false";
		document.getElementById("sp"+ii).agenda = "false";
		document.getElementById("sp"+ii).className = "";
		document.getElementById("sp"+ii).title = "Geen evenementen gevonden";

		if (((ii<7)&&(arrN[ii]>20))||((ii>27)&&(arrN[ii]<20)))
		{
			if((days==0) && (ii > 20))
			{
				displayLastRow = false;
			}
			if(((!displayFirstRow) && (ii<7)) || (!displayLastRow))
			{
				document.getElementById("sp"+ii).style.display = "none";
			}
			else
			{
				document.getElementById("sp"+ii).innerHTML = "&nbsp;"
			}
		}
		else
		{
			document.getElementById("sp"+ii).innerHTML = arrN[ii];
			document.getElementById("sp"+ii).day = arrN[ii];
		}
		days++;
		if (days>6)
		{
			days=0
		}
	}
	loadData();
}

var req;

function loadXMLDoc(url) 
{
    if (window.XMLHttpRequest)
	{
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    }
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req)
		{
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange() 
{
    if (req.readyState == 4)
	{
		if (req.status == 200)
		{
			result = req.responseXML.getElementsByTagName('item');
		    method = req.responseXML.getElementsByTagName('method')[0].firstChild.data;
			eval(method + '(result)');
			req = null;
		}
	}
}
function writedates(result)
{
	if(result != null)
	{
		for(i = 0; i < result.length;i++)
		{
			var date = result[i].getAttribute("date");
			date = date.substring(6,8);
			for (ii=0;ii<=41;ii++)
			{
				if(document.getElementById("sp"+ii).day == date)
				{
					if(document.getElementById("sp"+ii).title != "Geen evenementen gevonden")
					{
						document.getElementById("sp"+ii).title = document.getElementById("sp"+ii).title + "\n"+result[i].getAttribute("name");
						if(result[i].getAttribute("objecttype") == "AGENDA" && result[i].getAttribute("besluitenlijst") == "false")
						{
							document.getElementById("sp"+ii).className="agenda";
							document.getElementById("sp"+ii).agenda="true";
						}
						else
						{
							document.getElementById("sp"+ii).className="agendad";
							document.getElementById("sp"+ii).items="true";
						}
					}
					else
					{
						document.getElementById("sp"+ii).title = result[i].getAttribute("name");
						if(result[i].getAttribute("objecttype") == "AGENDA" && result[i].getAttribute("besluitenlijst") == "false")
						{
							document.getElementById("sp"+ii).className="agenda";
							document.getElementById("sp"+ii).agenda="true";

						}
						else
						{
							document.getElementById("sp"+ii).className="agendad";
							document.getElementById("sp"+ii).items="true";
						}
					}
				}
			}
		}
	}
}
function loadData()
{
	month = parseInt(document.getElementById("calmonth").value);
	month = month+1;
	if(month < 10)
	{
		month="0"+month;
	}
	query = document.getElementById("calyear").value+month;
	path = location.pathname.substring(0,location.pathname.lastIndexOf("/"));
	url  = "http://"+location.host+path+"/getdata.jsp?date="+query+"*&function=writedates";
	loadXMLDoc(url);
}
