function buildCal(m, y, cM, cH, cDW, cD, brdr, startPicsDate, endPicsDate){
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

var lastmonth = m-1;
var nextmonth = m+1;
nextyear = y;
lastyear = y;
if (lastmonth==0) {lastmonth=12; lastyear=y-1;}
if (nextmonth==13) {nextmonth=1; nextyear=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="center">';
t+='<td><a href="javascript:updatecalendar('+lastmonth+','+lastyear+','+startPicsDate+','+endPicsDate+')"><<</a></td><td colspan="5" align="center" class="'+cH+'">'+mn[m-1]+' - '+y+'</td><td><a href="javascript:updatecalendar('+nextmonth+','+nextyear+','+startPicsDate+','+endPicsDate+')">>></a></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) x='<span id="today">'+x+'</span>'; 
var ts = new Date(y,m-1,x);
ts = ts.getTime()/1000;
if (ts>=startPicsDate && ts<=endPicsDate) {
	classGotPic=' gotPics'; 
	x = '<a href="javascript:updatepicture('+m+','+x+','+y+')">'+x+'</a>';
} else classGotPic='';

t+='<td class="'+cD+classGotPic+'">'+x+'</a></td>';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table></div>';
}


function updatecalendar(themonth, theyear, lowestDate, highestDate){
	var calendarstr=buildCal(themonth, theyear, "main", "month", "daysofweek", "days", 0, lowestDate, highestDate);
	document.getElementById("calendarspace").innerHTML=calendarstr;
}







