// Make the XMLHttpRequest object 
var hoverdata = new Array(40);
var posx = 0; 
var posy = 0;

function displayCalendar(m,y,calid) {
	hoverdata = new Array(40);
	var callback = function(data) {
		document.getElementById("calendar"+calid).innerHTML = data; 
	}
	getViaAjax(ajaxPath + 'render_calendar.php?m='+m+'&y='+y+'&calendar='+calid, callback);
}

function displayBigCalendar(m,y,calid) {
	hoverdata = new Array(40);
	var callback = function(data) {
		document.getElementById("calendar"+calid).innerHTML = data; 
	}
	getViaAjax(ajaxPath + 'render_calendar.php?m='+m+'&y='+y+'&big=true&calendar='+calid, callback);
}

function displayDayHover(e,date,calid) {
	if (!e) var e = window.event;

	// prepare, unfortunatly this must be done in this function, or IE will choke!
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}

	var tooltip = document.getElementById("tooltip"+calid);

	// get cached data index
    	var dayno = date.slice(-2);

	// check for cached data
	var details = null;
	details = hoverdata[dayno];
	// if not available in local cache: get it.
	if (! details) {
		var callback = function(data) {
			hoverdata[dayno] = data;
			tooltip.innerHTML = data;
			positionDayHover(calid);
		}
		getViaAjax(ajaxPath + 'get_simple_day_overview.php?date='+date+'&calendar='+calid,callback);
	} else {
		tooltip.innerHTML = details;
		positionDayHover(calid);
	}
}

function hideDayHover(calid) {
	var tooltip = document.getElementById("tooltip"+calid);
	tooltip.innerHTML = '<div class="info">Nothing here!</div>'; 
	tooltip.style.visibility = "hidden"; 
}

function positionDayHover(calid) {
	var tooltip = document.getElementById("tooltip"+calid);
	var offposx = -25;
	var offposy = -25;
	var tipwidth = tooltip.offsetWidth;
	var tipheight = tooltip.offsetHeight;
	tooltip.style.left=posx+offposx-(tipwidth/2)+"px"
	tooltip.style.top=posy+offposy-tipheight+"px"
	tooltip.style.visibility = "visible"; 
}
