function JavascriptLibraryComponent_addOnLoad(onloadFunc) {
    // based on http://answers.google.com/answers/threadview?id=510976
    if(window.addEventListener) {
        window.addEventListener('load', onloadFunc, false);
    } else if(window.attachEvent) {
        window.attachEvent('onload', onloadFunc);
    } else {
        var onloadOld = window.onload;
        window.onload = function() {
            if (onloadOld) onloadOld();
            onloadFunc();
        }
    }
}

function JavascriptLibraryComponent_addOnUnload(onunloadFunc) {
    // based on http://answers.google.com/answers/threadview?id=510976
    if(window.addEventListener) {
        window.addEventListener('unload', onunloadFunc, false);
    } else if(window.attachEvent) {
        window.attachEvent('onunload', onunloadFunc);
    } else {
        var onunloadOld = window.onunload;
        window.onunload = function() {
            if (onunloadOld) onunloadOld();
            onunloadFunc();
        }
    }
}

