// Update the preview window with the entered Image ID
var m_ctl = null;
var m_mouseOffset = null;
var m_imageOffset = null;

function mouseDown(ctlID, ev){
	m_ctl = document.getElementById(ctlID);
	m_mouseOffset = getMouseOffset(m_ctl, ev);
	m_imageOffset = {
		x:m_ctl.scrollLeft,
		y:m_ctl.scrollTop
	};
	return false;

}

function mouseUp(ev){
	m_ctl = null;
}

function mouseMove(ev) {
	if (m_ctl) {
		ev = ev || window.event;
		var mousePos = mouseCoords(ev);
		m_ctl.scrollLeft = (m_mouseOffset.x + m_imageOffset.x - ev.clientX);
		m_ctl.scrollTop = (m_mouseOffset.y + m_imageOffset.y - ev.clientY);
	}
}

function mouseCoords(ev) {
	if(ev.pageX || ev.pageY) {
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);

	return {x:mousePos.x, y:mousePos.y};
}

function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}
function centreZoom(ctlID)
{
	// Set the value to this hidden field
	ctl = document.getElementById(ctlID);
	if (ctl) {
		ctl.scrollLeft = (ctl.scrollWidth - ctl.clientWidth) / 2;
		ctl.scrollTop = (ctl.scrollHeight - ctl.clientHeight) / 2;
	}

}