var hh=null;

function HelpHover()
{
	this._mousePosX = 0;
	this._mousePosY = 0;
	this._hoverItem = null;
	this._hoverContents = null;
	
	this._offsetY = null;
}

HelpHover.prototype.init = function()
{
	var hh = this;
	var helpItems = document.getElementsByClassName('hasHelp');
	for (var i=0; i<helpItems.length; i++)
	{
		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.body.scrollLeft;
				hh.mousePosY = e.clientY + document.body.scrollTop;
			}
			hh._hoverItem = this;
			hh._hoverContents = document.getElementById(this.id+'Help');
			hh.move();
		}
		helpItems[i].onmouseout = function (e)
		{
			hh.out();
		}
	}
	
}

HelpHover.prototype.out = function()
{
	this._hoverContents.style.top = -10000+'px';
	this._hoverContents.style.left = -10000+'px';
	this._hoverItem = null;
	this._hoverContents = null;
}

HelpHover.prototype.move = function()
{
  this._hoverContents.style.top = this.mousePosY+10+this._offsetY+'px';
  this._hoverContents.style.left = this.mousePosX+10+'px';
	//this._hoverContents.style.top = this.mousePosY+10+'px';
	//this._hoverContents.style.left = this.mousePosX+10+'px';
}

function window_onscroll () {
  if(typeof(document.media)=='string' ) {
    if (hh==null){
      hh = new HelpHover();
	    hh.init();
    }
    var y;
    // quirksmode.com
    if (self.pageYOffset)
    y = self.pageYOffset;
    else if (document.documentElement && document.documentElement.scrollTop)
    y = document.documentElement.scrollTop;
    else if (document.body)
    y = document.body.scrollTop;
    hh._offsetY = y;
  }
}

addEvent(window, 'load', function()
{
	hh = new HelpHover();
	hh.init();
});

addEvent(window, 'scroll', window_onscroll);