function buildCal(m, y, cM, cH, cDW, cD, brdr, eventAff){

	var mn=['Jan','Feb','March','April','May','June','July','Aug','Sept','Oct','Nov','Dec'];
	var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
	var date;
	var count=1;

	var oD = new Date(y, m-1, 1); 
	oD.od=oD.getDay()+1; 

	var todaydate=new Date() 
	var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 
	var thismonth = todaydate.getMonth()+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 colspan="1" align="center" class="'+cH+' month_colors">';
	if (m == thismonth) { 
		t+='';
	} else { t+='<span class="month_colors"><a href="javascript:void(0);" onClick="skip(\'-\',\'' + eventAff + '\');">&lt;</a></span>';}
	t+='<td colspan="5" align="center" class="'+cH+' month_colors">'+mn[m-1]+' '+y+'</td>';
	t+='<td colspan="1" align="center" class="'+cH+' month_colors"><span class="month_colors"><a href="javascript:void(0);" onClick="skip(\'+\',\'' + eventAff + '\');">&gt;</a></span></td></tr><tr align="center">';

	for(s=0;s<7;s++)t+='<td class="'+cDW+' daysofweek_colors">'+"SMTWTFS".substr(s,1)+'</td>';

	t+='</tr><tr align="center" 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;';
		date = x;
			
		if (x=='&nbsp;'){
			if ((count == 1) || (count == 7)) {
				t+='<td class="weekends weekends_colors">'+x+'</td>';
			} else {
				t+='<td class="'+cD+' days_colors">'+x+'</td>';
			}
		}
		else {
			if (x == scanfortoday) {
				x='<span class="today today_colors">'+x+'</span>' 		
			}
			
			if (x < scanfortoday) {
				
				if ((count == 1) || (count == 7)) {
					t+='<td class="weekends weekends_colors">'+x+'</td>';
				} else {
					t+='<td class="'+cD+' days_colors">'+x+'</td>';
				}
						
			} else {
			
				if ((count == 1) || (count == 7)) {
					t+='<td class="weekends weekends_colors"><a href="/sp?aff=' + eventAff + '&date='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
				} else {
					t+='<td class="'+cD+' days_colors"><a href="/sp?aff=' + eventAff + '&date='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
				}
			}
		}
		
		count++;
		if(((i)%7==0)&&(i<36)){
			t+='</tr><tr align="center">';
			count=1;
		}
	}
	
	return t+='</tr></table></div>';
}

function updatecalendar(theselection, eventAff){
	var themonth=parseInt(theselection[theselection.selectedIndex].value)+1
	var calendarstr=buildCal(themonth, curyear, "main", "month", "daysofweek", "days", 0, eventAff)
	if (document.getElementById)
	document.getElementById("calendar").innerHTML=calendarstr
}

function skip(Direction, eventAff) {
   if (Direction == '+') {
      if (selected_month == 12) {
         selected_month = 1;
         selected_year++;
      }
      else {
         selected_month++;
      }
   }
   else {
      if (selected_month == 1) {
         selected_month = 12;
         selected_year--;
      }
      else {
         selected_month--;
      }
   }
   
   	var calendarstr=buildCal(selected_month, selected_year, "main", "month", "daysofweek", "days", 0, eventAff)
	if (document.getElementById)
		document.getElementById("calendar").innerHTML=calendarstr
}



