var xsFloatZomeImageOffsetFromMouse=[15,15]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset

if (document.getElementById || document.all){
	document.write('<div id="xsfloatzoomimageid" style="position: absolute">');
	document.write('</div>');
}

function xsFloatZoomImageGetStyleObj(){
	if (document.getElementById)
		return document.getElementById("xsfloatzoomimageid").style;
	else if (document.all)
		return document.all.xsfloatzoomimageid.style;
}

function xsFloatZoomImageGetDivObj() {
	if (document.getElementById)
		return document.getElementById("xsfloatzoomimageid");
	else if (document.all)
		return document.all.xsfloatzoomimageid;
}


function getXSFloatZoomImageTruebody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function xsFloatZoomImageShow(url, name, description){
	document.onmousemove=xsFloatZoomImageFollowMouse;

	divHTML = '<div class="xsfloatzoomimagecontainer">';
	if (name != null && name.length>0)
		divHTML = divHTML + '<div class="xsfloatzoomimageheadline">'+name+'</div>';
	if (description != null && description.length>0)
		divHTML = divHTML + '<div class="xsfloatzoomimagedescription">'+description+'</div>';

	divHTML = divHTML + '<div class="xsfloatzoomimageimage">';
	divHTML = divHTML + '<img src="' + url + '">';
	divHTML = divHTML + '</div>';

	divHTML = divHTML + '</div>';

	xsFloatZoomImageGetDivObj().innerHTML = divHTML;
	xsFloatZoomImageGetStyleObj().display="inline";
	
}


function xsFloatZoomImageHide(){
	xsFloatZoomImageGetStyleObj().innerHTML = " ";
	xsFloatZoomImageGetStyleObj().display="none"
	xsFloatZoomImageGetStyleObj().left="-1000px"
	xsFloatZoomImageGetStyleObj().top="-1000px"
	document.onmousemove=""

}

function xsFloatZoomImageFollowMouse(e){


	var xcoord=xsFloatZomeImageOffsetFromMouse[0]
	var ycoord=xsFloatZomeImageOffsetFromMouse[1]

	var docwidth=document.all? getXSFloatZoomImageTruebody().scrollLeft+getXSFloatZoomImageTruebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(getXSFloatZoomImageTruebody().scrollHeight, getXSFloatZoomImageTruebody().clientHeight) : Math.min(window.innerHeight)

	currentimageheight = xsFloatZoomImageGetDivObj().offsetHeight;
	currentimagewidth = xsFloatZoomImageGetDivObj().offsetWidth;

	if ( document.body )
		scrollTop = Math.max(getXSFloatZoomImageTruebody().scrollTop, document.body.scrollTop);
	 else 
		scrollTop = getXSFloatZoomImageTruebody().scrollTop;

	var mousePosX=0;
	var mousePosY=0;

	if (typeof e != "undefined"){
		mousePosX = e.pageX;
		mousePosY = e.pageY;
	}
	else if (typeof window.event != "undefined"){
		mousePosX = getXSFloatZoomImageTruebody().scrollLeft+event.clientX;
		mousePosY = getXSFloatZoomImageTruebody().scrollTop+event.clientY;
	}

	// xcoord
	if (docwidth - mousePosX < currentimagewidth+xsFloatZomeImageOffsetFromMouse[0])
		xcoord = mousePosX - xcoord - currentimagewidth;
 	else
		xcoord += mousePosX;
		
	// ycoord
	if (docheight - mousePosY < currentimageheight+xsFloatZomeImageOffsetFromMouse[1] ) {
		
		ycoord += mousePosY - Math.max(0, mousePosY+currentimageheight-scrollTop-docheight+xsFloatZomeImageOffsetFromMouse[1]);
	} else {
		ycoord += mousePosY;
	}

	if(ycoord < 0) 
		ycoord = ycoord*-1; 
		
	xsFloatZoomImageGetStyleObj().left=xcoord+"px"
	xsFloatZoomImageGetStyleObj().top=ycoord+"px"

}

