function createCookieHint() {
  if (inIframe() || isAccepted()) {
    return;
  }
 
  var template = '<div id="cookie-box" class="erg-no-print" style="position: relative; width:100%; display:flex; border-bottom:1px solid black; padding:32px; background:#fff; box-sizing: border-box; z-index: 1000"><div>$$TEXT$$</div><label id="cookie-box-close" style="position: absolute; cursor: pointer; right: 7px; top: 7px; padding:0; color: white; border-radius: 50%; background: gray; height: 24px; width: 24px; display: flex; align-items: center; justify-content: center;"><svg width="24" height="24" viewbox="0 0 32 32" style="display: inline-block; vertical-align: middle; height: 1em; fill: currentColor; margin-top:-0.05em; font-weight:bold;"><path class="path1" d="M27.2 7.296l-2.496-2.496-8.704 8.704-8.704-8.704-2.496 2.496 8.704 8.704-8.704 8.704 2.496 2.496 8.704-8.704 8.704 8.704 2.496-2.496-8.704-8.704z"></path></svg></label></div>';
  var cookieContent = window.cookieContent || '<div>Diese Website verwendet Cookies. Wenn Sie hier weitersurfen, erklären Sie sich damit einverstanden. <a href="$$LINK$$" class="erg-button--icon-color-primary"><svg class="icon icon--chevron-right erg-icon--chevron-right erg-button__icon" width="24" height="24" viewbox="0 0 32 32" style="fill:currentColor;"><path class="path1" d="M 8.544 5.344 l 10.656 10.656 l -10.656 10.656 l 2.112 2.144 l 10.688 -10.656 l 2.112 -2.144 l -2.112 -2.144 l -10.688 -10.656 Z" /></svg><span class="erg-button__children erg-color-primary">mehr erfahren</span></a></div>';
  var cookieLink = window.cookieLink || '/de/Service/Datenschutz';
  cookieContent = cookieContent.replace('$$LINK$$', cookieLink);
  var htmlString = template.replace('$$TEXT$$', cookieContent);

  var div = document.createElement('div');
  div.innerHTML = htmlString.trim();

  document.body.insertBefore(div.firstChild, document.body.firstChild);
  document.getElementById('cookie-box-close').onclick = function() {
    console.log('cookie hint accepted');
    document.getElementById('cookie-box').style.display = 'none';
    document.cookie = "cookie-accept=1; path=/";
    document.cookie = "allow_tagmanager=true; path=/";
    document.body.className = document.body.className.replace('cookie-box', '');
  };
  
  document.body.className += ' cookie-box';
}

function completed() {
  document.removeEventListener( "DOMContentLoaded", completed );
  window.removeEventListener( "load", completed );
  createCookieHint();
}

function isAccepted() {
  var cookies = "; " + document.cookie;
  var parts = cookies.split("; " + 'cookie-accept' + "=");
  var value = parts.length ? parts.pop().split(";").shift() : null;
  if (value === '1') {
    console.log('cookie hint already accepted');
    return true;
  }
  return false;
}

if ( document.readyState === "complete" ||
  ( document.readyState !== "loading" && !document.documentElement.doScroll )) {
  createCookieHint();
} else {
  // Use the handy event callback
  document.addEventListener( "DOMContentLoaded", completed );
  // A fallback to window.onload, that will always work
  window.addEventListener( "load", completed );
}

function inIframe () {
  try {
    return window.self !== window.top;
  } catch (e) {
    return true;
  }
}
