var offsetfrommouse=[20,0];		// image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var currentimageheight = 295;	// image height - used in the image tag within "showtrail" function
var currentimagewidth  = 220; 	// image width - used in the image tag within "showtrail" function

if (document.getElementById || document.all) {
	document.write('<div id="imageId" style="visibility:hidden; position:absolute; width:260px; padding:20px 20px; background-color:#fff; border:1px solid #000;"></div>');
}

function gettrailobj() {
	if (document.getElementById) {
		return document.getElementById("imageId").style
	} else if(document.all) {
		return document.all.imageId.style
	}
}

function gettrailobjnostyle() {
	if(document.getElementById) {
		return document.getElementById("imageId")
	} else if(document.all) {
		return document.all.imageId
	}
}

function truebody() {
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showtrail(image) {
	document.onmousemove = followmouse;
	newHTML = '<div id="imageIdInnerHTML"><img src="'+image+'" height="'+currentimageheight+'" width="'+currentimagewidth+'" hspace="10" vspace="10" border="0" align="right" /></div>';
	gettrailobjnostyle().innerHTML = newHTML;
	gettrailobj().visibility="visible";
}

function hidetrail() {
	gettrailobj().visibility="hidden";
}


function followmouse(e) {
	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]
	
	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(document.body.offsetHeight, window.innerHeight)
			
	if (typeof e != "undefined"){
		if (docwidth - e.pageX < 300){
			xcoord = e.pageX - xcoord - 286; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < (currentimageheight + 110)){
			ycoord += e.pageY - Math.max(0,(110 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}
	
	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < 300){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - 286; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (currentimageheight + 110)){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(110 + currentimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
	}
	
	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)
	
	gettrailobj().left=xcoord+"px"
	gettrailobj().top=ycoord+"px"
}
