Cross-browser DOM and object events