Begues

Begues
Descubre el municipio de Begues a través de su agua

En esta población del Macizo del Garraf hay un observatorio astronómico donde se descubrió un asteroide, que bautizaron con el nombre del municipio.

7.450 habitantes viven en esta población del Baix Llobregat, que pertenece al Parque Natural del Garraf, y cuyo término municipal es el mayor de la comarca.


El agua en cifras Cifras correspondientes a 2022
Consumo medio doméstico por cápita
126,2 l/h/día
Número de clientes servidos
3.147 clientes
Número de controles de agua diarios
48 controles
Número de familias con Tarifa Social
88 familias

Tu oficina más cercana Si deseas más información sobre el agua de tu municipio, ven a nuestras oficinas.
Dirección

C/ Olocau, 6
08850 Gavà

Horario

Lunes - viernes 09.00 h - 14.00 h
Sábado y domingo Cerrado

Teléfono

935 219 777


Begues en directo
El tiempo
Temperatura
Pluviómetro
Precipitación acumulada
Fuentes públicas
Fuentes en servicio
Se ha producido un error al procesar la plantilla.
Java method "static com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil.getPortletFileEntry(long)" threw an exception; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: fileEntryListImg = portletFileReposit...  [in template "20099#20135#2451330" at line 406, column 17]
	- Reached through: #assign-container  [in template "20099#20135#2451330" at line 405, column 13]
----
1<#assign 
2    articlesStructureKey = "1892944" 
3    articlesStatus = 0 
4    articlesGroupId = 20126 
5/> 
6 
7<style> 
8    .ag-hr { 
9        width: 100%!important; 
10        height: unset!important; 
11        margin-top: unset!important; 
12        margin-bottom: unset!important; 
13        border-bottom: .75px solid #757575!important; 
14
15 
16    .ag-bab-events-title { 
17        font-family: "Raleway Bold"; 
18        font-size: 22px; 
19        color: #194F6D; 
20
21 
22    .ag-bab-events-subtitle { 
23        font-family: Raleway; 
24        font-size: 20px; 
25        color: #194F6D; 
26
27 
28    .ag-content-container-event-image { 
29        background-size: cover; 
30        padding-bottom: 56.25%; 
31
32 
33    .ag-content-container-event-image-overflow { 
34        width: 50%; 
35        height: 37%; 
36        float: left; 
37        z-index: 10; 
38        background-color: #FFF; 
39        padding: 5px; 
40        color: #000; 
41        font-weight: bold; 
42
43 
44    .ag-content-container-event-image-overflow { 
45        width: 265px!important; 
46        height: 85px!important; 
47
48 
49    div.ag-city-container, 
50    div.ag-address-container { 
51        height: 20px; 
52
53 
54    div.ag-content-container-event-image-overflow span.ag-city, 
55    div.ag-content-container-event-image-overflow span.ag-address, 
56    div.ag-content-container-event-image-overflow span.ag-date { 
57        font-size: 0.7rem; 
58        color: #00205a; 
59 
60        /* truncate */ 
61        white-space: nowrap; 
62        overflow: hidden; 
63        text-overflow: ellipsis; 
64
65 
66    .ag-content-container-event-image-overflow span.ag-city { 
67        font-family: "Raleway Light"!important; 
68        font-size: 14px!important; 
69        color: #00205A!important; 
70        text-decoration: none!important; 
71
72 
73    .ag-content-container-event-image-overflow span.ag-address, 
74    .ag-content-container-event-image-overflow span.ag-date { 
75        font-family: "Raleway Medium"!important; 
76        font-style: italic!important; 
77        font-size: 16px!important; 
78        color: #00205A!important; 
79        text-decoration: none!important; 
80
81 
82    .ag-content-container-event-image-overflow span.ag-address { 
83        padding-right: 5px!important; 
84        max-width: 230px!important; 
85        width: unset!important; 
86
87 
88    div.ag-content-container-event-image-overflow span.ag-city, div.ag-content-container-event-image-overflow span.ag-date { 
89        max-width: 230px!important; 
90        width: unset!important; 
91        padding-right: 3px; 
92
93 
94    .ag-list-event-title-container { 
95        margin-top: 15px; 
96
97 
98    .ag-list-event-moreinfo-container { 
99        margin-top: 10px; 
100
101 
102    .ag-list-event-title { 
103        font-family: "Raleway Bold"; 
104        font-size: 18px; 
105        color: #194F6D; 
106
107 
108    a.ag-list-event-moreinfo { 
109        font-family: "Raleway bold"; 
110        font-size: 14px; 
111        color: #009FE3; 
112
113 
114    .ag-icon-pin { 
115        width: 12px; 
116        margin-top: -18px; 
117
118 
119    .ag-list-icon-share, 
120    .ag-list-icon-share-fullwidth { 
121        width: 15px; 
122
123 
124    .ag-list-event-share-container { 
125        text-align:right; 
126
127 
128    .ag-social-share-options, 
129    .ag-social-share-options-fullwidth { 
130        border: 1px solid #e7e7ed; 
131        font-size: 0.875rem; 
132        position: absolute; 
133        width: 240px; 
134        right: 0; 
135        background-color: #FFF; 
136        border-radius: 0.25rem; 
137        box-shadow: 0 1px 10px -3px rgba(0, 0, 0, 0.3); 
138        z-index: 999; 
139
140 
141    .ag-social-share-options-fullwidth { 
142        bottom: -115px; 
143
144 
145    .ag-social-share-options ul { 
146        padding-left: 0; 
147        list-style: none; 
148        margin-top: 0; 
149        margin-bottom: 0; 
150
151 
152    .journal-content-article li:before { 
153        background-image: none!important; 
154
155 
156    .ag-social-share-options ul li a { 
157        font-family: "Raleway Medium"; 
158        text-align: center; 
159        overflow: hidden; 
160        position: relative; 
161        white-space: normal; 
162        display: block; 
163        width: 100%; 
164        padding: 0.5rem 1.25rem; 
165        clear: both; 
166        font-weight: 400; 
167        color: #6B6C7E; 
168        background-color: transparent; 
169        border: 0; 
170
171 
172    .slick-slide img { 
173        display: unset; 
174
175 
176    div#ag-bab-slider .slick-list { 
177        overflow: unset!important; 
178        overflow-y: initial!important; 
179        overflow-x: clip!important; 
180
181 
182    div#ag-bab-slider ul.slick-dots { 
183        position: relative; 
184        bottom: 0; 
185
186 
187    @media screen and (max-width: 667px) { 
188        div.container { 
189            max-width: 100%; 
190            overflow-x: clip; 
191
192
193 
194    .ag-truncate-multiline-2 { 
195        display: -webkit-box; 
196        -webkit-line-clamp: 2; 
197        -webkit-box-orient: vertical; 
198        overflow: hidden; 
199
200</style> 
201 
202 
203 
204<#if serviceLocator?? > 
205    <#assign 
206        selectedLanguageId = themeDisplay.getLanguageId() 
207 
208        journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
209        articles = journalArticleLocalService.getStructureArticles(articlesGroupId, articlesStructureKey) 
210 
211        jsonFactoryUtil = serviceLocator.findService("com.liferay.portal.kernel.json.JSONFactoryUtil") 
212        portletFileRepositoryUtil = serviceLocator.findService("com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil") 
213 
214        articlesIds = [] 
215        articlesBarcelona = [] 
216    /> 
217 
218    <#list articles as article > 
219        <#if !article.isInTrash() && !article.isDraft() > 
220            <#assign 
221                articleId = article.getArticleId() 
222            /> 
223 
224            <#if articleId != "" && !article.isInTrash() && !article.isDraft() && !articlesIds?seq_contains(articleId) > 
225                <#assign articlesIds = articlesIds + [ articleId ] /> 
226            </#if> 
227 
228            <#assign 
229                articleLastVersionNum = journalArticleLocalService.getLatestVersion(articlesGroupId, articleId, articlesStatus) 
230                articleLastVersion = journalArticleLocalService.getArticle(articlesGroupId, articleId, articleLastVersionNum) 
231                document = saxReaderUtil.read(articleLastVersion.getContent()) 
232                eventCity = document.valueOf("//dynamic-element[@name='city']/dynamic-content/text()") 
233                eventDistrict = document.valueOf("//dynamic-element[@name='district']/dynamic-content/text()") 
234            /> 
235 
236            <#if eventCity?? && eventCity == "2" > 
237                <#if articleId != "" && !article.isInTrash() && !article.isDraft() && !articlesBarcelona?seq_contains(articleId) > 
238                    <#assign articlesBarcelona = articlesBarcelona + [ articleId ] /> 
239                </#if> 
240            </#if> 
241        </#if> 
242    </#list> 
243 
244    <#-- We get the Json for all the articles --> 
245    <#assign 
246        eventsJson = "[" 
247        eventsBarcelonaJson = "[" 
248    /> 
249 
250    <#list articlesIds as articleId > 
251        <#assign 
252            lastVersion = journalArticleLocalService.getLatestVersion(articlesGroupId, articleId, articlesStatus) 
253            article = journalArticleLocalService.getArticle(articlesGroupId, articleId, lastVersion) 
254            articleLastVersionNum = journalArticleLocalService.getLatestVersion(articlesGroupId, articleId, articlesStatus) 
255            articleLastVersion = journalArticleLocalService.getArticle(articlesGroupId, articleId, articleLastVersionNum) 
256 
257            document = saxReaderUtil.read(articleLastVersion.getContent()) 
258            eventTitleCat = document.valueOf("//dynamic-element[@name='title']/dynamic-content[@language-id='ca_ES']/text()") 
259            eventTitleEsp = document.valueOf("//dynamic-element[@name='title']/dynamic-content[@language-id='es_ES']/text()") 
260            eventTitleCatSanitized = eventTitleCat?replace("(\n)+", " ",'r') 
261            eventTitleCatSanitized = eventTitleCatSanitized?replace('<[^>]+>','','r') 
262            eventTitleCatSanitized = eventTitleCatSanitized?js_string 
263            eventTitleEspSanitized = eventTitleEsp?replace("(\n)+", " ",'r') 
264            eventTitleEspSanitized = eventTitleEspSanitized?replace('<[^>]+>','','r') 
265            eventTitleEspSanitized = eventTitleEspSanitized?js_string 
266            eventContent = document.valueOf("//dynamic-element[@name='content']/dynamic-content[@language-id='${selectedLanguageId}']/text()") 
267            eventContentSanitized = eventContent?replace("(\n)+", " ",'r') 
268            eventContentSanitized = eventContentSanitized?replace('<[^>]+>','','r') 
269            eventContentSanitized = eventContentSanitized?js_string 
270            eventDates = document.selectNodes( "//dynamic-element[@name='date_begin']") 
271            eventDateBegin = document.valueOf("//dynamic-element[@name='date_begin']/dynamic-content/text()") 
272            eventDateEnd = document.valueOf("//dynamic-element[@name='date_end']/dynamic-content/text()") 
273            eventAddressCat = document.valueOf("//dynamic-element[@name='address']/dynamic-content[@language-id='ca_ES']/text()") 
274            eventAddressEsp = document.valueOf("//dynamic-element[@name='address']/dynamic-content[@language-id='es_ES']/text()") 
275            eventAddressCatSanitized = eventAddressCat?replace("(\n)+", " ",'r') 
276            eventAddressCatSanitized = eventAddressCatSanitized?replace('<[^>]+>','','r') 
277            eventAddressCatSanitized = eventAddressCatSanitized?js_string 
278            eventAddressEspSanitized = eventAddressEsp?replace("(\n)+", " ",'r') 
279            eventAddressEspSanitized = eventAddressEspSanitized?replace('<[^>]+>','','r') 
280            eventAddressEspSanitized = eventAddressEspSanitized?js_string 
281            eventCityFinal = 0 
282            eventCities = document.selectNodes( "//dynamic-element[@name='city']") 
283            eventCity = document.valueOf("//dynamic-element[@name='city']/dynamic-content/text()") 
284            eventDistrictFinal = 0 
285            eventDistricts = document.selectNodes( "//dynamic-element[@name='district']") 
286            eventDistrict = document.valueOf("//dynamic-element[@name='district']/dynamic-content/text()") 
287 
288            eventSliderImgs = document.valueOf("//dynamic-element[@name='slider_image']") 
289            eventSliderImgsCount = eventSliderImgs?split("fileEntryId")?size - 1 
290 
291            eventListImgs = document.valueOf("//dynamic-element[@name='list_image']") 
292            eventListImgsCount = eventListImgs?split("fileEntryId")?size - 1 
293 
294            eventDatesJson = "[" 
295            eventCitiesJson = "[" 
296            eventDistrictsJson = "[" 
297        /> 
298 
299        <#list eventDates as eventDate> 
300            <#if eventDate.valueOf( "dynamic-content")??> 
301                <#assign 
302                    eventDateBegin = eventDate.valueOf( "dynamic-content")?trim 
303                    eventDateEnd = eventDate.valueOf("dynamic-element[@name='date_end']/dynamic-content/text()")?trim 
304                    eventDateJson = '{ 
305                                        "dateBegin": "${eventDateBegin}", 
306                                        "dateEnd": "${eventDateEnd}" 
307                                      }' 
308                /> 
309 
310                <#if eventDate?has_next > 
311                    <#assign eventDateJson = eventDateJson + ',' > 
312                </#if> 
313 
314                <#assign eventDatesJson = eventDatesJson + eventDateJson > 
315            </#if> 
316        </#list> 
317 
318        <#list eventCities as eventCity> 
319            <#if eventCity.valueOf("dynamic-content")??> 
320 
321                <#assign 
322                    eventCityValue = eventCity.valueOf("dynamic-content")?trim 
323                /> 
324 
325                <#assign eventCitiesJson = eventCitiesJson + eventCityValue > 
326 
327                <#if eventCity?has_next > 
328                    <#assign eventCitiesJson = eventCitiesJson + ',' > 
329                </#if> 
330            </#if> 
331        </#list> 
332 
333        <#list eventDistricts as eventDistrict> 
334            <#if eventDistrict.valueOf("dynamic-content")??> 
335 
336                <#assign 
337                    eventDistrictValue = eventDistrict.valueOf("dynamic-content")?trim 
338                /> 
339 
340                <#assign eventDistrictsJson = eventDistrictsJson + eventDistrictValue > 
341 
342                <#if eventDistrict?has_next > 
343                    <#assign eventDistrictsJson = eventDistrictsJson + ',' > 
344                </#if> 
345            </#if> 
346        </#list> 
347 
348        <#assign 
349            eventDatesJson = eventDatesJson + "]" 
350            eventCitiesJson = eventCitiesJson + "]" 
351            eventDistrictsJson = eventDistrictsJson + "]" 
352        /> 
353 
354        <#if eventSliderImgsCount == 2 > <#-- We get the image in the right language --> 
355            <#assign 
356                eventSliderImg = document.valueOf("//dynamic-element[@name='slider_image']/dynamic-content[@language-id='${selectedLanguageId}']/text()") 
357            /> 
358        <#elseif eventSliderImgsCount == 1> <#-- We get the unlocalized image --> 
359            <#assign 
360                eventSliderImg = document.valueOf("//dynamic-element[@name='slider_image']/dynamic-content/text()") 
361            /> 
362        </#if> 
363 
364        <#assign 
365            jsonObjectSliderImg = jsonFactoryUtil.createJSONObject(eventSliderImg) 
366            fileEntryIdSliderImg = jsonObjectSliderImg.getLong("fileEntryId") 
367            fileEntrySliderImg = "" 
368            eventSliderImgPath = "" 
369            eventListImg = "" 
370        /> 
371 
372        <#if eventListImgsCount == 2 > <#-- We get the image in the right language --> 
373            <#assign 
374                eventListImg = document.valueOf("//dynamic-element[@name='list_image']/dynamic-content[@language-id='${selectedLanguageId}']/text()") 
375            /> 
376        <#elseif eventListImgsCount == 1> <#-- We get the unlocalized image --> 
377            <#assign 
378                eventListImg = document.valueOf("//dynamic-element[@name='list_image']/dynamic-content/text()") 
379            /> 
380        </#if> 
381 
382        <#assign 
383            jsonObjectListImg = jsonFactoryUtil.createJSONObject(eventListImg) 
384            fileEntryIdListImg = jsonObjectListImg.getLong("fileEntryId") 
385            fileEntryListImg = "" 
386            eventListImgPath = "" 
387        /> 
388 
389        <#if eventCity != "" > 
390            <#assign eventCityFinal = eventCity > 
391        </#if> 
392 
393        <#if eventDistrict != "" > 
394            <#assign eventDistrictFinal = eventDistrict > 
395        </#if> 
396 
397        <#if fileEntryIdSliderImg != 0 > 
398            <#assign 
399                fileEntrySliderImg = portletFileRepositoryUtil.getPortletFileEntry(fileEntryIdSliderImg) 
400                eventSliderImgPath = portletFileRepositoryUtil.getPortletFileEntryURL(themeDisplay, fileEntrySliderImg.getLatestFileVersion(true).getFileEntry(), "", true) 
401
402        </#if> 
403 
404        <#if fileEntryIdListImg != 0 > 
405            <#assign 
406                fileEntryListImg = portletFileRepositoryUtil.getPortletFileEntry(fileEntryIdListImg) 
407                eventListImgPath = portletFileRepositoryUtil.getPortletFileEntryURL(themeDisplay, fileEntryListImg.getLatestFileVersion(true).getFileEntry(), "", true) 
408
409        </#if> 
410 
411        <#assign 
412            eventTitle = '{ 
413                            "ca_ES": "${eventTitleCatSanitized}", 
414                            "es_ES": "${eventTitleEspSanitized}" 
415                          }' 
416 
417            eventAddress = '{ 
418                            "ca_ES": "${eventAddressCatSanitized}", 
419                            "es_ES": "${eventAddressEspSanitized}" 
420                          }' 
421        /> 
422 
423        <#assign eventJson = '{ 
424                                "id": ${articleId}, 
425                                "title": ${eventTitle}, 
426                                "content": "${eventContentSanitized}", 
427                                "dateBegin": "${eventDateBegin}", 
428                                "dateEnd": "${eventDateEnd}", 
429                                "dates": ${eventDatesJson}, 
430                                "address": ${eventAddress}, 
431                                "city": ${eventCityFinal}, 
432                                "cities": ${eventCitiesJson}, 
433                                "district": ${eventDistrictFinal}, 
434                                "districts": ${eventDistrictsJson}, 
435                                "sliderImgPath": "${eventSliderImgPath}", 
436                                "listImgPath": "${eventListImgPath}" 
437                              }' > 
438 
439        <#assign eventsJson = eventsJson + eventJson > 
440 
441        <#if eventCity == "2" > 
442            <#assign eventsBarcelonaJson = eventsBarcelonaJson + eventJson > 
443            <#assign eventsBarcelonaJson = eventsBarcelonaJson + ',' > 
444        </#if> 
445 
446        <#if articleId?has_next > 
447            <#assign eventsJson = eventsJson + ',' > 
448        </#if> 
449 
450    </#list> 
451 
452    <#assign 
453        eventsJson = eventsJson + "]" 
454        eventsBarcelonaJson = eventsBarcelonaJson + "]" 
455    /> 
456</#if> 
457 
458 
459<div class="container" id="ag-bab-slider-info"> 
460    <div class="row mb-4"> 
461        <div class="col-12"> 
462            <hr class="bab-hr"> 
463        </div> 
464    </div> 
465    <div class="row"> 
466        <div class="col-12"> 
467            <span class="ag-bab-events-title" id="ag-bab-events-title"> 
468            </span> 
469            <span class="ag-bab-events-subtitle" id="ag-bab-events-subtitle"> 
470            </span> 
471        </div> 
472    </div> 
473</div> 
474 
475<div class="ag-bab-slider mt-4" id="ag-bab-slider"> 
476</div> 
477 
478<div style="margin-bottom: 100px"> 
479</div> 
480 
481<script> 
482    function getCityNameByID(cityID) { 
483        var cityName = ""; 
484 
485        switch (cityID) { 
486            case 1: 
487                cityName = "Badalona"; 
488                break; 
489 
490            case 2: 
491                cityName = "Barcelona"; 
492                break; 
493 
494            case 3: 
495                cityName = "Begues"; 
496                break; 
497 
498            case 4: 
499                cityName = "Castelldefels"; 
500                break; 
501 
502            case 5: 
503                cityName = "Cerdanyola del Vallès"; 
504                break; 
505 
506            case 6: 
507                cityName = "Cornellà de Llobregat"; 
508                break; 
509 
510            case 7: 
511                cityName = "El Papiol"; 
512                break; 
513 
514            case 8: 
515                cityName = "Esplugues de Llobregat"; 
516                break; 
517 
518            case 9: 
519                cityName = "Gavà"; 
520                break; 
521 
522            case 10: 
523                cityName = "L’Hospitalet de Llobregat"; 
524                break; 
525 
526            case 11: 
527                cityName = "Montcada i Reixac"; 
528                break; 
529 
530            case 12: 
531                cityName = "Montgat"; 
532                break; 
533 
534            case 13: 
535                cityName = "Pallejà"; 
536                break; 
537 
538            case 14: 
539                cityName = "Sant Adrià de Besòs"; 
540                break; 
541 
542            case 15: 
543                cityName = "Sant Boi de Llobregat"; 
544                break; 
545 
546            case 16: 
547                cityName = "Sant Climent de Llobregat"; 
548                break; 
549 
550            case 17: 
551                cityName = "Sant Feliu de Llobregat"; 
552                break; 
553 
554            case 18: 
555                cityName = "Sant Joan Despí"; 
556                break; 
557 
558            case 19: 
559                cityName = "Sant Just Desvern"; 
560                break; 
561 
562            case 20: 
563                cityName = "Santa Coloma de Cervelló"; 
564                break; 
565 
566            case 21: 
567                cityName = "Santa Coloma de Gramenet"; 
568                break; 
569 
570            case 22: 
571                cityName = "Torrelles de Llobregat"; 
572                break; 
573 
574            case 23: 
575                cityName = "Viladecans"; 
576                break; 
577
578 
579        return cityName; 
580
581 
582    function getDistrictNameByID(districtID) { 
583        var districtName = ""; 
584 
585        switch (districtID) { 
586            case 1: 
587                districtName = "Ciutat Vella"; 
588                break; 
589 
590            case 2: 
591                districtName = "Eixample"; 
592                break; 
593 
594            case 3: 
595                districtName = "Gràcia"; 
596                break; 
597 
598            case 4: 
599                districtName = "Horta - Guinardó"; 
600                break; 
601 
602            case 5: 
603                districtName = "Les Corts"; 
604                break; 
605 
606            case 6: 
607                districtName = "Nou Barris"; 
608                break; 
609 
610            case 7: 
611                districtName = "Sant Andreu"; 
612                break; 
613 
614            case 8: 
615                districtName = "Sant Martí"; 
616                break; 
617 
618            case 9: 
619                districtName = "Sants - Montjuïc"; 
620                break; 
621 
622            case 10: 
623                districtName = "Sarrià - Sant Gervasi"; 
624                break; 
625
626 
627        return districtName; 
628
629 
630    function initSlider(events, showDots) { 
631        $(function () { 
632            $("#ag-bab-slider").slick({ 
633                dots: showDots, 
634                arrows: false, 
635                focusOnSelect: true, 
636                autoplay: true, 
637                autoplaySpeed: 5000, 
638                adaptiveHeight: true 
639            }); 
640        }); 
641
642 
643    function getSliderEvents() { 
644        var sliderEvents = []; 
645 
646        if (eventsByPlace.length > 0) { // If there are events for the current place 
647            sliderEvents = eventsByPlace; 
648        } else if (eventsBarcelona.length > 0) { // If there aren't events for the current place but there are for Barcelona 
649            sliderEvents = eventsBarcelona; 
650
651 
652        return sliderEvents; 
653
654 
655    function getSliderEventsHTML() { 
656        var sliderEventsHTML = ""; 
657 
658        for (var counter = 0; counter < sliderEvents.length; counter++) { 
659            sliderEventsHTML += getSliderEventHTML(sliderEvents[counter]); 
660
661 
662        return sliderEventsHTML; 
663
664 
665    function getEventsByPlace(placeType, placeID) { 
666        var eventsByPlace = []; 
667 
668        for (var counter = 0; counter < allEvents.length; counter++) { 
669            var event = allEvents[counter]; 
670 
671            if (showOnlyFutureEvents && eventIsOver(event)) { 
672                continue; 
673
674 
675            if (placeType === "city" && event.hasOwnProperty("cities") && Array.isArray(event.cities) && event.cities.includes(placeID)) { 
676                eventsByPlace.push(event); 
677            } else if (placeType === "district" && event.hasOwnProperty("districts") && Array.isArray(event.districts) && event.districts.includes(placeID)) { 
678                eventsByPlace.push(event); 
679
680
681 
682        return eventsByPlace; 
683
684 
685    function getEventsBarcelona() { 
686        var eventsBarcelona = []; 
687 
688        for (var counter = 0; counter < allEvents.length; counter++) { 
689            var event = allEvents[counter]; 
690 
691            if (showOnlyFutureEvents && eventIsOver(event)) { 
692                continue; 
693
694 
695            if ((event.hasOwnProperty("cities") && Array.isArray(event.cities) && event.cities.includes(2)) || 
696                (event.hasOwnProperty("districts") && Array.isArray(event.districts) && event.districts.length > 0) ) { 
697                eventsBarcelona.push(event); 
698
699
700 
701        return eventsBarcelona; 
702
703 
704    function eventIsOver(event) { 
705        var eventIsOver = false; 
706        var currentDate = new Date(); 
707 
708        if (!event.hasOwnProperty("dates") || event.dates.length === 0) { 
709            return eventIsOver; 
710
711 
712        // If event has only one date 
713        if (event.dates.length === 1) { 
714            if (dateHasEnd(event.dates[0])) { 
715                var dateBegin = Date.parse(event.dates[0].dateBegin); 
716                var dateEnd = Date.parse(event.dates[0].dateEnd); 
717 
718                var dateToCompare = dateBegin; 
719                if (dateBegin < dateEnd) { 
720                    dateToCompare = dateEnd; 
721
722 
723                if (dateToCompare < currentDate) { 
724                    eventIsOver = true; 
725
726
727
728 
729        // If event has more than one date 
730        if (event.dates.length > 1) { 
731            if (!eventHasAtLeastOneCurrentOrFutureDate(event)) { 
732                eventIsOver = true; 
733
734
735 
736        return eventIsOver; 
737
738 
739    function eventHasAtLeastOneCurrentOrFutureDate(event) { 
740        var eventHasAtLeastOneCurrentOrFutureDate = false; 
741        var currentDate = getCurrentDateParsed(); 
742 
743        for (var counter = 0; counter < event.dates.length; counter++) { 
744            var dateBegin = Date.parse(event.dates[counter].dateBegin); 
745            var dateToCompare = dateBegin; 
746 
747            // If current date has only a date begin 
748            if (!dateHasEnd(event.dates[counter])) { 
749                // If the date begin is equals or greather than the current date 
750                if (dateToCompare >= currentDate) { 
751                    eventHasAtLeastOneCurrentOrFutureDate = true; 
752                    return eventHasAtLeastOneCurrentOrFutureDate; 
753
754
755 
756            if (dateHasEnd(event.dates[counter])) { // If current date has a date end 
757                var dateEnd = Date.parse(event.dates[counter].dateEnd); 
758 
759                if (dateBegin < dateEnd) { 
760                    dateToCompare = dateEnd; 
761
762 
763                if (dateToCompare >= currentDate) { 
764                    eventHasAtLeastOneCurrentOrFutureDate = true; 
765                    return eventHasAtLeastOneCurrentOrFutureDate; 
766
767
768
769 
770        return eventHasAtLeastOneCurrentOrFutureDate; 
771
772 
773    function getCurrentDateParsed() { 
774        var currentDate = new Date(); 
775        var currentDateYear = currentDate.getFullYear(); 
776        var currentDateMonth = "" + (currentDate.getMonth() + 1); 
777        var currentDateDay = "" + currentDate.getDate(); 
778        var currentDateString = currentDateYear + "-" + currentDateMonth + "-" + currentDateDay; 
779        var currentDateParsed = Date.parse(currentDateString); 
780 
781        return currentDateParsed; 
782
783 
784    function dateHasEnd(date) { 
785        var dateHasEnd = false; 
786 
787        if (date.hasOwnProperty("dateEnd") && date.dateEnd.length === 10) { 
788            dateHasEnd = true; 
789
790 
791        return dateHasEnd; 
792
793 
794    function setSliderEventsHTML(sliderEventsHTML) { 
795        $("#ag-bab-slider").html(sliderEventsHTML); 
796
797 
798    function getSliderEventHTML(article) { 
799        var sliderEventHTML = sliderComponent; 
800 
801        sliderEventHTML = sliderEventHTML.replace(/{{id}}/gi, article.id); 
802 
803        var articleTitle = getSliderEventTitle(article); 
804 
805        sliderEventHTML = sliderEventHTML.replace(/{{title}}/gi, articleTitle); 
806 
807        var articleAddress = ""; 
808        var articleAddressContainer = ""; 
809 
810        if (article.hasOwnProperty("address") && article.address.hasOwnProperty("ca_ES") && article.address.hasOwnProperty("es_ES")) { 
811            if (article.address.es_ES !== "" && currentLang === "es_ES") { 
812                articleAddress = article.address.es_ES; 
813            } else if (article.address.ca_ES !== "" && currentLang === "ca_ES") { 
814                articleAddress = article.address.ca_ES; 
815            } else if (article.address.ca_ES === "" && article.address.es_ES === "") { 
816                articleAddressContainer = "style='display: none'"; 
817
818
819 
820        var articleListImgPath = getListImgPathByEvent(article); 
821        sliderEventHTML = sliderEventHTML.replace(/{{address}}/gi, articleAddress); 
822        sliderEventHTML = sliderEventHTML.replace(/{{addressContainer}}/gi, articleAddressContainer); 
823        //sliderEventHTML = sliderEventHTML.replace(/{{cityName}}/gi, article.cityName); 
824        sliderEventHTML = sliderEventHTML.replace(/{{cityName}}/gi, getCityNameByID(article.city)); 
825        var date = getDateByEvent(article); 
826        sliderEventHTML = sliderEventHTML.replace(/{{date}}/gi, date); 
827        sliderEventHTML = sliderEventHTML.replace(/{{image}}/gi, "'" + articleListImgPath + "'"); 
828        var moreInfoText = getTranslatedString("Més informació"); 
829        sliderEventHTML = sliderEventHTML.replace(/{{moreInfoText}}/gi, moreInfoText); 
830 
831        return sliderEventHTML; 
832
833 
834    function getSliderEventTitle(article) { 
835        var articleTitle = ""; 
836        var articleTitleCat = ""; 
837        var articleTitleEsp = ""; 
838        if (article.hasOwnProperty("title") && article.title.hasOwnProperty("ca_ES") && article.title.hasOwnProperty("es_ES")) { 
839            if (article.title.ca_ES !== "") { 
840                articleTitleCat = article.title.ca_ES; 
841
842 
843            if (article.title.es_ES !== "") { 
844                articleTitleEsp = article.title.es_ES; 
845
846 
847            if (articleTitleCat !== "" && currentLang === "ca_ES") { 
848                articleTitle = articleTitleCat; 
849            } else if (articleTitleEsp !== "") { 
850                articleTitle = articleTitleEsp; 
851
852 
853            if (articleTitleEsp !== "" && currentLang === "es_ES") { 
854                articleTitle = articleTitleEsp; 
855            } else if (articleTitleCat !== "") { 
856                articleTitle = articleTitleCat; 
857
858
859 
860        return articleTitle; 
861
862 
863 
864    function setInfoMessage() { 
865        var eventsInfoContainerSelector = "#ag-bab-slider-info"; 
866        var eventsInfoTitleSelector = "#ag-bab-events-title"; 
867        var eventsInfoSubtitleSelector = "#ag-bab-events-subtitle"; 
868 
869        var eventsInfoTitle = ""; 
870        var eventsInfoSubtitle = ""; 
871 
872        if (currentPlaceType === "city") { 
873            eventsInfoTitle = getTranslatedString("Pròxims esdeveniments prop del teu municipi"); 
874        } else if (currentPlaceType === "district") { 
875            eventsInfoTitle = getTranslatedString("Pròxims esdeveniments prop del teu barri"); 
876
877 
878        var showInfoMessage = false; 
879        if (eventsByPlace.length === 0 && eventsBarcelona.length === 0) { // If there aren't events for the place nor Barcelona 
880            if (currentPlaceType === "city") { 
881                eventsInfoSubtitle = getTranslatedString("Actualment, en aquest municipi no hi ha esdeveniments programats."); 
882            } else if (currentPlaceType === "district") { 
883                eventsInfoSubtitle = getTranslatedString("Actualment, en aquest barri no hi ha esdeveniments programats."); 
884
885 
886            showInfoMessage = true; 
887        } else if (eventsByPlace.length === 0 && eventsBarcelona.length > 0) { // If there aren't events for the place but there are for Barcelona 
888            eventsInfoSubtitle = getTranslatedString("No hi ha esdeveniments propers. A continuació t’indiquem els pròxims esdeveniments de Barcelona per si et poden interessar."); 
889            showInfoMessage = true; 
890
891 
892        $(eventsInfoTitleSelector).html(eventsInfoTitle); 
893        $(eventsInfoSubtitleSelector).html(eventsInfoSubtitle); 
894 
895        if (showInfoMessage) { 
896            $(eventsInfoContainerSelector).show(); 
897
898
899 
900    function getDateByEvent(event) { 
901        var dateByEvent = ""; 
902 
903        if (event.hasOwnProperty("dates") && Array.isArray(event.dates) && event.dates.length > 0) { 
904            if (event.dates[0].hasOwnProperty("dateBegin") && event.dates[0].dateBegin.length === 10) { 
905                dateByEvent = getFormattedDate(event.dates[0].dateBegin); 
906
907 
908            if (event.dates.length > 1) { 
909                dateByEvent = getTranslatedString("Diverses dates"); 
910
911 
912            if (event.dates.length === 1 && event.dates[0].hasOwnProperty("dateBegin") && event.dates[0].dateBegin.length === 10 && event.dates[0].hasOwnProperty("dateEnd") && event.dates[0].dateEnd.length === 10) { 
913                var dateBegin = Date.parse(event.dates[0].dateBegin); 
914                var dateEnd = Date.parse(event.dates[0].dateEnd); 
915 
916                if (dateBegin < dateEnd) { 
917                    dateByEvent = getFormattedDate(event.dates[0].dateBegin) + " - " + getFormattedDate(event.dates[0].dateEnd); 
918
919
920
921 
922        return dateByEvent; 
923
924 
925    function getListImgPathByEvent(event) { 
926        var listImgPath = ""; 
927 
928        var listImagePath = ""; 
929        var sliderFirstImagePath = ""; 
930 
931        if (event.hasOwnProperty("listImgPath") && event.listImgPath !== "") { 
932            listImagePath = event.listImgPath; 
933
934 
935        if (event.hasOwnProperty("sliderImgPath") && event.sliderImgPath !== "") { 
936            sliderFirstImagePath = event.sliderImgPath; 
937
938 
939        if (sliderFirstImagePath !== "") { 
940            listImgPath = sliderFirstImagePath; 
941
942 
943        if (listImagePath !== "") { 
944            listImgPath = listImagePath; 
945
946 
947        return listImgPath; 
948
949 
950    function getTranslatedString(str) { 
951        var translatedString = str; 
952 
953        if (currentLang === "es_ES") { 
954            switch(str.toLowerCase()) { 
955                case "més informació": 
956                    translatedString = "Más información"; 
957                    break; 
958 
959                case "pròxims esdeveniments prop del teu municipi": 
960                    translatedString = "Próximos eventos cerca de tu municipio"; 
961                    break; 
962 
963                case "pròxims esdeveniments prop del teu barri": 
964                    translatedString = "Próximos eventos cerca de tu barrio"; 
965                    break; 
966 
967                case "actualment, en aquest barri no hi ha esdeveniments programats.": 
968                    translatedString = "Actualmente, en este barrio no hay eventos programados."; 
969                    break; 
970 
971                case "no hi ha esdeveniments propers. a continuació t’indiquem els pròxims esdeveniments de barcelona per si et poden interessar.": 
972                    translatedString = "No hay eventos próximos. A continuación te indicamos los próximos eventos de Barcelona por si te pueden interesar."; 
973                    break; 
974 
975                case "actualment, en aquest municipi no hi ha esdeveniments programats.": 
976                    translatedString = "Actualmente, en este municipio no hay eventos programados."; 
977                    break; 
978 
979                case "diverses dates": 
980                    translatedString = "Varias fechas"; 
981                    break; 
982 
983
984
985 
986        return translatedString; 
987
988 
989    function getPlaceIDFromURL() { 
990        var placeIDFromURL = 0; 
991 
992        var currentURL = getCurrentURL(); 
993 
994        if (currentURL.includes("badalona")) { // Cities 
995            placeIDFromURL = 1; 
996        } else if (currentURL.includes("begues")) { 
997            placeIDFromURL = 3; 
998        } else if (currentURL.includes("castelldefels")) { 
999            placeIDFromURL = 4; 
1000        } else if (currentURL.includes("cerdanyola")) { 
1001            placeIDFromURL = 5; 
1002        } else if (currentURL.includes("cornella")) { 
1003            placeIDFromURL = 6; 
1004        } else if (currentURL.includes("papiol")) { 
1005            placeIDFromURL = 7; 
1006        } else if (currentURL.includes("esplugues")) { 
1007            placeIDFromURL = 8; 
1008        } else if (currentURL.includes("gava")) { 
1009            placeIDFromURL = 9; 
1010        } else if (currentURL.includes("hospitalet")) { 
1011            placeIDFromURL = 10; 
1012        } else if (currentURL.includes("montcada")) { 
1013            placeIDFromURL = 11; 
1014        } else if (currentURL.includes("montgat")) { 
1015            placeIDFromURL = 12; 
1016        } else if (currentURL.includes("palleja")) { 
1017            placeIDFromURL = 13; 
1018        } else if (currentURL.includes("besos")) { 
1019            placeIDFromURL = 14; 
1020        } else if (currentURL.includes("sant-boi")) { 
1021            placeIDFromURL = 15; 
1022        } else if (currentURL.includes("climent")) { 
1023            placeIDFromURL = 16; 
1024        } else if (currentURL.includes("sant-feliu-de-llobregat")) { 
1025            placeIDFromURL = 17; 
1026        } else if (currentURL.includes("despi")) { 
1027            placeIDFromURL = 18; 
1028        } else if (currentURL.includes("desvern")) { 
1029            placeIDFromURL = 19; 
1030        } else if (currentURL.includes("cervello")) { 
1031            placeIDFromURL = 20; 
1032        } else if (currentURL.includes("gramenet")) { 
1033            placeIDFromURL = 21; 
1034        } else if (currentURL.includes("torrelles")) { 
1035            placeIDFromURL = 22; 
1036        } else if (currentURL.includes("viladecans")) { 
1037            placeIDFromURL = 23; 
1038        } else if (currentURL.includes("ciutat-vella")) { // Districts 
1039            placeIDFromURL = 1; 
1040        } else if (currentURL.includes("eixample")) { 
1041            placeIDFromURL = 2; 
1042        } else if (currentURL.includes("gracia")) { 
1043            placeIDFromURL = 3; 
1044        } else if (currentURL.includes("guinardo")) { 
1045            placeIDFromURL = 4; 
1046        } else if (currentURL.includes("corts")) { 
1047            placeIDFromURL = 5; 
1048        } else if (currentURL.includes("barris")) { 
1049            placeIDFromURL = 6; 
1050        } else if (currentURL.includes("andreu")) { 
1051            placeIDFromURL = 7; 
1052        } else if (currentURL.includes("marti")) { 
1053            placeIDFromURL = 8; 
1054        } else if (currentURL.includes("montjuic")) { 
1055            placeIDFromURL = 9; 
1056        } else if (currentURL.includes("gervasi")) { 
1057            placeIDFromURL = 10; 
1058
1059 
1060        return placeIDFromURL; 
1061
1062 
1063    function getCurrentURL() { 
1064        var currentURL = window.location.pathname; 
1065        currentURL = currentURL.toString().toLowerCase(); 
1066 
1067        return currentURL; 
1068
1069 
1070    function getCurrentPlaceType() { 
1071        var currentPlaceType = ""; 
1072 
1073        if (isCurrentPlaceACity()) { 
1074            currentPlaceType = "city"; 
1075        } else if (isCurrentPlaceADistrict()) { 
1076            currentPlaceType = "district"; 
1077
1078 
1079        return currentPlaceType; 
1080
1081 
1082    function isCurrentPlaceACity() { 
1083        var isCurrentPlaceACity = false; 
1084 
1085        var currentURL = getCurrentURL(); 
1086 
1087        if ( 
1088            currentURL.includes("badalona") || 
1089            currentURL.includes("begues") || 
1090            currentURL.includes("castelldefels") || 
1091            currentURL.includes("cerdanyola") || 
1092            currentURL.includes("cornella") || 
1093            currentURL.includes("papiol") || 
1094            currentURL.includes("esplugues") || 
1095            currentURL.includes("gava") || 
1096            currentURL.includes("hospitalet") || 
1097            currentURL.includes("montcada") || 
1098            currentURL.includes("montgat") || 
1099            currentURL.includes("palleja") || 
1100            currentURL.includes("besos") || 
1101            currentURL.includes("sant-boi") || 
1102            currentURL.includes("climent") || 
1103            currentURL.includes("sant-feliu-de-llobregat") || 
1104            currentURL.includes("despi") || 
1105            currentURL.includes("desvern") || 
1106            currentURL.includes("cervello") || 
1107            currentURL.includes("gramenet") || 
1108            currentURL.includes("torrelles") || 
1109            currentURL.includes("viladecans") 
1110           ) { 
1111            isCurrentPlaceACity = true; 
1112
1113 
1114        return isCurrentPlaceACity; 
1115
1116 
1117    function isCurrentPlaceADistrict() { 
1118        var isCurrentPlaceADistrict = false; 
1119 
1120        var currentURL = getCurrentURL(); 
1121 
1122        if ( 
1123            currentURL.includes("ciutat-vella") || 
1124            currentURL.includes("eixample") || 
1125            currentURL.includes("gracia") || 
1126            currentURL.includes("guinardo") || 
1127            currentURL.includes("corts") || 
1128            currentURL.includes("barris") || 
1129            currentURL.includes("andreu") || 
1130            currentURL.includes("marti") || 
1131            currentURL.includes("montjuic") || 
1132            currentURL.includes("gervasi") 
1133           ) { 
1134            isCurrentPlaceADistrict = true; 
1135
1136 
1137        return isCurrentPlaceADistrict; 
1138
1139 
1140    function getFormattedDate(date) { 
1141    	var formattedDate = date; 
1142    	var dateSeparator = "/"; 
1143 
1144    	var dateArray = date.split("-"); 
1145 
1146    	if ( dateArray.length !== 3 || 
1147   			(dateArray[0].length !== 4 || dateArray[1].length !== 2 || dateArray[2].length !== 2) ) { 
1148    		return date; 
1149
1150 
1151    	var year = dateArray[0].toString(); 
1152    	var month = dateArray[1].toString(); 
1153    	var day = dateArray[2].toString(); 
1154 
1155    	if (year.length === 4 && month.length === 2 && month.length === 2) { 
1156    		formattedDate = day + dateSeparator + month + dateSeparator + year; 
1157
1158 
1159    	return formattedDate; 
1160
1161 
1162    function toggleShareVisibility(elementID) { 
1163        var elementSelector = "#" + elementID; 
1164        var sliderContainerSelector = "div.slick-list"; 
1165        var sliderDotsContainerSelector = "ul.slick-dots"; 
1166        $("div.ag-social-share-options").not(elementSelector).hide(); 
1167 
1168        if( $(elementSelector).is(":visible") ) { 
1169            $(elementSelector).hide(); 
1170            $(sliderDotsContainerSelector).show(); 
1171        } else { 
1172            $(elementSelector).show(); 
1173            $(sliderDotsContainerSelector).hide(); 
1174
1175
1176 
1177    function shareLink(socialNetwork, articleId, linkElement) { 
1178        var shareURL = ""; 
1179        var linkURL = portalURL + getEventURL(articleId); 
1180        var articleTitle = ""; 
1181 
1182        if (linkURL === "") { 
1183            return; 
1184
1185 
1186        if ($(linkElement).attr("data-event-title") !== "") { 
1187            articleTitle = encodeURIComponent( $(linkElement).attr("data-event-title") ); 
1188
1189 
1190        switch (socialNetwork) { 
1191            case "twitter": 
1192                shareURL = "https://twitter.com/intent/tweet?text=" + articleTitle + "&tw_p=tweetbutton&url=" + linkURL; 
1193                break; 
1194 
1195            case "facebook": 
1196                shareURL = "https://www.facebook.com/sharer/sharer.php?u=" + linkURL; 
1197                break; 
1198 
1199            case "linkedin": 
1200                shareURL = "http://www.linkedin.com/shareArticle?&title=" + articleTitle + "&mini=true&url=" + linkURL + "&summary="; 
1201                break; 
1202
1203 
1204        var w = window.open(shareURL, "popupWindow", "width=600, height=400, scrollbars=yes"); 
1205        $("#" + "ag-social-share-" + articleId).hide(); 
1206
1207 
1208    function goToDetail(eventId) { 
1209        var eventURL = getEventURL(eventId); 
1210    	window.location.href = eventURL; 
1211
1212 
1213    function getEventURL(eventId) { 
1214        //var eventURL = "/c/portal/layout?p_l_id=878081&p_p_id=" + portletId + "&_" + portletId + "_jspPage=%2Fdetail.jsp&_" + portletId + "_eventId=" + eventId; // Local 
1215        //var eventURL = "/c/portal/layout?p_l_id=2302529&p_p_id=" + portletId + "&_" + portletId + "_jspPage=%2Fdetail.jsp&_" + portletId + "_eventId=" + eventId; // Int 
1216        var eventURL = "/c/portal/layout?p_l_id=1892927&p_p_id=" + portletId + "&_" + portletId + "_jspPage=%2Fdetail.jsp&_" + portletId + "_eventId=" + eventId; // Pro 
1217 
1218        if (currentLang === "/es") { 
1219            eventURL = "/es" + eventURL; 
1220
1221 
1222        eventURL = portalURL + eventURL; 
1223 
1224    	return eventURL; 
1225
1226 
1227    function getPortletURLByEventId(eventId) { 
1228    	var portletURL = new Liferay.PortletURL(); 
1229		portletURL.setPortletId(portletId); 
1230    	portletURL.setParameter("jspPage", "/detail.jsp"); 
1231    	portletURL.setParameter("eventId", eventId); 
1232 
1233    	return portletURL; 
1234
1235 
1236    var sliderComponent = `<div> 
1237                              <div class="container"> 
1238                                  <div class="row"> 
1239                                      <div class="col-12 ag-content-container-event"> 
1240                                          <div class="row"> 
1241                                              <div class="col-12"> 
1242                                                  <div class="ag-content-container-event-image" style="background-image: url({{image}});"> 
1243                                                      <div class="ag-content-container-event-image-overflow"> 
1244                                                          <div class="ag-city-container"> 
1245                                                              <span class="ag-city">{{cityName}}</span> 
1246                                                          </div> 
1247                                                          <div class="ag-address-container" {{addressContainer}}> 
1248                                                              <span class="ag-address" title="{{address}}">{{address}}</span> <img src="/o/com.aguas.barcelona.cms.agenda/img/icon_pin.png" alt="" class="ag-icon-pin" /> 
1249                                                          </div> 
1250                                                          <div class="ag-city-container"> 
1251                                                              <span class="ag-date" title="{{date}}">{{date}}</span> 
1252                                                          </div> 
1253                                                      </div> 
1254                                                  </div> 
1255                                              </div> 
1256                                          </div> 
1257                                          <div class="row"> 
1258                                              <div class="col-12"> 
1259                                                  <div class="container ag-list-event-title-container"> 
1260                                                      <div class="row"> 
1261                                                          <div class="col-10 px-0"> 
1262                                                              <a class="ag-list-event-link" href="javascript:void(0)" onclick="goToDetail({{id}})"> 
1263                                                                  <span class="ag-list-event-title ag-truncate-multiline-2" title="{{title}}">{{title}}</span> 
1264                                                              </a> 
1265                                                          </div> 
1266                                                          <div class="col-2 px-0 ag-list-event-share-container"> 
1267                                                              <a href="javascript:void(0)" onclick="toggleShareVisibility('ag-social-share-{{id}}')"> 
1268                                                                  <img src="/o/com.aguas.barcelona.cms.agenda/img/icon_share.png" name="ag-list-icon-share" class="ag-list-icon-share" alt="Compartir" /> 
1269                                                              </a> 
1270                                                              <div class="ag-social-share-options" ref="menu" name="ag-social-share-options" id="ag-social-share-{{id}}" style="display: none"> 
1271                                                                  <ul> 
1272                                                                      <li tabindex="-1"> 
1273                                                                          <a data-event-title="{{title}}" href="javascript:void(0)" onclick="shareLink('twitter', {{id}}, this)">Twitter</a> 
1274                                                                      </li> 
1275                                                                      <li tabindex="-1"> 
1276                                                                          <a data-event-title="{{title}}" href="javascript:void(0)" onclick="shareLink('facebook', {{id}}, this)">Facebook</a> 
1277                                                                      </li> 
1278                                                                      <li tabindex="-1"> 
1279                                                                          <a data-event-title="{{title}}" href="javascript:void(0)" onclick="shareLink('linkedin', {{id}}, this)">LinkedIn</a> 
1280                                                                      </li> 
1281                                                                  </ul> 
1282                                                              </div> 
1283                                                          </div> 
1284                                                      </div> 
1285                                                  </div> 
1286                                              </div> 
1287                                          </div> 
1288                                          <div class="row"> 
1289                                              <div class="col-12"> 
1290                                                  <div class="container ag-list-event-moreinfo-container"> 
1291                                                      <div class="row"> 
1292                                                          <div class="col-12 px-0"> 
1293                                                              <a class="ag-list-event-moreinfo" href="javascript:void(0)" onclick="goToDetail({{id}})"> 
1294                                                                  {{moreInfoText}}  > 
1295                                                              </a> 
1296                                                          </div> 
1297                                                      </div> 
1298                                                  </div> 
1299                                              </div> 
1300                                          </div> 
1301                                      </div> 
1302                                  </div> 
1303                              </div> 
1304                          </div>`; 
1305 
1306    var currentLang = "${themeDisplay.getLocale()}"; 
1307    var allEvents = ${eventsJson}; 
1308    var portalURL = "${themeDisplay.getPortalURL()}"; 
1309    var portletId = "Agenda_AgendaPortlet_INSTANCE_cdpH0rc7P06U"; // Local 
1310    //var portletId = "Agenda_AgendaPortlet_INSTANCE_9eLO5qF4XrHY"; // Int 
1311    //var portletId = "Agenda_AgendaPortlet_INSTANCE_CNuoJ5Qv27eN"; // Pro 
1312 
1313    var showOnlyFutureEvents = true; 
1314    var currentPlaceType = getCurrentPlaceType(); 
1315    var eventsByPlace = getEventsByPlace(getCurrentPlaceType(), getPlaceIDFromURL()); 
1316    var eventsBarcelona = getEventsBarcelona(); 
1317 
1318    var sliderEvents = getSliderEvents(); 
1319    var sliderEventsHTML = getSliderEventsHTML(); 
1320    setSliderEventsHTML(sliderEventsHTML); 
1321    setInfoMessage(); 
1322 
1323    var showDots = false; 
1324    if (sliderEvents.length > 1) { 
1325        showDots = true; 
1326
1327 
1328    initSlider(sliderEvents, showDots); 
1329</script>