document.getElementsByClassName = function(needle)
{
	var my_array = document.getElementsByTagName("*");
	var retvalue = new Array();
	var i;
	var j;

	for (i = 0, j = 0; i < my_array.length; i++)
	{
		var c = " " + my_array[i].className + " ";
		if (c.indexOf(" " + needle + " ") != -1)
		{
			retvalue[j++] = my_array[i];
		}
	}
	return retvalue;
}

function addLoadEvent(func)
{
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
        {
            if (oldonload)
            {
                oldonload();
            }
            func();
        }
    }
}

function HelpHover()
{
	this._mousePosX = 0;
	this._mousePosY = 0;
	this._hoverItem = null;
	this._hoverContents = null;
}

HelpHover.prototype.init = function()
{
	try
	{
		var hh = this;
		var helpItems = document.getElementsByClassName('hasHelp');

		for (var i=0; i<helpItems.length; i++)
		{
			if (document.getElementById(helpItems[i].id+'Help'))
			{
				helpItems[i].onmousemove = function(e)
				{
					if (!e) var e = window.event;
					if (e.pageX || e.pageY)
					{
						hh.mousePosX = e.pageX;
						hh.mousePosY = e.pageY;
					}
					else if (e.clientX || e.clientY)
					{
						hh.mousePosX = e.clientX + document.documentElement.scrollLeft;
						hh.mousePosY = e.clientY + document.documentElement.scrollTop;
					}
					hh._hoverItem = this;
					hh._hoverContents = document.getElementById(this.id+'Help');
					hh.move();
				}
				helpItems[i].onmouseout = function (e)
				{
					hh.out();
				}
			}
		}
	}
	catch (e)
	{
	}
}

HelpHover.prototype.out = function()
{
	try
	{
		this._hoverContents.style.top = -10000+'px';
		this._hoverContents.style.left = -10000+'px';
		this._hoverItem = null;
		this._hoverContents = null;
	}
	catch (e)
	{
	}
}

HelpHover.prototype.move = function()
{
	try
	{
		this._hoverContents.style.top = this.mousePosY+10+'px';
		this._hoverContents.style.left = this.mousePosX+10+'px';
	}
	catch (e)
	{
	}
}

addLoadEvent(
    function()
    {
        var hh = new HelpHover();
        hh.init();
    }
);