// 2006/10: Odin Marole, for Event WestIndies

// Set Calendar variables
var date = new Date();
var todayDay = date.getDate();
var todayMonth = (date.getMonth()+1);
var todayYear = date.getFullYear();
var month;
var year;

function isInt(s) {
	return (parseInt(s)==s);
}

function getNbDays (month, year) {
	if (month==2) {
		return (isInt(year/4))? 29: 28; 
	}
	else if ((month==4)||(month==6)||(month==9)||(month==11)) {
		return 30;
	}
	else return 31;
}

function previousMonth() {
	month--;
	if (month<1) {
		month = 12;
		year--;
	}
}

function nextMonth() {
	month++;
	if (month>12) {
		month = 1;
		year++;
	}
}

function previousCalendar() {
	previousMonth();
	jsCalendar(month,year);
}

function nextCalendar() {
	nextMonth();
	jsCalendar(month,year);
}

function jsCalendar(m,y) {

	month = m;
	year = y;
	var monthName = new Array(12);
	monthName[0]="January";
	monthName[1]="February";
	monthName[2]="March";
	monthName[3]="April";
	monthName[4]="May";
	monthName[5]="June";
	monthName[6]="July";
	monthName[7]="August";
	monthName[8]="September";
	monthName[9]="October";
	monthName[10]="November";
	monthName[11]="December";
	var otherDay = new Date (year, (month-1), 1);
	var firstDay = (otherDay.getDay()==0)? 7 : otherDay.getDay();
	var nbDays = getNbDays(month,year);
	nextMonth();
	var nbDaysBefore = getNbDays(month,year);
	previousMonth();
	var dayCount = 0;
	var lightBkg = 0;
	var td = '';

	var calendar = '<table id="calendar">';
	calendar += '<tr><td class="arrow"><a href="javascript:previousCalendar();"><</a></td><td colspan="5">'+monthName[otherDay.getMonth()]+' '+year+'</td><td class="arrow"><a href="javascript:nextCalendar();">></a></td></tr><tr id="daysname"><td>Mon.</td><td>Tue.</td><td>Wed.</td><td>Thu.</td><td>Fri.</td><td>Sat.</td><td>Sun.</td></tr>';
	calendar += '<tr class="daysnumber">';
	
	var daysBefore = nbDaysBefore - firstDay +1;
	for (i=1; i<firstDay; i++) {
		lightBkg++;
		daysBefore++;
		calendar += '<td class="out';
		calendar += (isInt(lightBkg/2))? ' lightBkg">': '">';
		calendar += daysBefore+'</td>';
	}

	for (i=firstDay; i<=(firstDay+nbDays-1); i++) {
		if (isInt((i-1)/7)) {
			calendar += '</tr><tr class="daysnumber">';
			lightBkg=0;
		}
		lightBkg++;
		dayCount++;
		td = '<td';
		if (''+todayDay+todayMonth+todayYear == ''+dayCount+(otherDay.getMonth()+1)+otherDay.getFullYear()) {
			td += ' id="today"';
		}
		td += (isInt(lightBkg/2))? ' class="lightBkg">' : '>';
		if (spipContent[''+year+(((''+month).length==1)? '0'+month: month)+(((''+dayCount).length==1)? '0'+dayCount : dayCount)]) {
			td += '<a class="calendar_events" href="#" onmouseover="stm(Text['+year+(((''+month).length==1)? '0'+month: month)+(((''+dayCount).length==1)? '0'+dayCount : dayCount)+'],Style[0])" onmouseout="htm()">'+dayCount+'</a>';
		}
		else {
			td += dayCount;
		}
		td += '</td>';
		calendar += td;
	}
	
	j=0;
	
	while (!isInt((i-1)/7)) {
		/*j++;
		calendar += '<td class="out">'+j+'</td>';
		i++;*/
		
		lightBkg++;
		j++;
		calendar += '<td class="out';
		calendar += (isInt(lightBkg/2))? ' lightBkg">'+j+'</td>' : '">'+j+'</td>';
		i++;
	}
	
	calendar += '</tr></table>'; 
	
	var leftbanner = document.getElementById('leftBanner');
	var nodes = leftbanner.childNodes;    // Get the list of children
    for(var i = (nodes.length-1); i >= 0; i--) {  // Loop backward through the children
        leftbanner.removeChild(nodes[i]);    // Remove a child
	}
	
	// Attach the calendar to the right node
	var div_calendar = document.createElement('div');	
	div_calendar.setAttribute = ('id','jsCalendar');
	div_calendar.innerHTML = calendar;
	leftbanner.appendChild(div_calendar);
	
	// Include Fast Facts script
	var fastfacts = document.createElement('script');
	fastfacts.setAttribute('type','text/javascript');
	fastfacts.setAttribute('src','js/fastfacts_builder.js');
	leftbanner.appendChild(fastfacts);

}