Вот код, отладчик показвает что выполнение заканчивается на строке -
r.circle(15, 15, 10).attr(fill).drag(function (dx, dy)
, причем r остается undefined.
Raphael(function() {
var r = Raphael('wrapper', 800, 600);
var fill = {
stroke: '#C3FF68',
fill: '#f8f8f8',
'fill-opacity': .5,
'stroke-width': 10,
'stroke-linecap': 'round',
'stroke-linejoin': 'round'
};
(function (r) {
var x, y;
r.circle(15, 15, 10).attr(fill).drag(function (dx, dy) {
this.attr({
cx: Math.min(Math.max(x + dx, 15), 85),
cy: Math.min(Math.max(y + dy, 15), 85)
});
}, function () {
x = this.attr("cx");
y = this.attr("cy");
});
})();
});