//================================================
// doSomething(e) 
//
// Source: 
//   www.quirksmode.org/js/events_properties.html
//================================================
var posx = 0;
var posy = 0;
var caller = null;
function doSomething(e) {
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	} else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		pxx = e.clientX;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	// posx and posy contain the mouse position relative to the document
	// Do something with this information
	//alert(posx + ", " + posy);

	//	if (true || in_image) {  Internet Explorer is braindead so we can't be efficient
		var mag_img = document.getElementById("mag_img");
		if (mag_img) {
			var img_width = mag_img.width;  // +30 for spacing with mouse
			// move image to follow mouse
			var mag_div = document.getElementById("mag_div");
			var offx = 50;
			if (document.body.clientWidth - posx < img_width)
				offx = -(mag_img.width+50);
			mag_div.style.left = posx + offx; //cx;
			mag_div.style.top = posy - 150; //cy;
		}
}

//================================================
// findPosX(obj)
//================================================
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

//================================================
// findPosY(obj)
//================================================
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

//================================================
// magnify()
//================================================
function magnify(id, title, img_src) {
	if (in_image) {
		caller = document.getElementById(id);
		//alert(id + ": " + caller); // + " evt: " + evt); //cx + ", " + cy);
		var cx = findPosX(caller);
		var cy = findPosY(caller);
		var mag_title_div = document.getElementById("watermarked_title_div");
		watermarked_title_div.innerHTML = title; // + */ "b=" + b + ", inImage? " + in_image + ", a=" + a + ", [" + posx + ", " + posy + "], x=" + xxx + ", ox=" + oox + ", px=" + ppx + ", iex=" + pxx +" huh: " + huh;
		var mag_div = document.getElementById("mag_div");
		/*
		mag_div.style.left = posx + 50; //cx;
		mag_div.style.top = posy - 150; //cy;
		*/
		mag_div.style.visibility = "visible";
		var watermarked_div = document.getElementById("watermarked_div");
		watermarked_div.innerHTML = "<img id=mag_img src='" + img_src + "'>";
	}
}  // magnify()


//================================================
//================================================
var in_image = false;
function enterImage(id, title, img_src) {
	if (!in_image) {
		in_image = true;
		magnify(id, title, img_src);
	}
	/*
	// move image to follow mouse
	var mag_div = document.getElementById("mag_div");
	mag_div.style.left = posx + 50; //cx;
	mag_div.style.top = posy - 150; //cy;
	mag_div.style.visibility = "visible";
	var ha = document.getElementById("ha");
	ha.innerHTML = "screen: [" + img_src + "]";
	var watermarked_div = document.getElementById("watermarked_div");
	watermarked_div.innerHTML = "<img src='" + img_src + "'>";
	*/
}  // enterImage()


//================================================
//================================================
function leaveImage(id) {
	in_image = false;
	var mag_div = document.getElementById("mag_div");
	mag_div.style.visibility = "hidden";
}  // leaveImage()
