/*
Simple Image Trail script- By JavaScriptKit.com
Visit http://www.javascriptkit.com for this script and more
This notice must stay intact
*/

var offsetfrommouse=[10,10]; //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 defaultimageheight = 40;	// maximum image size.
var defaultimagewidth = 40;	// 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 imageHidePreview()
{
	defaultimagewidth	= 40;
	defaultimageheight	= 40;
	gettrailobj().display= "none";
	gettrailobj().width=defaultimagewidth
	gettrailobj().height=defaultimageheight
	gettrailobjnostyle().innerHTML = "";
	document.onmousemove=""
	clearTimeout(timer);
}

function truebody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

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 < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = e.pageX - xcoord - defaultimagewidth; // 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; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (defaultimageheight + 2*offsetfrommouse[1])){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + event.clientY - docheight));
			//HE-VA HACK
			//ycoord = ycoord-100;
		} else {
			ycoord += truebody().scrollTop + event.clientY;
			//HE-VA HACK
			ycoord = ycoord-100;
		}
	}

	gettrailobj().left=xcoord+"px"
	gettrailobj().top=ycoord+"px"

}
/*	END FUNCTIONS By JavaScriptKit.com	*/

function showtrail(img,alt,width,height,type) {

	defaultimagewidth = width;
	defaultimageheight = height;

	document.onmousemove = followmouse;
	timer = setTimeout("imageDisplayPreview('"+img+"', '"+alt+"', "+width+", "+height+", '"+type+"');", 200);

}

/*
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//	FUNCTION	setHidden()
//	DESC		Hides a specific element
//	PARAMS		displayTag	::	ID of specific element...
//	AUTHOR		Sune Lundby [SL]
//	DATE		July 12th 2006
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
function setHidden(displayTag) {

	$(displayTag).style.display = "none";

} // END FUNCTION setHidden()
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

/*
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//	FUNCTION	imageDisplayPreview()
//	DESC		Ajax call to PHP-script that displays a specific image on mouse over
//	PARAMS		img		::	Specific Image
//				alt		::	Alternate text for image
//				width	::	Width of specific image
//				height	::	Height of specific image
//				type	::	LEV or PRIVATE
//	NOTES		Images for a private ad...
//				The image is appended to the "preview_div" and positioned...
//				Calls function to mousetrail the bugger...
//	AUTHOR		Sune Lundby [SL]
//	DATE		July 12th 2006
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
function imageDisplayPreview(img, alt, width, height, type) {

	//
	// POSITION DIV...
	$("preview_div").style.width	= width + "px";
	$("preview_div").style.height	= height + "px";

	//
	// AND LOADING ANIM...
	var new_img = document.createElement('img');
	new_img.src = '_images/gfx/loading.gif';
	new_img.style.paddingTop = (height/2 - 16) + "px";
	$("preview_div").appendChild(new_img);

	//
	// SET MOUSE FOLLOW...
	document.onmousemove = followmouse;

	//
	// DISPLAY THE BUGGER...
	$("preview_div").style.display	= "block";

	//
	// CALL AJAX SCRIPT...
	var randNum = Math.random()*370;
	new Ajax.Updater(
					$("preview_div"),
					myBasePath + '/_ajax/_scripts/display_image.php?rand=' + randNum,
					{
						method: 'post',
						parameters: 'img=' + img + '&alt=' + alt + '&width=' + width + '&height=' + height + '&type=' + type,
						asynchronous: true
					}
			);


} // END FUNCTION imageDisplayPreview()...
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

function imageFixPreview()
{
	w = $("preview_img").width;
	h = $("preview_img").height;
	$("preview_div").style.width = (w + 2) +"px";
	$("preview_div").style.height = (h + 2) +"px";
} // END FUNCTION imageFixPreview()...
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::