// <![CDATA[
/*
 * To use: call addDOMLoadEvent one or more times with functions, ie:
 *
 *    function something() {
 *       // do something
 *    }
 *    addDOMLoadEvent(something);
 *
 *    addDOMLoadEvent(function() {
 *        // do other stuff
 *    });
 *
 */
 
function addDOMLoadEvent(func) {

    if (!window.__load_events) {
        var init = function () {
        
            if (arguments.callee.done) return;
            arguments.callee.done = true;
            
            if (window.__load_timer) {
                clearInterval(window.__load_timer);
                window.__load_timer = null;
            }
              
            for (var i=0;i < window.__load_events.length;i++) {
                window.__load_events[i]();
            }
             window.__load_events = null;
        };
        
        
        // for Mozilla/Opera9
        if (document.addEventListener) {
            document.addEventListener("DOMContentLoaded", init, false);
        }

        // for Internet Explorer
        /*@cc_on @*/
        /*@if (@_win32)
          document.write("<scr"+"ipt id=__ie_onload defer src=javascript:void(0)><\/scr"+"ipt>");
          var script = document.getElementById("__ie_onload");
          script.onreadystatechange = function() {
              if (this.readyState == "complete") {
                  init(); // call the onload handler
              }
          };
        /*@end @*/

        // for Safari
        if (/WebKit/i.test(navigator.userAgent)) { // sniff
            window.__load_timer = setInterval(function() {
                if (/loaded|complete/.test(document.readyState)) {
                    init(); // call the onload handler
                }
            }, 10);
        }
            
        // for other browsers
        window.onload = init;
            
        // create event function stack
        window.__load_events = [];
    }

    // add function to event stack
    window.__load_events.push(func);
}




function addLoadEvent(f) {
    var prev = window.onload;
    window.onload = function() {
        if (prev) prev();
        f();
    }
}


// ]]>