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 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 cellspacing="2" cols="7"><tr>';

	if (m == thismonth) { 
		t+='<th>';
	} else { 
		t+='<th class="nav"><a href="javascript:void(0);" onClick="skip(\'-\');">&lt;&lt;</a>';
	}
	t+='</th><th colspan="5" class="month">'+mn[m-1]+' '+y+'</th>';
	t+='<th class="nav"><a href="javascript:void(0);" onClick="skip(\'+\');">&gt;&gt;</a></th></tr><tr>';

	for(s=0;s<7;s++)t+='<th>'+"SMTWTFS".substr(s,1)+'</th>';

	t+='</tr><tr>';

	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="'+cD+'">'+x+'</td>';
			} else {
				t+='<td class="'+cD+'">'+x+'</td>';
			}
		}
		else {
			if (x < scanfortoday) {
				
				if ((count == 1) || (count == 7)) {
					t+='<td class="past">'+x+'</td>';
				} else {
					t+='<td class="past">'+x+'</td>';
				}
				
			} else {
			
				if ((count == 1) || (count == 7)) {
					t+='<td class="'+cD+'"><a href="http://search.javaplum.com/sp?aff=7&p=JavaPlum/search_events&date='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
				} else {
					if (x == scanfortoday) {
						t+='<td class="today"><a href="http://search.javaplum.com/sp?aff=7&p=JavaPlum/search_events&date='+m+'/'+date+'/'+y+'">'+x+'</a></td>' 		
					} else {
						t+='<td class="'+cD+'"><a href="http://search.javaplum.com/sp?aff=7&p=JavaPlum/search_events&date='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
					}
				}
			}
		}
		
		count++;
		if(((i)%7==0)&&(i<36)){
			t+='</tr><tr>';
			count=1;
		}
	}
	
	return t+='</tr></table></div>';
}

function updatecalendar(theselection){
var themonth=parseInt(theselection[theselection.selectedIndex].value)+1
var calendarstr=buildCal(themonth, curyear, "main", "month", "daysofweek", "days", 0)
if (document.getElementById)
document.getElementById("calendarspace").innerHTML=calendarstr
}

function skip(Direction) {
   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)
	if (document.getElementById)
	document.getElementById("calendarspace").innerHTML=calendarstr
}



var themonths=['January','February','March','April','May','June',
'July','August','September','October','November','December']

var todaydate=new Date()
var curmonth=todaydate.getMonth()+1 //get current month (1-12)
var curyear=todaydate.getFullYear() //get current year
var selected_month = curmonth;
var selected_year = curyear;