// Simple Calender Creator
// By Brian Gosselin of http://scriptasylum.com

// Usage:  buildCal(month, year, main_css_classname, header_css_classname, Sat-Sun_css_classname, days_css_classname, border_thickness, starting_day, date_onclick_handler)
//         Pass the result to the document.write() method. ex: document.write( buildCal(<parameters>) );

// Release History:
// V1.0 - Initial Release
// V1.1 - Added revisions made by DynamicDrive.com (changes denoted by the letters "DD").
// V1.2 - Added ability to specify the starting day of the week (Sun, Mon, Tue, etc)
// V1.3 - Added ability to execute a function when a date is clicked. Fixed a minor visual bug in Mozilla.

function buildCal(m, y, cM, cH, cDW, cD, brdr, sDay, action){
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];

if(sDay<1 || sDay>7)sDay=1;

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 tmpod=oD.od-sDay;
if(tmpod<0)tmpod=7+tmpod;
oD.od=tmpod+1;

var wkstr="SMTWTFS".substr(sDay-1,"SMTWTFS".length)+"SMTWTFS".substr(0,sDay-1);

var todaydate=new Date() //DD
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD

dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
var t='<div class="'+cM+'">\n';
t+='<table class="'+cM+'" cellpadding="3" border="0" cellspacing="0">\n';

t+='<tr align="center"><td colspan="7" align="center" valign="top" class="'+cH+'">\n';
t+='<table width="100%" cellpadding="0" cellspacing="0" class="'+cM+'">\n';
t+='<tr><td>\n';
t+='<a href="" onclick="adjM(0); return false;" class="monthArrow" style="float:left;"><b> < </b></a>\n';
t+='</td><td align="center">\n';
t+= mn[m-1]+' - '+y;
t+='</td><td>\n';
t+='<a href="" onclick="adjM(1); return false;" class="monthArrow" style="float:right;"><b> > </b></a>\n';
t+='</td></tr></table>\n';
t+='</td></tr>\n';

t+='<tr align="center">\n';
for(var s=0;s<7;s++)t+='<td class="'+cDW+'">'+wkstr.substr(s,1)+'</td>\n';
t+='</tr><tr align="center">\n';
for(var i=1;i<=42;i++){
var x=( (i-oD.od>=0) && (i-oD.od<dim[m-1]) )? '<div style="width:100%" '+((action!='')? 'onmouseup="'+action+'('+m+','+(i-oD.od+1)+','+y+')':(i-oD.od+1))+'">'+(i-oD.od+1)+'</div>' : '&nbsp;\n';
if (i-oD.od+1==scanfortoday)x='<span id="today" class="'+cD+'">'+x+'</span>\n' //DD
t+='<td width="14.28%" class="'+cD+'">'+x+'</td>\n';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">\n';
}
t+='</tr></table></div>\n';
return t;
}