code: function ready() {
  
      if (!readyFired) {
  
          // this must be set to true before we start calling callbacks
          readyFired = true;
          var result = null;
          var i = i || 0;
  
          var handleEvent = function (i, readyList) {
  
              if ( readyList[i] ) {
  
                  if (readyList[i].name == 'gina') {
  
                      var scheduler = window.setInterval(function (i, readyList) {
                          try {
  
                              readyList[i].ctx = window.gina;
                              result = readyList[i].fn.call(window, readyList[i].ctx);
  
                              // clear
                              if (result) {
                                  window.clearInterval(scheduler);
                                  ++i;
                                  handleEvent(i, readyList)
                              }
                          } catch (err) {
                              window.clearInterval(scheduler);
                              throw err
                          }
  
                      }, 50, i, readyList);
  
  
                  } else {
                      readyList[i].fn.call(window, readyList[i].ctx);
                      ++i;
                      handleEvent(i, readyList)
                  }
  
              } else { // end
                  // allow any closures held by these functions to free
                  readyList = [];
              }
          }
  
          handleEvent(i, readyList)
      }
  }
docs: call this when the document is ready this function protects itself against being called more than once