function buildCal(m, y, cM, cH, cDW, cD, brdr){
var mn=['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'];
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">';

document.getElementById('kalendarz_miesiac').innerHTML = mn[m-1];

for(s=0;s<14;s+=2)t+='<td class="'+cDW+'">'+"N PnWtŚrCzPtSo".substr(s,2)+'</td>';
t+='</tr><tr align="center"><td colspan="7" height="1" bgcolor="#aeaeac"></td></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;';

d = x;

if (x==scanfortoday) {//DD added
		x='<span id="today">'+x+'</span>' //DD added
}

if (x != "&nbsp;") 
{ //link added
	//if ( dni.length > 0 )
	//{
		var styl;
		var add;
		var datka = y+'-'+m+'-'+d;
		add = '0';
		for(var a=0; a<dni.length; a++)
		{
			if( dni[a] == datka )
			{
				add = '1';
			}
		}
	//}
	if ( add == '1' ) styl = 'kalendarz_link_event';
	else styl = 'kalendarz_link';
	x='<a href="javascript:showEvents(\''+d+'|'+m+'|'+y+'\');" class="'+styl+'">'+x+'</a>'; //link added
}

t+='<td class="'+cD+'">'+x+'</td>';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table></div>';
}


