// Create a queue, but don't obliterate an existing one! window.analytics = window.analytics || [];

// A list of the methods in Analytics.js to stub. window.analytics.methods = ['identify', 'group', 'track',

'page', 'pageview', 'alias', 'ready', 'on', 'once', 'off',
'trackLink', 'trackForm', 'trackClick', 'trackSubmit'];

// Define a factory to create stubs. These are placeholders // for methods in Analytics.js so that you never have to wait // for it to load to actually record data. The `method` is // stored as the first argument, so we can replay the data. window.analytics.factory = function(method){

return function(){
  var args = Array.prototype.slice.call(arguments);
  args.unshift(method);
  window.analytics.push(args);
  return window.analytics;
};

};

// For each of our methods, generate a queueing stub. for (var i = 0; i < window.analytics.methods.length; i++) {

var key = window.analytics.methods[i];
window.analytics[key] = window.analytics.factory(key);

}

// Define a method to load Analytics.js from our CDN, // and that will be sure to only ever load it once. window.analytics.load = function(key){

if (document.getElementById('analytics-js')) return;

// Create an async script element based on your key.
var script = document.createElement('script');
script.type = 'text/javascript';
script.id = 'analytics-js';
script.async = true;
script.src = ('https:' === document.location.protocol
  ? 'https://' : 'http://')
  + 'cdn.segment.io/analytics.js/v1/'
  + key + '/analytics.min.js';

// Insert our script next to the first script element.
var first = document.getElementsByTagName('script')[0];
first.parentNode.insertBefore(script, first);

};

// Add a version to keep track of what's in the wild. window.analytics.SNIPPET_VERSION = '2.0.9';

// Load Analytics.js with your key, which will automatically // load the tools you've enabled for your account. Boosh! window.analytics.load('SEGMENTIO_API_KEY');

// accommodate Turbolinks and make the first page call to load the integrations. $(document).on('ready page:change', function() {

window.analytics.page();

})