var mouseX = 0;
var mouseY = 0;
var clickOffsetX;
var clickOffsetY;
var movingObject; 

document.onmousemove = update;

function getXY(evt) {
	evt = evt || window.event;
	if (typeof evt.pageX == "number") {
		mouseX= evt.pageX;
		mouseY= evt.pageY;
	} else {
		var root = document.compatMode == "CSS1Compat" ?
		           document.documentElement :
		           document.body;
		mouseX = evt.clientX + root.scrollLeft;
		mouseY = evt.clientY + root.scrollTop;
	}

	/*
	d = document.getElementById('jsDebug');
	text = document.createTextNode('setting offset to '+clickOffsetX+', '+clickOffsetY+'<br/>Mouse Coords: '+mouseX+', '+mouseY);
	while(d.childNodes[0])
		d.removeChild(d.childNodes[0]);
    d.appendChild(text);
*/
	
	// loading mouse.js overwrites teh document.onmousemove in the Calendar Javascript.
	// We set ox and oy here to maintain calendar functionality
	ox = mouseX;
	oy = mouseY;
} 

function moveWindow(win) {	
	movingObject = win;	

	clickOffsetX = mouseX - movingObject.offsetLeft;
	clickOffsetY = mouseY - movingObject.offsetTop;

	
	movingObject.style.zIndex = 100;
	movingObject.style.cursor = 'move';

	document.onmousemove = _moveWindow;
	document.onmouseup = disableMovableWindow;
}

function disableMovableWindow(evt) {
	movingObject.style.cursor = 'auto';
	movingObject = null;
	document.onmouseup = null;
	document.onmousemove = update;
}

function _moveWindow(evt) {
//	alert(movingObject);
	update(evt);
}

function falsefunc() { return false; }

function update(e) {
	getXY(e);	
	if (movingObject) {
		movingObject.style.top = (mouseY-clickOffsetY)+'px';
		movingObject.style.left = (mouseX-clickOffsetX)+'px';	
	}
}

