
/* Dragable
	new Dragable(x, y, html );
	new Dragable(layer);
	dragable.layer;
	dragable.ondrop(dragable);
	dragable.onmove(dragable);
	dragable.ondrag(dragable);
	dragable.ondown(dragable);
*/

Dragable.mdown=function (e) {
	this.offX=e.pageX-this.pageX;
	this.offY=e.pageY-this.pageY;
	if (this.ref.ondown)
	  this.ref.ondown(this.reF);
	window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
	Dragable.current=this;
	this.savemousemove=window.onmousemove;
	this.savemouseup=window.onmouseup;
	window.onmousemove=Dragable.mdrag;
	window.onmouseup=Dragable.mup;
	return false;
}

Dragable.mmove=function (e) {
	if (this.ref.onmove)
		this.ref.onmove(this.ref);
	return false;
}

Dragable.mdrag=function (e) {
    var that=Dragable.current;
	that.pageX=e.pageX-that.offX;
	that.pageY=e.pageY-that.offY;
	if (that.ref.ondrag)
	  that.ref.ondrag(that.ref);
	return false;
}

Dragable.mup=function () {
    var that=Dragable.current;
	window.onmousemove=that.savemousemove;
	window.onmouseup=that.savemouseup;
	var mask=0;
	if (!window.onmousemove) mask|=Event.MOUSEMOVE;
	if (!window.onmouseup)	 mask|=Event.MOUSEUP;
	window.releaseEvents(mask);
	if (that.ref.ondrop)
	  that.ref.ondrop(that.ref);
	return false;
}


function Dragable(x,y,html) {
  var ref=this;
  var d;
  if (x.constructor==Layer) {
    d=x;
  } else {
    var s="<layer name=dragable left="+x+" top="+y+" >"+html+"</layer>";
    document.write(s);
    d=document.layers.dragable;
  }
  d.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN);
  d.onmousemove=Dragable.mmove;
  d.onmousedown=Dragable.mdown;
  ref.layer=d;
  d.ref=ref;
}


