| // attach a handler to a particular event on an element | |
| // in a browser-independent way | |
| function registerEventHandler (element, event, handler) { | |
| if (element.attachEvent) { | |
| // MS registration model | |
| element.attachEvent('on' + event, handler); | |
| } else if (element.addEventListener) { | |
| // NN (W4C) regisration model | |
| element.addEventListener(event, handler, false); | |
| } else { | |
| // old regisration model as fall-back | |
| element[event] = handler; | |
| } | |
| } | |
| // get a delegate that refers to an instance method | |
| function getInstanceDelegate (obj, methodName) { | |
| return( function(e) { | |
| e = e || window.event; | |
| return obj[methodName](e); | |
| } ); | |
| } |