/*
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,15];  //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";
}

