{"id":5086,"date":"2026-07-22T16:43:13","date_gmt":"2026-07-22T14:43:13","guid":{"rendered":"https:\/\/hotelgarda-lagodigarda.it\/events\/"},"modified":"2026-09-22T09:15:56","modified_gmt":"2026-09-22T07:15:56","slug":"events","status":"publish","type":"page","link":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/events\/","title":{"rendered":"Events"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5086\" class=\"elementor elementor-5086 elementor-718\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b245b85 e-con-full e-flex e-con e-parent\" data-id=\"b245b85\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-a603b73 e-con-full e-flex e-con e-child\" data-id=\"a603b73\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;,&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6832e8e elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"6832e8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\nEvents in Garda Trentino<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-106d60d e-flex e-con-boxed e-con e-parent\" data-id=\"106d60d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e3aaccd elementor-widget elementor-widget-html\" data-id=\"e3aaccd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"filter-buttons\" style=\"margin-bottom:1em;\">\r\n  <button data-filter=\"all\" class=\"active\">All<\/button>\r\n  <button data-filter=\"musica\">Music<\/button>\r\n  <button data-filter=\"cultura\">Culture<\/button>\r\n  <button data-filter=\"gusto\">Taste<\/button>\r\n  <button data-filter=\"sports\">Sports<\/button>\r\n  <button data-filter=\"mercato\">Market<\/button>\r\n  <button data-filter=\"esposizione\">Exposure<\/button>\r\n  <button data-filter=\"fiere e congressi\">Trade shows and conventions<\/button>\r\n  <button data-filter=\"altro\">More<\/button>\r\n<\/div>\r\n\r\n<div id=\"eventi-container\">Loading in progress...<\/div>\r\n\r\n<template id=\"tpl-evento\">\r\n  <div class=\"evento-card\">\r\n     <a href=\"#\" class=\"evento-link-immagine\">\r\n    <img decoding=\"async\" class=\"evento-img\" loading=\"lazy\" src=\"\" alt=\"Event image\"><\/a>\r\n    <div class=\"evento-body\">\r\n      <h3 class=\"evento-titolo\"><\/h3>\r\n      <p class=\"evento-date\"><\/p>\r\n      <p class=\"evento-loc\"><\/p>\r\n      <p class=\"evento-desc\"><\/p>\r\n      <a href=\"#\" class=\"evento-pulsante\">Details<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/template>\r\n\r\n<script>\r\n(function(){\r\n  const url = 'https:\/\/digiside.laspezia.it\/api\/tonelli\/eventi\/en';\r\n  const container = document.getElementById('eventi-container');\r\n  const tpl       = document.getElementById('tpl-evento');\r\n  const btns      = document.querySelectorAll('#filter-buttons button');\r\n  let eventsData  = [];\r\n\r\n  function slugify(str) {\r\n    return str\r\n      .normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '')\r\n      .toLowerCase()\r\n      .trim()\r\n      .replace(\/[^a-z0-9]+\/g, '-')\r\n      .replace(\/^-+|-+$\/g, '');\r\n  }\r\n\r\n  function renderEvents(filter) {\r\n    container.innerHTML = '';\r\n    const filtered = eventsData.filter(ev => filter === 'all' || ev.categoria === filter);\r\n\r\n    if (filtered.length === 0) {\r\n      container.innerHTML = '<p>Nessun evento trovato.<\/p>';\r\n      return;\r\n    }\r\n\r\n    filtered.forEach(ev => {\r\n      const clone = tpl.content.cloneNode(true);\r\n      const img = clone.querySelector('.evento-img');\r\n      img.src = ev.immagine;\r\n      img.alt = ev.titolo;\r\n\r\n      clone.querySelector('.evento-titolo').textContent = ev.titolo;\r\n\r\n      const inizio = new Date(ev.dataInizio).toLocaleDateString('en-EN');\r\n      const fine   = new Date(ev.dataFine).toLocaleDateString('en-EN');\r\n      clone.querySelector('.evento-date').textContent =\r\n        (inizio === fine) ? inizio : `${inizio} \u2013 ${fine}`;\r\n\r\n      clone.querySelector('.evento-desc').textContent = ev.descrizioneBreve;\r\n      clone.querySelector('.evento-loc').textContent  = ev.localita;\r\n\r\n      const slug = slugify(ev.titolo);\r\n      clone.querySelector('.evento-pulsante').href = `\/en\/events-detail\/${ev.id}\/${slug}\/`;\r\n      \r\n      \r\n      clone.querySelector('.evento-link-immagine').href = `\/en\/events-detail\/${ev.id}\/${slug}\/`;\r\n\r\n      container.appendChild(clone);\r\n    });\r\n  }\r\n\r\n  btns.forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      btns.forEach(b => b.classList.remove('active'));\r\n      btn.classList.add('active');\r\n      renderEvents(btn.dataset.filter);\r\n    });\r\n  });\r\n\r\n  container.textContent = 'Loading...';\r\n  fetch(url, {\r\n    method: 'POST',\r\n    headers: { 'Content-Type': 'application\/json' },\r\n    body: JSON.stringify({})\r\n  })\r\n  .then(res => {\r\n    if (!res.ok) throw new Error('HTTP ' + res.status);\r\n    return res.json();\r\n  })\r\n  .then(data => {\r\n    eventsData = data;\r\n    renderEvents('all');\r\n  })\r\n  .catch(err => {\r\n    container.innerHTML = `<p class=\"error\">Errore nel caricamento: ${err.message}<\/p>`;\r\n  });\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Events in Garda Trentino All Music Culture Taste Sports Market Exposure Trade shows and conventions More Loading in progress&#8230; Details<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5086","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/pages\/5086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/comments?post=5086"}],"version-history":[{"count":25,"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/pages\/5086\/revisions"}],"predecessor-version":[{"id":5825,"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/pages\/5086\/revisions\/5825"}],"wp:attachment":[{"href":"https:\/\/www.hotelgarda-lagodigarda.it\/en\/wp-json\/wp\/v2\/media?parent=5086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}