PageSourceSearch

https://upaep.mx/templates/upaep/js/script.js?v=1790241173

js upaep.mx collected 2026-09-24 09:13:08 UTC 11,332 bytes, 294 lines download raw bytes

1/**
2 * @name TEMPLATE JS
3 */
4import Fetch from "https://aplicaciones.upaep.mx/applications/util/modules/Fetch/fetch.js";
5
6var urlFetch = {
7    ejemplo: "",
8    program: "",
9    newApi: "/locksmith/middleware/get.php",
10    getFile: "https://aplicaciones.upaep.mx/utilities/getFile_Base64/getFile_Base64.php",
11};
12
13var upaep__btn__menu = document.querySelectorAll(".upaep__btn__menu");
14// var upaep__btn__menu = document.querySelectorAll('#btn_menu');
15var upaep__header__rigth = document.querySelector(".upaep__header__rigth");
16var menu__close = document.querySelector(".menu__close");
17
18upaep__btn__menu.forEach((ubm) => {
19    ubm.addEventListener("click", () => {
20        const desktop = document.querySelector(".upaep__menu__desktop");
21        const list = desktop.querySelector(".upaep__menu-list");
22        const content = desktop.querySelector(".upaep__menu-content");
23        const sublist = content.querySelector(".upaep__submenu-list");
24        const oferta = document.querySelector(".upaep__oferta-educativa");
25        if (oferta) {
26            if (oferta.classList.contains("__tehuacan")) {
27                list.firstElementChild.click();
28                sublist.children[1].click();
29            } else {
30                list.firstElementChild.click();
31                sublist.firstElementChild.click();
32            }
33        } else {
34            list.firstElementChild.click();
35            sublist.firstElementChild.click();
36        }
37    });
38});
39
40/* Inicio Footer */
41
42
43const getDataPortal = async () => {
44    let dominio = window.location.protocol + "//" + window.location.host;
45    let alias = window.location.pathname;
46    let json = {
47        dominio: dominio,
48        alias: alias.replace("_v2", ""),
49        lang: getLanguageActive(),
50        KeychainName: "PORTAL"
51    }
52    const instance = new Fetch(urlFetch.newApi, "POST", json);
53    const response = await instance.execFetch();
54    return response;
55};
56
57const urlLanguangeWeb = () => {
58    try {
59        const header = document.querySelector('header');
60        if (!header) {
61            console.error('No se encontró el elemento header');
62            return;
63        }
64        const logo = header.querySelector('.upaep__header__logo');
65        if (!logo) {
66            console.error('No se encontró el logo dentro del header');
67            return;
68        }
69        const aLogo = logo.querySelector('a');
70        if (!aLogo) {
71            console.error('No se encontró el enlace dentro del logo');
72            return;
73        }
74        const language = getLanguageActive()?.trim();
75        // console.log('Idioma detectado:', language); // Para depuración
76        const newHref = language === 'ES' ? 'https://upaep.mx/' : 'https://upaep.mx/en';
77        // console.log('Intentando cambiar href a:', newHref); // Para depuración
78        aLogo.href = newHref;
79        // console.log('Href actualizado correctamente'); // Confirmación
80    } catch (error) {
81        console.error('Error en urlLanguangeWeb:', error);
82    }
83};
84
85const insertFooterHeaderSecondaryMenu = async () => {
86    const dataPortal = await getDataPortal();
87    const { alias, dominio, encabezado, menu_secundario, pie_de_pagina, recursos } = dataPortal.at(0);
88    const dataFooter = JSON.parse(pie_de_pagina) ?? '';
89    const dataHeader = JSON.parse(encabezado) ?? '';
90    const dataSecondaryMenu = (menu_secundario) ? JSON.parse(menu_secundario) ?? '' : '';
91
92    const newfooter = new Footer_('.upaep-footer', { footer: dataFooter });
93    const newmenu = new Menu_(".upaep-menu-content", { menu: dataHeader.items });
94    if (dataSecondaryMenu) {
95        let lista_menu_secundario = document.getElementById("menu_secundario");
96
97        if (dataSecondaryMenu.length) {
98            dataSecondaryMenu.forEach((item) => {
99                let html = "";
100
101                if (item.items && item.items.length > 0) {
102                    // Menú con subitems
103                    html += '<li class="upaep__navbar-item upaep__dropdown __mark">';
104                    html +=
105                        '  <a class="upaep__navbar-link upaep__dropdown-btn __link" upaep-dropdown>' +
106                        item.titulo +
107                        "</a>";
108                    html += '  <ul class="upaep__dropdown-menu">';
109                    item.items.forEach((subitem) => {
110                        html += '    <li class="upaep__dropdown-item">';
111                        html +=
112                            '      <a href="' +
113                            subitem.url +
114                            '" target="' +
115                            subitem.target +
116                            '">' +
117                            subitem.label +
118                            "</a>";
119                        html += "    </li>";
120                    });
121                    html += "  </ul>";
122                    html += "</li>";
123                } else if (item.url && item.label) {
124                    // Enlace directo como "Inicio"
125                    html += '<li class="upaep__navbar-item">';
126                    html +=
127                        '  <a class="upaep__navbar-link __link" href="' +
128                        item.url +
129                        '" target="' +
130                        item.target +
131                        '">' +
132                        item.label +
133                        "</a>";
134                    html += "</li>";
135                }
136
137                lista_menu_secundario.insertAdjacentHTML("beforeend", html);
138            });
139        }
140    }
141    setTimeout(() => { urlLanguangeWeb(); }, 1000);
142};
143insertFooterHeaderSecondaryMenu()
144
145var button__language = document.querySelector(".upaep__button__language");
146button__language.addEventListener('click', () => {
147    getLanguageChangeButtonToUrl();
148    getFooterHeader();
149    getMenuSecundario();
150})
151
152/* Final Footer */
153
154AOS.init();
155
156const url_general = new URL(window.location);
157const lang = url_general.hash;
158const lang_value =
159    lang == "" ? "ES" : lang == "#es" ? "ES" : lang == "#en" ? "EN" : "ES";
160if (lang_value != "ES") document.querySelector(".upaep__header__menu span").innerHTML = "MENU";
161
162
163(function () {
164    var cx = "004514702581536462061:cgeks1_xu6w";
165    var gcse = document.createElement("script");
166    gcse.type = "text/javascript";
167    gcse.async = true;
168    gcse.src = "https://cse.google.com/cse.js?cx=" + cx;
169    var s = document.getElementsByTagName("script")[0];
170    s.parentNode.insertBefore(gcse, s);
171})();
172
173const upaep_banner = document.querySelector(".upaep__banner");
174window.addEventListener("load", () => {
175    document.querySelector(".upaep__header__logo a").setAttribute("href", "https://upaep.mx/");
176});
177
178const changeScale = () => {
179    const zoom_ratio = window.devicePixelRatio;
180    console.log(zoom_ratio);
181    if (zoom_ratio > 1) {
182        document.querySelector("body").style.zoom = ".8";
183        document.querySelector("body").style.transform =
184            "-moz-transform:scale(.8);";
185        if (upaep_banner) {
186            upaep_banner.style.zoom = `${zoom_ratio}`;
187            if (upaep_banner.querySelector(".upaep__banner-buttons")) {
188                upaep_banner.querySelector(".upaep__banner-buttons").style.zoom = ".8";
189            }
190        }
191        if (document.querySelector(".upaep__transformadora")) {
192            document.querySelector(
193                ".upaep__transformadora .upaep__transformadora-panel.panel_1"
194            ).style.height = "60vh";
195            document.querySelector(
196                ".upaep__transformadora .upaep__transformadora-panel.panel_2"
197            ).style.height = "60vh";
198            document.querySelector(
199                ".upaep__transformadora .upaep__transformadora-panel.panel_3"
200            ).style.height = "60vh";
201        }
202        if (Navegador() == "firefox") {
203            if (document.querySelector(".upaep__oferta-educativa")) {
204                document.querySelector(".upaep__oferta-educativa").style.height =
205                    "auto";
206            }
207        }
208        // console.log(`si hubo zoom de ${zoom_ratio}`)
209    } else {
210        document.querySelector("body").style.zoom = "1";
211        if (upaep_banner) {
212            upaep_banner.style.zoom = `1`;
213            if (upaep_banner.querySelector(".upaep__banner-buttons")) {
214                upaep_banner.querySelector(".upaep__banner-buttons").style.zoom = "1";
215            }
216        }
217        if (document.querySelector(".upaep__oferta-educativa")) {
218            document.querySelector(".upaep__oferta-educativa").style.height = "auto";
219        }
220        if (document.querySelector(".upaep__transformadora")) {
221            document.querySelector(
222                ".upaep__transformadora-panel.panel_3"
223            ).style.height = "auto";
224            document.querySelector(
225                ".upaep__transformadora-panel.panel_2"
226            ).style.height = "auto";
227        }
228        // console.log(`si hubo zoom de ${zoom_ratio}`)
229    }
230}
231// Función para detectar cambios de zoom
232const detectZoomChange = (callback) => {
233    var currentZoom = window.innerWidth / window.outerWidth;
234
235    window.addEventListener("resize", function () {
236        var newZoom = window.innerWidth / window.outerWidth;
237        if (newZoom !== currentZoom) {
238            currentZoom = newZoom;
239            callback();
240        }
241    });
242}
243
244// Ejemplo de uso
245// detectZoomChange(function () {
246//     // console.log('Se ha cambiado el nivel de zoom');
247//     changeScale();
248// });
249
250
251const Navegador = () => {
252    var browserName = "";
253
254    if (navigator.userAgentData) {
255        // Utilizando la nueva API de User Agent Client Hints
256        browserName = navigator.userAgentData.brands[0].brand;
257    } else {
258        // Utilizando propiedades y métodos del objeto navigator
259        if (
260            navigator.userAgent.indexOf("Chrome") !== -1 &&
261            navigator.vendor.indexOf("Google") !== -1
262        ) {
263            browserName = "Chrome";
264        } else if (
265            navigator.userAgent.indexOf("Safari") !== -1 &&
266            navigator.vendor.indexOf("Apple") !== -1
267        ) {
268            browserName = "Safari";
269        } else if (navigator.userAgent.indexOf("Firefox") !== -1) {
270            browserName = "Firefox";
271        } else if (
272            (navigator.userAgent.indexOf("Opera") !== -1 ||
273                navigator.userAgent.indexOf("OPR") !== -1) &&
274            typeof window.opr !== "undefined"
275        ) {
276            browserName = "Opera";
277        } else if (
278            navigator.userAgent.indexOf("Edge") !== -1 &&
279            navigator.vendor.indexOf("Microsoft") !== -1
280        ) {
281            browserName = "Microsoft Edge";
282        } else if (navigator.userAgent.indexOf("Trident") !== -1) {
283            browserName = "Internet Explorer";
284        } else if (navigator.userAgent.indexOf("Brave") !== -1) {
285            browserName = "Brave";
286        } else if (navigator.userAgent.indexOf("YaBrowser") !== -1) {
287            browserName = "Yandex";
288        } else {
289            browserName = "Navegador desconocido";
290        }
291    }
292
293    return browserName.toLowerCase();
294}

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.