
var itemWidth = 450;
var offsetfrommouse = [40,225]; //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 currentimageheight = 450;	// maximum image size.


function getcontenedor(){
  if (document.getElementById)
    return document.getElementById("tmpContenedor")
  else if (document.all)
    return document.all.tmpContenedor
}

function gettrailobj(){
  if (document.getElementById)
    return document.getElementById("trailimageid").style
  else if (document.all)
    return document.all.trailimagid.style
}

function gettrailobjnostyle(){
  if (document.getElementById)
    return document.getElementById("trailimageid")
  else if (document.all)
    return document.all.trailimagid
}

function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function objetoCargado()
{
    gettrailobj().visibility = "visible";
}

function showtrail(imagename,title,description,showthumb,height,newItemWidth,esvideo)
{
    tmpObj = new Image();
    tmpObj.src = imagename;

    tmpObj.onLoad = objetoCargado();

    if (esvideo == 0) {
      itemWidth = tmpObj.width;
      offsetfrommouse[1] = tmpObj.height / 2;
    } else {
      itemWidth = 450;
      offsetfrommouse[1] = 225;
    }

    document.onmousemove = posicionMouse;

	cameraHTML = '';

    newHTML = '<div>';
	newHTML = newHTML + '<span>' + title + '</span><div class="borderbot"></div>';
	if (showthumb > 0){
		newHTML += '<div style="border: 1px solid #000000;" align="center">';
        if (esvideo == 0)
            newHTML += '<img src="' + tmpObj.src + '" width="' + tmpObj.width +'" height="' + tmpObj.height +'" border="0">';
        else
            newHTML += '<embed width="450" height="450" src="' + tmpObj.src + '"></embed>';
        newHTML += '</div>';
	}
	newHTML = newHTML + '</div>';

	gettrailobjnostyle().innerHTML = newHTML;
	
}

function showhtml(newHtml,height)
{
	document.onmousemove=followmouse;
	newHtml = '<div style="border: 1px solid #000000;background-color:#FFFFFF;padding:5px" align="left">' + newHtml + '<div>';
	gettrailobjnostyle().innerHTML = newHtml;
	gettrailobj().visibility="visible";
}

function hidetrail()
{
	gettrailobj().visibility = "hidden"
	document.onmousemove = ""
    gettrailobjnostyle().innerHTML = "";
	gettrailobj().left = "-1000px"
}

function getViewportSize() {
    var x, y;
    if (self.innerHeight) { // MOS
        y = self.innerHeight;
        x = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth) { // IE6 Strict
        x = document.documentElement.clientWidth;
        y = document.documentElement.clientHeight;
    } else if (document.body.clientHeight) { // IE quirks
        y = document.body.clientHeight;
        x = document.body.clientWidth;
    }
    return {x: x, y: y};
}

function posicionMouse(e) {
    var posx = 0;
    var posy = 0;

    if(!e){ e = window.event }

    var docwidth = getViewportSize();

    posx = (e.pageX) ? e.pageX : window.event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    posy = (e.pageY) ? e.pageY : window.event.clientY + document.body.scrollTop + document.documentElement.scrollTop;

    if (posx + offsetfrommouse[0] + itemWidth + 20 > docwidth.x) {
        gettrailobj().left = posx - offsetfrommouse[0] - itemWidth + "px";
    } else {
        gettrailobj().left = posx + offsetfrommouse[0] + "px";
    }

    //if (posy + offsetfrommouse[1] + 20 > docwidth.y) {
    //	gettrailobj().top = posy - offsetfrommouse[1] - offsetfrommouse[1] +"px";
    //} else {
        gettrailobj().top = posy - offsetfrommouse[1] +"px";
    //}
}

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(!e){ e = window.event }

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < itemWidth + 50){
			if (noPicture == "yes") {
				xcoord = e.pageX - xcoord - itemWidth; // Move to the left side of the cursor
			} else {
				xcoord = e.pageX - xcoord - itemWidth; // 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 < itemWidth + 50){
			if (noPicture == "yes") {
				xcoord = event.clientX + truebody().scrollLeft - xcoord - itemWidth; // Move to the left side of the cursor
			} else {
				xcoord = event.clientX + truebody().scrollLeft - xcoord - itemWidth; // 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"
	
}