docs: function (el, properties, options) {
  			options = options || {};
  			var o = this.getOffset(el),
  				ap = _animProps(o, properties),
  				ldist = ap[0] - o.left,
  				tdist = ap[1] - o.top,
  				d = options.duration || 250,
  				step = 15, steps = d / step,
  				linc = (step / d) * ldist,
  				tinc = (step / d) * tdist,
  				idx = 0,
  				int = setInterval(function () {
  					jsPlumb.setPosition(el, {
  						left: o.left + (linc * (idx + 1)),
  						top: o.top + (tinc * (idx + 1))
  					});
  					if (options.step != null) options.step(idx, Math.ceil(steps));
  					idx++;
  					if (idx >= steps) {
  						window.clearInterval(int);
  						if (options.complete != null) options.complete();
  					}
  				}, step);
  		}