var prevMonthImage = "images/Prev_month.gif";
var nextMonthImage = "images/Next_month.gif";
var eventBaseMonth = 4;	   // event data will not be 
var eventBaseYear = 2011;      // earlier than this date
var eventEndMonth = 3;         // no event data beyond
var eventEndYear = 2012;       // this date
var prevFunction = "prevMonth()";
var nextFunction = "nextMonth()";
// <a href="#top" onClick="nextMonth();">


function buildCal(m, y, cM, cH, cDW, cD){
var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
var prev = '';
var next = '';
var clsName;
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><table class="'+cM+'" cellpadding="0" cellspacing="0"><tr align="center" class="'+cH+'">';
if (m==eventBaseMonth && y==eventBaseYear) {prev='';}
	else {prev = '<a href="#top" onClick="'+prevFunction+'"><img src="' + prevMonthImage + '" alt="Previous month"></a>';}
if (m==eventEndMonth && y==eventEndYear) {next='';}
	else {next = '<a href="#top" onClick="'+nextFunction+'"><img src="' + nextMonthImage + '" alt="Next month"></a>';}
t+='<td align="left">'+prev+'</td><td colspan="5" align="center">'+ getMonthName(m)+', '+y+'</td><td align="right">'+next+'</td></tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"SMTWTFS".substr(s,1)+'</td>';
t+='</tr><tr align="left" valign="top">';
for(i=1;i<=42;i++){
var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
var z='id="calDay'+x+'"';
clsName = cD;
if (x==scanfortoday) //DD added
{
clsName = cD + '-today'; //DD added
}
if (x=='&nbsp;')
z = "";
t+='<td class="'+clsName+'" ' + z + '>'+x+'</td>';
if((i)%7==0) 
	{
   	  if (x<dim[m-1])
           {

           t+='</tr><tr align="left" valign="top">';
           }
           else break;
      }
}
return t+='</tr></table></div>';
}
function getMonthName(m)
{
var mn=['January','February','March','April','May','June','July','August','September','October','November','December'];
return mn[m-1];
}
function getMonthNameShort(m)
{
var mn=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
return mn[m-1];
}



