var offsetfrommouse=[15,25]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset

var defaultimageheight = 0;	// maximum image size.
var defaultimagewidth = 160;	// maximum image size.

var timer;

function gettrailobj(){
if (document.getElementById)
return document.getElementById("preview_div").style
}

function gettrailobjnostyle(){
if (document.getElementById)
return document.getElementById("preview_div")
}

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

function hidetrail(){	
	gettrailobj().display= "none";
	document.onmousemove=""
	gettrailobj().left="-1200px"
	clearTimeout(timer);
}
function showOriginal(img){
	img.onmouseout=hidetrail;
	showtrail(img.src);
}
function show_big(img){
	var original = img.src;
	var imagename = original.split("/");
		imagename = imagename[imagename.length-1];
	var imageadress = original.substring(0,original.length - imagename.length);
	var imgBig = imagename.split(".")[0] + '_big.';
	imageadress = imageadress + imgBig + imagename.split(".")[1];
	img.onmouseout=hidetrail;
	showtrail(imageadress);
}
function show_big_thumb(img){
	var original = img.src;
	var imagename = original.split("/");
		imagename = imagename[imagename.length-1];
	var imageadress = original.substring(0,original.length - imagename.length);
	var l = imagename.split(".").length;
	var imgBig = imagename.split(".")[0];
		imgBig = imgBig.substring(0,imgBig.length) + '.';
	imageadress = imageadress + imgBig + imagename.split(".")[l-1];
	showtrail(imageadress);
}
function showtrail(imagename){ 
	timer = setTimeout("show('"+imagename+"');",300);
}
function show(imagename){
    var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth - offsetfrommouse[0]
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	if( (navigator.userAgent.indexOf("Konqueror")==-1  || navigator.userAgent.indexOf("Firefox")!=-1 || (navigator.userAgent.indexOf("Opera")==-1 && navigator.appVersion.indexOf("MSIE")!=-1)) && (docwidth>650 && docheight>500)) {
		document.onmousemove=followmouse; 
    	newHTML = '<img id="preview_img" onload="javascript:remove_loading();" src="' + imagename + '" border="0">';
		gettrailobjnostyle().innerHTML = newHTML;
		gettrailobj().display="block";
	}
}

function changeCoord(x,y){
	gettrailobj().left=x+"px"
	gettrailobj().top=y-4+"px"
}

function followmouse(e){
	var ieCorectY = 17;
	var corectX = 5; //when Move to the left side of the cursor
	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 < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = e.pageX - xcoord - defaultimagewidth - corectX; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < defaultimageheight + 2*offsetfrommouse[1]){
			ycoord += e.pageY - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}
	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - defaultimagewidth - corectX; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX;
		}
		if (docheight - event.clientY+ieCorectY < (defaultimageheight + 2*offsetfrommouse[1])){
			ycoord += ieCorectY+event.clientY + truebody().scrollTop - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
	}
	changeCoord(xcoord,ycoord)
}

function remove_loading() {
	var preview_img = document.getElementById('preview_img');
	defaultimagewidth = preview_img.clientWidth;
	defaultimageheight = preview_img.clientHeight;
}

