Dialog

<div data-dialog data-dialog--id="newsletter" data-dialog--expiration="604800" data-dialog--delay="20" data-dialog--dismiss="60" class="c-dialog o-bg-light u-p-base u-fixed u-bottom u-left u-border-0 u-z-upside">
    <div class="u-relative">
        <span data-dialog--close class="u-inline-block u-absolute u-top u-right u-cursor-pointer u-inline-block u-pr-xsmall">
            <svg class="o-icon o-icon--md u-color-base u-cursor-pointer">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-x"></use>
            </svg>
        </span>

        <div class="o-bg-light u-flex u-column u-items-center u-justify-center">
            <h2 class="c-dialog__title u-m-none u-mb-small u-color-base u-pt-xxsmall">
                Ricevi la nostra Newsletter
            </h2>

            <p class="c-dialog__body u-m-none u-pt-base u-color-base u-text-center">
                L'unico modo per non perderti nulla sulle novità gastronomiche suggerite
                da Cibotoday. Ogni mattina nella tua e-mail.
            </p>

            <div class="u-pb-xxsmall u-pt-base">
                <a href="https://www.cibotoday.it/newsletter.html" target="blank" class="c-btn u-cursor-pointer u-px-xxxlarge u-py-xsmall u-no-underline">
                    Iscriviti
                </a>
            </div>
        </div>
    </div>
</div>

<script>
    ~ function() {
        if (
            !document.querySelectorAll ||
            !window.NodeList ||
            !NodeList.prototype.forEach
        )
            return;
        var fDialog = function() {
            var fHash = function(sString) {
                sString = "" + sString;
                var iHash = 0;
                var iString = 0;
                for (; iString < sString.length; ++iString) {
                    iHash = (iHash << 5) - iHash + sString.charCodeAt(iString);
                    iHash = iHash | 0;
                }
                return (iHash >>> 0).toString(36);
            };
            document
                .querySelectorAll("[data-dialog]")
                .forEach(function(oNodeDialog) {
                    {
                        if (oNodeDialog.hasAttribute("data-dialog--internal-processed"))
                            return;
                        oNodeDialog.setAttribute("data-dialog--internal-processed", "");
                    }
                    var bDialog = false;
                    var sDialog = fHash(
                        (oNodeDialog.getAttribute("data-dialog--id") || "").trim()
                    );
                    var fDelay = (
                        oNodeDialog.getAttribute("data-dialog--delay") || ""
                    ).trim();
                    fDelay = parseFloat(fDelay.replace(/,/g, ".")) || 0;
                    fDelay = Math.max(0, fDelay);
                    setTimeout(function() {
                        {
                            var aCookie = document.cookie.match(
                                new RegExp("\\b__dialog~" + sDialog + "=([^;]*)", "i")
                            );
                            if (aCookie && aCookie[1]) return;
                        } {
                            var hTimeOut = null;
                            var fDismiss = (
                                oNodeDialog.getAttribute("data-dialog--dismiss") || ""
                            ).trim();
                            fDismiss = parseFloat(fDismiss.replace(/,/g, ".")) || 0;
                            fDismiss = Math.max(0, fDismiss);
                            if (fDismiss)
                                hTimeOut = setTimeout(function() {
                                    hTimeOut = false;
                                    oNodeDialog.removeAttribute("data-dialog--state-opened");
                                    oNodeDialog.classList.remove("dialog--state-opened");
                                    bDialog = false;
                                    if ("open" in oNodeDialog && !oNodeDialog.open) return;
                                    try {
                                        oNodeDialog.close && oNodeDialog.close();
                                    } catch (_) {}
                                }, Math.round(fDismiss * 1e3));
                        }
                        oNodeDialog.addEventListener("close", function() {
                            if (hTimeOut) {
                                clearTimeout(hTimeOut);
                                hTimeOut = null;
                            }
                            if (bDialog) {
                                var fExpiration = (
                                    oNodeDialog.getAttribute("data-dialog--expiration") || ""
                                ).trim();
                                fExpiration = parseFloat(fExpiration.replace(/,/g, ".")) || 0;
                                if (fExpiration > 0) {
                                    var oDate = new Date();
                                    oDate.setTime(
                                        oDate.getTime() + Math.round(fExpiration * 1e3)
                                    );
                                    document.cookie =
                                        "__dialog~" +
                                        sDialog +
                                        "=-1; path=/; expires=" +
                                        oDate.toGMTString();
                                } else if (fExpiration < 0)
                                    document.cookie = "__dialog~" + sDialog + "=-1; path=/";
                            }
                            oNodeDialog.removeAttribute("data-dialog--state-opened");
                            oNodeDialog.classList.remove("dialog--state-opened");
                            bDialog = false;
                        });
                        oNodeDialog
                            .querySelectorAll("[data-dialog--close]")
                            .forEach(function(oNodeClose) {
                                var fEvent = function() {
                                    if (hTimeOut) {
                                        clearTimeout(hTimeOut);
                                        hTimeOut = null;
                                    }
                                    if (bDialog) {
                                        var fExpiration =
                                            (
                                                oNodeClose.getAttribute("data-dialog--close") || ""
                                            ).trim() ||
                                            (
                                                oNodeDialog.getAttribute("data-dialog--expiration") ||
                                                ""
                                            ).trim();
                                        fExpiration =
                                            parseFloat(fExpiration.replace(/,/g, ".")) || 0;
                                        if (fExpiration > 0) {
                                            var oDate = new Date();
                                            oDate.setTime(
                                                oDate.getTime() + Math.round(fExpiration * 1e3)
                                            );
                                            document.cookie =
                                                "__dialog~" +
                                                sDialog +
                                                "=1; path=/; expires=" +
                                                oDate.toGMTString();
                                        } else if (fExpiration < 0)
                                            document.cookie = "__dialog~" + sDialog + "=1; path=/";
                                    }
                                    oNodeDialog.removeAttribute("data-dialog--state-opened");
                                    oNodeDialog.classList.remove("dialog--state-opened");
                                    bDialog = false;
                                    if ("open" in oNodeDialog && !oNodeDialog.open) return;
                                    try {
                                        oNodeDialog.close && oNodeDialog.close();
                                    } catch (_) {}
                                };
                                if (("" + oNodeClose.nodeName).toUpperCase() == "FORM")
                                    oNodeClose.addEventListener("submit", fEvent);
                                else oNodeClose.addEventListener("click", fEvent);
                            });
                        bDialog = true;
                        oNodeDialog.setAttribute("data-dialog--state-opened", "");
                        oNodeDialog.classList.add("dialog--state-opened");
                        try {
                            if (oNodeDialog.hasAttribute("data-dialog--modal"))
                                oNodeDialog.showModal && oNodeDialog.showModal();
                            else oNodeDialog.show && oNodeDialog.show();
                        } catch (_) {}
                    }, Math.round(fDelay * 1e3) || 1);
                });
        };
        {
            var bReady = false;
            var fReady = function() {
                {
                    if (bReady) return;
                    bReady = true;
                }
                fDialog();
            };
            if (
                document.readyState == "complete" ||
                document.readyState == "interactive"
            ) {
                setTimeout(fReady, 1);
                return;
            }
            document.addEventListener("DOMContentLoaded", fReady);
            window.addEventListener("load", fReady);
        }
    }();
</script>
<div
  data-dialog
  data-dialog--id="newsletter"
  data-dialog--expiration="604800"
  data-dialog--delay="20"
  data-dialog--dismiss="60"
  class="c-dialog o-bg-light u-p-base u-fixed u-bottom u-left u-border-0 u-z-upside"
>
  <div class="u-relative">
    <span
      data-dialog--close
      class="u-inline-block u-absolute u-top u-right u-cursor-pointer u-inline-block u-pr-xsmall"
    >
      <svg
        class="o-icon o-icon--md u-color-base u-cursor-pointer"
      >
        <use
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xlink:href="#icon-x"
        ></use>
      </svg>
    </span>

    <div
      class="o-bg-light u-flex u-column u-items-center u-justify-center"
    >
      <h2
        class="c-dialog__title u-m-none u-mb-small u-color-base u-pt-xxsmall"
      >
        Ricevi la nostra Newsletter
      </h2>

      <p
        class="c-dialog__body u-m-none u-pt-base u-color-base u-text-center"
      >
        L'unico modo per non perderti nulla sulle novità gastronomiche suggerite
        da Cibotoday. Ogni mattina nella tua e-mail.
      </p>

      <div class="u-pb-xxsmall u-pt-base">
        <a
          href="https://www.cibotoday.it/newsletter.html"
          target="blank"
          class="c-btn u-cursor-pointer u-px-xxxlarge u-py-xsmall u-no-underline"
        >
          Iscriviti
        </a>
      </div>
    </div>
  </div>
</div>

<script>
  ~function () {
    if (
      !document.querySelectorAll ||
      !window.NodeList ||
      !NodeList.prototype.forEach
    )
      return;
    var fDialog = function () {
      var fHash = function (sString) {
        sString = "" + sString;
        var iHash = 0;
        var iString = 0;
        for (; iString < sString.length; ++iString) {
          iHash = (iHash << 5) - iHash + sString.charCodeAt(iString);
          iHash = iHash | 0;
        }
        return (iHash >>> 0).toString(36);
      };
      document
        .querySelectorAll("[data-dialog]")
        .forEach(function (oNodeDialog) {
          {
            if (oNodeDialog.hasAttribute("data-dialog--internal-processed"))
              return;
            oNodeDialog.setAttribute("data-dialog--internal-processed", "");
          }
          var bDialog = false;
          var sDialog = fHash(
            (oNodeDialog.getAttribute("data-dialog--id") || "").trim()
          );
          var fDelay = (
            oNodeDialog.getAttribute("data-dialog--delay") || ""
          ).trim();
          fDelay = parseFloat(fDelay.replace(/,/g, ".")) || 0;
          fDelay = Math.max(0, fDelay);
          setTimeout(function () {
            {
              var aCookie = document.cookie.match(
                new RegExp("\\b__dialog~" + sDialog + "=([^;]*)", "i")
              );
              if (aCookie && aCookie[1]) return;
            }
            {
              var hTimeOut = null;
              var fDismiss = (
                oNodeDialog.getAttribute("data-dialog--dismiss") || ""
              ).trim();
              fDismiss = parseFloat(fDismiss.replace(/,/g, ".")) || 0;
              fDismiss = Math.max(0, fDismiss);
              if (fDismiss)
                hTimeOut = setTimeout(function () {
                  hTimeOut = false;
                  oNodeDialog.removeAttribute("data-dialog--state-opened");
                  oNodeDialog.classList.remove("dialog--state-opened");
                  bDialog = false;
                  if ("open" in oNodeDialog && !oNodeDialog.open) return;
                  try {
                    oNodeDialog.close && oNodeDialog.close();
                  } catch (_) {}
                }, Math.round(fDismiss * 1e3));
            }
            oNodeDialog.addEventListener("close", function () {
              if (hTimeOut) {
                clearTimeout(hTimeOut);
                hTimeOut = null;
              }
              if (bDialog) {
                var fExpiration = (
                  oNodeDialog.getAttribute("data-dialog--expiration") || ""
                ).trim();
                fExpiration = parseFloat(fExpiration.replace(/,/g, ".")) || 0;
                if (fExpiration > 0) {
                  var oDate = new Date();
                  oDate.setTime(
                    oDate.getTime() + Math.round(fExpiration * 1e3)
                  );
                  document.cookie =
                    "__dialog~" +
                    sDialog +
                    "=-1; path=/; expires=" +
                    oDate.toGMTString();
                } else if (fExpiration < 0)
                  document.cookie = "__dialog~" + sDialog + "=-1; path=/";
              }
              oNodeDialog.removeAttribute("data-dialog--state-opened");
              oNodeDialog.classList.remove("dialog--state-opened");
              bDialog = false;
            });
            oNodeDialog
              .querySelectorAll("[data-dialog--close]")
              .forEach(function (oNodeClose) {
                var fEvent = function () {
                  if (hTimeOut) {
                    clearTimeout(hTimeOut);
                    hTimeOut = null;
                  }
                  if (bDialog) {
                    var fExpiration =
                      (
                        oNodeClose.getAttribute("data-dialog--close") || ""
                      ).trim() ||
                      (
                        oNodeDialog.getAttribute("data-dialog--expiration") ||
                        ""
                      ).trim();
                    fExpiration =
                      parseFloat(fExpiration.replace(/,/g, ".")) || 0;
                    if (fExpiration > 0) {
                      var oDate = new Date();
                      oDate.setTime(
                        oDate.getTime() + Math.round(fExpiration * 1e3)
                      );
                      document.cookie =
                        "__dialog~" +
                        sDialog +
                        "=1; path=/; expires=" +
                        oDate.toGMTString();
                    } else if (fExpiration < 0)
                      document.cookie = "__dialog~" + sDialog + "=1; path=/";
                  }
                  oNodeDialog.removeAttribute("data-dialog--state-opened");
                  oNodeDialog.classList.remove("dialog--state-opened");
                  bDialog = false;
                  if ("open" in oNodeDialog && !oNodeDialog.open) return;
                  try {
                    oNodeDialog.close && oNodeDialog.close();
                  } catch (_) {}
                };
                if (("" + oNodeClose.nodeName).toUpperCase() == "FORM")
                  oNodeClose.addEventListener("submit", fEvent);
                else oNodeClose.addEventListener("click", fEvent);
              });
            bDialog = true;
            oNodeDialog.setAttribute("data-dialog--state-opened", "");
            oNodeDialog.classList.add("dialog--state-opened");
            try {
              if (oNodeDialog.hasAttribute("data-dialog--modal"))
                oNodeDialog.showModal && oNodeDialog.showModal();
              else oNodeDialog.show && oNodeDialog.show();
            } catch (_) {}
          }, Math.round(fDelay * 1e3) || 1);
        });
    };
    {
      var bReady = false;
      var fReady = function () {
        {
          if (bReady) return;
          bReady = true;
        }
        fDialog();
      };
      if (
        document.readyState == "complete" ||
        document.readyState == "interactive"
      ) {
        setTimeout(fReady, 1);
        return;
      }
      document.addEventListener("DOMContentLoaded", fReady);
      window.addEventListener("load", fReady);
    }
  }();
</script>
{
  "title": "Ricevi la nostra Newsletter",
  "paragraph": "L'unico modo per non perderti nulla sulle novità gastronomiche suggerite da Cibotoday. Ogni mattina nella tua e-mail."
}

No notes defined.