
var divName = 'myHint'; 
var offX = 10;         
var offY = 10;         

var mPosX = 0;
var mPosY = 0;

var waitCount = 1000;
var hintWaitCount = 1000;
var timedEvent, hintTimeEvent;

function mouseX(evt) 
{
	if (!evt) evt = window.event;
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
	else return 0;
}

function mouseY(evt) 
{
	if (!evt) evt = window.event;
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	else return 0;
}

// Browser Window Size Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth() 
{
	return window.innerWidth != null? window.innerWidth:document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body != null ? document.body.clientWidth:null;
}

function pageHeight()
{
	return window.innerHeight != null? window.innerHeight: document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body != null ? document.body.clientHeight:null;
}

function posLeft()
{
	return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ? document.body.scrollLeft:0;
}

function posTop()
{
	return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop ? document.body.scrollTop:0;
}

function posRight()
{
	return posLeft()+pageWidth();
}

function posBottom()
{
	return posTop()+pageHeight();
}       

function follow(evt) 
{
	mPosX = mouseX(evt);
	mPosY = mouseY(evt);
} 
	
document.onmousemove = follow;

function cancelHide()
{
	if (timedEvent) 
	{
		clearTimeout(timedEvent);
		timedEvent = null;
	}
}

function adjustHeight(iframeobj)
{	
	iframeobj.style.height=Math.min(frames[iframeobj.name].document.body.scrollHeight, pageHeight()/0.8) + 'px';
	var hLeft = (offX + mPosX + parseInt(iframeobj.style.width) < posRight()) ? offX + mPosX + 'px' : mPosX + offX - parseInt(iframeobj.style.width) + 'px';
	var hTop = (offY + mPosY + parseInt(iframeobj.style.height) < posBottom()) ? offY + mPosY + 'px' : mPosY + offY - parseInt(iframeobj.style.height) + 'px';
	iframeobj.style.left = hLeft;
	iframeobj.style.top = hTop;
}

function hintMe(adress)
{
	var hintitem = document.getElementById(divName);
	if (hintitem)
	{	
		cancelHide();
		if (adress==hintitem.src && hintitem.style.visibility=='visible') return(0);
		if (adress=='')
		{
			hintitem.style.visibility = 'hidden';
			return(0);
		}
   		if (hintTimeEvent && (hintitem.style.visibility == 'hidden'))
   		{
			hintitem.style.visibility = (adress!='') ? 'visible' : 'hidden';
			clearTimeout(hintTimeEvent);
			hintTimeEvent = null;
		}
		else if (!hintTimeEvent)
		{
			hintitem.src = adress;
			hintitem.style.height='1px';
			hintitem.style.visibility = 'hidden';
			hintTimeEvent = setTimeout("hintMe('" + adress + "')", hintWaitCount);
		}
	}
}

function waitNhide()
{
	timedEvent = setTimeout("hintMe('')",waitCount);
	if (hintTimeEvent)
	{
		clearTimeout(hintTimeEvent);
		hintTimeEvent = null;
	}
}

