// .-==================================================================
// .	FusionBB Version 2.0
// .
// .	Created August 20, 2003 by InteractivePHP
// .
// .	All scripts and files used by this program
// .	are copyright InteractivePHP, Inc
// .	For discussion, bug reports and updates
// .	visit http://www.InteractivePHP.com
// .
// .	You may not redistribute this program in any form, without
// .	express written permisson from InteractivePHP.
// .
// .	WARNING: If you modify any scripts within FusionBB
// .	you will be unable to obtain official support.
// .	Modify at your own risk!
// .
// .	FusionBB Copyright 2003-2007, InteractivePHP, Inc
// .-==================================================================
// .	$Date: 2006/10/05 10:37:01 $	$Author: dave $
// .	$RCSfile: preview.js,v $	$Revision: 1.1 $
// .-==================================================================
// .	File Description:
// .		Javascript for Mouseover Previews
// .-==================================================================

var xoffset = -100;
var yoffset = 20;
var expose = false;
var ie = document.all;
var op = document.all && window.opera;
var moz = document.getElementById && !document.all;
if (moz || ie || op) {
	var obj = document.getElementById('preview');
}

function showPreview(id){
	if (moz || ie || op){
		obj.innerHTML = document.getElementById(id).innerHTML;
		expose = true;
		return false;
	}
}

function hidePreview(){
	if (moz || ie || op){
		expose = false;
		obj.style.visibility='hidden';
	}
}

function setLocation(e){
	if (expose){
		if (moz) {
			curX = e.pageX;
			curY = e.pageY;
		} else {
			curX = event.clientX + document.documentElement.scrollLeft;
			curY = event.clientY + document.documentElement.scrollTop;
		}

		if (ie && !op) {
			var rightedge = document.documentElement.clientWidth - event.clientX - xoffset;
			var bottomedge = document.documentElement.clientHeight - event.clientY - yoffset;
		} else {
			var rightedge = window.innerWidth - e.clientX - xoffset - 15;
			var bottomedge = window.innerHeight - e.clientY - yoffset - 15;
		}
		
		if (xoffset < 0) {
			var leftedge = xoffset * (-1);
		} else {
			var leftedge = -1000;
		}
		
		if (rightedge < obj.offsetWidth) {
			if (ie) {
				obj.style.left = document.documentElement.scrollLeft + event.clientX - obj.offsetWidth + 'px';
			} else {
				obj.style.left = window.pageXOffset + e.clientX - obj.offsetWidth + 'px';
			}
		} else if (curX < leftedge) {
			obj.style.left = '5px';
		} else {
			obj.style.left = curX + xoffset + 'px';
		}
		
		if (bottomedge < obj.offsetHeight) {
			if (ie) {
				obj.style.top = document.documentElement.scrollTop + event.clientY - obj.offsetHeight - yoffset + 'px';
			} else {
				obj.style.top = window.pageYOffset + e.clientY - obj.offsetHeight - yoffset + 'px';
			}
		} else {
			obj.style.top=curY + yoffset + 'px';
		}
		obj.style.visibility='visible';
	}
}

document.onmousemove=setLocation;
