<!DOCTYPE html>
<!--
Copyright 2016 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<polymer-element name="load-analytics">
  <script>
    'use strict';
    Polymer('load-analytics', {
      ready: function() {
        // This code comes from Google Analytics.
        (function(i, s, o, g, r, a, m) {
          i['GoogleAnalyticsObject'] = r;
          i[r] = i[r] || function() {
            (i[r].q = i[r].q || []).push(arguments);
          };
          i[r].l = 1 * new Date();
          a = s.createElement(o), m = s.getElementsByTagName(o)[0];
          a.async = 1;
          a.src = g;
          m.parentNode.insertBefore(a, m);
        })(window, document,
           'script', '//www.google-analytics.com/analytics.js', 'ga');

        ga('create', 'UA-56758330-1', 'auto');
        ga('send', 'pageview');
      }
    });
  </script>
</polymer-element>
