// ZSite widget library -- resizer widget routines
// (c) Zagorodnikov Anton 2007-2008

var zsite_resizeabledrag = Array();
var zsite_resizehandlers = Array();

var zsite_control_widths = Array();
var zsite_control_heights = Array();

function zsite_resizer_resize(id, valx, valy)
{
	//resize corresponding control
	eval(zsite_resizehandlers[id]+"('"+id+"', "+valx+", "+valy+");");


//	zsite_control_widths[id]+=valx;
//	zsite_control_heights[id]+=valy;

	//place resizer in new location
	dojo.byId(id+"_resize_grip").style.marginLeft = (zsite_control_widths[id]-17) + "px";
	dojo.byId(id+"_resize_grip").style.marginTop = (zsite_control_heights[id]-17) + "px";
}

function zsite_resizer_init(id, resizehandlercontrol)
{
	zsite_resizeabledrag[id] = 0;
	disableSelection(dojo.byId(id+"_resize_grip"));

	zsite_resizehandlers[id] = resizehandlercontrol;

	//establish first time size
//	zsite_control_widths[id] = -1;//dojo.byId(id).offsetWidth;
//	zsite_control_heights[id] = -1;//dojo.byId(id).offsetHeight;
		zsite_control_widths[id] = dojo.byId(id).offsetWidth;
		zsite_control_heights[id] = dojo.byId(id).offsetHeight;

	dojo.byId(id+"_resize_grip").style.marginLeft = (zsite_control_widths[id]-17) + "px";
	dojo.byId(id+"_resize_grip").style.marginTop = (zsite_control_heights[id]-17) + "px";

	//add on mouseup document handler
	var oldmouseup = document.onmouseup;
	document.onmouseup = function(e)
	{
		zsite_resizeabledrag[id] = 0;
		oldmouseup(e);
	};

	//add on mousemove document handler
	var oldmousemove = zsite_mousemove_handlers;
	zsite_mousemove_handlers = function()
	{
		//for all resizeable ids
		if(zsite_resizeabledrag[id] == 1)
		{
			zsite_resizer_resize(id, mousex - prevposx, mousey - prevposy);
		}
		oldmousemove();
	};
}

function begin_resize(id)
{
	zsite_resizeabledrag[id] = 1;
}

