var g_loadHandlers = new Array();
var g_ajaxLoadHandlers = new Array();

function registerLoadHandler(handler) {
    g_loadHandlers[g_loadHandlers.length] = handler;
}

function registerAjaxLoadHandler(handler) {
	g_ajaxLoadHandlers[g_ajaxLoadHandlers.length] = handler;
}

function ajaxReload() {
	for (var i = 0; i < g_ajaxLoadHandlers.length; i++) {
		g_ajaxLoadHandlers[i]();
	}
}

window.onload = function() {
    // Invoke each load event handler
    for (var i = 0; i < g_loadHandlers.length; i++) {
        g_loadHandlers[i]();
    }
    
    // Now walk the DOM if and only if there are registered handlers
    if (g_domWalkerHandlers.length > 0) {
        var elements = document.getElementsByTagName("*");
        var element;
        for (var i = 0; i < elements.length; i++) {
            element = elements[i];
        
            for (var j = 0; j < g_domWalkerHandlers.length; j++) {
                g_domWalkerHandlers[j](element);
            }
        }
    }
}

var g_domWalkerHandlers = new Array();

function registerDomWalkerHandler(handler) {
    g_domWalkerHandlers[g_domWalkerHandlers.length] = handler;
}