if(typeof(Controls) == "undefined")
	var Controls = {};
	
if(typeof(Controls.ImageMover) == "undefined"){
	Controls.ImageMover = {};
	
	Controls.ImageMover._startScrollLeft = -1;
	Controls.ImageMover._startScrollTop = -1;
	Controls.ImageMover._startMouseX = -1;
	Controls.ImageMover._startMouseY = -1;
	Controls.ImageMover._image = null;
	Controls.ImageMover._imageContainer = null;

	Controls.ImageMover.Image_MouseDown = function(sender, e){
		var imageContainer = sender.parentNode;
		
		Controls.ImageMover._image = sender;
		Controls.ImageMover._imageContainer = imageContainer;
		
		Controls.ImageMover._startScrollLeft = imageContainer.scrollLeft;
		Controls.ImageMover._startScrollTop = imageContainer.scrollTop;
		Controls.ImageMover._startMouseX = e.clientX;
		Controls.ImageMover._startMouseY = e.clientY;
		
		Controls.EventHelper.RegisterEventHandler(document.documentElement, "onmousemove", Controls.ImageMover._mouseMoveDelegate);
		Controls.EventHelper.RegisterEventHandler(document.documentElement, "onmouseup", Controls.ImageMover._mouseUpDelegate);
	}
	
	Controls.ImageMover.Body_MouseMove = function(e){
		var deltaX = Controls.ImageMover._startMouseX - e.clientX;
		var deltaY = Controls.ImageMover._startMouseY - e.clientY;
		Controls.ImageMover._imageContainer.scrollLeft = Controls.ImageMover._startScrollLeft + deltaX;
		Controls.ImageMover._imageContainer.scrollTop = Controls.ImageMover._startScrollTop + deltaY;
	}

	Controls.ImageMover.Body_MouseUp = function(e){
		Controls.EventHelper.UnRegisterEventHandler(document.documentElement, "onmousemove", Controls.ImageMover._mouseMoveDelegate);
		Controls.EventHelper.UnRegisterEventHandler(document.documentElement, "onmouseup", Controls.ImageMover._mouseUpDelegate);
		Controls.ImageMover._image = null;
		Controls.ImageMover._imageContainer = null;
	}

	Controls.ImageMover._mouseUpDelegate = Controls.ImageMover.Body_MouseUp;
	Controls.ImageMover._mouseMoveDelegate = Controls.ImageMover.Body_MouseMove;
	
}