var offsetfrommouse=[15,25];
var displayduration=0;
var defaultimageheight=40;
var defaultimagewidth=40;
var timer;
function gettrailobj()
{
	if(document.getElementById)
		return document.getElementById("preview_div").style;
}
function gettrailobjnostyle()
{
	if(document.getElementById)
		return document.getElementById("preview_div");
}
function truebody()
{
	return(!window.opera && document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}
function hidetrail()
{
	gettrailobj().display="none";
	document.onmousemove="";
	gettrailobj().left="-500px";
	clearTimeout(timer);
}
function showtrail(imagename, title, width, height)
{
	i=imagename;
	t=title;
	w=width;
	h=height;
	timer=setTimeout("show('"+i+"', t, w, h);", 200);
}
function show(imagename, title, width, height)
{
	var docwidth=document.all ? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-offsetfrommouse[0];
	var docheight=document.all ? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight);
	if((navigator.userAgent.indexOf("Konqueror") == -1  || navigator.userAgent.indexOf("Firefox") != -1 || (navigator.userAgent.indexOf("Opera") == -1 && navigator.appVersion.indexOf("MSIE") != -1)) && (docwidth > 650 && docheight > 500))
	{
		(width == 0) ? width=defaultimagewidth : '';
		(height == 0) ? height=defaultimageheight : '';
		width+=42;
		height+=67;
		defaultimageheight=height;
		defaultimagewidth=width;
		document.onmousemove=followmouse;
		newHTML='<div class="border_preview" style="width: '+width+'px; height: '+height+'px"><div id="loader_container"><div id="loader"><div align="center">Loading Product preview ...</div><div id="loader_bg"><div id="progress"></div></div></div></div>';
		newHTML=newHTML+'<div class="title">'+title+'</div>';
		newHTML=newHTML+'<div class="preview_temp_load"><img src="'+imagename+'" onload="javascript: remove_loading()"></div>';
		newHTML=newHTML+'</div>';
		if(navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1 )
		{
			newHTML=newHTML+'<iframe src="about: blank" scrolling="no" frameborder="0" width="'+width+'" height="'+height+'"></iframe>';
		}
		gettrailobjnostyle().innerHTML=newHTML;
		gettrailobj().display="block";
	}
}
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(window.innerHeight);
	if(typeof e != "undefined")
	{
		if(docwidth-e.pageX < defaultimagewidth+2*offsetfrommouse[0])
		{
			xcoord=e.pageX-xcoord-defaultimagewidth;
		}
		else
		{
			xcoord+=e.pageX;
		}
		if(docheight-e.pageY < defaultimageheight+2*offsetfrommouse[1])
		{
			ycoord+=e.pageY-Math.max(0, (2*offsetfrommouse[1]+defaultimageheight+e.pageY-docheight-truebody().scrollTop));
		}
		else
		{
			ycoord+=e.pageY;
		}
	}
	else if(typeof window.event != "undefined")
	{
		if(docwidth-event.clientX < defaultimagewidth+2*offsetfrommouse[0])
		{
			xcoord=event.clientX+truebody().scrollLeft-xcoord-defaultimagewidth;
		}
		else
		{
			xcoord+=truebody().scrollLeft+event.clientX;
		}
		if(docheight-event.clientY < (defaultimageheight+2*offsetfrommouse[1]))
		{
			ycoord+=event.clientY+truebody().scrollTop-Math.max(0, (2*offsetfrommouse[1]+defaultimageheight+event.clientY-docheight));
		}
		else
		{
			ycoord+=truebody().scrollTop+event.clientY;
		}
	}
	gettrailobj().left=xcoord+"px";
	gettrailobj().top=ycoord+"px";
}