<!DOCTYPE html>
<html>
<head>
<style>#link1, #link2 { display:none; }</style>

<script src="lab.js"></script>

<script>
$LAB.script("jquery.js").wait(function(){
   var ready = false,
       chain = $LAB.script("links.js").wait(function(){
          ready = true;
       })
   ;
   // links.js may finish loading long before either link is clicked, so `chain` is resumable, or link may be clicked before links.js is loaded, so chain will just be added to while still in process

   $("#notready").hide();

   $("#link1, #link2").show().click(function(evt){
      if (!ready) $("#notready").show();

      chain = chain.wait(function(){
         $("#notready").hide();
         linkClicked($(evt.target).attr("id")); // comes from links.js
      });
   });
</script>
</head>
<body>
   <div id="notready">Please wait...</div>
   <a id="link1" href="#">link 1</a>
   <a id="link2" href="#">link 2</a>
</body>
</html>