// Author Armen Nazaryan 
// JScript File for Dragging the "img" in parent "div"


var DragImg = {

	obj : null,
	objRoot : null,
// o - the "img" object, oRoot - the parent "div" object
	init : function(o, oRoot, blockid)
	{
	  //  debugger;
	  var blocker = document.getElementById(blockid);
	  if (o != null && oRoot != null)
	  {
		o.onmousedown	= DragImg.start;
		blocker.onmousedown =  DragImg.start;
		//o.onDragImgStart	= new Function();
		//o.onDragImgEnd	= new Function();
		//o.onDragImg		= new Function();
		objRoot = oRoot;
	  }
	},

	start : function(e)
	{
	    //debugger;
		var o = DragImg.obj = this;
		
		if (o == null) return false;
	  
		e = DragImg.fixE(e);
		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

//		document.onmousemove	= DragImg.drag;
//		document.onmouseup		= DragImg.end;
		
		o.onmousemove	= DragImg.drag;
		o.onmouseup		= DragImg.end;
		
		document.onmouseup = DragImg.end;
		
		//window.event.cancelBubble = true;
		
		return false;
	},

	drag : function(e)
	{
		e = DragImg.fixE(e);
		var o = DragImg.obj;
		var ey	= e.clientY;
		var ex	= e.clientX;
        objRoot.scrollTop += DragImg.obj.lastMouseY - ey;
        objRoot.scrollLeft += DragImg.obj.lastMouseX - ex;
		
		
		DragImg.obj.lastMouseX	= ex;
		DragImg.obj.lastMouseY	= ey;

		return false;
	},

	end : function()
	{
		var o = DragImg.obj;
		o.onmousemove = null;
		o.onmouseup   = null;
		o = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
}; 