/* Tool tip */
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function CToolTipData()
{
	var m_showDelay = 750;
	var m_hideDelay = 300;
	var m_state = "hidden";
	var m_elementName = "toolTip";
	var m_htmlElement = -1;
	var m_browser = whichBrs();
	var m_mouseX = 0;
	var m_mouseY = 0;

	var m_offsetX = 10;
	var m_offsetY = 10;
	var m_offsetXDef = m_offsetX;
	var m_offsetYDef = m_offsetY;
	var m_currentIndex = 0;
	var m_abortHide = false;
	var m_timeoutSet = false;
	var m_mouseOver = false;
	var m_hideId = -1;
	var m_showId = -1;

	// Function objects
	this.show = show;
	this.hide = hide;
	this.hideReal = hideReal;
	this.mouseMove = mouseMove;
	this.getX = getX;
	this.getY = getY;

	// Function bodies
	function show(id, text, ttClass, extra, ttClass2)
	{
		if(m_htmlElement == -1)
			m_htmlElement = getElement(m_elementName);

		if(m_state != "showing")
		{
			if(ttClass)
			{
				if(ttClass == "regHelp")
				{
					if(!extra)
					{
						alert("Param error");
						return;
					}
					if(ttClass2)
					{
						//m_htmlElement.style="background-color: rgb(1,80,1); border-color: rgb(24,131,0); color: white; padding: 7px;";
						//alert(m_htmlElement.style.backgroundColor);
						//m_htmlElement.style.backgroundColor = "red";
						//alert(m_htmlElement.className);
					}


					text = dynamicHelp(extra, text, "popup");
					textOrig = text;
					m_htmlElement.style.maxWidth="350px";

					if(gBrowser == "ie")
					{
						m_htmlElement.style.width = "350px";
						jsText = "<body style=\\'background-color: rgb(255,210,127); padding:3px;\\'>" + text + "</body>";
						/*text = '<iframe scrolling="no" bgColor=red" align="top" marginheight="0" frameborder="no" src="javascript: document.write(\'' + jsText + '\');">';
						text += '</iframe>';*/

						if(ttClass2)
						{
							if(ttClass2 == "green")
							{
								m_htmlElement.style.borderColor = "rgb(24,131,0)";
								jsText = "<body style=\\'font-size: 12px; font-family: verdana; background-color: rgb(1,80,1); border-color: rgb(24,131,0); color: white; padding: 7px;\\'>" + textOrig + "</body>";
								text = '<iframe scrolling="no" bgColor=red" align="top" marginheight="0" frameborder="no" src="javascript: document.write(\'' + jsText + '\');">';
								text += '</iframe>';
							}
						}
					}
					else if(ttClass2)
						m_htmlElement.className = ttClass2;
				}
				else if(ttClass == "help")
				{
					m_offsetY = -30;
					m_offsetX = 10;
				}
				else if(ttClass == "textBox")
				{
					m_htmlElement.style.width="250px";
				}
				else if(ttClass == "contPreview")
				{
					m_htmlElement.className = "contPreview";
				}
			}
			else
			{
				m_offsetX = m_offsetXDef;
				m_offsetY = m_offsetYDef;
			}
		}

		if(m_state == "showing")
		{
			if(m_mouseOver == false)
				return;
			m_state = m_htmlElement.style.visibility = "visible";
			m_htmlElement.style.display = "block";
			m_showId = -1;
			m_htmlElement.style.left	= m_mouseX + m_offsetX + "px";
			m_htmlElement.style.top		= m_mouseY + m_offsetY + "px";
		}
		else
		{
			m_mouseOver = true;
			m_state = "showing";
			m_showId = setTimeout("theToolTip.show(" + id + ")", m_showDelay);
		}


		if(text)
			m_htmlElement.innerHTML = text;
	}

	function hide()
	{
		m_hideId = setTimeout("theToolTip.hideReal()", m_hideDelay);
		m_state = "hiding";
		m_mouseOver = false;

		if(m_showId >= 0)
			 clearTimeout(m_showId);
	}

	function hideReal()
	{
		if(m_state != "hiding")
			return;
		m_hideId = -1;
		m_state = m_htmlElement.style.visibility = "hidden";
		m_htmlElement.style.display = "none";
		m_htmlElement.innerHTML = '';
	}

	function mouseMove(e)
	{
		if(ns4 || m_browser == "Firefox")
		{
			m_mouseX = e.pageX;
			m_mouseY = e.pageY;
			
		}
		else if(ie4)
		{
			m_mouseX = event.x;
			m_mouseY = event.y;
		}

		// Add scroll offset
		if(m_browser != "Firefox")
		{
			m_mouseX += trueBody().scrollLeft;
			m_mouseY += trueBody().scrollTop;
		}

		if(m_htmlElement == -1)
			m_htmlElement = getElement(m_elementName);

		

		if(!m_htmlElement.style)
			return;

		if(m_htmlElement.style.visibility != "visible")
			return;

		
		m_htmlElement.style.left	= m_mouseX + m_offsetX + "px";
		m_htmlElement.style.top		= m_mouseY + m_offsetY + "px";

		
	}

	function getX() { return m_mouseX };
	function getY() { return m_mouseY };
}

toolTipInitialized = false;
function toolTipInit()
{
	
	if(toolTipInitialized == true)
		return;

	if (ns4)
		document.captureEvents(Event.MOUSEMOVE);
	
	theToolTip = new CToolTipData();
	document.onmousemove = theToolTip.mouseMove;
	toolTipInitialized = true;
}
