var ditems=new Array();

var objDragData=function()
{
	this.dx=0;
	this.dy=0;
	this.did='';
	this.del=null;
}

var objDrag=function()
{
	this.Active='';
	this.dragSet=function(targetID,dragID)
	{
		if(!ditems[targetID])
			ditems[targetID]=new objDragData();
	
		ditems[targetID].did=dragID;	//ドラッグで動くタグID
		ditems[targetID].del=$(dragID);	//ドラッグで動くタグID
	   	addListener($(targetID),'mousedown',function(e){dragStart(e,targetID);return false;},false);
		$(targetID).style.cursor='move';
	};
}

var emDragUtil= new objDrag();

function dragStart(e,tid)
{
	debugPrint("ドラッグ開始:"+tid);

	emDragUtil.Active=tid;
	ditems[emDragUtil.Active].dx=e.clientX-parseInt(ditems[emDragUtil.Active].del.style.left);
	ditems[emDragUtil.Active].dy=e.clientY-parseInt(ditems[emDragUtil.Active].del.style.top);
	addListener(document,'mousemove',	dragWindow,false);
	addListener(document,'mouseup',		dragEnd,false);
}

function dragEnd(e)
{
	debugPrint("ドラッグ終了:");
	removeListener(document,'mousemove',dragWindow,false);
	removeListener(document,'mouseup',	dragEnd,false);
	return false;
}

function dragWindow(e)
{
	ditems[emDragUtil.Active].del.style.left=(e.clientX-ditems[emDragUtil.Active].dx)+'px';
	ditems[emDragUtil.Active].del.style.top	=(e.clientY-ditems[emDragUtil.Active].dy)+'px';
	return false;
}
