<!DOCTYPE html>
<html>
  <head>
    <title>{{ .title }}</title>
    <link href="https://korap.ids-mannheim.de/css/kalamar-plugin-latest.css" type="text/css" rel="stylesheet" />
    <script data-server="{{ .korapServer }}" src="https://korap.ids-mannheim.de/js/korap-plugin-latest.js"></script>
    <style><!--
@font-face {
  font-family: 'FontAwesome';
  src: url('https://korap.ids-mannheim.de/font/fontawesome-webfont.eot?v=4.3.0');
  src: url('https://korap.ids-mannheim.de/font/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('https://korap.ids-mannheim.de/font/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('https://korap.ids-mannheim.de/font/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('https://korap.ids-mannheim.de/font/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('https://korap.ids-mannheim.de/font/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style:  normal;
}
--></style>
  </head>
  <body>
    <h1>{{ .title }}</h1>
    <section style="background-color: #fefefe">
      <p id="buy">...</p>
    </section>
    <script defer=""><!--
      "use strict";
      
      function pluginit(P) {
      
        P.resize();
      
        // Request metadata from the embedding match
        P.requestMsg(
          {
            'action':'get',
            'key':'textSigle'
          }, function (d) {
            var textSigle = d.value.value;
            var xhttp = new XMLHttpRequest();
            xhttp.onload = function() {
              if (this.status === 404) {
                document.getElementById("buy").innerHTML = "{{ .noAccess }}}"
              } else {
                var ret = this.responseText.split(",");
                document.getElementById("buy").innerHTML = "{{ .fromProvider }} <a target=\"_blank\" href=\"" + ret[1] + "\" class=\"external\">" + ret[0] + "</a>.";
              }
              P.resize();
            }
            xhttp.open("GET", textSigle, true);
            xhttp.send();
          }
        );
      
        if (window.dynCall) {
          window.dynCall(P)
        };
      
        // Set plugin object globally
        window.Plugin = P;
      
      };
      -->
      </script>
  </body>
</html>
