/*
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=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 200;	// maximum image size.
var currentimagewidth = 200;	// maximum image size.

var timerVar = null;
var curX = 0;
var curY = 0;

var imagesize = new Array();


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, width, height, alt) {
	document.onmousemove=followmouse;
	
	currentimagewidth = width;
	currentimageheight = height;
	
	keyPart = imagename.substr(0,imagename.length-4);
	key = keyPart.substr(keyPart.lastIndexOf('/')+1);

	imagename = imagename.substr(0,imagename.length-4) + "-detail.jpg";
	
	newHTML =  '<div class="image">';
	newHTML += '  <span><p>Bild wird geladen ...</p></span>';
	newHTML += '  <img src="' + imagename + '" />';
	newHTML += '</div>';

	gettrailobjnostyle().innerHTML = newHTML;
	
	image = document.getElementsBySelector("#trailimageid img")[0];
	
	pos = alt.indexOf('x');
	
	detailWidth = 640;
	detailHeight = 480;
	
	if (pos >= 0) {
		detailWidth = alt.substr(0, alt.indexOf('x'));	
		detailHeight = alt.substr(alt.indexOf('x') + 1);
	}
		
	gettrailobj().width = detailWidth + "px";
	gettrailobj().height = detailHeight + "px";

	currentimagewidth = detailWidth;
	currentimageheight = detailHeight;
}

function hidetrail(){
	document.onmousemove="";
	gettrailobj().width = "200px";
	gettrailobj().height = "200px";
	gettrailobj().display = "none";
}

function followmouse(e){
	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];
	
	if (typeof e != "undefined"){
		xcoord+=e.pageX;
		ycoord+=e.pageY;
	} else if (typeof window.event !="undefined"){
		xcoord+=truebody().scrollLeft+event.clientX;
		ycoord+=truebody().scrollTop+event.clientY;
	}
	
	ycoord -= parseInt(gettrailobj().height);

	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);

	extent = xcoord+parseInt(gettrailobj().width)+3;

	if (extent > docwidth) {
		xcoord -= extent - docwidth;
		ycoord -= offsetfrommouse[1]+10;
	}
	
	gettrailobj().display="block";

	gettrailobj().left=xcoord+"px";
	gettrailobj().top=ycoord+"px";
}
