The problem is inside clone
function inside Raphael library. This function doesn't clone functions properly in old version of Firefox. One of the solutions is to modify code to return functions without clone them (just like it's doing with simple JavaScript types)
So, your final code for Raphael's clone
function will look like this:
function clone(obj) {
if (Object(obj) !== obj || typeof obj === 'function') {
return obj;
}
var res = new obj.constructor;
for (var key in obj) if (obj[has](key)) {
res[key] = clone(obj[key]);
}
return res;
}
I hope this will not broke anything.