/*
Simple Image Trail script- By JavaScriptKit.com
Visit http://www.javascriptkit.com for this script and more
This notice must stay intact
*/

var offsetfrommouse=[12,12]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var currentimageheight = 295;	// maximum image size.

if (document.getElementById || document.all){
	document.write('<div id="portfolio_preview" style="visibility: hidden; "></div>');
}

function getpreviewobj(){
  if (document.getElementById){
    return document.getElementById("portfolio_preview").style;
  }else if (document.all) {
    return document.all.previewimageid.style;
  }
}

function getpreviewobjnostyle(){
  if (document.getElementById){
    return document.getElementById("portfolio_preview")
  } else if (document.all) {
    return document.all.previewimageid
  }
}

function truebody(){
  return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showpreview(imagename){
	document.onmousemove=followmouse;
	newHTML = '<div>';
	newHTML = newHTML + '<img src="images/' + imagename + '" />';
	newHTML = newHTML + '</div>';
	getpreviewobjnostyle().innerHTML = newHTML;
	getpreviewobj().visibility="visible";
}

function hidepreview(){
	document.onmousemove="";
	getpreviewobj().left="-500px";
	getpreviewobj().visibility="hidden";
}

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 < 250){
      xcoord = e.pageX - xcoord - 260; // Move to the left side of the cursor
    } else {
      xcoord += e.pageX;
    }
    if (docheight - e.pageY < (currentimageheight + 10)){
      ycoord += e.pageY - Math.max(0,(30 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
    } else {
      ycoord += e.pageY;
    }
  } else if (typeof window.event != "undefined"){
    if (docwidth - event.clientX < 250){
      xcoord = event.clientX + truebody().scrollLeft - xcoord - 260; // Move to the left side of the cursor
    } else {
      xcoord += truebody().scrollLeft+event.clientX;
    }
    if (docheight - event.clientY < (currentimageheight + 10)){
      ycoord += event.clientY + truebody().scrollTop - Math.max(0,(30 + 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);
  if(ycoord < 0) { ycoord = ycoord*-1; }
  getpreviewobj().left=xcoord+"px";
  getpreviewobj().top=ycoord+"px";
}