function maxDays(mm, yyyy){
	var mDay;
	if ((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)) {
		mDay = 30;
	} else {
		mDay = 31;
		if (mm == 1) {
			if (yyyy/4 - parseInt(yyyy/4) != 0) {
				mDay = 28;
			} else {
				mDay = 29;
			}
		}
	}
	return mDay;
}

function selectDay(id){
	calendar_selected_day 	= calendar_arrN[id];
	calendar_selected_month = calendar_currM+1;
	calendar_selected_year 	= calendar_currY;
	if ( id <= ii_prevmonth ) {
		if (calendar_currM == 0) {
			calendar_selected_month = 12;
			calendar_selected_year = calendar_currY-1;
		} else {
			calendar_selected_month = calendar_currM;
		}		
	}
	if ( id >= ii_nextmonth ) {
		if ( calendar_currM == 11 ) {
			calendar_selected_month = 1;
			calendar_selected_year = calendar_currY + 1;
		} else {
			calendar_selected_month = calendar_currM + 2;
		}		
	}
	document.location.href = "events.php?date="+calendar_selected_year + "/" + IntFormat(calendar_selected_month,2) + "/" +  IntFormat(calendar_selected_day,2);
}

function writeCalendar( lng ){

	var calendar_now = new Date;
	var calendar_dd = calendar_now.getDay();
	var calendar_mm = calendar_now.getMonth();
	var calendar_yyyy = calendar_now.getFullYear();
	if		( lng == 'fr' )	var calendar_arrD = new Array("D","L","M","M","J","V","S");
	else if ( lng == 'en' )	var calendar_arrD = new Array("S","M","T","W","T","F","S","S");
	else					var calendar_arrD = new Array("zo","ma","di","wo","do","vr","za","zo");
	
	var calendar = "";
	calendar = "<table width=154>";
	calendar += "<form name=calendar_form>";
	calendar += "<input type=\"hidden\" name=\"calendar_cDay\" value=\"" + calendar_dd + "\" />";
	calendar += "<input type=\"hidden\" name=\"calendar_cMonth\" value=\"" + calendar_mm + "\" />";
	calendar += "<input type=\"hidden\" name=\"calendar_cYear\" value=\"" + calendar_yyyy + "\" />";
	calendar += "<input type=\"hidden\" name=\"calendar_cSection\" value=\"\" />";
	calendar += "<tr><td width=134><div id=cMonth>month</div></td><td width=10 height=25><a href=\"javascript:changeCal('" + lng + "','prev');\"><img src=\"/img/cal_left.gif\" border=\"0\"></a></td><td width=10 align=right><a href=\"javascript:changeCal('" + lng + "','next');\"><img src=\"/img/cal_right.gif\" border=\"0\"></a></td></tr>";
	calendar += "</form>";
	calendar += "</table>";
	calendar += "<table width=\"154\" id=\"raster\" cellpadding=\"0\" cellspacing=\"0\">";
	calendar += "<tr height=20>";
	for ( ii=0 ; ii<=6 ; ii++ ) {
		calendar += "<td class=\"wlabel\" width=\"22\">" + calendar_arrD[ (ii<6)?(ii+1):0 ] + "</td>";
	}
	calendar += "</tr>";
	
	aa = 1;
	for ( kk=0 ; kk<=5 ; kk++ ) {
		calendar += "<tr height=20>";
		for ( ii=0 ; ii<=6 ; ii++ ) {
			calendar += "<td align=\"center\" class=\"td" + aa + "\" id=\"td" + aa + "\"><a href=\"javascript:selectDay(" + aa + ")\" id=sp" + aa + ">"+aa+"</span></td>";
			aa += 1;
		}
		calendar += "</tr>";
	}
	calendar += "</table>";
	
	document.write(calendar);
	
	changeCal(lng);
}
function changeCal(lng,direct){
	
	// change month -----------------------------------------------------------
	if (direct=="prev") {
		document.calendar_form.calendar_cMonth.value = parseInt(document.calendar_form.calendar_cMonth.value)-1;
		if (document.calendar_form.calendar_cMonth.value < 0) {
			document.calendar_form.calendar_cMonth.value = 11;
			document.calendar_form.calendar_cYear.value = parseInt(document.calendar_form.calendar_cYear.value)-1;
		}
	} else if (direct=="next") {
		document.calendar_form.calendar_cMonth.value = parseInt(document.calendar_form.calendar_cMonth.value)+1;
		if (document.calendar_form.calendar_cMonth.value>11) {
			document.calendar_form.calendar_cMonth.value = 0;
			document.calendar_form.calendar_cYear.value = parseInt(document.calendar_form.calendar_cYear.value)+1;
		}
	}
	// ------------------------------------------------------------------------

	if		( lng == 'fr' )	var calendar_arrM = new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
	else if ( lng == 'en' )	var calendar_arrM = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	else					var calendar_arrM = new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");

	var calendar_now = new Date;
	var calendar_dd = calendar_now.getDate();
	var calendar_mm = calendar_now.getMonth();
	var calendar_yyyy = calendar_now.getFullYear();
	calendar_currM = parseInt(document.calendar_form.calendar_cMonth.value);
	calendar_currY = parseInt(document.calendar_form.calendar_cYear.value);
	var cSection_a = document.calendar_form.calendar_cSection.value;
	cSection = cSection_a.substr(8);
	
	var calendar_prevM = 11;
	calendar_arrN = new Array(42);
	var calendar_arrDate = new Array(42);

	// write month ------------------------------------------------------------
	document.getElementById("cMonth").innerHTML = calendar_arrM[ calendar_currM ] + ' ' + calendar_currY;
	// ------------------------------------------------------------------------
	
	// previous month for number of days --------------------------------------
	if (calendar_currM!=0) calendar_prevM = calendar_currM - 1;
	// ------------------------------------------------------------------------
	
	// define first day of the month ------------------------------------------
	var calendar_mmyyyy = new Date(69,4,3,9,25,0); //new Date();
	calendar_mmyyyy.setFullYear(calendar_currY);
	calendar_mmyyyy.setMonth(calendar_currM);
	calendar_mmyyyy.setDate(1);
	var calendar_day1 = calendar_mmyyyy.getDay();
	// ------------------------------------------------------------------------
	
	// fill in arrN -----------------------------------------------------------
	var aa;
	if (calendar_day1 <= 0) calendar_day1 = 7;
	// previous month
	for (ii=0;ii<calendar_day1;ii++) { 
		calendar_arrN[ii] = maxDays((calendar_prevM),calendar_currY) - calendar_day1 + ii + 1;
	}
	// current month
	aa = 1;
	for (ii=calendar_day1;ii<=calendar_day1+maxDays(calendar_currM,calendar_currY)-1;ii++) { 
		calendar_arrN[ii] = aa;
		calendar_arrDate[ii] = calendar_currY+'-'+(IntFormat(calendar_currM+1,2))+'-'+IntFormat(aa,2);
		aa++;
	}
	// next month
	aa = 1;
	for (ii=calendar_day1+maxDays(calendar_currM,calendar_currY);ii<=42;ii++) { 
		calendar_arrN[ii] = aa;
		aa++;
	}
	// ------------------------------------------------------------------------

	// fill in calendar with arrN content -----------------------------------------
	var dCount = 0;
	ii_nextmonth = 0;
	ii_prevmonth = 0;
	
//	c_calendar_activitydates = eval ( 'calendar_activitydates' + document.calendar_form.calendar_cSection.value );
	 eval ( 'c_calendar_activitydates = calendar_activitydates' + cSection +';'  );
	
		

	
	
	for (ii=1;ii<=42;ii++) {
		// previous + next month
		if (((ii<7)&&(calendar_arrN[ii]>20))||((ii>27)&&(calendar_arrN[ii]<20))){
			document.getElementById("sp"+ii).innerHTML = calendar_arrN[ii];
			document.getElementById("td"+ii).className = "calendar3";
			
			
			if ((ii<7)&&(calendar_arrN[ii]>20)) ii_prevmonth = ii;
			if ((ii>27)&&(calendar_arrN[ii]<20)&&(ii_nextmonth==0)) ii_nextmonth = ii;
			
			
		} else { // current month
			document.getElementById("sp"+ii).innerHTML = calendar_arrN[ii];
			
			if ( c_calendar_activitydates ) {
				document.getElementById("td"+ii).className = ( in_array( calendar_arrDate[ii] , c_calendar_activitydates)) ? "calendar5" : "calendar2";
			} else {
				document.getElementById("td"+ii).className = "calendar2";
			}
			 
			
			/*
			if ((dCount==0)||(dCount==6)){ // weekend
				document.getElementById("td"+ii).className = "calendar2";
			} else { // rest of the week
				document.getElementById("td"+ii).className = "calendar1";
			}
			*/
			
			
			
			 // current day
			if ((calendar_arrN[ii]==calendar_dd)&&(calendar_mm==calendar_currM)&&(calendar_yyyy==calendar_currY)) 
				document.getElementById("td"+ii).className = "calendar4";
		}
		dCount += 1;
		if (dCount>6) dCount=0;
	}
	// ------------------------------------------------------------------------
}

function IntFormat( value, size) {
  if (isNaN(value)) return "";
  var str = value.toString();
  while (str.length < size) str = "0" + str;
  return str;
}
function in_array(what,inwhat){
	for ( i=0 ; i< inwhat.length ; i++ ){
		if ( inwhat[i] == what ) return true;
	}
	return false;
}