var mn=['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];

function buildCal(m, y, cM, cH, cDW, cD, brdr){

//get events
/*strEvents = getEventsForThisMonth(m,y)

alert(strEvents);*/


var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st

var todaydate=new Date() //DD added
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added

dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
var t='<div class="'+cM+'"><table class="'+cM+'" cols="7" cellpadding="0" border="'+brdr+'" cellspacing="0"><tr align="center">';
t+='<td id="cal_left"></td><td colspan="5" align="center" class="'+cH+'" id="month">'+mn[m-1]+' - '+y+'</td><td id="cal_right"></td></td></tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"SMTWTFS".substr(s,1)+'</td>';
t+='</tr><tr align="center">';
for(i=1;i<=42;i++){
var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';

if (x==scanfortoday) //DD added
{
	x='<span id="today">'+x+'</span>' //DD added
}
/*
arrEvents = strEvents.split(",");

for(i=1;i<=arrEvents.length;i++)
{
	if(arrEvents[i] == x)
	{
		x='<span id="event">'+x+'</span>'
	}
}*/

t+='<td class="'+cD+'">'+x+'</td>';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}

return t+='</tr></table></div>';
}

/*function getEventsForThisMonth(m,y)
{
	var strDates;
	var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', 'events.php?m='+m+'&y='+y, true);

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			strDates = xmlhttp.responseText;
			alert("dates "+strDates);
			return strDates;
		}
	}
	xmlhttp.send(null);

	
}*/

function setupCall()
{
	var calLeft = document.getElementById("cal_left");
	var calRight = document.getElementById("cal_right");
	var calMonth = document.getElementById("month");
	var cal = document.getElementById("cal");

	strMonth = calMonth.innerHTML;

	var month = strMonth.split(" - ");
	sMonth = month[0];
	curYear = month[1];

	curMonth = 0;

	calLeft.innerHTML = "< ";
	calRight.innerHTML = ">";
	calLeft.className = "month";
	calRight.className = "month";

	calLeft.style.display = "block";
	calRight.style.display = "block";
	calRight.style.cursor = "pointer";
	calLeft.style.cursor = "pointer";

	calLeft.onclick = function() {
		//prev month
		for(i=0;i<=(mn.length-1);i++)
		{
			//alert(i + " => " + mn[i]);
			
			if(mn[i] == sMonth)
			{
				curMonth = i;
			}
		}

		prevMonth = (curMonth+1)-1;

		if(prevMonth < 1)
		{
			prevMonth = mn.length;
			curYear = curYear - 1;
		}

		cal.innerHTML = buildCal(prevMonth ,curYear, "main", "month", "daysofweek", "days", 1)
		setupCall()

		//document.write(buildCal(curmonth ,curyear, "main", "month", "daysofweek", "days", 1));
	}

	calRight.onclick = function() {
		//next month

		for(i=0;i<=(mn.length-1);i++)
		{
			//alert(i + " => " + mn[i]);
			
			if(mn[i] == sMonth)
			{
				curMonth = i;
			}
		}

		nextMonth = (curMonth+1)+1;

		if(nextMonth > mn.length)
		{
			nextMonth = 1;
			curYear = parseInt(curYear) + 1;
		}

		cal.innerHTML = buildCal(nextMonth ,curYear, "main", "month", "daysofweek", "days", 1)
		setupCall()

	}

	calMonth.ondblclick = function()
	{
		var todaydate=new Date()
		var curmonth=todaydate.getMonth()+1 //get current month (1-12)
		var curyear=todaydate.getFullYear() //get current year

		cal.innerHTML = buildCal(curmonth ,curyear, "main", "month", "daysofweek", "days", 1)
		setupCall()
	}
}