Vue.component('Accordeon', {
  template : `
  <section v-bind:id="this.list.id">
    <a v-bind:href="this.href">
      <span
      v-on:click="toggleActive()"
      class="listname"
      :class="{ active: isActive }">

        <h3 class="b9h-lang-fr">{{ this.list.nameFR }}</h3>
        <h3 class="b9h-lang-en">{{ this.list.nameEN }}</h3>
        <h3 class="b9h-lang-it">{{ this.list.nameIT }}</h3>
        <span class="byl-icon-chevron-down listicon">

      </span>
    </a>
    <section class="listchild" :class="{ active: isActive }">
      <h3 v-for="i in this.list.sub"> {{ i.nameFR }} </h3>
    </section>
  </section>
  `,
  props : {
    list : Object
  },
  data () {
    return {
      isActive : false
    }
  },
  computed: {
    href: function () {
      return "#" + this.list.id;
    }
  },
  methods : {
    donothing () {
    },
    toggleActive () {
      this.isActive = !this.isActive
    }
  }
})


const jsonurl = "http://localhost:8080/asset/db.json"
let db2 = fetch(jsonurl)

let vm = new Vue({
  el: '#root',
  data: {
    currentLang: 'fr',
    db : {
      restaurants : {
        id : "resto",
        nameFR : "Restaurant",
        nameEN : "Restaurant",
        nameIT : "Ristoranti",
        sub : {
          italiens : {
            id: "restoital",
            nameFR : "Italien",
            nameEN : "Italian",
            nameIT : "Italiano",
            SanTelmo : {
              name: "San Telmo"
            },
            Salsamenteria : {
              name: "Salsamenteria di Parma"
            }
          },
          vege : {
            id : "restovege",
            nameFR : "Végétarien",
            nameEN : "Vegan",
            nameIT : "Vegetariano",
            SanTelmo : {
              name: "San Telmo"
            }
          }
        }
      }
    }
  },
  methods: {
    hidelang: function(lang) {
      langClass = "b9h-lang-" + lang;
      langElms = document.getElementsByClassName(langClass);
      for (i = 0; i < langElms.length; i++) {
        langElms[i].style.display = 'none';
      }
    },
    hidelangs: function() {
      this.hidelang('fr');
      this.hidelang('en');
      this.hidelang('it');
    },
    showlang: function(lang) {
      this.hidelangs();
      langClass = "b9h-lang-" + lang;
      langElms = document.getElementsByClassName(langClass);
      for (i = 0; i < langElms.length; i++) {
        langElms[i].style.display = 'revert';
      }
    },
     setlang: function (lang) {
      target = document.querySelector("#"+"tab-"+lang);
      marker = document.querySelector("#lang-marker");
      marker.style.left = target.offsetLeft + "px";
      marker.style.width = target.offsetWidth + "px";
      this.showlang(lang);
    },
  },
  mounted: function() {
    console.log("mounting");
    this.setlang('fr');
    console.log("mounted");
  }

})