
var selectedElement;
var dragOffsetX;
var dragOffsetY;

function findDraggableElement (target) {
	do 
		if (target.className == 'ecmsFloat') return target;
	while ((target = target.parentElement));
	return null;
}

function checkSelection (evt) {
	if (event)
	{
		selectedElement = findDraggableElement (event.srcElement);
		if (selectedElement && (event.clientY < selectedElement.style.posTop + 25)) {
			dragOffsetX = event.clientX - selectedElement.style.posLeft; 
			dragOffsetY = event.clientY - selectedElement.style.posTop; 
			document.onmousemove = drag;
			document.onmouseup = stopDrag;
			drag(evt);
		}
	}
}

function drag (evt) {
	selectedElement.style.posLeft = (event.clientX - dragOffsetX);
	selectedElement.style.posTop = (event.clientY - dragOffsetY);
}

function stopDrag (evt) {
	if (selectedElement)
	{	selectedElement.style.posLeft = Math.max(0,selectedElement.style.posLeft);
		selectedElement.style.posTop = Math.max(0,selectedElement.style.posTop);
		var o = selectedElement.all("ECMSfloatPosition")
		if (o) o.value= "" + selectedElement.style.posLeft + "," + selectedElement.style.posTop;
	}
	document.onmousemove = null;
	document.onmouseup = null;
	selectedElement = null;
}

if (document.all) {
	document.onmousedown = checkSelection;
	//document.onselectstart = document.ondragstart = function () { return false; };
}

