if (document.getElementById || document.all) {
	document.writeln('<div id="thumbPreview">');
	document.writeln('<img id="thumbImage" src="/files/img_wait.gif" ');
	document.writeln('lowsrc="/files/img_wait.gif" /><br />');
	document.writeln('<span id="thumbNo"></span>');
	document.writeln('</div>');
}

var myPreviewDiv = null;
var myBody = null;
var previewActive = "";

addLoadEvent(preparePreview); 

function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() { 
			oldonload();
			func();
		}
	}
}

function preparePreview() {
	myPreviewDiv = getPreviewDiv();
	myBody = getBody();
	elements = document.getElementsByTagName("img");
	for (i=0;i<elements.length;i++) {
		if (elements[i].id != null) {
			if (elements[i].id.indexOf("thumbnail") > -1) {
				elements[i].onmouseover = showPreview;
				elements[i].onmouseout = hidePreview;
				elements[i].onmousemove = setPosition;
			}
		}
	}
}



function getPreviewDiv() {
	if (document.getElementById) {
		return document.getElementById("thumbPreview");
	}
	else if (document.all) {
		return document.all.thumbPreview;
	}
}



function getBody() {
	return (document.compatMode && document.compatMode!="BackCompat") ?
			document.documentElement :
			document.body;
}



function showPreview(e) {	
  var previewFolder = "medium";
	window.clearTimeout(previewActive);
	file = this.src.replace(/small/,previewFolder);
	
	newid = this.id.replace(/thumbnail/,"");
	
	newfile = document.getElementById(newid).value;
	//alert('newfile: '+newfile);
	//newfile = document.getElementById('thumbImage').src
	document.getElementById('thumbImage').src = newfile;
	//document.getElementById('thumbNo').innerHTML = "bu" + this.id.replace(/thumbnail/,"");		
	myPreviewDiv.style.display = 'block';
	setPosition(e);
	this.onmousemove = setPosition;	
	previewActive = window.setTimeout("myPreviewDiv.style.visibility = 'visible'",500);
}



function hidePreview(e) {
	window.clearTimeout(previewActive);
	this.onmousemove = "";
	//file = "/img/img_wait.gif";
	//document.getElementById('thumbImage').src = file;
	document.getElementById('thumbNo').innerHTML = "";
	myPreviewDiv.style.display = 'none';
	myPreviewDiv.style.visibility = 'hidden';	
}



function setPosition(e) {
	myPreviewDiv.style.width = "auto";
	myPreviewDiv.style.height = "auto";
	
	var xPos = 0;
	var yPos = 0;
	var xMouseGap = 20;
	var yMouseGap = 20;
	var xWindowGap = 20;
	var yWindowGap = 20;
	if (document.all) {
		xWindowGap = 20;
		yWindowGap = 20;
	}
	
	var bodyWidth = document.all ?
					myBody.scrollLeft + myBody.clientWidth :
					pageXOffset + window.innerWidth;
	var bodyHeight = document.all ?
					Math.min(myBody.scrollHeight, myBody.clientHeight) :
					Math.min(document.body.offsetHeight, window.innerHeight);
					
	if (typeof e != "undefined") { // moz			
		xPos += e.pageX
		yPos += e.pageY
	}
	else if (typeof window.event != "undefined") { // ie
		xPos += myBody.scrollLeft + event.clientX
		yPos += myBody.scrollTop + event.clientY
	}
	
	var divWidth = myPreviewDiv.offsetWidth;
	var divHeight = myPreviewDiv.offsetHeight;	

	if (xPos - myBody.scrollLeft + divWidth + xMouseGap + xWindowGap > bodyWidth) {
		xPos = xPos - divWidth - xMouseGap;
		if (xPos - xWindowGap < myBody.scrollLeft) {
			xPos = myBody.scrollLeft + xWindowGap;
		}
	}
	else {
		xPos = xPos + xMouseGap;
	}
	
	if (yPos - myBody.scrollTop + divHeight + yMouseGap + yWindowGap > bodyHeight) {
		yPos = yPos - divHeight - yMouseGap;
		if (yPos - yWindowGap < myBody.scrollTop) {
			yPos = myBody.scrollTop + yWindowGap;
		}
	}
	else {
		yPos = yPos + yMouseGap;
	}
	
	myPreviewDiv.style.left = xPos + "px";
	myPreviewDiv.style.top = yPos + "px";

}


