// JavaScript Document
/*tooltips code*/

Tooltip.X_OFFSET = 25;
Tooltip.Y_OFFSET = 15;
Tooltip.DELAY = 500;

function Tooltip(){
	this.tooltip = document.createElement("div");
	this.tooltip.style.position = "absolute";
	this.tooltip.style.visibility = "hidden";
	this.tooltip.className = "tooltipShadow";
	
	this.content = document.createElement("div");
	this.content.style.position = "relative";
	this.content.className = "tooltipContent";
	
	this.tooltip.appendChild(this.content);
}

Tooltip.prototype.show = function(text, x, y){
	this.content.innerHTML = text;
	this.tooltip.style.left = x + "px";
	this.tooltip.style.top = y + "px";
	this.tooltip.style.visibility = "visible";
	
	if(this.tooltip.parentNode != document.body)
		document.body.appendChild(this.tooltip);
}

Tooltip.prototype.hide = function(){
	this.tooltip.style.visibility = "hidden";
}

Tooltip.prototype.schedule = function(target, e){
	var text = target.getAttribute("tooltip");
	if (!text) return;

	var x = e.clientX + Geometry.getHorizontalScroll();
	var y = e.clientY + Geometry.getVerticalScroll();

	x += Tooltip.X_OFFSET;
	y += Tooltip.Y_OFFSET;

	var self = this;
	var timer = window.setTimeout(function(){self.show(text, x, y);}, Tooltip.DELAY);
	
	if (target.addEventListener) target.addEventListener("mouseout", mouseout, false);
	else if(target.attachEvent) target.attachEvent("onmouseout", mouseout);
	else target.onmouseout = mouseout;

	function mouseout(){
		self.hide();
		window.clearTimeout(timer);
		if (target.removeEventListener)
			target.removeEventListener("mouseout", mouseout, false);
		else if (target.detachEvent) target.detachEvent("onmouseout", mouseout);
		else target.onmouseout = null;
		}
	}

Tooltip.tooltip = new Tooltip();

Tooltip.schedule = function(target , e) {Tooltip.tooltip.schedule(target, e);}
