PageSourceSearch

https://antel.com.uy/o/generic-theme/js/main.js?browserId=chrome&m…=js&languageId=es_ES&t=1790012002000

js antel.com.uy collected 2026-09-24 09:14:04 UTC 10,496 bytes, 302 lines download raw bytes

1/*1790011732000*/
2// DEVICE VARIABLES
3var mobile = window.innerWidth < 768;
4var tablet = window.innerWidth >= 768 && window.innerWidth < 992;
5var desktop = window.innerWidth >= 992;
6
7//MENU
8AUI().ready(function () {});
9
10var menuPrimerNivel = document.getElementById("menu-antel");
11var navegacion = document.getElementsByClassName("navbar-collapse")[1];
12var tieneEvento = document.getElementsByClassName("evento").length > 0
13var prevScrollpos = window.pageYOffset;
14var articles = Array.from(document.querySelectorAll(".seccion-onepage")).map(
15  (onePage) => {
16    const seccion = onePage.querySelector(".seccion");
17    return seccion && seccion.id ? seccion : onePage;
18  }
19);
20var navLi = document.querySelectorAll( 
21  "nav .container-lg .navbar-collapse ul li" 
22);
23
24window.onscroll = function () {
25  var currentScrollPos = window.pageYOffset;
26  //CASO SITIO CON MENÚ DE NAVEGACIÓN
27  if (menuPrimerNivel != null && navegacion != null) {
28    var menuAbierto =
29      document
30        .getElementsByClassName("navbar-collapse")[1]
31        .classList.contains("show") ||
32      document
33        .getElementsByClassName("navbar-collapse")[1]
34        .classList.contains("collapsing");
35    if (prevScrollpos > currentScrollPos || menuAbierto) {
36      menuPrimerNivel.style.top = "0";
37    } else {
38		if(tieneEvento){
39			menuPrimerNivel.style.top = "-213px";
40		}else{
41			menuPrimerNivel.style.top = "-135px";
42		}
43    }
44    prevScrollpos = currentScrollPos;
45  }
46  //CASO SITIO ONE PAGE SIN MENÚ DE NAVEGACIÓN
47  if (menuPrimerNivel != null && navegacion == null) {
48    if (prevScrollpos > currentScrollPos) {
49      menuPrimerNivel.style.top = "0";
50    } else {
51      menuPrimerNivel.style.top = "-135px";
52    }
53    prevScrollpos = currentScrollPos;
54  }
55  //CASO SITIO ONE PAGE CON MENÚ DE NAVEGACIÓN
56  if ($(".seccion-onepage").length > 0) {
57    let current = "";
58    let maxVisibleArea = 0;
59    articles.forEach((article) => {
60      const articleTop = article.offsetTop;
61      const articleHeight = article.clientHeight;
62      const articleBottom = articleTop + articleHeight;
63      // Límites de la ventana visible
64      const viewportTop = pageYOffset;
65      const viewportBottom = pageYOffset + window.innerHeight;
66      // Calcular el área visible de esta sección
67      const visibleTop = Math.max(articleTop, viewportTop);
68      const visibleBottom = Math.min(articleBottom, viewportBottom);
69      const visibleHeight = Math.max(0, visibleBottom - visibleTop);
70      // Si esta sección tiene más área visible que las anteriores
71      if (visibleHeight > maxVisibleArea) {
72        maxVisibleArea = visibleHeight;
73        current = article.getAttribute("id");
74      }
75    });
76    // Actualizar navegación
77    navLi.forEach((li) => {
78      li.classList.remove("active");
79      if (li.classList.contains(current)) {
80        li.classList.add("active");
81      }
82    });
83  }
84};
85
86// SUBE ARRIBA EN LA FLECHA DEL FOOTER
87$("#ic-scroll").on("click", () =>
88  document.getElementById("wrapper").scrollIntoView({ behavior: "smooth" })
89);
90
91var home = $(".inicio");
92home.click(function (e) {
93  window.scrollTo({
94    top: 0,
95    behavior: "smooth",
96  });
97  e.preventDefault();
98});
99
100//AGREGA CLASE SECTION A SECCIONES CON FONDO ALTERNADO
101var hijos = document.getElementById("main-content").childNodes;
102if (hijos != null) {
103  for (let i = 0; i < hijos.length; i++) {
104    let hijo = hijos[i];
105    if (hijo.nodeName === "DIV") {
106      if (hijo.getElementsByClassName("seccion").length > 0) {
107        hijo.classList.add("section");
108      }
109    }
110  }
111}
112var secciones = document.getElementsByClassName("section");
113if (secciones != null) {
114  for (let i = 0; i < secciones.length; i++) {
115    let seccion = secciones[i];
116    if (i % 2 == 0) {
117      seccion.classList.add("alternado");
118    }
119  }
120}
121
122//FUNCIÓN QUE CONVIERTE IMG A SVG
123jQuery("img.img-a-SVG").each(function () {
124  var $img = jQuery(this);
125  var imgClass = $img.attr("class");
126  var imgURL = $img.attr("src");
127  jQuery.get(
128    imgURL,
129    function (data) {
130      // Get the SVG tag, ignore the rest
131      var $svg = jQuery(data).find("svg");
132      // Add replaced image's classes to the new SVG
133      $svg = $svg.attr("class", imgClass);
134      // Remove any invalid XML tags as per http://validator.w3.org
135      $svg = $svg.removeAttr("xmlns:a");
136      // Check if the viewport is set, if the viewport is not set the SVG wont't scale.
137      if (!$svg.attr("viewBox") && $svg.attr("height") && $svg.attr("width")) {
138        var aux = "0 0 " + $svg.attr("height") + " " + $svg.attr("width");
139        $svg.attr("viewBox", aux);
140      }
141      // Replace image with new SVG
142      $img.replaceWith($svg);
143    },
144    "xml"
145  );
146});
147
148//FUNCIÓN QUE ELIMINA IMÁGENES DE OTRO TAMAÑO DE PANTALLA
149function updateDeviceImg() {
150  if (mobile) {
151    $(".desk").remove();
152    $(".mov").remove();
153  } else if (tablet) {
154    $(".desk").remove();
155    $(".mov").remove();
156  } else {
157    $(".tabl").remove();
158    $(".mov").remove();
159  }
160}
161
162// EJECUTA FUNCIONES EN CADA CAMBIO DE PÁGINA
163window.onload = (event) => {
164  updateDeviceImg();
165  customReady();
166};
167
168//FUNCIONES QUE SE EJECUTAN CON CADA CAMBIO DE PÁGINA
169function customReady() {
170  //SACA LA CLASE DISABLED DE LOS NAV-ITEMS ACTIVOS
171  $(".disabled").removeClass("disabled");
172  //SACA CLASE QUE BLOQUEA EL FOOTER
173  $(".page-editor__disabled-area").removeClass("page-editor__disabled-area");
174
175  //MINISITIOS
176  // APPS
177  //Permite scrolear horizontalmente las capturas de pantalla en la página de amplicación de las aplicaciones
178  $(".btn-izq").on("click", function () {
179    var scrollActual = $("#capturas-contenedor").scrollLeft();
180    $("#capturas-contenedor").animate({ scrollLeft: scrollActual - 245 }, 245);
181  });
182  $(".btn-der").on("click", function () {
183    var scrollActual = $("#capturas-contenedor").scrollLeft();
184    $("#capturas-contenedor").animate({ scrollLeft: scrollActual + 245 }, 245);
185  });
186  //Permite mostrar más o menos información en la página de amplicación de las aplicaciones
187  $("#mas-info-btn").on("click", function () {
188    $(this).children("i").toggleClass("icon-angle-down icon-angle-up");
189  });
190
191  //ANTEL PAGOS - FAQ
192  $(".accordion-heading").on("click", function () {
193    if ($(this).parent(".accordion-group").hasClass("open")) {
194      $(this).parent(".accordion-group").removeClass("open");
195    } else {
196      $(this)
197        .parents(".accordion")
198        .children(".accordion-group")
199        .removeClass("open");
200      $(this)
201        .parents(".accordion")
202        .children(".accordion-group")
203        .children(".accordion-body")
204        .removeClass("show");
205      $(this).parent(".accordion-group").addClass("open");
206    }
207  });
208
209  //DATACENTER
210  // MUESTRA/OCULTA DATOS DE CONTACTO EN MOBILE
211  $(".custom-fragment-grids .component-heading").on("click", function () {
212    if ($(window).width() < 768) {
213      $(this).toggleClass("show");
214      $(this)
215        .parents(".custom-fragment-grids")
216        .find(".datos-contacto")
217        .toggleClass("show");
218    }
219  });
220  // MUEVE CON SCROLL HACIA EL FORMULARIO AL HACER CLICK SOBRE BOTON CONTACTO DE LOS PRODUCTOS
221  $("#contacto-banner").on("click", () => {
222    document
223      .querySelector(".ddm-form-basic-info")
224      .scrollIntoView({ behavior: "smooth" });
225    return false;
226  });
227
228  // IPHONE - ITAU
229  // Rellena el modal EQUIPOS
230  $("#equipoModal").on("show.bs.modal", function (event) {
231    let button = $(event.relatedTarget),
232      capacidadSelector = button.data("capacidad"),
233      capacidad = $(capacidadSelector).val();
234    (equipo = $(capacidadSelector).find(":selected").data("equipo")),
235      (nombre = `Planes para ${$(capacidadSelector)
236        .find(":selected")
237        .data("nombre-equipo")} de ${capacidad} GB`);
238    $("#ModalLabel").html(nombre);
239    let selector = "." + equipo + "-" + capacidad,
240      mensualidad = "";
241    $(selector).each(function () {
242      mensualidad = "sin mensualidad";
243      if ($(this).data("precio")) {
244        mensualidad = "$ " + $(this).data("precio") + " mensuales";
245      }
246      $("#planes-modal").append(
247        `<div class="plan">
248                    <div class="info-destacada">
249                        <div class="nombre">Plan ${$(this).data("nombre")}</div>
250                        <div class="mensualidad">${mensualidad}</div>
251                    </div>
252                    <div class="info-detallada">
253                        <div class="cuotas">
254                            <div class="cantidad">Equipo hasta en ${$(
255                              this
256                            ).data("cuotas")} cuotas de</div>
257                            <div class="valor">
258                                <span>$</span>
259                                <div class="numero">${$(this).data(
260                                  "precio-cuotas"
261                                )}</div>
262                            </div>
263                        </div>
264                        <div class="precio">PCE $ ${$(this).data(
265                          "pce"
266                        )} / PTF $ ${$(this).data("pce")}</div>
267                    </div>
268                </div>`
269      );
270    });
271  });
272  $("#equipoModal").on("hidden.bs.modal", function (event) {
273    $("#planes-modal").html("");
274    $("#ModalLabel").html("Plan de financiación");
275  });
276
277  // PERMITE SCROLEAR HORIZONTALMENTE LOS PLANES DESTACADOS
278  $(".btn-izq").on("click", function () {
279    var scrollActual = $(".tab-pane.active").scrollLeft();
280    $(".tab-pane.active").animate({ scrollLeft: scrollActual - 330 }, 330);
281  });
282  $(".btn-der").on("click", function () {
283    var scrollActual = $(".tab-pane.active").scrollLeft();
284    $(".tab-pane.active").animate({ scrollLeft: scrollActual + 330 }, 330);
285  });
286
287  // PERMITE SCROLEAR HORIZONTALMENTE LOS PRODUCTOS DESTACADOS
288  $(".btn-izq").on("click", function () {
289    var scrollActual = $("#productos-relacionados").scrollLeft();
290    $("#productos-relacionados").animate(
291      { scrollLeft: scrollActual - 380 },
292      380
293    );
294  });
295  $(".btn-der").on("click", function () {
296    var scrollActual = $("#productos-relacionados").scrollLeft();
297    $("#productos-relacionados").animate(
298      { scrollLeft: scrollActual + 380 },
299      380
300    );
301  });
302}

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.