
// ------------------- Constant values for modification --------------------
var SPEED = 5; // higher is slower, 0 for instant
var SPACE_ABOVE = 525;
var SPACE_BELOW = 25;
// -------------------------- End Constants --------------------------------

var ox, oy, left, right, gox, curx, timeout;

function init() {
	ox = document.getElementById('original').offsetLeft;
	oy = document.getElementById('left').offsetTop;
	left = document.getElementById('left').offsetLeft + 1;
	right = document.getElementById('right').offsetLeft + 1;

	
	//if (document.all) {
		left += document.getElementById('left').offsetParent.offsetLeft;
		right += document.getElementById('right').offsetParent.offsetLeft;
		
	//}
	clearTimeout(timeout);
	curx = ox;
	gox = curx;
	
	moo();
	document.getElementById('mover').style.left = ox;
	document.getElementById('mover').style.top = oy;
	document.getElementById('mover').style.visibility = 'visible';
}

function timer() {
	clearTimeout(timeout);
	var o = document.getElementById('mover');
	var dx = (gox - curx) / SPEED;
	if (dx > 0.1 || dx < -0.1) {
		curx += dx;
		document.getElementById('mover').style.left = curx;
		timeout = setTimeout("timer()", 20);
	}
}

function moo(event) {
	var x = -1;
	if (event) {
		var mx = event.clientX;
		var my = event.clientY;
	   if (mx > left && mx < right + 75 && my > oy - SPACE_ABOVE && my < oy + SPACE_BELOW) {
			x = mx - 33;
			if (x < left) {
				x = left;
			} else if (x > right) {
				x = right;
			}
		}
	}
	if (x < 0) {
		x = ox;
	}
	gox = x;
	if (SPEED > 0) {
		timer();
	} else {
		document.getElementById('mover').style.left = gox;
	}
}

window.onresize = init;