if (!getElement('calPopup')) {
	var calPopup = document.createElement("div");
	hide(calPopup);
	calPopup.id = 'calPopup';
	document.body.appendChild(calPopup);
}

function viewDayFromCell(tdEl) {
	// tdEl should be the table cell, with an id something like "day_1", "day_15", "day_31" or something.
	var day = parseInt(tdEl.id.substring(4));	// get everything after the "day_"
	viewDay(day);
}

function viewDay(day) {
	var currMonth = calendarStart.getMonth();	// 0-11
	var currYear = calendarStart.getFullYear();	// 2006, 2007, etc
	var currDate = new Date(currYear, currMonth, day);	//the day that we're talking about here (specified by the variable "day"), not the actual date of today. :-\
	var ONE_DAY = 86400000;
	var head = currDate.getFriendlyDate();
	var localtime = new Date();
	var thisoffset = localtime.getTimezoneOffset() * 60000;
	var time_correction = server_offset + thisoffset; // Calendar.class.php
	// alert('Server: ' + server_offset + '\nLocal: ' + thisoffset +'\nCorrection : '+ time_correction);
	// return false;
	
	var addEventHTML = "<a href=\"javascript:onlineWindow('calendarEdit', '', 'Editing Calendar Events', 'mode=add&date=" + currDate.toDateString() + "')\" title=\"Add event to this day\"><img src=\"images/calendar_add.png\" /></a>";
	var body = "<h1>Events on today</h1>";
	

	if (dayEvents[day] !== undefined && dayEvents[day].length > 0) {
		for (var i in dayEvents[day]) {
			var e = events[dayEvents[day][i]];
			
			if(!e) continue;
						
			var timeStr = "";
			
			if ((e.endTime.getTime() == 0) || (e.startTime.getTime() <= currDate.getTime() && e.endTime.getTime() >= currDate.getTime() + ONE_DAY)) {
				// all day event
				timeStr = "All day event";
			} else {
				if (e.startTime.getTime() >= currDate.getTime()) {
					var thisStartTime = new Date(Number(e.startTime) + time_correction);
					thisStartTime = e.startTime; // Temporary bypass
					timeStr = "From " + thisStartTime.toTimeString(); 
				}
				if (e.endTime.getTime() < currDate.getTime() + ONE_DAY) {
					var thisEndTime = new Date(Number(e.endTime) + time_correction);
					thisEndTime = e.endTime; // Temporary bypass
					// timeStr += (timeStr.length ? " u" : "U") + "ntil " + thisEndTime.toTimeString();
					if(thisEndTime.toTimeString() != '0:00') { timeStr += (timeStr.length ? " u" : "U") + "ntil " + thisEndTime.toTimeString(); }
					else { timeStr += 'All day event'; }
					
				}
				if (!timeStr.length) { timeStr = e.startTime.getTime() + " " + currDate.getTime(); }
			}

			body += "\n<div class=\"event\">"
				  + (e.canEdit
				  	 ?	"<div class=\"rightButtons\" style=\"float: right\">"
				  	 		+ "<a href=\"javascript:onlineWindow('calendarEdit', '', 'Edit calendar events', 'mode=edit&eventId=" + e.id + "')\" title=\"Edit this event\"><img src=\"images/calendar_edit.png\" /></a> "
				  	 		+ "<a href=\"javascript:onlineWindow('calendarEdit', '', 'Edit calendar events', 'mode=delete&eventId=" + e.id + "')\" title=\"Delete this event\"><img src=\"images/calendar_delete.png\" /></a>"
						+ "</div>"
				  	 : ""
				  	)
				  + "<span class=\"title\">" + e.title + "</span>"
				  + "<span class=\"when\">(" + timeStr + ")</span>"
				  + "<span class=\"desc\">" + e.desc + "</span>"
				  + (e.link != "" ? "<span class=\"link\">Link: <a href=\"" + e.link + "\" target=\"_blank\">" + e.link + "</a></span>" : "")
				  + "</div>\n";
		}
	} else {
		body += "\n<p align=\"center\">No events today.</p><p align=\"center\">Use the " + addEventHTML + " <strong>Add Event</strong> button to create one.</p>";
	}
	calPopup.innerHTML = "<div id=\"head\">"
							+ "<div class=\"rightButtons\" style=\"float: right\">"
								+ addEventHTML + " &nbsp;"
								+ (day > 1 ? "<a href=\"#\" onclick=\"viewDay(" + (day - 1) + ")\"><img src=\"images/resultset_previous.png\" /></a>" : "")
								+ (day < currDate.daysInMonth() ? "<a href=\"#\" onclick=\"viewDay(" + (day + 1) + ")\"><img src=\"images/resultset_next.png\" /></a>" : "")
								+ "<a href=\"#\" onclick=\"closeCalPopup(); return false;\"><img src=\"images/cancel.png\" /></a>"
							+ "</div>"
							+ head
						+ "</div>"
						+ "<div id=\"body\">" + body + "</div>";
	showElementCentred(calPopup);
}
function closeCalPopup() { hide(calPopup); }