function runOnLoad(f) {
  if(runOnLoad.loaded) f();
  else runOnLoad.funcs.push(f);
}

runOnLoad.funcs = [];
runOnLoad.loaded = false;

runOnLoad.run = function() {
  if(runOnLoad.loaded) return;

  for(var i = 0; i < runOnLoad.funcs.length; i++) {
    try { 
      runOnLoad.funcs[i](); 
    } catch(e) { 
      console.error(e.message); 
    }
  }

  runOnLoad.loaded = true;
  delete runOnLoad.funcs;
  delete runOnLoad.run;
};

Event.observe(document, 'dom:loaded', runOnLoad.run);