function Tooltip(){
};
Tooltip.prototype.init = function(){
	if(document.getElementById || document.all){
		var objTooltip = document.createElement("div");
		var objImg = document.createElement("img");
		objTooltip.setAttribute("id", "trailimageid");
		objImg.setAttribute("id", "ttimg");
		objImg.setAttribute("src", "images/blank.png");
		objTooltip.appendChild(objImg);
		document.body.insertBefore(objTooltip, document.getElementById('bckg'));
	}
};
Tooltip.prototype.getObj = function(id){
	if (document.getElementById) return document.getElementById("trailimageid").style;
	else if (document.all) return document.all.trailimagid.style;
};
Tooltip.prototype.trueBody = function(){
	return (!window.opera && document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
};
Tooltip.prototype.hide = function(){
	document.onmousemove = "";
	document.getElementById('ttimg').src = 'images/blank.png';
	this.getObj().visibility = "hidden";
	this.getObj().left = -1000;
	this.getObj().top = 0;
	if(document.getElementById("trailtextid"))
		document.getElementById("trailimageid").removeChild(document.getElementById("trailtextid"));
		document.getElementById('ttimg').style.display = "";
};
Tooltip.prototype.show = function(width, height, file){
	if(navigator.userAgent.toLowerCase().indexOf('opera') == -1 && navigator.userAgent.toLowerCase().indexOf('safari') == -1){
		w = width;
		h = height;
		this.getObj().visibility = "visible";
		this.getObj().width = w + "px";
		this.getObj().height = h + "px";
		document.getElementById('ttimg').width = w;
		document.getElementById('ttimg').height = h;
		document.getElementById('ttimg').src = file;
		document.onmousemove = this.followMouse;
	}
};
Tooltip.prototype.showText = function(txt){
	if(navigator.userAgent.toLowerCase().indexOf('opera') == -1 && navigator.userAgent.toLowerCase().indexOf('safari') == -1){
		var objText = document.createTextNode(txt);
		var objElm = document.createElement("p");
		objElm.setAttribute("id", "trailtextid");
		objElm.appendChild(objText);
		document.getElementById("trailimageid").appendChild(objElm);
		document.getElementById('ttimg').style.display = "none";
		this.getObj().visibility = "visible";
		this.getObj().width = "auto";
		this.getObj().height = "auto";
		document.onmousemove = this.followMouse;
	}
};
Tooltip.prototype.followMouse = function(e){
	if(navigator.userAgent.toLowerCase().indexOf('opera') == -1 && navigator.userAgent.toLowerCase().indexOf('safari') == -1){
		var xcoord = 20;
		var ycoord = 20;

		if(typeof e != "undefined"){
			xcoord += e.pageX;
			ycoord += e.pageY;
		}else if(typeof window.event != "undefined"){
			xcoord += Tooltip.trueBody().scrollLeft + event.clientX;
			ycoord += Tooltip.trueBody().scrollTop + event.clientY;
		}

		var docwidth = document.all? Tooltip.trueBody().scrollLeft + Tooltip.trueBody().clientWidth : pageXOffset + window.innerWidth - 15;
		var docheight = document.all? Math.max(Tooltip.trueBody().scrollHeight, Tooltip.trueBody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight);

		if(xcoord + w + 3 > docwidth)
		xcoord = xcoord - w - (20 * 2);

		if(ycoord - Tooltip.trueBody().scrollTop + h > Tooltip.trueBody().clientHeight);
		ycoord = ycoord - h - 20;
		Tooltip.getObj().left = xcoord + "px";
		Tooltip.getObj().top = ycoord + "px";
	}
};

// Global instance
var Tooltip = new Tooltip();
var w = 1;
var h = 1;
