PageSourceSearch

https://ispch.gob.cl/wp-content/themes/ispch-2.0/assets/js/search-script.js

js ispch.gob.cl collected 2026-10-03 02:34:44 UTC 5,853 bytes, 112 lines download raw bytes

1jQuery(document).ready(function ($) {
2   let ajaxRequest; // Variable para almacenar la solicitud AJAX en curso
3const sinonimos = {
4    "NOTIC": [{ title: "Noticias ISPCH", url: "/noticia/" }],
5    "NOTICIA": [{ title: "Noticias ISPCH", url: "/noticia/" }],
6    "NOTICIAS": [{ title: "Noticias ISPCH", url: "/noticia/" }],
7    "ANAMED": [{ title: "Agencia Nacional de Medicamentos", url: "/anamed/" }],
8    "ANDIM": [{ title: "Agencia Nacional de Dispositivos Médicos", url: "/andim/" }],
9    "ANDID": [{ title: "Agencia Nacional de Dispositivos Médicos", url: "/andim/" }],
10    "COVID": [{ title: "Información y Medidas ISP COVID-19", url: "/isp-covid-19/" }],
11    "19": [{ title: "Información y Medidas ISP COVID-19", url: "/isp-covid-19/" }],
12    "DONACION": [{ title: "Gestión de Trasplante", url: "/biomedico/gestion-de-trasplante/" }],
13    "ORGANOS": [{ title: "Gestión de Trasplante", url: "/biomedico/gestion-de-trasplante/" }],
14    "DROGAS": [{ title: "Estupefacientes y Psicotrópicos", url: "/anamed/medicamentos/estupefacientes-y-psicotropicos/"}],
15    "REVISTA": [{ title: "Revista Científica del ISPCH", url: "https://revista.ispch.gob.cl/"}],
16    "VIH": [{ title: "Dispositivos Médicos de Diagnóstico in vitro con Registro Sanitario", url: "/andim/listado-de-dispositivos-medicos-establecimientos-y-empresas/dispositivos-medicos-in-vitro-con-registro-sanitario/"}],
17    "SIPRO": [{ title: "Importación Uso Personal", url: "/anamed/importacion-y-exportacion/importacion-uso-pers
17onal/"}],
18    "GICONA": [{ title: "Importación Uso Comercial", url: "/anamed/importacion-y-exportacion/importacion-uso-comercial/"}],
19    "MEDICAMENTO": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
20    "MEDICAMENTOS": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
21    "COSMETICOS": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
22    "PLAGUICIDAS": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
23    "DESINFECTANTES": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
24    "SANITIZANTES": [{ title: "Sistema Consulta Productos Registrados", url: "https://registrosanitario.ispch.gob.cl/"}],
25    "INSPECTORES" : [{ title: "Fiscalización, Inspección y Control", url: "/anamed/establecimientos-farmaceuticos-y-cosmeticos/actividades-de-inspeccion-fiscalizacion-y-control/"}],
26    "LISTADO" : [{ title: "Fiscalización, Inspección y Control", url: "/anamed/establecimientos-farmaceuticos-y-cosmeticos/actividades-de-inspeccion-fiscalizacion-y-control/"}],
27    "MURCIELAGO": [
28        { title: "Rabia", url: "/biomedico/enfermedades-transmisibles/virus/rabia/" },
29        { title: "Vigilancia Rabia", url: "/biomedico/vigilancia-de-laboratorio/ambitos-de-vigilancia/vigilancia-rabia/" }
30    ]
31};
32
33$("#buscador").on("input", function () {
34        let termino = $(this).val().trim();
35        let sugerencias = $("#sugerencias");
36
37        if (termino.length === 0) {
38            sugerencias.empty();
39            sugerencias.hide();
40            if (ajaxRequest) {
41                ajaxRequest.abort();
42            }
43            return;
44        }
45
46        if (ajaxRequest) {
47            ajaxRequest.abort();
48        }
49
50        ajaxRequest = $.ajax({
51            url: "https://www.ispch.cl/wp-admin/admin-ajax.php",
52            type: "GET",
53            data: { action: "buscar_palabras_similares", term: termino },
54            success: function (data) {
55                sugerencias.empty();
56                let uniqueItems = [];
57
58                data.forEach(item => {
59                    if (!uniqueItems.some(el => el.title === item.title)) {
60                        uniqueItems.push(item);
61                    }
62                });
63
64                uniqueItems = uniqueItems.filter(item =>
65                    /^[a-zA-ZáéíóúÁÉÍÓÚ0-9\s\(\)\-.,¿\?:]+$/.test(item.title) &&
66                    !/\b\d{4}\b/.test(item.title)
67                );
68
69                let searchTermLower = termino.toLowerCase();
70                uniqueItems.sort((a, b) => {
71                    let titleA = a.title.toLowerCase();
72                    let titleB = b.title.toLowerCase();
73
74                    let startsWithA = titleA.startsWith(searchTermLower);
75                    let startsWithB = titleB.startsWith(searchTermLower);
76
77                    if (startsWithA && !startsWithB) return -1;
78                    if (!startsWithA && startsWithB) return 1;
79
80                    return titleA.localeCompare(titleB);
81                });
82
83                // Agregar sinónimos si coinciden con el término exacto
84                if (sinonimos[termino.toUpperCase()]) {
85                    uniqueItems.unshift(...sinonimos[termino.toUpperCase()]);
86                }
87
88                if (uniqueItems.length > 0) {
89                    sugerencias.show();
90                    uniqueItems.forEach((item) => {
91                        sugerencias.append(`<li class="sugerencia-item">
92                            <a href="${item.url}" target="_blank">${item.title}</a>
93                        </li>`);
94                    });
95
96                    $(".sugerencia-item a").on("click", function (e) {
97                        e.preventDefault();
98                        $("#buscador").val($(this).text());
99                        window.location.href = $(this).attr("href");
100                    });
101                } else {
102                    sugerencias.hide();
103                }
104            },
105            error: function () {
106                if (ajaxRequest.statusText !== "abort") {
107                    console.error("Error en la solicitud AJAX");
108                }
109            }
110        });
111    });
112});

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.