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()+0; //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
var dzis=todaydate.getDate();

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="1"><tr align="center">';
t+='<td height="25" colspan="7" align="center" class="'+cH+'">'+dzis+' '+mn[m-1]+' '+y+'</td></tr><tr align="center">';
for(s=0;s<7;s++)
{
 if (s==0) plus=0;
 else plus+=1;
 t+='<td class="'+cDW+'">'+"PnWtŚrCzPtSoNd".substr(s+plus,2)+'</td>';
}
t+='</tr><tr align="center">';

sob=6;
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
if((i)%7==0) t+='<td class="niedziela"><span id="niedziela">'+x+'</span></td>';
else if((i)==sob) t+='<td class="sobota"><span id="sobota">'+x+'</span></td>';
else t+='<td class="'+cD+'">'+x+'</td>';
if(((i)%7==0)&&(i<36))
{
 sob=sob+7;
 t+='</tr><tr align="center">';
}
}
return t+='</tr></table></div>';
}

