function buildCal(m, y, events){

	date = Array(); link = Array();
	for (var i=0; i<events.length; i++)
	{
		date[i] = events[i][0].split('-');
		link[i] = events[i][1];
	}

	var months=['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs','Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'];
	weekdays = Array('P','O','T','C','P','S','Sv');
	
	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
	oD.od=oD.getDay();
	if (oD.od == 0) { oD.od = 7; }

	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="main"><table class="months" cols="7" cellpadding="0" border="0" cellspacing="0"><tr align="center" class="month">';

	if (m == 1) { prev_m = 12; prev_y = y-1; } else { prev_m = m-1; prev_y = y; }
	if (m == 12) { next_m = 1; next_y = y+1; } else { next_m = m+1; next_y = y; }
	
	t += '<td align="center" class="month"><a href="#" onclick="insertContents(buildCal(prev_m ,prev_y, events), \'calendar\'); return false;">&lt;&lt;</a></td>'
	t += '<td colspan="5" align="center" class="month">'+months[m-1]+', '+y+'</td>'
	t += '<td align="center" class="month"><a href="#" onclick="insertContents(buildCal(next_m ,next_y, events), \'calendar\'); return false;">&gt;&gt;</a></td>'
	t += '</tr></table><table class="main" cols="7" cellpadding="0" border="0" cellspacing="0"><tr align="center">';
	
	for(i=0;i<7;i++)
	{
		t+='<th class="daysofweek">'+weekdays[i]+'</th>';
	}
	
	t+='</tr><tr align="center" class="day">';
	
	d = 0;
	
	// dim[m-1] - cik kopā dienu
	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 != "&nbsp;") alert(x);

		for (var j=0; j<events.length; j++)
		{
			if (x<dim[m-1]+1 && x==date[j][2] && m==date[j][1] && y==date[j][0])
			{
				x = "<a class='event' href='"+root+link[j]+"'>"+x+"</a>";
			}
		}
		
		if (x==scanfortoday){
			x='<span id="today">'+x+'</span>'
		}
		d = (d < 7 ? d+1 : 1);

		if (d==6 || d==7)
		{
			t+='<td class="weekend">'+x+"</td>\n";	
		}
		else
		{
			t+='<td class="days">'+x+"</td>\n";
		}
		
		if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
	}
	
	return t+='</tr></table></div>';
}