var offsetfrommouse=[-40,-40];
var defaultimageheight = 40;
var defaultimagewidth = 40;
var idOpen = '';

function gettrailobj( ){
if (document.getElementById)
return document.getElementById( idOpen ).style
}

function gettrailobjnostyle( ){
if (document.getElementById)
return document.getElementById( idOpen )
}


function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body 
}


function hidetrail(){ 
document.getElementById('over' ).style.display= "none";
document.getElementById('over' ).style.left="-500px"

gettrailobj().display= "none"; 
document.onmousemove=""
gettrailobj().left="-500px";
//idOpen = '';
}

function showtrail( divname ){
idOpen = divname;
gettrailobj( ).display="block";
document.getElementById ('over').style.display="block";

var width = document.getElementById( idOpen ).offsetWidth;
var height = document.getElementById( idOpen ).offsetHeight;

document.getElementById( 'over' ).style.height = height+60; 
document.getElementById( 'over' ).style.width = width+60;

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.imagem.onmousemove=followmouse; 
}
}

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; // 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"

document.getElementById ('over' ).style.left=xcoord-30+"px"
document.getElementById('over' ).style.top=ycoord-30+"px"

}
