function buildCal(m, y, cM, cH, cDW, cD, brdr){
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

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 colspan="7" align="center" class="'+cH+'">'+mn[m-1]+' - '+y+'</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 ((mn[m-1]=='May' && x>=11 && x<=12) || 
	(mn[m-1]=='June' && x>=15 && x<=16) || 
	(mn[m-1]=='July' && x>=20 && x<=21)) 
	{
		t+='<td class="ngx1">'+x+'</td>'
	} else {
		if ((mn[m-1]=='May' && x>=13 && x<=15) || 
			(mn[m-1]=='June' && x>=17 && x<=19) || 
			(mn[m-1]=='July' && x>=22 && x<=24)) {
				t+='<td class="ngx2">'+x+'</td>'	
		} else {
			if ((mn[m-1]=='May' && x>=26 && x<=29) || 
				(mn[m-1]=='June' && x>=29 && x<=30) || 
				(mn[m-1]=='July' && x>=1 && x<=2)) {
					t+='<td class="ngx3">'+x+'</td>'
			} else {
				if ((mn[m-1]=='June' && x>=8 && x<=12) ||
					(mn[m-1]=='July' && x>=13 && x<=17)) {
						t+='<td class="ngx1nokia">'+x+'</td>'
				} else {
					if ((mn[m-1]=='May' && x>=21 && x<=22) ||
						(mn[m-1]=='June' && x>=25 && x<=26) ||
						(mn[m-1]=='July' && x>=30 && x<=31)) {
							t+='<td class="prov">'+x+'</td>'
					} else {
						if ((mn[m-1]=='May' && x>=18 && x<=20) ||
							(mn[m-1]=='June' && x>=22 && x<=24) ||
							(mn[m-1]=='July' && x>=27 && x<=29)) {
								t+='<td class="vsx">'+x+'</td>'
						} else {
							if ((mn[m-1]=='June' && x>=1 && x<=5) ||
								(mn[m-1]=='July' && x>=6 && x<=10)) {
									t+='<td class="boot">'+x+'</td>'
							} else {	
								t+='<td class="days">'+x+'</td>'
							}
						}
					}
				}
			}
		}
	};
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table></div>';
}

