<!doctype html>
<html lang="de-de">
<head>
  <meta charset="utf-8">
  <title>Zammad Chat</title>
  <link rel="stylesheet" href="znuny.css">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <style>
    body {
      margin: 0;
      font-family: sans-serif;
    }

    .mockup {
      vertical-align: bottom;
    }

    .settings {
      position: fixed;
      left: 20px;
      top: 20px;
      background: white;
      font-size: 14px;
      padding: 10px;
      border-radius: 5px;
      box-shadow: 0 3px 10px rgba(0,0,0,.3);
      width: 500px;
    }

    .settings input {
      vertical-align: middle;
    }
    .settings input + input {
      margin-right: 3px;
    }

    table td:first-child {
      text-align: right;
      padding-right: 0;
    }

    table td.log {
      text-align: left;
      padding-right: 0;
      word-break: break-all;
    }

    td {
      padding: 5px;
    }

    h2 {
      font-size: 1em;
      margin: 0;
    }

    @media only screen and (max-width: 768px) {
      .settings {
        display: none;
      }
    }

    .Box {
      background: hsl(0,0%,91%);
      width: 26px;
      height: 24px;
      color: hsl(0,0%,47%);
      float: left;
    }
    .Box.Active {
      background: hsl(0,0%,36%);
      color: white;
    }
  </style>
</head>
<body>
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">
<img class="mockup" width="100%" src="znuny.png">

<form class="settings" onsubmit="return false">
  <table>
    <tr>
      <td><h2>Settings</h2>
      <td>
    <tr>
      <td>
        <input id="flat" type="checkbox" onchange="updateStyle(this.form)">
      <td>
        <label for="flat">Flat Design</label>
    <tr>
      <td>
        <input type="color" id="color" value="#AE99D6" oninput="updateStyle(this.form)">
      <td>
        <label for="color">Color</label>
    <tr>
      <td>
        <input type="range" id="fontSize" value="12" min="11" max="18" name="fontSize" oninput="updateStyle(this.form)">
        <output for="fontSize" id="fontSizeOutput" style="width: 20px; display: inline-block">12</output>px
      <td>
        <label for="fontSize">Font Size</label>
    <tr>
      <td>
      <td><button class="open-zammad-chat">Open Chat</button>
    <tr>
      <td class="log"><h2>Log</h2>
      <td>
    <tr>
      <td colspan="2" class="log js-chatLogDisplay">
  </table>
</form>

<script src="chat-no-jquery.js"></script>
<script>
  function getSearchParameters() {
        var prmstr = window.location.search.substr(1);
        return prmstr != null && prmstr != '' ? transformToAssocArray(prmstr) : {};
  }
  function transformToAssocArray( prmstr ) {
      var params = {};
      var prmarr = prmstr.split('&');
      for ( var i = 0; i < prmarr.length; i++) {
          var tmparr = prmarr[i].split('=');
          params[tmparr[0]] = tmparr[1];
      }
      return params;
  }
  var hostname = window.location.hostname;
  var port = window.location.port;
  var protocol = window.location.protocol;
  var wsProtocol = protocol === 'https:' ? 'wss:' : 'ws:';
  var params = getSearchParameters();
  var host = wsProtocol + '//'+ (location.host || 'localhost').split(':')[0] +':6042'
  if (params['port']) {
    host = wsProtocol + '//' + hostname + ':' + params['port']
  }
  cssUrl = protocol + '//' + hostname + ':' + port + '/assets/chat/chat.css'

  var chat = new ZammadChat({
    chatId: 1,
    host: host,
    cssUrl: cssUrl,
    debug: true,
    background: '#494d52',
    flat: true,
    show: false,
    idleTimeout: 0.1,
    idleTimeoutIntervallCheck: 0.11,
    inactiveTimeout: 2,
    inactiveTimeoutIntervallCheck: 0.5,
    waitingListTimeout: 1.2,
    waitingListTimeoutIntervallCheck: 0.5,
  });

  function updateStyle(form){
    chat.el.classList.toggle('zammad-chat--flat', form.flat.checked);
    var surfaces = document.querySelectorAll('.zammad-chat-header, .zammad-chat-message--customer .zammad-chat-message-body, .zammad-chat-button');
    for(var i=0; i<surfaces.length; i++){
      surfaces[i].style.background = form.color.value;
    }
    chat.options.background = form.color.value;
    chat.el.style.fontSize = form.fontSize.value +'px';
    form.fontSizeOutput.textContent = form.fontSize.value;
  }
</script>
</body>
</html>