	var mouseX, mouseY;
	document.onmousemove = function(e) {
	try
	{
		if (e) {
			mouseX = e.clientX; mouseY = e.clientY;
		} else {
			mouseX = event.clientX; mouseY = event.clientY;
		}
		mouseX += document.body.scrollLeft;
		mouseY += document.body.scrollTop;
		}
		catch(err)
		{}
	}
	
	var timeoutId;
	function previewOver(projId) {
		clearTimeout(timeoutId);
		show = function() {
			document.getElementById('ref_' + projId).style.display = 'block';
			showExplanation(projId);
		}
		timeoutId = setTimeout('show()', 250);
	}
	
	function showExplanation(projId) {
		document.getElementById('ref_' + projId).style.left = (mouseX - 2) + 'px';
		document.getElementById('ref_' + projId).style.top = (mouseY + 20) + 'px';
		setTimeout('showExplanation(\'' + projId + '\')', 10);
	}
	
	function previewOut(projId) {
		clearTimeout(timeoutId);
		document.getElementById('ref_' + projId).style.display = 'none';
	}
		function overviewOver(projId) {
		clearTimeout(timeoutId);
		show = function() {
			document.getElementById('project_' + projId).className = 'project_select';
			document.getElementById('ref_' + projId).style.display = 'block';
			showExplanation(projId);
			document.getElementById('referencepanel').className = 'project_on';
		}
		timeoutId = setTimeout('show()', 250);
	}
	
	function overviewOut(projId) {
		clearTimeout(timeoutId);
		document.getElementById('ref_' + projId).style.display = 'none';
		document.getElementById('project_' + projId).className = '';
		document.getElementById('referencepanel').className = 'project_off';
	}