function buildCal(m, y, cM, cH, cDW, cD, brdr){
var mn=['January','February','March','April','May','June','July','August','September','October','November','December'];
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 colspan="3" align="left" class="'+cH+'"><BR>'+mn[m-1]+' - '+y
var monthEventCode = m + "";
if (theEvents[monthEventCode] != null) {
	t+='<br>'+theEvents[monthEventCode]+'<br>'+"<BR>";
	//<A HREF="PowerfulWords/'+m+'-'+y+'.pdf"><font size="-2">download parent`s perch</A></font>'+"<BR>";
}
t+='<br></td>'

//Now the month events
t+='<td colspan="4" align="right" class="'+cH+'">'
t+='<font size="-1">'
monthEventCode = m + "/" + y;
if (theEvents[monthEventCode] != null) {
	t+=theEvents[monthEventCode];
}
t+='</font></td>'

t+='</tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"SunMonTueWedThuFriSat".substr(s*3,3)+'</td>';
	t+='</tr><tr align="left">';
	for(i=1;i<=42;i++){
		var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
		var cellFormat=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? cD : 'noday';
		var eventFormat = "events";	
		if (x==scanfortoday) {
			cellFormat = "today";
			eventFormat = "todayevents";
		}
		
		var eventCode = m+"/"+x+"/"+y;
		var eventCode2 = m+"/"+x;


		if (x==scanfortoday) //DD added
			x='<span id="today">'+x+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>' //DD added
			
		// if there is something for this date, display it
		// use m/d/y and look up for match in events array
		x = x + "<BR><div class='"+eventFormat+"'>";
		if (theEvents[eventCode] != null) {
			 x = x + theEvents[eventCode]+"<BR>";
		}
		if (theEvents[eventCode2] != null) {
			 x = x + theEvents[eventCode2];
		}
		x=x+"</div>";
		
		t+='<td valign=top width="14%" height="60px" class="'+cellFormat+'">'+x+'</td>';
		if(((i)%7==0)&&(i<36))t+='</tr><tr align="left">';
	}
	return t+='</tr></table></div>';
}


