var page_load_handlers = null;
var page_loaded        = false;

function isLoaded() {
    return page_loaded;
}

function addLoadedHandler(f) {
    if (isLoaded()) {
        // If the page has already loaded call the
        // handler immediately.
        f();
    } else {
        // Otherwise defer
        if (null == page_load_handlers) {
            page_load_handlers = [];
        }
        page_load_handlers.push(f);
    }
}

function pageLoaded() {
    page_loaded = true;
    if (page_load_handlers) {
        for (var i = 0; i < page_load_handlers.length; i++) {
            var f = page_load_handlers[i];
            f();
        }
        page_load_handlers = null;
    }
}
