(function () {
  //Inject tables code v1.0

  var highcharts = document.createElement('script');

  var cdn = 'https://app.everviz.com/resources/highcharts/11.4.8/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https:///show/Bzlg6W3Iw');
  var chartCreated = false;
  var scripts = [
    "highcharts.js"
  ];

  var externalCSS = [
    "https://app.everviz.com/static/fonts/radio-grotesk/style.css",
  ];

  var extraScripts = [
    "https://app.everviz.com/resources/tables/1.0/js/table.js"
  ];

  var options = {"template":[],"data":{"googleSpreadsheetKey":"","value":[["<div>Réponse aux besoins - Hébergement</div>",{"value":"<div style=\"text-align: center;\">cumul personnes</div>","style":{}}],["<div>Lits occupés</div><div>Hospice général + partenaires</div>",{"value":"<div>852</div>","style":{"textAlign":"center"}}],["<div>Lits occupés - Hospice général</div><div>(Locaux commerciaux transformés)</div>",{"value":"<div>622</div>","style":{"textAlign":"center"}}],["<div><span style=\"color: rgb(0, 0, 0);\">Lits occupés - Palexpo</span></div>",{"value":"<div>194</div>","style":{"textAlign":"center"}}],["<div>Lits occupés - familles d'accueil</div><div>(source: Hospice général)</div>",{"value":"<div>67</div>","style":{"textAlign":"center"}}],["<div>Lits occupés - autres / logements privés</div><div>(source: Hospice général)</div>",{"value":"<div>1 816</div>","style":{"textAlign":"center"}}],["<div><strong>Total des lits occupés</strong></div>",{"value":"<div><strong>3 551</strong></div>","style":{"textAlign":"center"}}]]},"options":{"title":{"enabled":true,"text":"","style":{"fontSize":"18px"}},"columns":[{"type":"data","visible":true},{"type":"data","visible":true}],"table":{"pagination":{"enabled":false},"searchable":{"enabled":false},"style":{"backgroundColor":"#f5cc2f","fontSize":"16px","color":"#000000"}},"header":{"style":{"backgroundColor":"#215ba7","fontSize":"18px","color":"#ffffff","textAlign":"left","fontWeight":"unset"}},"caption":{"text":"","style":{"textAlign":"right","fontWeight":"bold","fontStyle":"italic","fontSize":"14px"}},"subtitle":{"text":""},"rows":{"stripes":false},"exporting":{"sourceHeight":null,"sourceWidth":null}}};
  
  function isScriptAlreadyIncluded(src){
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      if (scripts[i].hasAttribute('src')) {
        const scriptTag = scripts[i].getAttribute('src') || '';
        if ((scriptTag.indexOf(src) >= 0) || 
            (scriptTag.indexOf('highcharts.src.js') > -1 && src === 'highcharts.js') ||
            ((scriptTag.indexOf('stock/highstock.js') > -1) && src === 'modules/highstock.js')) {
          return true;
        }
      }
    }
    return false;
  }

  function loadCSS() {
    var cssLength = externalCSS.length;
    for(var i=0; i < cssLength; i++) {
      var css = document.createElement('link');
      css.rel  = 'stylesheet';
      css.type = "text/css";
      css.href = externalCSS[i];
      document.body.appendChild(css);
    }
  }

  function createLayout() {
    if(chartCreated) return;

    if (!window['EvervizLayoutModule']) window['EvervizLayoutModule'] = {};
    if (!window['EvervizLayoutModule'].projects) window['EvervizLayoutModule'].projects = [];
    
    chartCreated = true;
    window.EvervizLayoutModule.hasLoaded = true;
    var evervizTable = new EvervizTable('everviz-table-Bzlg6W3Iw', options);
    window['EvervizLayoutModule'].projects.push(evervizTable);
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.EvervizLayoutModule.ondone.length; i++) {
          try {
            window.EvervizLayoutModule.ondone[i]();
          } catch(e) {
            console.error(e);
          }
        }
      }
    }
  }

  function loadScript(s, scripts, cb) {
    if (!s) next();
    
    function next() {
      ++loaded;
      if (loaded < scripts.length) {
        loadScript(scripts[loaded], scripts, cb);
      }
      check(scripts, cb);
    }

    if (isScriptAlreadyIncluded(s)) {
      return next();
    }

    var n = document.createElement('script');

    n.onload = function () {
      next();
    };
    if (s.indexOf('https') >= 0) {
      n.src = s;
    } else {
      n.src = cdn + s;
    }
    document.body.appendChild(n);
  }

  function loadExtraScripts(){
    if (extraScripts.length > 0) {
      loaded = 0;
      loadScript(extraScripts[0], extraScripts);
    } else {
      check(scripts);
    }
  }

  function loadExtraScriptsAndMakeChart(){
    loaded = 0;
    loadCSS();
    if (extraScripts.length > 0) {
      loadScript(extraScripts[0], extraScripts, createLayout);
    } else {
      check(extraScripts, createLayout);
    }
  }

  if (typeof window['EvervizLayoutModule'] === 'undefined') {
    window.EvervizLayoutModule = {
      ondone: [createLayout],
      hasWrapped: false,
      hasLoaded: false,
      projects: []
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (!window.EvervizLayoutModule.hasLoaded) window.EvervizLayoutModule.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
