//Object.extend(Event, {
//  _domReady : function() {
//    if (arguments.callee.done) return;
//    arguments.callee.done = true;
//
//    if (this._timer)  clearInterval(this._timer);
//
//    this._readyCallbacks.each(function(f) { f() });
//    this._readyCallbacks = null;
//},
//  onDOMReady : function(f) {
//    if (!this._readyCallbacks) {
//      var domReady = this._domReady.bind(this);
//
//      if (document.addEventListener)
//        document.addEventListener("DOMContentLoaded", domReady, false);
//
//        /*@cc_on @*/
//        /*@if (@_win32)
//            document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
//            document.getElementById("__ie_onload").onreadystatechange = function() {
//                if (this.readyState == "complete") domReady();
//            };
//        /*@end @*/
//
//        if (/WebKit/i.test(navigator.userAgent)) {
//          this._timer = setInterval(function() {
//            if (/loaded|complete/.test(document.readyState)) domReady();
//          }, 10);
//        }
//
//        Event.observe(window, 'load', domReady);
//        Event._readyCallbacks =  [];
//    }
//    Event._readyCallbacks.push(f);
//  }
//});