function buildCal(m, y, cM, cH, cDW, cD, brdr, divName){
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()+0; //DD replaced line to fix date bug when current day is 31st
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

prev_month=m-1;
prev_year=y;
if(prev_month==0){prev_month=12;prev_year=y-1;}

next_month=m+1;
next_year=y;
if(next_month==13){next_month=1;next_year=y+1;}

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="left"><th colspan="1" class="left"><a href="javascript:writeCal('+prev_month+', '+prev_year+', \''+cM+'\', \''+cH+'\', \''+cDW+'\', \''+cD+'\', \''+brdr+'\', \''+divName+'\')" tabindex="9"><h5>prev</h5></a></th> <th colspan="5" align="center" class="month"><h6>'+mn[m-1]+' '+y+'</h6></th><th colspan="1"><a href="javascript:writeCal('+next_month+', '+next_year+', \''+cM+'\', \''+cH+'\', \''+cDW+'\', \''+cD+'\', \''+brdr+'\', \''+divName+'\')" tabindex="9"><h5>next</h5></a></th></tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"MTWTFSS".substr(s,1)+'</td>';
t+='</tr><tr align="centero">';
for(i=1;i<=42;i++){
var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
xInt=x;
if(x!='&nbsp;')x='<a href="JavaScript:calendarClick('+y+','+m+','+x+')" alt="'+x+', '+m+', '+y+' " tabindex="10" >'+x+'</a>';
if (xInt==scanfortoday) //DD added
x='<span class="today">'+x+'</span>' //DD added
t+='<td class="'+cD+'">'+x+'</td>';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table></div>';
}

function writeCal(m, y, cM, cH, cDW, cD, brdr, divName){
	document.getElementById(divName).innerHTML=buildCal(m, y, cM, cH, cDW, cD, brdr, divName);
}

