/**
 * DropContainer control
 */
 
Prado.WebUI.DropContainer = Class.extend(Prado.WebUI.CallbackControl);

function findPos(obj) 
{
	var curleft = curtop = 0;

	if (obj.offsetParent) {
		do {
					curleft += obj.offsetLeft;
					curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

Object.extend(Prado.WebUI.DropContainer.prototype,
{
	initialize: function(options)
	{
		this.options = options;
		Object.extend (this.options, 
		{
			onDrop: this.onDrop.bind(this)
		});
		
		Droppables.add (options.ID, this.options);
	},
	
	onDrop: function(dragElement, dropElement, e)
	{
		var pos = findPos(dropElement);

		x = Event.pointerX(e) -pos[0];
		y = Event.pointerY(e) -pos[1];
		var xy = (x + "," + y);
		Prado.Callback(this.options.EventTarget, dragElement.id + "," + xy, null, this.options);
	}
});

