PageSourceSearch

https://www.yesmilano.it/themes/custom/yesmilano2/assets/js/servizi.js?tlg1gx

js yesmilano.it collected 2026-09-24 08:55:55 UTC 29,525 bytes, 726 lines download raw bytes

1// Controlla che browser è in uso
2var isSafari = !!navigator.userAgent.match(/safari/i) && !navigator.userAgent.match(/chrome/i) && typeof document.body.style.webkitFilter !== "undefined" && !window.chrome,
3  isFirefoxDesktop = navigator.userAgent.match(/firefox/i) && window.screen.width >= 1024 && window.screen.height >= 768,
4  isChromeAndroid = navigator.userAgent.match(/android/i) && navigator.userAgent.match(/chrome/i) && !navigator.userAgent.match(/mac os/i),
5  isMsie = window.navigator.userAgent.indexOf("MSIE ");
6// isFirefoxDesktop = navigator.userAgent.match(/firefox/i) && (window.innerWidth >= 1024) && (window.innerHeight >= 768);
7var bodyEl = document.getElementsByTagName("body")[0];
8if (isSafari) {
9  bodyEl.classList.add("isSafari");
10} else if (isFirefoxDesktop) {
11  bodyEl.classList.add("isFirefoxDesktop");
12} else if (isChromeAndroid) {
13  bodyEl.classList.add("isChromeAndroid");
14} else if (isMsie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
15  bodyEl.classList.add("isIE");
16}
17// **********************************
18// NEWSLETTER FOOTER
19// **********************************
20if (document.getElementById("newsletter_link") && jQuery("html").width() >= 992) {
21  var btnPosBtm = document.querySelector(".footer .newsletter .form .newsletter_header")?.offsetHeight + document.querySelector(".footer .newsletter .form .newsletter_email")?.offsetHeight + "px",
22    elemToPos = document.querySelectorAll(".footer .newsletter .form > div.col-md-2");
23  for (var i = 0; i < elemToPos.length; i++) {
24    elemToPos[i].style.transform = "translateY(-31px)";
25    elemToPos[i].style.verticalAlign = "top";
26    elemToPos[i].style.top = btnPosBtm;
27  }
28}
29if (document.getElementById("newsletter_link") && document.querySelector("#newsletter_link .newsletter_category")) {
30  var nlChkboxCtgr = document.querySelectorAll("#newsletter_link .newsletter_category input[type='checkbox']:not([id='nlChkboxCtgrSlAl'])"),
31    nlChkboxCtgrSlAl = document.getElementById("nlChkboxCtgrSlAl"),
32    nlForm = document.querySelector("#newsletter_link form"),
33    cL = nlChkboxCtgr.length,
34    pageLang = document.getElementsByTagName("html")[0].getAttribute("lang"),
35    nlChkboxCtgrTooltipMsg,
36    ij;
37  if (pageLang == "it") {
38    nlChkboxCtgrTooltipMsg = "Per favore seleziona almeno una delle Categorie!";
39  } else if (pageLang == "en") {
40    nlChkboxCtgrTooltipMsg = "Please select at least one of the Categories!";
41  }
42  nlChkboxCtgrSlAl.addEventListener("change", function () {
43    if (this.hasAttribute("checked")) {
44      this.removeAttribute("checked");
45      this.checked = false;
46      for (ij = 0; ij < cL; ij++) {
47        nlChkboxCtgr[ij].removeAttribute("checked");
48        nlChkboxCtgr[ij].checked = false;
49      }
50    } else {
51      this.setAttribute("checked", "checked");
52      this.checked = true;
53      for (ij = 0; ij < cL; ij++) {
54        nlChkboxCtgr[ij].setAttribute("checked", "checked");
55        nlChkboxCtgr[ij].checked = true;
56      }
57    }
58  });
59  nlChkboxCtgrSlAl.oninvalid = function () {
60    this.setCustomValidity(this.checked ? "" : nlChkboxCtgrTooltipMsg);
61  };
62  for (ij = 0; ij < cL; ij++) {
63    nlChkboxCtgr[ij].addEventListener("change", function () {
64      if (this.hasAttribute("checked")) {
65        this.removeAttribute("checked");
66        this.checked = false;
67        nlChkboxCtgrSlAl.removeAttribute("checked");
68        nlChkboxCtgrSlAl.checked = false;
69      } else {
70        this.setAttribute("checked", "checked");
71        this.checked = true;
72        checkNlChkboxCtgrSlAl(checkNlChkboxCtgr());
73      }
74      nlChkboxCtgrRmvAttrReq();
75    });
76  }
77  nlForm.addEventListener("submit", checkNlSubmit);
78
79  function checkNlChkboxCtgr() {
80    for (ij = 0; ij < cL; ij++) {
81      if (!nlChkboxCtgr[ij].hasAttribute("checked")) {
82        return false;
83      }
84    }
85    return true;
86  }
87
88  function checkNlChkboxCtgrSlAl(x) {
89    if (x === false) {
90      nlChkboxCtgrSlAl.removeAttribute("checked");
91      nlChkboxCtgrSlAl.checked = false;
92    } else {
93      nlChkboxCtgrSlAl.setAttribute("checked", "checked");
94      nlChkboxCtgrSlAl.checked = true;
95    }
96  }
97
98  function checkNlSubmit(e) {
99    for (ij = 0; ij < cL; ij++) {
100      if (nlChkboxCtgr[ij].hasAttribute("checked")) {
101        return true;
102      }
103    }
104    e.preventDefault();
105    nlChkboxCtgrSetAttrReq();
106    return false;
107  }
108
109  function nlChkboxCtgrSetAttrReq() {
110    nlChkboxCtgrSlAl.setAttribute("required", "required");
111    for (ij = 0; ij < cL; ij++) {
112      nlChkboxCtgr[ij].setAttribute("required", "required");
113    }
114  }
115
116  function nlChkboxCtgrRmvAttrReq() {
117    if (nlChkboxCtgrSlAl.hasAttribute("required")) {
118      nlChkboxCtgrSlAl.removeAttribute("required");
119    }
120    for (ij = 0; ij < cL; ij++) {
121      if (nlChkboxCtgr[ij].hasAttribute("required")) {
122        nlChkboxCtgr[ij].removeAttribute("required");
123      }
124    }
125  }
126}
127jQuery(document).ready(function () {
128  // Fornisce informazioni utili
129  info = new Object({
130    version: {
131      jquery: jQuery().jquery,
132      bootstrap: jQuery.fn.tooltip.Constructor.VERSION,
133    },
134  });
135  jQuery(".captcha a").attr("tabindex", "-1");
136  // Gestione tendina menu profilo
137  if (jQuery(".img-user-profile").length) {
138    manageUserButton();
139    jQuery(window).resize(function () {
140      manageUserButton();
141    });
142  }
143  /*if (jQuery(".user-student-form select").length) {
144    jQuery(".user-student-form select").chosen("destroy");
145    jQuery(".user-student-form select").attr("tabindex", 0);
146    jQuery('.user-student-form input[type="radio"]').each(function (i) {
147      if (jQuery(this).attr("id").match(/[0]/g)) {
148        // jQuery(this).attr('checked', 'checked');
149      }
150    });
151  }*/
152
153  function manageUserButton() {
154    if (jQuery("html").width() < 992) {
155      jQuery(".user-profile-buttons-menu").eq(0).removeClass("open");
156      jQuery(".img-user-profile")
157        .eq(0)
158        .on("click", function () {
159          jQuery(".user-profile-buttons-menu").eq(0).toggleClass("open");
160        });
161    } else {
162      jQuery(".user-profile-buttons-menu").eq(0).removeClass("open");
163      jQuery(".img-user-profile")
164        .eq(0)
165        .on("mouseover", function () {
166          jQuery(".user-profile-buttons-menu").eq(0).addClass("open");
167        });
168      jQuery(".user-profile-buttons-menu")
169        .eq(0)
170        .on("mouseover", function () {
171          jQuery(".user-profile-buttons-menu").eq(0).addClass("open");
172        });
173      jQuery(".side_menu")
174        .eq(0)
175        .on("mouseout", function () {
176          jQuery(".user-profile-buttons-menu").eq(0).removeClass("open");
177        });
178      jQuery(".user-profile-buttons-menu")
179        .eq(0)
180        .on("mouseout", function () {
181          jQuery(".user-profile-buttons-menu").eq(0).removeClass("open");
182        });
183    }
184  }
185  // Personalizzazione scrollbar
186  if (document.getElementsByClassName("select-wrapper").length) {
187    // Disattivo scroll jQ UI
188    jQuery(".chosen-results").off("mousewheel");
189    for (i = 0; i < document.getElementsByClassName("chosen-drop").length; i++) {
190      document.getElementsByClassName("chosen-drop")[i].setAttribute("data-simplebar", "");
191    }
192    var scriptSimpleBar = document.createElement("script");
193    scriptSimpleBar.type = "text/javascript";
194    scriptSimpleBar.src = "https://unpkg.com/simplebar@latest/dist/simplebar.min.js";
195    var styleSimpleBar = document.createElement("style");
196    styleSimpleBar.innerHTML = "@import url(https://unpkg.com/simplebar@latest/dist/simplebar.css)";
197    document.body.appendChild(scriptSimpleBar);
198    document.body.appendChild(styleSimpleBar);
199  }
200  // Gestion tendina utente
201  if (document.getElementsByClassName("menu_burger").length) {
202    document.getElementsByClassName("menu_burger")[0].addEventListener("click", function () {
203      document.getElementsByClassName("user-menu")[0].classList.add("open");
204      document.getElementsByClassName("superheader ")[0].classList.add("open");
205    });
206    document.getElementsByClassName("burger_close")[0].addEventListener("click", function () {
207      document.getElementsByClassName("user-menu")[0].classList.remove("open");
208      document.getElementsByClassName("superheader ")[0].classList.remove("open");
209    });
210  }
211  // // ************** CALENDARIO *********************
212  // // *************************************************
213  // Aspetto il completamento del calendario al cambio mese - Indietro
214  jQuery(".fc-prev-button")
215    .eq(0)
216    .on("click", function () {
217      waitCalendar();
218    });
219  // Aspetto il completamento del calendario al cambio mese - Avanti
220  jQuery(".fc-next-button")
221    .eq(0)
222    .on("click", function () {
223      waitCalendar();
224    });
225  // Aspetto il completamento del calendario al cambio mese - Oggi
226  jQuery(".fc-today-button")
227    .eq(0)
228    .on("click", function () {
229      waitCalendar();
230    });
231  waitCalendar();
232  // INIZIO FUNZIONI
233  // ********************************************************
234  // Conferma appuntamento
235  if (jQuery("#bookingModal").length) {
236    jQuery("#edit-submit").on("click", function () {
237      var modHeight = jQuery("#bookingModal .modal-body form").height();
238      jQuery("#bookingModal .modal-body form").height(modHeight);
239      jQuery("#bookingModal .modal-body section form").append("" + "<div class='confirm-book'>" + "<p>Confirm booking?</p>" + "<div class='loaders'></div>" + "<div class='btn-group'>" + "<button class='btn btn-decline' type='button' onclick='closeModal();'>Cancel</button>" + "<button class='btn btn-confirm' onclick='continueConfirm();'>Confirm</button>" + "</div>" + "<script>" + "function continueConfirm() {" + "jQuery('#bookingModal .modal-body .confirm-book *').hide();" + "jQuery('#bookingModal .modal-body .confirm-book .loaders').show();" + "}" + "function closeModal() {" + "jQuery('#bookingModal .modal-body .confirm-book').remove();" + "return false;" + "}" + "</script>" + "</div>");
240      return false;
241    });
242    jQuery("#bookingModal .close").on("click", function () {
243      jQuery("#bookingModal .modal-body .confirm-book").remove();
244    });
245  }
246
247  function unityDays() {
248    jQuery(".fc-day-top.fc-future").each(function (index) {
249      var dayIndex = jQuery(".fc-day-top.fc-future").eq(index).index();
250      jQuery(".fc-day-top.fc-future").eq(index).parents().eq(2).find("tbody td").eq(dayIndex).addClass("event-future");
251    });
252    jQuery(".fc-day-top.fc-today").each(function (index) {
253      var dayIndex = jQuery(".fc-day-top.fc-today").eq(index).index();
254      jQuery(".fc-day-top.fc-today").eq(index).parents().eq(2).find("tbody td").eq(dayIndex).addClass("event-today");
255    });
256    jQuery(".fc-event-container").each(function (index) {
257      var dayIndex = jQuery(".fc-event-container").eq(index).index();
258      jQuery(".fc-event-container").eq(index).parents().eq(2).find(".fc-day-top").eq(dayIndex).addClass("has-events");
259    });
260  }
261  // Aggiungo attributi accessibilità
262  function eventsAccessibility() {
263    jQuery(".fc-event").each(function (index) {
264      jQuery(".fc-event").eq(index).css("pointer-events", "all");
265      jQuery(".fc-event").eq(index).attr("title", jQuery(".fc-event").eq(index).find(".fc-title").text());
266    });
267  }
268  // Attendo il calendario
269  function waitCalendar() {
270    var calReady = setInterval(function () {
271      if (jQuery(".fc-event").length) {
272        if (!jQuery(".gestisci").length) {
273          //dayPast();
274          //booked();
275          eventsAccessibility();
276          unityDays();
277          if (jQuery(".esportazione-appuntamenti").length) {
278            jQuery("tbody.fc-body td").addClass("amministratore");
279          }
280        } else {
281          jQuery("tbody.fc-body td").addClass("amministratore");
282          //dayPast();
283          //booked();
284          eventsAccessibility();
285          unityDays();
286        }
287        clearInterval(calReady);
288      } else {
289        calReady;
290        if (jQuery(".esportazione-appuntamenti").length) {
291          jQuery("tbody.fc-body td").addClass("amministratore");
292        }
293      }
294    }, 500);
295  }
296  // // ********************************************************
297  // // FINE FUNZIONI
298  // Gestione Radio input
299  if (jQuery(".form-radio").length) {
300    jQuery(".form-radio").each(function (i) {
301      jQuery(".form-radio").eq(i).after("<span></span>");
302    });
303  }
304  // Gestione Checkbox input
305  if (jQuery(".form-checkbox").length) {
306    jQuery(".form-checkbox").each(function (i) {
307      jQuery(".form-checkbox").eq(i).after("<span></span>");
308    });
309  }
310  // Disattivo tooltip nelle form selezionate
311  jQuery("#user-student-form")
312    .find("input")
313    .each(function (i) {
314      if (jQuery(this).is("[data-original-title]")) {
315        jQuery(this).removeAttr("data-original-title");
316      }
317    });
318  jQuery("#user-login-form")
319    .find("input")
320    .each(function (i) {
321      if (jQuery(this).is("[data-original-title]")) {
322        jQuery(this).removeAttr("data-original-title");
323      }
324    });
325  jQuery("#user-form")
326    .find("input")
327    .each(function (i) {
328      if (jQuery(this).is("[data-original-title]")) {
329        jQuery(this).removeAttr("data-original-title");
330      }
331    });
332  if (jQuery(".slider_servizi").length) {
333    jQuery(".slider_servizi").slick({
334      infinite: true,
335      slidesToShow: 1,
336      slidesToScroll: 1,
337      dots: true,
338      arrows: true,
339      responsive: [
340        {
341          breakpoint: 768,
342          settings: {
343            slidesToShow: 1,
344            slidesToScroll: 1,
345            infinite: true,
346          },
347        },
348      ],
349    });
350  }
351  if (jQuery(".info-utili").length) {
352    var productdivs = jQuery(".info-utili .field--items .field--item");
353    if (jQuery(window).width() >= 991) {
354      for (var i = 0; i < productdivs.length; i += 7) {
355        productdivs.slice(i, i + 7).wrapAll("<div></div>");
356      }
357      jQuery(".info-utili .field--items").slick({
358        infinite: false,
359        slidesToShow: 1,
360        slidesToScroll: 1,
361        centerMode: false,
362        dots: true,
363        arrows: false,
364      });
365    } else {
366      jQuery(".info-utili .field--items").before("<div class='first-slide'></div>");
367      productdivs.eq(0).appendTo(jQuery(".info-utili .first-slide"));
368      jQuery(".info-utili .field--items").slick({
369        slidesToShow: 2,
370        slidesToScroll: 1,
371        arrows: false,
372        fade: false,
373        dots: false,
374        centerMode: true,
375      });
376    }
377  }
378  // Gestione supermenu
379  if (jQuery(".header_menu .main_menu").length) {
380    if (jQuery(window).outerWidth() > 1365) {
381      jQuery(".header_menu .main_menu ul li").mouseover(function () {
382        var dataId = jQuery(this).data("submenu");
383        jQuery(".header_menu .main_menu ul li.active").removeClass("active");
384        jQuery(this).addClass("active");
385        jQuery(".sub_menu > div").removeClass("active");
386        if (jQuery(".sub_menu > div#" + dataId + " > *").length) {
387          jQuery(".sub_menu > div#" + dataId).addClass("active");
388        }
389      });
390      jQuery(".header_menu .main_menu ul li").mouseout(function () {
391        var dataId = jQuery(this).data("submenu");
392        var activeSubmenu = jQuery(".sub_menu > div#" + dataId);
393        if (activeSubmenu.hasClass("active") === false) {
394          jQuery(".sub_menu").removeClass("active");
395          jQuery(this).removeClass("active");
396        }
397      });
398      jQuery(".sub_menu").mouseover(function () {
399        //var ddd = jQuery(this).attr("id");
400        var activeSubmenu = jQuery(this).find("div.active");
401        var idSubmenu = activeSubmenu.attr("id");
402        jQuery(".header_menu .main_menu ul li[data-submenu='" + idSubmenu + "']").addClass("active");
403        jQuery(this).addClass("active");
404      });
405      jQuery(".sub_menu").mouseleave(function () {
406        var activeSubmenu = jQuery(this).find("div.active");
407        var idSubmenu = activeSubmenu.attr("id");
408        jQuery(".header_menu .main_menu ul li[data-submenu='" + idSubmenu + "']").removeClass("active");
409        jQuery(".sub_menu > div").removeClass("active");
410      });
411    } else {
412      if (jQuery(".mobile_on").length) {
413        jQuery(".mobile_on").each(function (i) {
414          var dataSubMenu = jQuery(".mobile_on").eq(i).data("submenu"),
415            firstLevelHref = jQuery(".mobile_on").eq(i).find("a").attr("href"),
416            subMenuDesk = jQuery(".sub_menu #" + dataSubMenu),
417            firstLevelElement = jQuery(".mobile_on").eq(i).find("a").clone(),
418            activeSubMenu;
419          if (jQuery("#" + dataSubMenu).find(".col-sm-2").length) {
420            jQuery(".mobile_on").eq(i).find("a").attr("href", "javascript:void(0)");
421            jQuery(".mobile_on")
422              .eq(i)
423              .find("a")
424              .click(function (e) {
425                activeSubMenu = jQuery(this).parents(0).attr("class").split(" ")[1];
426                jQuery(".secondary_menu").addClass("active");
427                jQuery(".secondary_menu").addClass(jQuery(this).parents(0).attr("class").split(" ")[1]);
428                jQuery("#mobile-" + dataSubMenu).addClass("active");
429                if (jQuery("#mobile-" + dataSubMenu + ".active").length > 0) {
430                  jQuery(".mobilemenu").css("height", jQuery("#mobile-" + dataSubMenu + ".active").outerHeight() + 180 + "px");
431                }
432              });
433          }
434          jQuery("<li id=mobile-" + dataSubMenu + ">")
435            .appendTo(".secondary_menu > ul")
436            .append(subMenuDesk);
437          jQuery("#mobile-" + dataSubMenu)
438            .find("div")
439            .removeAttr("id");
440          jQuery("#mobile-" + dataSubMenu)
441            .find(" > div")
442            .prepend("<h2>");
443          jQuery("#mobile-" + dataSubMenu)
444            .find(" > div > h2")
445            .html(firstLevelElement);
446          jQuery("#mobile-" + dataSubMenu)
447            .find(" > div")
448            .prepend("<span>");
449          jQuery("#mobile-" + dataSubMenu)
450            .find(" > div > span")
451            .html("Back");
452          jQuery("#mobile-" + dataSubMenu)
453            .find(" > div > span")
454            .click(function () {
455              jQuery(".secondary_menu").removeClass(activeSubMenu);
456              jQuery(this).parents().eq(1).removeClass("active");
457              jQuery(this).parents().eq(3).removeClass("active");
458              jQuery(".mobilemenu").css("height", "auto");
459            });
460          jQuery("#mobile-" + dataSubMenu)
461            .find("div .col-sm-2")
462            .each(function (p) {
463              var titleSubMenu = jQuery("#mobile-" + dataSubMenu)
464                .find("div .col-sm-2")
465                .eq(p)
466                .find("h2")
467                .clone();
468              jQuery("#mobile-" + dataSubMenu)
469                .find("div .col-sm-2")
470                .eq(p)
471                .find("ul")
472                .addClass("sub2menu");
473              if (
474                jQuery("#mobile-" + dataSubMenu)
475                  .find("div .col-sm-2")
476                  .eq(p)
477                  .find(".sub2menu").length
478              ) {
479                jQuery("#mobile-" + dataSubMenu)
480                  .find("div .col-sm-2")
481                  .eq(p)
482                  .find(" > h2 a")
483                  .attr("href", "javascript:void(0)");
484                jQuery("#mobile-" + dataSubMenu)
485                  .find("div .col-sm-2")
486                  .eq(p)
487                  .find("h2 > a")
488                  .click(function (e) {
489                    jQuery("#mobile-" + dataSubMenu)
490                      .find("div .col-sm-2")
491                      .eq(p)
492                      .find("ul")
493                      .addClass("active");
494                    if (jQuery(".sub2menu.active").length > 0) {
495                      var listElms = jQuery(".sub2menu.active > div > span, .sub2menu.active > li"),
496                        sumHeight = 0;
497                      /*
498                                    var maxHeight = Math.max.apply(null, aEls.map(function () {
499                                    return $(this).outerHeight();
500                                    }).get());
501                                    */
502                      listElms.each(function () {
503                        sumHeight += jQuery(this).outerHeight(true);
504                      });
505                      sumHeight += 60;
506                      if (jQuery(".mobilemenu").height() < sumHeight) {
507                        jQuery(".mobilemenu").css("height", sumHeight + "px");
508                      }
509                    }
510                  });
511              }
512              jQuery("#mobile-" + dataSubMenu)
513                .find("div .col-sm-2")
514                .eq(p)
515                .find("ul")
516                .prepend("<li>");
517              jQuery("#mobile-" + dataSubMenu)
518                .find("div .col-sm-2")
519                .eq(p)
520                .find("ul li:first-child")
521                .html(titleSubMenu);
522              jQuery("#mobile-" + dataSubMenu)
523                .find("div .col-sm-2")
524                .eq(p)
525                .find("ul")
526                .prepend("<div>");
527              jQuery("#mobile-" + dataSubMenu)
528                .find("div .col-sm-2")
529                .eq(p)
530                .find("ul >
530 div:first-child")
531                .html("<span>Back</span>");
532              jQuery("#mobile-" + dataSubMenu)
533                .find("div .col-sm-2")
534                .eq(p)
535                .find("ul > div:first-child span")
536                .click(function () {
537                  jQuery(this).parents().eq(1).removeClass("active");
538                  jQuery(".mobilemenu").css("height", "auto");
539                });
540            });
541        });
542      }
543      jQuery(".burger_close").click(function (e) {
544        jQuery(".secondary_menu span").click();
545      });
546    }
547  }
548  if (jQuery("html").width() < 991 && jQuery("section.container.grid.slider:not(.no-slider-tiles) .modulo-tile-homepage .field--items").length) {
549    jQuery("section.container.grid.slider:not(.no-slider-tiles):not(.slick-not) .modulo-tile-homepage .field--items").slick({
550      centerPadding: "0",
551      centerMode: true,
552      arrows: false,
553      dots: false,
554    });
555  }
556  // GESTISCO LE VOCI DI MENU SENZA LINK RIMUOVENDO IL LINK ### INSERITO
557  // jQuery("a[href='###']").addClass("no-hover");
558  jQuery("a[href='###']").attr("tabindex", "-1");
559  jQuery(".search > a").append("<span class='sr-only'>Effettua una ricerca</span>");
560  jQuery(".search > a").on("click", function () {
561    if (jQuery(".search > a").hasClass("is-focus")) {
562      jQuery(".search > a").removeClass("is-focus");
563      jQuery(".searchbar > form > input[type='text']").blur();
564    } else {
565      jQuery(".search > a").addClass("is-focus");
566      jQuery(".searchbar > form > input[type='text']").focus();
567    }
568  });
569  // NASCONDO LA VOCE "Fondazione Milano Scuole Civiche" DALLA LISTA DELLE UNIVERSITA' DISPONIBILI NELLA FORM DI REGISTRAZIONE STUDENTE
570  jQuery("#edit-field-university option[value=Z5]").hide();
571  // ******************************
572  // GESTIONE ALTEZZA SLIDE SERVIZI
573  // ******************************
574  if (jQuery(".slider_servizi").length) {
575    fixSlickSliderHeight(".slider_servizi article.slick-slide .card-servizio");
576  }
577  /*
578    jQuery(".slider_servizi").on("init", function (event, slick) { 
579    fixSlickSliderHeight(".slider_servizi article.slick-slide .card-servizio");
580    });
581    */
582  function fixSlickSliderHeight(idSl) {
583    var slides = document.querySelectorAll(idSl),
584      minHeight = 0,
585      sldHeight;
586    for (var i = 0; i < slides.length; i++) {
587      sldHeight = slides[i].offsetHeight;
588      if (minHeight < sldHeight) {
589        minHeight = sldHeight;
590      }
591    }
592    minHeight += 100;
593    for (var j = 0; j < slides.length; j++) {
594      slides[j].style.height = minHeight + "px";
595    }
596  }
597  // *********************************
598  // GESTIONE SLIDER COLORE SFONDO FIX
599  // *********************************
600  if (isFirefoxDesktop) {
601    if (jQuery(".slider.multislider .single_slide .caption_main_visual h3 > span").length) {
602      jQuery(".slider.multislider .single_slide .caption_main_visual h3 > span").wrapInner("<span><span></span></span>");
603    }
604    if (jQuery(".single_slide.luogo .title_slide h4 > span").length) {
605      jQuery(".single_slide.luogo .title_slide h4 > span").wrapInner("<span><span></span></span>");
606    }
607    if (jQuery(".single_slide.luogo .title_slide div > h5").length) {
608      jQuery(".single_slide.luogo .title_slide div > h5").wrapInner("<span><span></span></span>");
609    }
610  }
611  // **********************************
612  // GESTIONE STORIE ESPANDI & COMPRIMI
613  // **********************************
614  if (jQuery(".swipe_storia").length) {
615    var arrElem = new Object(),
616      firstTimeLoad;
617    jQuery(".swipe_storia").each(function (i) {
618      arrElem[jQuery(".swipe_storia").eq(i).attr("class").split(" ")[0] + "_" + [i]] = {
619        tipo: jQuery(".swipe_storia").eq(i).parents().eq(5).attr("class").split(" ")[jQuery(".swipe_storia").eq(i).parents().eq(5).attr("class").split(" ").length - 1],
620        element: jQuery(".swipe_storia").eq(i),
621        corpo: {
622          element: jQuery(".swipe_storia").eq(i).find(".sezione-storia-corpo"),
623          class: jQuery(".swipe_storia").eq(i).find(".sezione-storia-corpo").attr("class"),
624          height: jQuery(".swipe_storia").eq(i).find(".sezione-storia-corpo").outerHeight(),
625          width: jQuery(".swipe_storia").eq(i).find(".sezione-storia-corpo").outerWidth(),
626        },
627        allegato: {
628          element: jQuery(".swipe_storia").eq(i).find(".sezione-storia-allegato"),
629          class: jQuery(".swipe_storia").eq(i).find(".sezione-storia-allegato").attr("class"),
630          height: jQuery(".swipe_storia").eq(i).find(".sezione-storia-allegato").outerHeight(),
631          width: jQuery(".swipe_storia").eq(i).find(".sezione-storia-allegato").outerWidth(),
632          button: jQuery(".swipe_storia").eq(i).find(".sezione-storia-allegato .sezione-storia-allegato-link"),
633        },
634        preview: {
635          element: jQuery(".swipe_storia").eq(i).find(".story_preview"),
636          class: jQuery(".swipe_storia").eq(i).find(".story_preview").attr("class"),
637          height: jQuery(".swipe_storia").eq(i).find(".story_preview").outerHeight(),
638          width: jQuery(".swipe_storia").eq(i).find(".story_preview").outerWidth(),
639        },
640      };
641      console.log(arrElem[Object.keys(arrElem)[i]]["allegato"]["button"]);
642      // BIND BUTTON
643      arrElem[Object.keys(arrElem)[i]]["allegato"]["button"].on("click", function (e) {
644        console.log("CLICKED! #" + i);
645        console.log(jQuery(this).find("span").text());
646        var clickState;
647        // Switch Label
648        if (jQuery(this).find("span").text() === "Espandi") {
649          clickState = 1;
650          jQuery(this).find("span").text("Comprimi");
651        } else if (jQuery(this).find("span").text() === "Comprimi") {
652          clickState = 0;
653          jQuery(this).find("span").text("Espandi");
654        } else if (jQuery(this).find("span").text() === "Expand") {
655          clickState = 1;
656          jQuery(this).find("span").text("Collapse");
657        } else if (jQuery(this).find("span").text() === "Collapse") {
658          clickState = 0;
659          jQuery(this).find("span").text("Expand");
660        } else {
661          return true;
662        }
663        slideStory(arrElem[Object.keys(arrElem)[i]], clickState);
664        // Funzione che gestisce lo slide
665      });
666      if (jQuery(window).width() >= 991) {
667        if (firstTimeLoad == null) {
668          firstTimeLoad = 0;
669        }
670        if (firstTimeLoad < jQuery(".swipe_storia").length) {
671          firstTimeLoadCheck(arrElem[Object.keys(arrElem)[i]]);
672          firstTimeLoad++;
673        }
674      }
675    });
676
677    function firstTimeLoadCheck(x) {
678      var height_1 = x["allegato"]["height"];
679      if (x["preview"]["height"] > x["allegato"]["height"]) {
680        height_1 = x["preview"]["height"];
681      }
682      x["element"].css("height", height_1 + "px");
683    }
684
685    function heightOnExpandCheck(x) {
686      var height_2 = x["allegato"]["height"];
687      if (x["corpo"]["height"] > x["allegato"]["height"]) {
688        height_2 = x["corpo"]["height"];
689      }
690      x["element"].css("height", height_2 + "px");
691    }
692
693    function heightOnCollapseCheck(x) {
694      var height_3 = x["allegato"]["height"];
695      if (x["preview"]["height"] > x["allegato"]["height"]) {
696        height_3 = x["preview"]["height"];
697      }
698      x["element"].css("height", height_3 + "px");
699    }
700
701    function slideStory(x, y) {
702      if (jQuery(window).width() < 991) {
703        if (y === 1) {
704          x["preview"]["element"].css("transform", "translateY(-" + x["preview"]["height"] + "px)");
705          x["allegato"]["element"].css("transform", "translateY(-" + x["preview"]["height"] + "px)");
706          x["corpo"]["element"].css("transform", "translateY(-" + x["preview"]["height"] + "px)");
707          x["element"].addClass("expanded").css("height", x["allegato"]["height"] + x["corpo"]["height"] + "px");
708        } else {
709          x["preview"]["element"].css("transform", "translateY(0)");
710          x["allegato"]["element"].css("transform", "translateY(0)");
711          x["corpo"]["element"].css("transform", "translateY(0)");
712          x["element"].removeClass("expanded").css("height", x["allegato"]["height"] + x["preview"]["height"] + "px");
713        }
714      } else {
715        if (y === 1) {
716          x["element"].addClass("expanded");
717          heightOnExpandCheck(x);
718        } else {
719          x["element"].removeClass("expanded");
720          heightOnCollapseCheck(x);
721        }
722      }
723    }
724    console.log(arrElem);
725  }
726});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.