/*
Tooltip Class v1.0 Written by Wesley van Opdorp
Currently tested in: Safari 3.0, Internet Explorer 6.0 and 7.0, FireFox 2.0, 3.0 Beta
Yonego ©2008
*/

function ToolTip(a_ElementId) {

	this.m_toolTip = document.getElementById(a_ElementId);
	this.m_baseWidth = this.m_toolTip.offsetWidth;

	this.showToolTip = function(a_Text, a_ElementId, a_HtmlLeft, a_HtmlRight, a_optionalWidth) {
		if (isNaN(a_optionalWidth)) {
			
			this.m_toolTip.style.width = this.m_baseWidth + "px";
		}
		else {
			this.m_toolTip.style.width = a_optionalWidth + "px";
		}
		this.m_xCoord = 0;
		this.m_yCoord = 0;
		this.m_objItem  = document.getElementById(a_ElementId);
		
		this.m_elementWidth = this.m_objItem.offsetWidth;
		this.m_objParent = null;
		
		do {
			this.m_xCoord += this.m_objItem.offsetLeft;
			this.m_yCoord += this.m_objItem.offsetTop;
			
			this.m_objParent = this.m_objItem.offsetParent.tagName;
	    	this.m_objItem = this.m_objItem.offsetParent;
	   
		} while(this.m_objParent != "BODY");
			
		this.m_xCoord += this.m_elementWidth;
		this.showToolTipAt(this.m_xCoord, (this.m_yCoord), a_Text, a_HtmlLeft, a_HtmlRight);
	}
	
	this.showToolTipAt = function(a_xCoord, a_yCoord, a_Text, a_HtmlLeft, a_HtmlRight) {
		if (document.body.offsetWidth <= (a_xCoord+this.m_toolTip.offsetWidth)) {
			a_xCoord = a_xCoord - this.m_toolTip.offsetWidth;
			this.m_toolTip.innerHTML = a_Text + a_HtmlRight;
		}
		else {
			this.m_toolTip.innerHTML = a_Text + a_HtmlLeft;
		}
		this.m_toolTip.style.left = a_xCoord + "px";
		this.m_toolTip.style.top = (a_yCoord - this.m_toolTip.offsetHeight) + "px";	
		
		this.m_toolTip.style.visibility = "visible";
		
	}
	
	this.hideToolTip = function() {
		this.m_toolTip.style.visibility = "hidden";
		
	}
}

tooltip = new ToolTip('dhtmltooltip');
