var tooltip;
var image;
var x = 0;
var y = 0;
var timeoutID;
var currentImage;

function init() {
	var images = document.getElementsByTagName('img');
	for (var i = 0; i < images.length; i++) {
		var image = images[i];
		
		if (image.getAttribute('tooltip')) {		
			var tooltip = document.getElementById(image.getAttribute('tooltip'));
			
			if (tooltip != null) {
				if (tooltip.id == 'title') {
					var newTooltip = document.createElement('div');
					newTooltip.className = tooltip.className;
					newTooltip.innerHTML = tooltip.innerHTML;
					tooltip = document.body.insertBefore(newTooltip, null);
					
					var span = tooltip.getElementsByTagName('span');
					for (var j = 0; j < span.length; j++) {
						if (span[j].id == 'title-text')
							span[j].innerHTML = image.getAttribute('title');
					}
					
					
				}
				image.tooltip = tooltip;
				
				image.setAttribute('title', "");
				
				image.onmousemove = moveMouse;
			
				image.onmouseout = clearTooltip;
			}
		}
	}
}

function moveMouse (e) {
	if (!e)
		var e = window.event;
	
	currentImage = this;
	getMousePosition(e);
	clearTimeout(timeoutID);
	timeoutID = setTimeout(showTooltip, 800);
}

function showTooltip() {
	currentImage.tooltip.style.left = (x + 1) + "px";
 	currentImage.tooltip.style.top = (y + 24) + "px";
	currentImage.tooltip.style.display = "block";

	currentImage.onmousemove = clearTooltip;
}

function clearTooltip() {
	clearTimeout(timeoutID);
	this.tooltip.style.display = "none";
	this.onmousemove = moveMouse;
}

function getMousePosition(e) {
	//Taken from http://www.quirksmode.org/js/events_properties.html

	if (e.pageX || e.pageY) 	{
		x = e.pageX;
		y = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		x = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		y = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
}

