PageSourceSearch

https://www.alpes-et-midi.fr/script/index.js?version=41e2a711

js alpes-et-midi.fr collected 2026-10-02 11:47:45 UTC 19,603 bytes, 363 lines download raw bytes

1document.addEventListener("DOMContentLoaded", function () {
2    var listeEdition = document.querySelectorAll("#pref_edition>li>a");
3    /* if (document.querySelector("#pref_edition .active")) {
4        var editionActive = document.querySelector("#pref_edition .active").getAttribute("data-commune");
5        document.querySelector("#articlesEdition>.plus-btn").setAttribute("href", "actualites-" + editionActive + ".html");
6    } */
7    for (let i = 0; i < listeEdition.length; i++) {
8        listeEdition[i].addEventListener("click", function (event) {
9            event.preventDefault();
10            let edition = this.getAttribute("data-id-commune");
11            let nom_commune = this.getAttribute("data-commune");
12            if (document.querySelector("#pref_edition .active")) {
13                document.querySelector("#pref_edition .active").classList.remove("active");
14            }
15            this.parentNode.classList.add("active");
16            updateListeArticleEdition(edition, nom_commune);
17        });
18    }
19    var showInfoEdition = document.querySelector("#infoEdition");
20    if (showInfoEdition) {
21        showInfoEdition.addEventListener("click", function () {
22            document.querySelector("#sectionEdition .indexBlocChoice .wrapper").classList.add("show");
23        });
24        document.querySelector("#wrapperClose").addEventListener("click", function () {
25            document.querySelector("#sectionEdition .indexBlocChoice .wrapper").classList.remove("show");
26        });
27    }
28    var deleteCommune = document.querySelectorAll(".deleteCommune");
29    for (let i = 0; i < deleteCommune.length; i++) {
30        deleteCommune[i].addEventListener("click", function (e) {
31            e.preventDefault();
32            this.parentNode.remove();
33            refreshArticleCommunes();
34        });
35    }
36});
37
38
39
40function updateListeArticleEdition(edition, nomEdition) {
41    var exclude = document.getElementById("article_dbl").value;
42    var request = new XMLHttpRequest();
43    request.open("post", "ajax/updateListeArticleEdition.php?exclude=" + exclude, true);
44    request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
45    request.send("edition=" + edition);
46    request.onreadystatechange = function () {
47        if (request.readyState == 4 && request.status == 200) {
48            if (request.response) {
49                var data = JSON.parse(request.response);
50                if (!Array.isArray(data) || data.length === 0) {
51                    return;
52                }
53                var secondeDiv = document.querySelector("#articlesEdition2");
54				if (!secondeDiv) {
55                    return;
56                }
57                var secondeBigArt = secondeDiv.querySelector(".articlePrincipal");
58				var mainArticle = data[0];
59                secondeBigArt.querySelector(".article_img").classList.add("lds-dual-ring");
60                secondeBigArt.querySelector("img").addEventListener("load", function () {
61                    secondeBigArt.querySelector(".article_img").classList.remove("lds-dual-ring");
62                });
63                document.querySelector("#articlesEdition2>a").setAttribute("href", mainArticle.url);
64                secondeBigArt.querySelector(".commune_info").innerHTML = mainArticle.categorie;
65                if (mainArticle.total_com) {
66                    secondeBigArt.querySelector(".commune_info").dataset.comment = mainArticle.total_com;
67                } else {
68                    delete secondeBigArt.querySelector(".commune_info").dataset['comment'];
69                }
70
71                if (mainArticle.surtitre != "") {
72                    secondeBigArt.querySelector(".article_titre").innerHTML = mainArticle.surtitre + ". " + mainArticle.titre;
73                } else {
74                    secondeBigArt.querySelector(".article_titre").innerHTML = mainArticle.commune + ". " + mainArticle.titre;
75                }
76                if (mainArticle.etat === "melody") {
77                    secondeBigArt.querySelector(".article_titre").classList.add("lock-p");
78                    secondeBigArt.querySelector(".article_titre").innerHTML = secondeBigArt.querySelector("h2").innerHTML;
79                }
80                secondeBigArt.querySelector("p").innerHTML = mainArticle.chapo;
81                secondeBigArt.querySelector("img").setAttribute("src", mainArticle.photo);
82
83                var columnArt = secondeDiv.querySelectorAll("#articlesEdition2 .native-slider .native-slider-slide");
84                for (let i = 0; i < columnArt.length; i++) {
85                    let itemArticle = data[i + 1];
86                    if (!itemArticle) {
87                        break;
88                    }
89                    columnArt[i].classList.add("lds-dual-ring");
90                    let column = columnArt[i];
91                    columnArt[i].querySelector("img").addEventListener("load", function () {
92                        column.classList.remove("lds-dual-ring");
93                    });
94                    columnArt[i].querySelector("a").setAttribute("href", itemArticle.url);
95
96                    columnArt[i].querySelector(".commune_info").innerHTML = itemArticle.categorie;
97                    if (itemArticle.total_com) {
98                        columnArt[i].querySelector(".commune_info").dataset.comment = itemArticle.total_com;
99                    } else {
100                        delete columnArt[i].querySelector(".commune_info").dataset['comment'];
101                    }
102
103                    if (itemArticle.surtitre != "") {
104                        columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.surtitre + ". " + itemArticle.titre;
105                    } else {
106                        if (itemArticle.commune != "") {
107                            columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.commune + ". " + itemArticle.titre;
108                        } else {
109                            columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.titre;
110                        }
111                    }
112                    if (itemArticle.etat === "melody") {
113                        columnArt[i].querySelector(".article_titre").classList.add("lock-p");
114                        columnArt[i].querySelector(".article_titre").innerHTML = columnArt[i].querySelector("h2").innerHTML;
115                    }
116                    columnArt[i].querySelector("img").setAttribute("src", itemArticle.photo);
117                }
118            }
119        }
120    }
121}
122
123function lookupIndex(inputString) {
124    if (inputString.length == 0) {
125        // Hide the suggestion box.
126        document.querySelector('#suggestions').style.display = "none";
127    } else {
128        var request = new XMLHttpRequest();
129        request.open("get", "ajax/listeCommunes2020.php?queryString=" + inputString + "&bychar=true", true);
130        request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
131        request.onreadystatechange = function () {
132            document.querySelector('#autoSuggestionsList').innerHTML = "";
133            if (request.readyState == 4 && request.status == 200) {
134                if (request.response) {
135                    var data = JSON.parse(request.response);
136                    for (let i = 0; i < data.length; i++) {
137                        var li = document.createElement("li");
138                        li.setAttribute("onclick", "addCommune('" + data[i].nom_commune.replace("'", "\\'") + "', '" + data[i].commune + "');");
139                        li.append(data[i].nom_commune);
140                        document.querySelector('#autoSuggestionsList').append(li);
141                    }
142                    document.querySelector('#suggestions').style.display = "block";
143                }
144            }
145        }
146        request.send(null);
147
148
149    }
150} // lookup
151function fillIndex(thisValue) {
152    if (thisValue != undefined) {
153        document.querySelector('#inputString').value = thisValue;
154    } else {
155        document.querySelector('#inputString').value = "";
156    }
157    setTimeout("document.querySelector('#suggestions').style.display = 'none';", 200);
158}
159
160function addCommune(nom, insee) {
161    var listeCommune = document.querySelector("#ulCommunes").querySelectorAll("li");
162    for (let i = 0; i < listeCommune.length; i++) {
163        if (listeCommune[i].getAttribute("data-commune") == insee) {
164            return;
165        }
166    }
167    var ul = document.querySelector("#ulCommunes");
168    var li = document.createElement("li");
169    var a = document.createElement("a");
170    a.setAttribute("title", "Supprimer la commune")
171    a.setAttribute("data-commune", insee)
172    var svg = document.createElementNS("http://www.w3.org/2000/svg", 'svg');
173    svg.setAttribute("width", "16");
174    svg.setAttribute("height", "16");
175    svg.setAttribute("viewBox", "0 0 48 48");
176    var path1 = document.createElementNS("http://www.w3.org/2000/svg", "path");
177    path1.setAttribute("d", "M38 12.83l-2.83-2.83-11.17 11.17-11.17-11.17-2.83 2.83 11.17 11.17-11.17 11.17 2.83 2.83 11.17-11.17 11.17 11.17 2.83-2.83-11.17-11.17z");
178    svg.append(path1);
179    li.setAttribute("data-commune", insee);
180    li.append(nom);
181    a.appendChild(svg);
182    li.append(a);
183    ul.append(li);
184    a.addEventListener("click", function (e) {
185        e.preventDefault();
186        this.parentNode.remove();
187        refreshArticleCommunes();
188    });
189    refreshArticleCommunes();
190}
191
192
193function refreshArticleCommunes() {
194
195    var listeCommune = document.querySelector("#ulCommunes").querySelectorAll("li");
196    var ajoutUrl = "";
197    var exclude = document.getElementById("article_dbl").value;
198    for (let i = 0; i < listeCommune.length; i++) {
199        ajoutUrl += listeCommune[i].getAttribute("data-commune") + ",";
200    }
201    var request = new XMLHttpRequest();
202    request.open("get", "ajax/articlesCommunes.php?communes=" + ajoutUrl + "&exclude=" + exclude, true);
203    request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
204    request.onreadystatechange = function () {
205        if (request.readyState == 4 && request.status == 200) {
206            if (request.response) {
207                //document.querySelector("#articleCommunesRefresh").innerHTML = request.response;
208
209                var data = JSON.parse(request.response);
210                var articleCommunesRefresh = document.querySelector("#articleCommunesRefresh");
211                var articlePrincipal = articleCommunesRefresh.querySelector(".articlePrincipal");
212                var slider = articleCommunesRefresh.querySelector(".native-slider-ctn");
213
214                if (data.length < 2 ) { // 0 ou 1 article, on supprime le slider
215                    if (slider != null) {
216                        slider.closest(".native-slider").remove();
217                    }
218                }
219                if (data.length < 1 ) { // Pas d'article, on supprime l'article principal
220                    if (articlePrincipal != null) {
221                        articlePrincipal.closest('a').remove();
222                    }
223                }
224
225                if (data.length > 0) {
226                    if (articlePrincipal == null) { // On crée l'article principal, s'il n'existe pas
227                        let articlePrincipalHtml = `<a href="">
228                            <div class="article_obj articlePrincipal">
229                                <div class="row no-gutters-sm">
230                                    <div class="col-lg-8 article_img">
231                                        <img class="media" loading="lazy" src="" width="586" height="390" alt="">
232                                    </div>
233                                    <div class="col-lg-4">
234                                        <div class="minArticle">
235                                            <div class="commune_info"></div>
236                                            <h2 class="article_titre"></h2>
237                                            <p class="article_chapo"></p>
238                                        </div>
239                                    </div>
240                                </div>
241                            </div>
242                        </a>`;
243
244                        const parser = new DOMParser();
245                        articlePrincipal = parser.parseFromString(articlePrincipalHtml, "text/html");
246                        articlePrincipal = articlePrincipal.querySelector("a");
247                        articleCommunesRefresh.append(articlePrincipal);
248                    }
249
250                    // On ajoute/remplace le contenu du bloc article principal
251                    articlePrincipal.querySelector(".article_img").classList.add("lds-dual-ring");
252                    articlePrincipal.querySelector("img").addEventListener("load", function () {
253                        articlePrincipal.querySelector(".article_img").classList.remove("lds-dual-ring");
254                    });
255                    articlePrincipal.closest("a").setAttribute("href", data[0].url);
256                    articlePrincipal.querySelector(".commune_info").innerHTML = data[0].categorie;
257                    if (data[0].total_com) {
258                        articlePrincipal.querySelector(".commune_info").dataset.comment = data[0].total_com;
259                    } else {
260                        delete articlePrincipal.querySelector(".commune_info").dataset['comment'];
261                    }
262
263                    if (data[0].surtitre != "") {
264                        articlePrincipal.querySelector(".article_titre").innerHTML = data[0].surtitre + ". " + data[0].titre;
265                    } else {
266                        articlePrincipal.querySelector(".article_titre").innerHTML = data[0].commune + ". " + data[0].titre;
267                    }
268                    if (data[0].etat === "melody") {
269                        articlePrincipal.querySelector(".article_titre").classList.add("lock-p");
270                        articlePrincipal.querySelector(".article_titre").innerHTML = articlePrincipal.querySelector("h2").innerHTML;
271                    }
272                    articlePrincipal.querySelector("p").innerHTML = data[0].chapo;
273                    articlePrincipal.querySelector("img").setAttribute("src", data[0].photo);
274
275                    // On traite les autres articles
276                    if (data.length > 1) {
277                        if (slider == null) { // On crée le slider, s'il n'existe pas
278                            let nativeslider = document.createElement("div");
279                            nativeslider.classList.add("native-slider");
280                            nativeslider.setAttribute("data-nb-shown", "0");
281                            nativeslider.setAttribute("data-nb-shown-sm", "1");
282                            nativeslider.setAttribute("data-nb-shown-md", "3");
283                            nativeslider.setAttribute("data-gap", "30");
284                            let nativesliderctn = document.createElement("div");
285                            nativesliderctn.classList.add("native-slider-ctn");
286                            nativeslider.append(nativesliderctn);
287                            articleCommunesRefresh.append(nativeslider);
288                            slider = articleCommunesRefresh.querySelector(".native-slider-ctn");
289                        }
290
291                        // Bloc slide (article)
292                        let sliderSlideHtml = `<div class="col-lg-4 native-slider-slide">
293                            <div class="minArticle">
294                                <a href="">
295                                    <img class="media" loading="lazy" src="" width="278" height="185" alt="le pian-médoc. Nuit d'horreur au Pian-Médoc">
296                                    <div class="commune_info">Actualités</div>
297                                    <h2 class="article_titre lock-p-open"></h2>
298                                </a>
299                            </div>
300                        </div>`;
301
302
303                        let columnArt = slider.querySelectorAll(".native-slider-slide");
304                        let nbSlide = columnArt.length;
305                        let nbArticleJson = data.length - 1; // on enlève l'article principal pour le compte (1, 2, 3 ...)
306
307                        if (nbSlide < nbArticleJson) { // Si le nb d'articles dans le slider est inférieur au nb d'articles à afficher, on crée les blocs
308                            let nbSlideToAdd = nbArticleJson - nbSlide;
309                            for (let i = 0; i < nbSlideToAdd; i++) {
310                                const parser = new DOMParser();
311                                let sliderSlide = parser.parseFromString(sliderSlideHtml, "text/html");
312                                slider.append(sliderSlide.querySelector(".native-slider-slide"));
313                            }
314                            
315                            initCarrousel(slider);
316                        } else if (nbSlide > nbArticleJson) { // S'il y a trop de blocs, on les supprime
317                            for (let i = nbArticleJson; i < nbSlide; i++) {
318                                columnArt[i].remove();
319                            }
320                        }
321
322                        // On ajoute/remplace le contenu des blocs slide
323                        columnArt = slider.querySelectorAll(".native-slider-slide");
324                        for (let i = 0; i < columnArt.length; i++) {
325                            let itemArticle = data[i + 1];
326                            columnArt[i].classList.add("lds-dual-ring");
327                            let column = columnArt[i];
328                            columnArt[i].querySelector("img").addEventListener("load", function () {
329                                column.classList.remove("lds-dual-ring");
330                            });
331                            columnArt[i].querySelector("a").setAttribute("href", itemArticle.url);
332
333                            columnArt[i].querySelector(".commune_info").innerHTML = itemArticle.categorie;
334                            if (itemArticle.total_com) {
335                                columnArt[
335i].querySelector(".commune_info").dataset.comment = itemArticle.total_com;
336                            } else {
337                                delete columnArt[i].querySelector(".commune_info").dataset['comment'];
338                            }
339
340                            if (itemArticle.surtitre != "") {
341                                columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.surtitre + ". " + itemArticle.titre;
342                            } else {
343                                if (itemArticle.commune != "") {
344                                    columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.commune + ". " + itemArticle.titre;
345                                } else {
346                                    columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.titre;
347                                }
348                            }
349                            if (itemArticle.etat === "melody") {
350                                columnArt[i].querySelector(".article_titre").classList.add("lock-p");
351                                columnArt[i].querySelector(".article_titre").innerHTML = columnArt[i].querySelector("h2").innerHTML;
352                            }
353                            columnArt[i].querySelector("img").setAttribute("src", itemArticle.photo);
354                        }
355                    }
356                }
357                
358            }
359        }
360    }
361    request.send(null);
362
363}

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.