
var offsetfrommouse = [10,15]; //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.

var defaultimageheight = 80; //maximum image size.
var defaultimagewidth = 80; //maximum image size.

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,sizetxt,desc,codice,prezzo)
{
 i = imagename;
 t = title;
 w = width;
 h = height;
 s = sizetxt;
 d = desc;
 c = codice;
 p = prezzo;
 timer = setTimeout("show(i,t,w,h,s,d,c,p);",1);
}

function show(imagename,title,width,height,sizetxt,desc,codice,prezzo)
{
 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 += 30;
 height += 55;
 defaultimageheight = height;
 defaultimagewidth = width;

 document.onmousemove = followmouse;

 newHTML = '<style>b {color:#333333;}</style><div style="width:'+ width +'px; z-index:100; position:absolute; background: #ffffff;border: 1px solid #444;"><div id="loader_container" style="text-align:center; position:absolute; top:40%; width:100%;"><div style="font-family:Tahoma, Helvetica, sans;font-size:10px;color:#000000;background-color:#FFFFFF;padding:10px 0 16px 0;margin:0 auto;display:block;width:135px;border:1px solid #6A6A6A;text-align:left;z-index:255;"><div align="center">Loading image</div><div style="background-color:#EBEBE4;position:relative;top:8px;left:8px;height:7px;width:113px;font-size:1px"><div id="progress" style="height:5px;font-size:1px;width:1px;position:relative;top:1px;left:10px;background-color:#9D9D94"></div></div></div></div>';
 newHTML = newHTML + '<h2 style="text-align:left;padding:12px 0 0 18px;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;color:#333333; text-align:center">'+ title +'</h2>';
 newHTML = newHTML + '<div style="vertical-align:top;text-align:left;padding: 10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;color:#666666;"><table><tr><td><img onload="javascript:remove_loading();" src="' + imagename + '" border="0" align="center"></td><td style="vertical-align:top;text-align:left;padding: 10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;color:#000000;">' + prezzo + '<br>' + desc + '<br><br>' + sizetxt + '</td></tr></table></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-100 : pageXOffset+window.innerWidth-280;
 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; // Move to the left side of the cursor
 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; // Move to the left side of the cursor
 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";
}

var t_id = setInterval(animate,20);
var pos = 0;
var dir = 2;
var len = 0;

function animate()
{
 var elem = document.getElementById('progress');
 if (elem != null)
 {
 if (pos==0) len += dir;
 if (len>32 || pos>79) pos += dir;
 if (pos>79) len -= dir;
 if (pos>79 && len==0) pos = 0;
 elem.style.left = pos;
 elem.style.width = len;
 }
}

function remove_loading()
{
 this.clearInterval(t_id);
 var targelem = document.getElementById('loader_container');
 targelem.style.display = 'none';
 targelem.style.visibility = 'hidden';
 var t_id = setInterval(animate,60);
}