function feedlist_init() {
        try {
-               loading_set_progress(90);
-
                console.log("in feedlist init");
                
                hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
                                setTimeout("viewfeed(-3)", 100);
                        } else {
                                setTimeout("viewfeed(-5)", 100);
-                               remove_splash();
                        }
                } 
 
 
 var hotkeys_enabled = true;
 var notify_silent = false;
-var last_progress_point = 0;
+var loading_progress = 0;
 var sanity_check_done = false;
 
 /* add method to remove element from array */
 
 function loading_set_progress(p) {
        try {
-               if (p < last_progress_point || !Element.visible("overlay")) return;
+               loading_progress += p;
 
-               console.log("loading_set_progress : " + p + " (" + last_progress_point + ")");
+               if (dijit.byId("loading_bar"))
+                       dijit.byId("loading_bar").update({progress: loading_progress});
 
-               var o = $("l_progress_i");
-
-//             o.style.width = (p * 2) + "px";
-
-               new Effect.Scale(o, p, { 
-                       scaleY : false,
-                       scaleFrom : last_progress_point,
-                       scaleMode: { originalWidth : 200 },
-                       queue: { position: 'end', scope: 'LSP-Q', limit: 3 } }); 
-
-               last_progress_point = p;
+               if (loading_progress >= 90)
+                       remove_splash();
 
        } catch (e) {
                exception_error("loading_set_progress", e);
 }
 
 function remove_splash() {
+
        if (Element.visible("overlay")) {
                console.log("about to remove splash, OMG!");
                Element.hide("overlay");
 
                        caller_subop = false;
                }
                notify("");
-               remove_splash();
 
        } catch (e) {
                exception_error("feedlist_callback2", e);
 function filterlist_callback2(transport) {
        dijit.byId('filterConfigTab').attr('content', transport.responseText); 
        notify("");
-       remove_splash();
 }
 
 function labellist_callback2(transport) {
                closeInfoBox();
 
                notify("");
-               remove_splash();
 
        } catch (e) {
                exception_error("labellist_callback2", e);
                dijit.byId('userConfigTab').attr('content', transport.responseText); 
 
                notify("");
-               remove_splash();
        } catch (e) {
                exception_error("userlist_callback2", e);
        }
                dijit.byId('genConfigTab').attr('content', transport.responseText); 
 
                notify("");
-               remove_splash();
        } catch (e) {
                exception_error("prefslist_callback2", e);
        }
                        caller_subop = caller_subop + ":" + getURLParam("subopparam");
                }
 
-               loading_set_progress(60);
+               loading_set_progress(50);
 
                notify("");
 
                        });
 
                setTimeout("hotkey_prefix_timeout()", 5*1000);
-               remove_splash();
 
        } catch (e) {
                exception_error("init_second_stage", e);
                dojo.require("dijit.tree.dndSource");
                dojo.require("dijit.InlineEditBox");
                dojo.require("dijit.ColorPalette");
+               dojo.require("dijit.ProgressBar");
 
                dojo.registerModulePath("lib", "..");
                dojo.registerModulePath("fox", "../..");
                dojo.require("fox.PrefFilterTree");
                dojo.require("fox.PrefLabelTree");
 
-               loading_set_progress(30);
+               loading_set_progress(50);
 
                var query = "?op=rpc&subop=sanityCheck";
 
 
 
 <div id="overlay">
        <div id="overlay_inner">
-               <?php echo __("Loading, please wait...") ?>
-
-               <div id="l_progress_o">
-                       <div id="l_progress_i"></div>
+               <div class="insensitive"><?php echo __("Loading, please wait...") ?></div>
+               <div dojoType="dijit.ProgressBar" places="0" style="width : 300px" id="loading_bar"
+            progress="0" maximum="100">
                </div>
-
        <noscript>
                <p><?php print_error(__("Your browser doesn't support Javascript, which is required
                for this application to function properly. Please check your
 
        display : none;
        float : right;
        font-size : 12px;
-       z-index : 998;
+       z-index : 99;
        padding : 5px 5px 5px 5px;
 }
 
 
 #overlay_inner {
        font-weight : bold;
-       margin : 10px;
+       margin : 1em;
 }
 
 #noDaemonWarning {     
 
                var tmph = dojo.connect(tree, 'onLoad', function() {
                dojo.disconnect(tmph);
                        Element.hide("feedlistLoading");
+                       loading_set_progress(25);
                });
 
                tree.startup();
                dojo.require("dijit.Tree");
                dojo.require("dijit.form.Select");
                dojo.require("dijit.Toolbar");
+               dojo.require("dijit.ProgressBar");
                dojo.require("dojo.parser");
 
                dojo.registerModulePath("fox", "../..");
 
                var params = "&ua=" + param_escape(navigator.userAgent);
 
-               loading_set_progress(30);
+               loading_set_progress(20);
 
                new Ajax.Request("backend.php", {
                        parameters: "backend.php?op=rpc&subop=sanityCheck" + params,
 
                feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
 
-               loading_set_progress(60);
+               loading_set_progress(30);
 
                if (has_local_storage())
                        localStorage.clear();
 
 
 <div id="overlay" style="display : block">
        <div id="overlay_inner">
-               <?php echo __("Loading, please wait...") ?>
-
-               <div id="l_progress_o">
-                       <div id="l_progress_i"></div>
+               <div class="insensitive"><?php echo __("Loading, please wait...") ?></div>
+               <div dojoType="dijit.ProgressBar" places="0" style="width : 300px" id="loading_bar"
+            progress="0" maximum="100">
                </div>
-
        <noscript>
                <p>
                <?php print_error(__("Your browser doesn't support Javascript, which is required
 
 
                if (!handle_rpc_reply(transport)) return;
 
-               loading_set_progress(100);
+               loading_set_progress(25);
 
                console.log("headlines_callback2 [page=" + feed_cur_page + "]");
 
 
                notify("");
 
-               remove_splash();
-
        } catch (e) {
                exception_error("headlines_callback2", e, transport);
        }