function hover()
{
	this.html = '<table cellspacing="0" border="0" cellpadding="0" class="hover_container"><tr><td class="hover_top_left"></td><td class="hover_tile_top"></td><td class="hover_top_right"></td></tr><tr><td class="hover_tile_left"></td><td class="hover_center" id="site_hover_text"></td><td class="hover_tile_right"></td></tr><tr><td class="hover_bottom_left"><img src="/images/hover/bottom_left.gif" style="display: inline" /></td><td class="hover_tile_bottom"></td><td class="hover_bottom_right"><img src="/images/hover/bottom_right.gif" style="display: inline" /></td></tr></table>';
	this.top = 0
	this.left = 0
	this.element = null;
	this.frameElement = null;
	this.text = '';


	this.create= function(target, text, vertical, align)
	{
		var hover = document.createElement('div');
	 	hover.setAttribute('id', 'site_hover');
	 	hover.innerHTML = this.html;
		hover.style.position = 'absolute';
		hover.style.width='180px';
		hover.style.textAlign='left';
		hover.style.zIndex = 1000;
		if( isFrame() )
		{
			parent.document.body.appendChild(hover);
			// If the id is blank set something
			if( target.id == '')
			{
				var new_id = Math.random() / Math.random();
				new_id = new_id.toString().replace('.','');
				target.id = new_id;
			}
			var iframeList = parent.document.getElementsByTagName('iframe');
			for (var i = 0; i < iframeList.length; i++)
			{
				// We found our target in this iframe
				if( iframeList[i].contentDocument.getElementById(target.id) )
				{
					this.frameElement = iframeList[i];
					continue;
				}
			}
		}
		else
		{
			document.body.appendChild(hover);
		}

		this.element = hover;

		// Change the text
		this.setText(text);

		// Move the element
		var targetPos = findPos(target);

		var left = 0;
		switch(align)
		{
			case 'left':
				left = targetPos[0] - this.element.offsetWidth - 10;
				break;

			case 'right':
				left = targetPos[0] + target.offsetWidth + 10;
				break;

			case 'center':
				var targetCenter = target.offsetWidth / 2
				var elementCenter =  this.element.offsetWidth / 2;

				left = targetPos[0] + targetCenter - elementCenter;
				break;

			default:
				left = targetPos[0] + parseInt(align);
		}

		var top = 0;
		switch(vertical)
		{
			case 'top':
				top = targetPos[1] - this.element.offsetHeight - 10;
				break;

			case 'bottom':
				top = targetPos[1] + target.offsetHeight + 10;
				break;

			case 'middle':
				var targetCenter = target.offsetHeight / 2
				var elementCenter =  this.element.offsetHeight / 2;

				top = targetPos[1] + targetCenter - elementCenter;
				break;

			default:
				top = targetPos[1] + vertical;
		}

		this.move(top, left);
	}

	this.move = function(top, align)
	{
		var element = this.element;
		var topOffset = 0;
		var leftOffset = 0;
		if( isFrame() )
		{
			framePos = findPos(this.frameElement);

			leftOffset = framePos[0];
			topOffset = framePos[1];

			var scroll_top = this.frameElement.contentDocument.body.scrollTop;
			var scroll_height = this.frameElement.contentDocument.body.scrollHeight;

			// allow for the scroll varience
			if( scroll_height > 0 )
			{
				topOffset = topOffset - scroll_top;
			}

		}

		element.style.top = parseInt(top) + parseInt(topOffset) + 'px';
		element.style.left = parseInt(align) + parseInt(leftOffset) + 'px';
	}

	this.destroy = function()
	{
		var element = this.element;
		element.parentNode.removeChild(element);
	}

	this.setText = function (text)
	{
		if( isFrame() )
		{
			parent.document.getElementById('site_hover_text').innerHTML = text;
		}
		else
		{
			document.getElementById('site_hover_text').innerHTML = text;
		}

		this.text = text;
	}

	this.width = function (width)
	{
		this.element.style.width = parseInt(width) + 'px';
	}

}

hover = new hover();

function isFrame()
{
	if( parent.location == self.location )
	{
		return false;
	}
	return true;
}

function main_site_hover(element, text, top, left, width, div_id)
{
	if( div_id )
	{
		text = document.getElementById(div_id).innerHTML;
	}
	hover.create(element, text, top, left);
	if( width )
	{
		hover.width(width);
	}
}

function remove_hover()
{
	hover.destroy();
}