En addEvent esta el culpable, attachEvent no funciona como addEventListener, no te bindea el scope, dentro de la funcion this hace referencia a window, una forma rapida de solucionarlo seria algo asi:
Código Javascript
:
Ver original...
if(obj.attachEvent){
obj.attachEvent('on'+tipo, function() { toDo.call(obj, window.event); }, false);
}
...
Saludos.