var StravaCookieBanner = {
  show: function(){
    var name = '_strava_cookie_banner=';
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for(var i = 0; i < ca.length; i++){
      var c = ca[i];
      while (c.charAt(0) == ' ') { c = c.substring(1); }
      if (c.indexOf(name) == 0) { return false; }
    }
    return true;
  },
  dismiss: function(){
    document.cookie = '_strava_cookie_banner=true;expires=Fri, 31 Dec 9999 23:59:59 GMT;domain=.strava.com;path=/;';
    document.body.removeChild(document.getElementById('stravaCookieBanner'));
  },
  render: function(){
    if (this.show()) {
      var message = "We use cookies to help make Strava better. By visiting this site, you agree to our <a href='https://strava.com/legal/privacy#cookies-and-similar-technologies'>cookie policy</a>.";
      var content = "<div class='cookie-banner-content'><span>"+message+"</span><button class='btn-dismiss-cookie-banner'>&times;</button></div>";
      var bannerCss = "background-color: rgba(18,18,20,0.95); border-radius: 8px; bottom: 20px; font-family: 'MaisonNeue', Helvetica, Arial, sans-serif; left: 20px; padding: 20px 40px 20px 20px; position: fixed; z-index: 11000; box-shadow: 0 12px 24px -12px rgba(18,18,20,0.12); max-width: 285px; -webkit-font-smoothing: antialiased;";
      var contentCss = 'color: #cbcbd6; font-size: 14px; font-weight: 500; line-height: 1.5em; margin-left: auto; margin-right: auto; max-width: 1216px; justify-content: center;';
      var linkCss = 'color: #fff; font-weight: 700; text-decoration: none;';
      var buttonCss = 'background: none; border: none; color: #fff; cursor: pointer; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-size: 24px; font-weight: 100; height: 24px; line-height: 0; margin-left: 10px; margin-top: -4px; margin-bottom: 0; padding: 0; width: 24px; position: absolute; right: 20px; top: 20px;';
      var cookieBanner = document.createElement('div');
      cookieBanner.setAttribute('id', 'stravaCookieBanner');
      cookieBanner.innerHTML = content;
      cookieBanner.setAttribute('style', bannerCss);
      cookieBanner.getElementsByClassName('cookie-banner-content')[0].setAttribute('style', contentCss);
      cookieBanner.getElementsByTagName('a')[0].setAttribute('style', linkCss);
      var dismissButton = cookieBanner.getElementsByClassName('btn-dismiss-cookie-banner')[0];
      dismissButton.setAttribute('style', buttonCss);
      document.body.insertBefore(cookieBanner, document.body.childNodes[0]);
      dismissButton.addEventListener('click', this.dismiss);
    }
  }
}
