function buildCal(m, y, cM, cH, cDW, cD, brdr){
var mn=['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'];
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

var prevMonth = m-1;
var nextMonth = m+1;
if(m == 12) nextMonth = 1;
else if(m == 1) prevMonth = 12;


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 align="center" class="'+cH+'"><a href="Javascript:updatecalendar('+prevMonth+');">&lt;&lt;</a></td>';
t += '<td colspan="5" align="center" class="'+cH+'">' +mn[m-1]+'-'+y+'</td>';
t += '<td align="center" class="'+cH+'"><a href="Javascript:updatecalendar('+nextMonth+');">&gt;&gt;</a></td>';
t += '</td></tr><tr align="center">';
for(s=0;s<7;s++) t+='<td class="'+cDW+'">'+"SMTWTFS".substr(s,1)+'</td>';
t += '</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;';
if (x==scanfortoday) //DD added
x='<span id="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 updatecalendar(theselection){
var themonth=theselection;
var calendarstr=buildCal(themonth, curyear, "calendarmain", "calendarmonth", "calendardaysofweek", "calendardays", 0)
if (document.getElementById)
document.getElementById("calendarspace").innerHTML=calendarstr
}


