var trailimage=["test.gif", 100, 99] //image path, plus width and height
var offsetfrommouse=[50,0] //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0 //duration in seconds image should remain visible. 0 for always.

if (document.getElementById || document.all)
	document.write('<div id="trailimageid" onMouseOver="zmrazit();">&nbsp;</div>')

function gettrailobj()
{
	if (document.getElementById)
		return document.getElementById("trailimageid").style
	else if (document.all)
		return document.all.trailimagid.style
}


function truebody()
{
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}


function hidetrail()
{
	gettrailobj().visibility="hidden"
	gettrailobj().width="1px"
	gettrailobj().height="1px"
	document.onmousemove=""
}


function showtrail(sirka,vyska)
{
	gettrailobj().visibility="visible"
	gettrailobj().width=sirka
	gettrailobj().height=vyska
	document.onmousemove=followmouse
}

function zmrazit()
{
	gettrailobj().visibility="visible"
	document.onmousemove=""
}


function followmouse(e)
{
	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

	if (typeof e != "undefined")
	{
		xcoord+=e.pageX
		ycoord+=e.pageY
	}
	else if (typeof window.event !="undefined")
	{
		xcoord+=truebody().scrollLeft+event.clientX
		ycoord+=truebody().scrollTop+event.clientY
	}

	xcoord +=10
	ycoord +=10

	var docwidth  = document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight = document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)

	if (xcoord+trailimage[1]+3>docwidth || ycoord+trailimage[2]> docheight)
		gettrailobj().display="none"
	else
		gettrailobj().display=""


	var child = document.getElementById("trailimageid").firstChild;

	if (child && child.tagName == "IMG")
	{
		var padding = 16;

		//console.info([child.width, xcoord, docwidth]);

		if ((child.width + xcoord + padding) > docwidth)
		{
			xcoord -= (child.width+ padding);
		}

		if ((child.height + ycoord + padding) > docheight)
		{
			ycoord -= (child.height+ padding);
		}
	}


	gettrailobj().left = xcoord+"px"
	gettrailobj().top  = ycoord+"px"
}

document.onmousemove=followmouse
