code: function (xhr, options) {
      var key;
      var barElement;
      var data = parseXHR(xhr, options);
  
      if (!data.contents) return locationReplace(options.url);
  
      if (data.title) document.title = data.title;
  
      if (options.transition) {
        for (key in bars) {
          barElement = document.querySelector(bars[key])
          if (data[key]) swapContent(data[key], barElement);
          else if (barElement) barElement.parentNode.removeChild(barElement);
        }
      }
  
      swapContent(data.contents, options.container, options.transition, function () {
        cacheReplace({
          id         : options.id || +new Date,
          url        : data.url,
          title      : data.title,
          timeout    : options.timeout,
          transition : options.transition
        }, options.id);
        triggerStateChange();
      });
  
      if (!options.ignorePush && window._gaq) _gaq.push(['_trackPageview']) // google analytics
      if (!options.hash) return;
    }
docs: Main XHR handlers =================