// JavaScript Document
var jaar;
var maand;
var dag;
var daysperMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
var daysperMonthSchrikkel = [31,29,31,30,31,30,31,31,30,31,30,31];
var maanden = ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"];
var xmlDoc;
var error = "";
var file = "kalender.xml";
var events;
try //Internet Explorer
{
 	xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
 	xmlDoc.async=false;
 	xmlDoc.load(file);
	events = xmlDoc.getElementsByTagName('gebeurtenis');
}
catch(e)
{
 try //Firefox, Mozilla, Opera, etc.
 {
  xmlDoc=document.implementation.createDocument("","",null);
  xmlDoc.async=false;
  xmlDoc.load(file);
	events = xmlDoc.getElementsByTagName('gebeurtenis');
 }
 catch(e)
 {
  try //Google Chrome
  {
   var xmlhttp = new window.XMLHttpRequest();
   xmlhttp.open("GET",file,false);
   xmlhttp.send(null);
   xmlDoc = xmlhttp.responseXML.documentElement;
	events = xmlDoc.getElementsByTagName('gebeurtenis');
  }
  catch(e)
  {
   error=e.message;
  }
 }
}

 function buildcalender()
 {
	 var datum = new Date();
	 jaar = datum.getYear();
	 maand = datum.getMonth();
	 dag = datum.getDate();
	 makeCalender();
}
function isSchrikkel(jaar)
{
	var schrikkel = false;
	if(jaar%400==0) {
      schrikkel = true;		
  } else if (jaar % 100 == 0 ) {
	  schrikkel = false;
  } else if (jaar % 4 == 0 ) {
      schrikkel = true
  }
	return schrikkel;
}
function goprevious()
{
	if(maand==0)
	{
		maand = 11;
		jaar -= 1;
	}
	else
		maand -= 1;
	makeCalender();
}
function gonext()
{
	if(maand==11)
	{
		maand = 0;
		jaar += 1
	}
	else
		maand += 1;
	makeCalender();
}
function makeCalender()
{
	document.getElementById("events").innerHTML = "";
	var firstday = new Date(jaar, maand, 1);
	 var dayofweek = firstday.getDay() - 1;
	 var prevdays = 0;
	 if(dayofweek == -1)
	 {
	 	dayofweek = 6
	 }
	 if(dayofweek == 0)
	 	prevdays = 6;
	 else
	 	prevdays =  dayofweek - 1;
	 
	 if(jaar < 2000)
	 	jaar = jaar + 1900;
	 tablestr = "<table  width='175' cellpadding='1' cellspacing='0'><tr>"
	 var daysInPreviousMonth = daysperMonth[maand - 1];
	 var isLeftCell = true;
	 if(maand == 0)
	 {
		 daysInPreviousMonth = daysperMonth[11];
	 }
	 else
	 {
		 if(isSchrikkel(jaar))
		 {
			 daysInPreviousMonth = daysperMonthSchrikkel[11];
			 }
	 }
	 var teller = 0;
	 for(i=(daysInPreviousMonth - prevdays);i <= daysInPreviousMonth;i++)
	 {
		 var prevMonth = (maand);
		 var prevJaar = jaar;
		 if(prevMonth==0)
		 {
			 prevMonth = 12;
			 prevJaar -= 1;
		}
		var controle = controleOpEvent(i + "/" + prevMonth  + "/" + prevJaar);
		 if(controle!="")
		 {
		  	document.getElementById("events").innerHTML += controle;
		  	if(isLeftCell)
			{
				 tablestr += "<td align='center' class='kalenderleftother' style='background-color: #200; color: #888;'>" + i + "</td>";
				 isLeftCell = false;
			}
			else
				tablestr += "<td align='center' class='kalenderrightother' style='background-color: #200; color: #888;'>" + i + "</td>";
		 }
		else
		{
			if(isLeftCell)
			{
		 		 tablestr += "<td class='kalenderleftother' align='center'>" + i + "</td>";
				 isLeftCell = false;
			}
			else
				 tablestr += "<td class='kalenderrightother' align='center'>" + i + "</td>";
		}
		 teller += 1;
	}
	if(teller==7)
		{
			tablestr += "</tr><tr>";
			teller = 0;
			isLeftCell = true;
		}
	var daysInMonth = daysperMonth[maand];
	 if(isSchrikkel(jaar))
	{
		 daysInMonth = daysperMonthSchrikkel[maand];
	}
	for(i=1;i<=daysInMonth;i++)
	{
		var controle = controleOpEvent(i + "/" + (maand + 1)  + "/" + jaar);
		 if(controle!="")
		 {
		  	document.getElementById("events").innerHTML += controle;
		  	if(isLeftCell)
			{
				 tablestr += "<td align='center' class='kalenderleft' style='background-color: #800; color: white;'>" + i + "</td>";
				 isLeftCell = false;
			}
			else
				tablestr += "<td align='center' class='kalenderright' style='background-color: #800; color: white;'>" + i + "</td>";
		 }
		else
		{
			if(isLeftCell)
			{
		 		 tablestr += "<td class='kalenderleft' align='center'>" + i + "</td>";
				 isLeftCell = false;
			}
			else
				 tablestr += "<td class='kalenderright' align='center'>" + i + "</td>";
		}
		teller += 1;
		if(teller==7)
		{
			tablestr += "</tr><tr>";
			teller = 0;
			isLeftCell = true;
		}
	}
	var j=1;
	for(i=teller;i<7;i++)
	{
			 var nextMonth = (maand + 2);
		 var nextJaar = jaar;
		 if(nextMonth==13)
		 {
			 nextMonth = 1;
			 nextJaar += 1;
		}
		var controle = controleOpEvent(j + "/" + nextMonth  + "/" + nextJaar);
		if(controle!="")
		 {
		  	document.getElementById("events").innerHTML += controle;
		  	if(isLeftCell)
			{
				 tablestr += "<td align='center' class='kalenderleftother' style='background-color: #200; color: #888;'>" + j + "</td>";
				 isLeftCell = false;
			}
			else
				tablestr += "<td align='center' class='kalenderrightother' style='background-color: #200; color: #888;'>" + j + "</td>";
		 }
		else
		{
			if(isLeftCell)
			{
		 		 tablestr += "<td class='kalenderleftother' align='center'>" + j + "</td>";
				 isLeftCell = false;
			}
			else
				 tablestr += "<td class='kalenderrightother' align='center'>" + j + "</td>";
		}
			j += 1;
	}
	tablestr += "</tr></table>" 
	document.getElementById("kalender").innerHTML = tablestr ;
	document.getElementById("kop").innerHTML =  maanden[maand] + " " + jaar;

}
function controleOpEvent(datum)
{
	var eventstr = "";
	
	for (var i = 0 ; i < events.length ; i++) 
	{
	// get one item after another
		var geb = events[i];
		if(geb.getElementsByTagName("visible")[0].firstChild.nodeValue == "1")
		{
			if(geb.getElementsByTagName("showinkalender")[0].firstChild.nodeValue == "1")
			{
				if(geb.getElementsByTagName("datum")[0].firstChild.nodeValue == datum)
				{
					eventstr += datum + ": " + geb.getElementsByTagName("naam")[0].firstChild.nodeValue + "<br />";
				}
			}
		}
	}
	return eventstr;
}
function AddEvents()
{

	var eventstr = "";
	
	var i = 0 ; 
	while (i < events.length)
	{
	// get one item after another
		var geb = events[i];
		if(geb.getElementsByTagName("visible")[0].firstChild.nodeValue == "1")
		{
					eventstr = "<tr><td>" + geb.getElementsByTagName("datum")[0].firstChild.nodeValue + ":</td><td>" + geb.getElementsByTagName("naam")[0].firstChild.nodeValue + "</td></tr>" + eventstr;
		}
		i += 1;
	}
	document.getElementById("nieuwtjes").innerHTML = "<table>"+ eventstr + "</table>";
}
