var element_m = false;
var delta_y = 0;
var delta_x = 0;

function findMoveableElement(e)
{
	if(!e)
	{
		e = window.event;
	}

	element_m = this;

	if(!element_m)
		return;

	delta_y = (y(e) - currentStyle(element_m, 'top'));
	delta_x = (x(e) - currentStyle(element_m, 'left'));
};

function moveElement(e)
{
	if(!e)
	{
		e = window.event;
	}

	if(element_m)
	{
		var maxLeft = parseInt(window.XMLHttpRequest ? document.body.offsetWidth:document.body.scrollWidth) - currentStyle(element_m, 'width');

		element_m.style.left = Math.min(maxLeft, Math.max(x(e) - delta_x, 0)) + 'px';
		element_m.style.top = Math.max(y(e) - delta_y, 0) + 'px';
	}
};

function moveEnd()
{
	if(element_m)
		element_m = false;
};

function x(e)
{
	return (e.clientX) ? e.clientX : e.pageX;
};

function y(e)
{
	return (e.clientY) ? e.clientY : e.pageY;
};

function createOverlay()
{
	var w = document.createElement('div');

	w.style.width = window.XMLHttpRequest ? document.body.offsetWidth : document.body.scrollWidth;
	w.style.height = document.body.scrollHeight + 50;
	w.id = 'overlay';

	document.body.appendChild(w);
};

function destroyOverlay()
{
	document.body.removeChild(document.getElementById('overlay'));
};