﻿/*
Simple Image Trail script- By JavaScriptKit.com
Visit http://www.javascriptkit.com for this script and more
This notice must stay intact
*/

var offsetfrommouse = [15,50];  //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration = 5;        //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 300;   //default image height.
var currentimagewidth = 400;    //default image width.

/*
if (document.getElementById || document.all){
document.write('<div id="trailimageid">');
document.write('</div>');
}
*/

//---------------------------------------------------------
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 showtrail(imagename, title, description, showthumb, height, width, xOffset, yOffset) {

    var newHTML = "";

    if (height > 0) {
        currentimageheight = height;
    }

    if (width > 0) {
        currentimagewidth = width;
    }

    if (typeof xOffset != "undefined" && xOffset != '') {
        offsetfrommouse[0] = xOffset;
    }

    if (typeof yOffset != "undefined" && yOffset != '') {
        offsetfrommouse[1] = yOffset;
    }

    document.onmousemove = followmouse;

    newHTML = '<div style="text-align:left; padding: 3px; border: 1px solid #888000; background: #FFFFFF url(images/whtpx.gif); width:' + currentimagewidth + 'px;">';

    if (showthumb > 0) {
        newHTML = newHTML + '<div align="center"><img src="' + imagename + '" border="0" height="' + height + 'px" width="' + width + 'px"></div>';
    }

    if (title != '') {
        newHTML = newHTML + '<span class="mouseover" style="white-space: nowrap;">' + title + '</span><br />';
    }

    if (description != '') {
        description = unescape(description);
        description = description.replace(/\+/g, " ");
        newHTML = newHTML + '<span style="white-space: nowrap">' + description + '</span>';
    }

    newHTML = newHTML + '</div>';

    gettrailobjnostyle().innerHTML = newHTML;
    gettrailobj().visibility = "visible";

}

//---------------------------------------------------------
function hidetrail() {

    var styleobj = gettrailobj();

    document.onmousemove = "";
    styleobj.visibility = "hidden";
    styleobj.left = "-600px";

}

//---------------------------------------------------------
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 < (currentimagewidth + 50)) {
            xcoord = e.pageX - xcoord - (currentimagewidth + 20); // 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 < (currentimagewidth + 50)) {
            xcoord = event.clientX + truebody().scrollLeft - xcoord - (currentimagewidth + 20); // Move to the left side of the cursor
        } else {
            xcoord += truebody().scrollLeft + event.clientX;
        }
        if (docheight - event.clientY < (currentimageheight + 100)) {
            ycoord += event.clientY + truebody().scrollTop - Math.max(0, (100 + currentimageheight + event.clientY - docheight));
        } else {
            ycoord += truebody().scrollTop + event.clientY;
        }
    }

    var styleobj = gettrailobj();
    styleobj.left = xcoord + "px";
    styleobj.top = ycoord + "px";
}



