function cleanupDrag()
{
	var dragId = YAHOO.util.DragDropMgr.dragCurrent.dragElId;
	
	if (dragId != '')
	{		
		x = nexusGet('drag_x',x);
		y = nexusGet('drag_y',y);
		
		YAHOO.util.Dom.setX(dragId,x);
		YAHOO.util.Dom.setY(dragId,y);
		
		nexusSet('drag_x',0);
		nexusSet('drag_y',0);
	}		
}

function prepareDrag()
{	
	var dragId = YAHOO.util.DragDropMgr.dragCurrent.dragElId;
	
	if (dragId != '')
	{		
		x = YAHOO.util.Dom.getX(dragId);
		y = YAHOO.util.Dom.getY(dragId);
		
		nexusSet('drag_x',x);
		nexusSet('drag_y',y);		
	}	
}

/**
 * Called when a Nexus item is dropped on a drop
 * target (any drop target)
 * @param string dropItemId The Id of the element dropped on
 * @param string dragItemId The Id of the element being dragged
 */
function onDragDropItem(dropItemId,dragItemId)
{
	if (isCategoryElement(dropItemId))
	{
		var catInfo = getElementIdInfo(dropItemId);
		var itemInfo = getElementIdInfo(dragItemId);
		
		xajax_shAjaxServer.addDocToCategory (itemInfo['id'], catInfo['id'],nexusGet('parent_category_id'));
	}
	else if (isTrashcanElement(dropItemId))
	{
		xajax_shAjaxServer.addItemsToTrash(new Array(dragItemId));
	}
	else if (isBriefcaseElement(dropItemId))
	{
		var itemInfo  = getElementIdInfo(dragItemId);
		xajax_shAjaxServer.addSingleDocToBin (itemInfo['id']);
		cleanupDrag();
	}
	else
	{
		cleanupDrag();
	}
}

/**
 * Called when a Nexus item is dropped on a drop
 * target (any drop target)
 * @param string dropItemId The Id of the element dropped on
 * @param string dragItemId The Id of the element being dragged
 */
function onDragDropCategory(dropItemId,dragItemId)
{
	if (isCategoryElement(dropItemId))
	{
		var catInfo = getElementIdInfo(dropItemId);
		var itemInfo = getElementIdInfo(dragItemId);		
		xajax_shAjaxServer.addCatToCategory (itemInfo['id'], catInfo['id'],nexusGet('parent_category_id'));
	}
	else if (isTrashcanElement(dropItemId))
	{
		xajax_shAjaxServer.addItemsToTrash(new Array(dragItemId));
	}
	else if (isBriefcaseElement(dropItemId))
	{
		var itemInfo  = getElementIdInfo(dragItemId);
		xajax_shAjaxServer.addCategoryToBriefcase(itemInfo['id']);
		cleanupDrag();
	}
	else
	{
		cleanupDrag();		
	}
}

