shq.runOnload=function(f)
{

	 if(shq.runOnload.loaded)f(); // If already loaded, just invoke f() now.
	 else shq.runOnload.funcs.push(f); // Otherwise, store it for later

	
}

shq.runOnload.loaded=false;
shq.runOnload.funcs=[];
shq.runOnload.run=function(){
		if (this.loaded) return;
		for(var i = 0; i < shq.runOnload.funcs.length; i++) {
        try { shq.runOnload.funcs[i](); }
        catch(e) { /* An exception in one function shouldn't stop the rest */ }
         }
		 shq.runOnload.loaded = true; // Remember that we've already run once.
         delete shq.runOnload.funcs;  // But don't remember the functions themselves.
         delete shq.runOnload.run;    // And forget about this function too!
	}
// Register runOnLoad.run() as the onload event handler for the window
if (window.addEventListener)
    window.addEventListener("load", shq.runOnload.run, false);
else if (window.attachEvent) window.attachEvent("onload", shq.runOnload.run);
else window.onload = shq.runOnload.run;