PageSourceSearch

https://vilanovaturisme.cat/media/js/site.js?ver=4

js vilanovaturisme.cat collected 2026-10-02 11:58:56 UTC 64,195 bytes, 1,698 lines download raw bytes

1var vilanova = vilanova || {};
2
3vilanova.fn = (function($){
4
5    var searchBoxTypeWriterTimeout     = null;
6    var startSearchBoxAnimationTimeout = null;
7	var startSearchBoxImageAnimationTimeout = null;
8	var startBackgroundAnimationTimeout= null;
9    var tabAnimationTimeout            = null;
10
11	// Blocs amb elements d'igual mida: D1, D2, D3, D5, E1, E2, E3...
12    function reheight(){
13        $('.match-height').each(function(){
14            $($(this).find($(this).data('item'))).matchHeight({
15                byRow: false
16            });
17        });
18    }
19	
20	// Blocs amb background: D1, D2, F1
21    function refresh_background(){
22		var refresh_background_Timeout = setTimeout(function() {
23			$('.background_div').each(function (index) {
24				$this = $(this);
25				var im = $this.find('.background_img').first();
26				var this_im = im.get(0);
27				var src = typeof this_im.currentSrc !== 'undefined' ? this_im.currentSrc : this_im.src;
28				$this.css('background-image', 'url(' + src + ')');
29			});
30		}, 500);	
31    }
32    function clear_background(){
33		$('.background_div').each(function (index) {
34			$this = $(this);
35			$this.css('background-image', '');
36		});
37    }
38	
39    function tabsBehaviour() {
40        $('*[data-behaviour="tabs"]').each(function(){
41            var _target = $(this).data('target');
42            $(this).find('input[type=radio]').on('change', function(){
43                if($(this).is(':checked')){
44                    $('.' + _target).hide();
45                    $('.' + _target + '.' + $(this).attr('class')).show();
46
47                }
48            });
49            $(this).find('input[type=radio]:checked').trigger('change');
50        });
51    }
52	
53	function dates_agenda(inici, fi){
54		var d_inici="";
55		var d_fi="";
56		var h_inici="";
57		var h_fi="";
58		var tmp = inici.split(" ");
59		if (tmp.length>0) {
60			d_inici= tmp[0];
61			if (tmp.length>1) {
62				h_inici= tmp[1];
63			}
64		}
65		tmp = fi.split(" ");
66		if (tmp.length>0) {
67			d_fi= tmp[0];
68			if (tmp.length>1) {
69				h_fi= tmp[1];
70			}
71		}		
72		if (d_inici==d_fi) // Igual data
73		{
74			if (h_fi=="") 					// Igual data, sense hora final
75			{
76				return "<li class=\"data\"><span class=\"icon-calendar\"></span><span><strong>" + d_inici + " " + h_inici + "</strong></span></li>";
77			} else { 							// Igual data, amb hora final
78				if (h_inici=="") 					// Igual data, amb hora final, sense hora inicial
79				{
80					return "<li class=\"datas\"><span class=\"icon-calendar\"></span><ul><li><strong>" + d_inici + " fins les " + h_fi + "</strong></li></ul></li>";
81				} else {							// Igual data, amb hora inicial i final
82					return "<li class=\"datas\"><span class=\"icon-calendar\"></span><ul><li><strong>" + d_inici + " de " + h_inici + " a " + h_fi + "</strong></li></ul></li>";
83				}
84			}
85		} else {								// Diferent data
86			if (h_inici=="" && h_fi=="") 			// Diferent data, sense hores
87			{
88				return "<li class=\"datas\"><span class=\"icon-calendar\"></span><ul><li>Inici: <strong>" + d_inici + "</strong></li><li>Fi: <strong>" + d_fi + "</strong></li></ul></li>";
89			} else { 								// Diferent data, amb hora inicial o final
90				return "<li class=\"data\"><span class=\"icon-calendar\"></span><span>Inici: <strong>"  + d_inici + " " + h_inici + "</strong></span></li><li class=\"data\"><span class=\"icon-calendar\"></span><span>Fi: <strong>" + d_fi + " " + h_fi + "</strong></span></li>";
91			}
92		}
93	}
94	
95
96	function troba_temes(a) {
97		var tmp = "";
98		if (a.length >0) 
99		{
100			tmp = a[0].href.replace(/tw/gi, "");
101			var tmp2 = tmp.split("?");
102			var tmp3;
103			if (tmp2.length>1)
104			{
105				tmp = tmp2[1];
106			} else {
107				tmp="";
108			}
109			tmp2= tmp.split("&");
110			tmp="";
111			if (tmp2.length>0)
112			{
113				tmp2.forEach(function (elem, index, array) {
114					tmp3 = elem.split("=");
115					if (index==0) { 
116						tmp += tmp3[0];
117					} else { 
118						tmp += "," + tmp3[0];
119					}
120				});
121			}
122		}
123		return tmp;
124	}
125	function substitueix_agenda(actes){
126	    var bloc_seleccionat = $('.modul.modul_actes.automatic');
127		var bloc_modul = bloc_seleccionat.find(".bloc_modul");
128		var submodul = bloc_modul.find(".submodul");
129
130		submodul.each(function (index) {
131			this.remove();
132		});
133	
134		var contingut = "";
135		num_actes = actes.length;
136		if (num_actes==1) {
137			bloc_seleccionat.addClass("un_acte");
138			contingut += "<div class=\"submodul modul_agenda_ampliada\">";
139			contingut += "<ul class=\"items\">";
140
141			actes.forEach(function (acte, index, array) {
142				var sinopsis = acte.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
143				contingut += "<li>";
144				contingut += "<a href=\"/agenda/detall.aspx?id=" + acte.idacte + "\" title=\"" + acte.titol + "\">";
145				contingut += "<div class=\"resum\">";
146				contingut += "<div class=\"wrapper\"><div class=\"media\">";
147				contingut += "<img src=\"/content/agenda/" + acte.idacte + "/" + acte.imatge + "\" alt=\"" + acte.titol + "\" title=\"" + acte.titol + "\" srcset=\"" + acte.srcset.replace(/&quot;/g, '"') + "\" sizes=\"" + acte.sizes.replace(/&quot;/g, '"') + "\" />";
148				contingut += "</div>";
149				contingut += "<div class=\"contingut\">";
150				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
151				contingut += "<ul class=\"dades_event\">" + dates_agenda(acte.data_ini, acte.data_fi);
152				contingut += "<li class=\"poi\"><span class=\"icon-location\"></span>" + acte.lloc + "</li>";
153				contingut += "</ul>";
154				contingut += "</div></div></div>";
155				contingut += "<div class=\"text\">";
156				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
157				contingut += "<div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
158				contingut += "</div>";
159				contingut += "</a></li>"; 
160			});	
161			contingut += "</ul></div>";
162		
163		} else if (num_actes==2) {
164			bloc_seleccionat.addClass("dos_actes");
165			contingut += "<div class=\"submodul modul_agenda_ampliada\">";
166			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
167
168			actes.forEach(function (acte, index, array) {
169				var sinopsis = acte.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
170				contingut += "<li>";
171				contingut += "<a href=\"/agenda/detall.aspx?id=" + acte.idacte + "\" title=\"" + acte.titol + "\">";
172				contingut += "<div class=\"media\">";
173				contingut += "<img src=\"/content/agenda/" + acte.idacte + "/" + acte.imatge + "\" alt=\"" + acte.titol + "\" title=\"" + acte.titol + "\" srcset=\"" + acte.srcset.replace(/&quot;/g, '"') + "\" sizes=\"" + acte.sizes.replace(/&quot;/g, '"') + "\" />";
174				contingut += "</div>";
175				contingut += "<div class=\"contingut\">";
176				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
177				contingut += "<ul class=\"dades_event\">" + dates_agenda(acte.data_ini, acte.data_fi);
178				contingut += "<li class=\"poi\"><span class=\"icon-location\"></span>" + acte.lloc + "</li>";
179				contingut += "</ul>";
180				contingut += "</div>";
181				contingut += "</a></li>"; 
182			});	
183			contingut += "</ul></div>";
184		} else if (num_actes==3) {
185			bloc_seleccionat.addClass("tres_actes");
186			contingut += "<div class=\"submodul modul_agenda_ampliada\">";
187			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
188
189			actes.forEach(function (acte, index, array) {
190				var sinopsis = acte.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
191				contingut += "<li>";
192				contingut += "<a href=\"/agenda/detall.aspx?id=" + acte.idacte + "\" title=\"" + acte.titol + "\">";
193				contingut += "<div class=\"media\">";
194				contingut += "<img src=\"/content/agenda/" + acte.idacte + "/" + acte.imatge + "\" alt=\"" + acte.titol + "\" title=\"" + acte.titol + "\" srcset=\"" + acte.srcset.replace(/&quot;/g, '"') + "\" sizes=\"" + acte.sizes.replace(/&quot;/g, '"') + "\" />";
195				contingut += "</div>";
196				contingut += "<div class=\"contingut\">";
197				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
198				contingut += "<ul class=\"dades_event\">" + dates_agenda(acte.data_ini, acte.data_fi);
199				contingut += "<li class=\"poi\"><span class=\"icon-location\"></span>" + acte.lloc + "</li>";
200				contingut += "</ul>";
201				contingut += "</div>";
202				contingut += "</a></li>"; 
203			});	
204			contingut += "</ul></div>";
205		} else if (num_actes<7) {
206			bloc_seleccionat.addClass("molts_actes");
207			contingut += "<div class=\"submodul modul_agenda_ampliada\">";
208			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
209
210			actes.forEach(function (acte, index, array) {
211				var sinopsis = acte.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
212				if (index == 2) {
213					contingut += "</ul></div>";		
214					contingut += "<div class=\"submodul modul_agenda\"><ul class=\"items match-height\" data-item=\">li>a\">";
215				
216				}
217				contingut += "<li>";
218				contingut += "<a href=\"/agenda/detall.aspx?id=" + acte.idacte + "\" title=\"" + acte.titol + "\">";
219				if (index < 2) {
220					contingut += "<div class=\"media\">";
221					contingut += "<img src=\"/content/agenda/" + acte.idacte + "/" + acte.imatge + "\" alt=\"" + acte.titol + "\" title=\"" + acte.titol + "\" srcset=\"" + acte.srcset.replace(/&quot;/g, '"') + "\" sizes=\"" + acte.sizes.replace(/&quot;/g, '"') + "\" />";
222					contingut += "</div>";
223					contingut += "<div class=\"contingut\">";
224				}
225				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
226				contingut += "<ul class=\"dades_event\">" + dates_agenda(acte.data_ini, acte.data_fi);
227				contingut += "<li class=\"poi\"><span class=\"icon-location\"></span>" + acte.lloc + "</li>";
228				contingut += "</ul>";
229				if (index < 2) {
230					contingut += "</div>";
231				}
232				contingut += "</a></li>"; 
233
234			});	
235			contingut += "</ul></div>";		
236		} else {
237			bloc_seleccionat.addClass("moltissims_actes");
238			contingut += "<div class=\"submodul modul_agenda\">";
239			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
240
241			actes.forEach(function (acte, index, array) {
242				var sinopsis = acte.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
243				contingut += "<li><a href=\"/agenda/detall.aspx?id=" + acte.idacte + "\" title=\"" + acte.titol + "\">"; 
244				contingut += "<h2 class=\"titol_caixa\">" + acte.titol + "</h2>";
245				contingut += "<ul class=\"dades_event\">" + dates_agenda(acte.data_ini, acte.data_fi);
246				contingut += "<li class=\"poi\"><span class=\"icon-location\"></span>" + acte.lloc + "</li>";
247				contingut += "</ul>";
248				contingut += "</a></li>"; 
249
250			});	
251			contingut += "</ul></div>";	
252		}
253		bloc_modul.append(contingut);
254		if (num_actes>0) bloc_seleccionat.show();
255		vilanova.fn.reheight();
256	}
257	function substitueix_blog_r(entrades_blog){
258	    var bloc_seleccionat = $('.modul.blog_r_automatic');
259		var bloc_modul = bloc_seleccionat.find(".bloc_modul");
260		var submodul_resultats = bloc_modul.find(".submodul.resultats");
261
262		submodul_resultats.each(function (index) {
263			this.remove();
264		});
265	
266		var contingut = "";
267		num_entrades_blog = entrades_blog.length;
268		if (num_entrades_blog==1) {
269			bloc_seleccionat.addClass("un_acte");
270			contingut += "<div class=\"submodul resultats modul_agenda_ampliada\">";
271			contingut += "<ul class=\"items\">";
272
273			entrades_blog.forEach(function (entrada, index, array) {
274				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
275				contingut += "<li>";
276				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
277				contingut += "<div class=\"resum\">";
278				contingut += "<div class=\"wrapper\"><div class=\"media\">";
279				contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
280				contingut += "</div>";
281				contingut += "<div class=\"contingut\">";
282				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
283				contingut += "<ul class=\"dades_event\">" + data_blog(entrada.data_publicacio, "acte");
284				contingut += "</ul>";
285				contingut += "</div></div></div>";
286				contingut += "<div class=\"text\">";
287				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
288				contingut += "<div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
289				contingut += "</div>";
290				contingut += "</a></li>"; 
291			});	
292			contingut += "</ul></div>";
293		
294		} else if (num_entrades_blog==2) {
295			bloc_seleccionat.addClass("dos_actes");
296			contingut += "<div class=\"submodul resultats modul_agenda_ampliada\">";
297			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
298
299			entrades_blog.forEach(function (entrada, index, array) {
300				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
301				contingut += "<li>";
302				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
303				contingut += "<div class=\"media\">";
304				contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
305				contingut += "</div>";
306				contingut += "<div class=\"contingut\">";
307				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
308				contingut += "<ul class=\"dades_event\">" + data_blog(entrada.data_publicacio, "acte");
309				contingut += "</ul>";
310				contingut += "</div>";
311				contingut += "</a></li>"; 
312			});	
313			contingut += "</ul></div>";
314		} else if (num_entrades_blog==3) {
315			bloc_seleccionat.addClass("tres_actes");
316			contingut += "<div class=\"submodul resultats modul_agenda_ampliada\">";
317			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
318
319			entrades_blog.forEach(function (entrada, index, array) {
320				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
321				contingut += "<li>";
322				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
323				contingut += "<div class=\"media\">";
324				contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
325				contingut += "</div>";
326				contingut += "<div class=\"contingut\">";
327				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
328				contingut += "<ul class=\"dades_event\">" + data_blog(entrada.data_publicacio, "acte");
329				contingut += "</ul>";
330				contingut += "</div>";
331				contingut += "</a></li>"; 
332			});	
333			contingut += "</ul></div>";
334		} else if (num_entrades_blog<7) {
335			bloc_seleccionat.addClass("molts_actes");
336			contingut += "<div class=\"submodul resultats modul_agenda_ampliada\">";
337			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
338
339			entrades_blog.forEach(function (entrada, index, array) {
340				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
341				if (index == 2) {
342					contingut += "</ul></div>";		
343					contingut += "<div class=\"submodul modul_agenda\"><ul class=\"items match-height\" data-item=\">li>a\">";
344				
345				}
346				contingut += "<li>";
347				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
348				if (index < 2) {
349					contingut += "<div class=\"media\">";
350					contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
351					contingut += "</div>";
352					contingut += "<div class=\"contingut\">";
353				}
354				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
355				contingut += "<ul class=\"dades_event\">" + data_blog(entrada.data_publicacio, "acte");
356				contingut += "</ul>";
357				if (index < 2) {
358					contingut += "</div>";
359				}
360				contingut += "</a></li>"; 
361
362			});	
363			contingut += "</ul></div>";		
364		} else {
365			bloc_seleccionat.addClass("moltissims_actes");
366			contingut += "<div class=\"submodul resultats modul_agenda\">";
367			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
368
369			entrades_blog.forEach(function (entrada, index, array) {
370				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
371				contingut += "<li><a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">"; 
372				contingut += "<h2 class=\"titol_caixa\">" + entrada.titol + "</h2>";
373				contingut += "<ul class=\"dades_event\">" + data_blog(entrada.data_publicacio, "acte");
374				contingut += "</ul>";
375				contingut += "</a></li>"; 
376
377			});	
378			contingut += "</ul></div>";	
379		}
380		bloc_modul.append(contingut);
381		if (num_entrades_blog>0) bloc_seleccionat.show();
382		vilanova.fn.reheight();
383	}
384	function substitueix_blog_d(entrades_blog){
385	    var bloc_seleccionat = $('.modul.blog_d_automatic');
386		var bloc_modul = bloc_seleccionat.find(".bloc_modul");
387		var bloc_wrapper = bloc_modul.find(".wrapper");
388		var submodul_resultats = bloc_modul.find(".submodul.resultats");
389
390		submodul_resultats.each(function (index) {
391			this.remove();
392		});
393	
394		var contingut = "";
395		num_entrades_blog = entrades_blog.length;
396
397		if (num_entrades_blog==1) {
398			bloc_seleccionat.addClass("bloc_modul_fons_color una_notic");
399
400			entrades_blog.forEach(function (entrada, index, array) {
401				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
402				contingut += "<div class=\"submodul resultats noticia_destacada\">";
403				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
404				contingut += "<div class=\"media\">";
405				contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
406				contingut += "</div>";
407				contingut += "<div class=\"contingut\">";
408				contingut += data_blog(entrada.data_publicacio, "notic");
409				contingut += "<h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
410				contingut += "<div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
411				contingut += "</div>";
412				contingut += "</a></div>"; 
413			});	
414		
415		} else if (num_entrades_blog==2) {
416			bloc_seleccionat.addClass("bloc_modul_fons_color dues_notic");
417
418			entrades_blog.forEach(function (entrada, index, array) {
419				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
420				contingut += "<div class=\"submodul resultats noticia_destacada\">";
421				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
422				contingut += "<div class=\"media\">";
423				contingut += "<img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
424				contingut += "</div>";
425				contingut += "<div class=\"contingut\">";
426				contingut += data_blog(entrada.data_publicacio, "notic");
427				contingut += "<h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
428				contingut += "<div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
429				contingut += "</div>";
430				contingut += "</a></div>"; 
431			});	
432			
433		} else if (num_entrades_blog==3) {
434			bloc_seleccionat.addClass("bloc_modul_fons_color tres_notic");
435
436			entrades_blog.forEach(function (entrada, index, array) {
437				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
438				contingut += "<div class=\"submodul resultats noticia_destacada\">";
439				contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
440				contingut += " <div class=\"media\">";
441				contingut += "   <img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
442				contingut += " </div>";
443				contingut += " <div class=\"contingut\">";
444				contingut += data_blog(entrada.data_publicacio, "notic");
445				contingut += "  <h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
446				contingut += "  <div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
447				contingut += " </div>";
448				contingut += "</a></div>"; 
449			});	
450
451		} else if (num_entrades_blog<7) {
452			bloc_seleccionat.addClass("bloc_modul_fons_color moltes_notic");
453
454			entrades_blog.forEach(function (entrada, index, array) {
455				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
456				if (index < 2) {
457					contingut += "<div class=\"submodul resultats noticia_destacada\">";
458					contingut += "<a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
459					contingut += " <div class=\"media\">";
460					contingut += "   <img src=\"/img/" + entrada.imatge + "\" alt=\"" + entrada.titol + "\" title=\"" + entrada.titol + "\" srcset=\"" + entrada.srcset.replace(/&quot;/g, '"') + "\" sizes=\"(max-width: 650px) 97vw, (max-width: 1120px) 48vw, 28vw\" />";
461					contingut += " </div>";
462					contingut += " <div class=\"contingut\">";
463					contingut += data_blog(entrada.data_publicacio, "notic");
464					contingut += "  <h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
465					contingut += "  <div class=\"texto_html\"><p>" + sinopsis + "</p></div>";
466					contingut += " </div>";
467					contingut += "</a></div>"; 
468				
469				}
470				if (index==2) {
471					contingut += "<div class=\"submodul resultats llista_noticies moltissimes_notic\">";
472					contingut += "<ul class=\"items\">";
473				}
474
475				if (index >= 2) {
476					contingut += "<li><a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">";
477					contingut += data_blog(entrada.data_publicacio, "notic");
478					contingut += "  <h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
479					contingut += "</a><li>";
480				}
481			});	
482			contingut += "</ul></div>"; 
483	
484		} else {
485			bloc_seleccionat.addClass("bloc_modul_fons_color moltissimes_notic");
486			contingut += "<div class=\"submodul resultats llista_noticies\">";
487			contingut += "<ul class=\"items match-height\" data-item=\">li>a\">";
488
489			entrades_blog.forEach(function (entrada, index, array) {
490				var sinopsis = entrada.sinopsis.replace(/&lt;br\s*[\/]?&gt;/g, "<br />");
491				contingut += "<li><a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">"; 
492				contingut += data_blog(entrada.data_publicacio, "notic");
493				contingut += "<h3 class=\"titol_caixa\">" + entrada.titol + "</h3>";
494				contingut += "</a></li>"; 
495
496			});	
497			contingut += "</ul></div>";	
498		}
499
500		bloc_wrapper.append(contingut);
501		if (num_entrades_blog>0) bloc_seleccionat.show();
502		vilanova.fn.reheight();
503	}
504	function substitueix_blog_t(temes_blog){
505	    var bloc_seleccionat = $('.modul.blog_c_automatic');
506		var bloc_ul_nuvol_tags = bloc_seleccionat.find(".nuvol_tags ul");
507		var bloc_ul_temes = bloc_seleccionat.find(".temes");
508
509		var contingut_nuvol_tags = "";
510		var contingut_temes = "";
511
512		temes_blog.forEach(function (tema, index, array) {
513			contingut_temes += "<li>";
514			contingut_temes += "<a href=\"#\" onclick=\"vilanova.fn.cerca_tema_blog('" + tema.id + "');return false;\" title=\"" + tema.nom + "\" alt=\"" + tema.nom + "\">" + tema.nom + "</a>";
515			contingut_temes += "</li>";
516			contingut_nuvol_tags += "<li>";
517            contingut_nuvol_tags += "<input type=\"checkbox\" name=\"tag" + tema.id + "\" id=\"tag" + tema.id + "\" value=\"" + tema.id + "\" />";
518            contingut_nuvol_tags += "<label for=\"tag" + tema.id + "\">" + tema.nom + "</label>";
519
520			contingut_nuvol_tags += "</li>"; 
521		});	
522			
523		bloc_ul_nuvol_tags.append(contingut_nuvol_tags);
524		bloc_ul_temes.append(contingut_temes);
525	}
526	function substitueix_blog_c(entrades_blog) {
527		
528	    var bloc_resultats = $('#resultat_cerca');
529		bloc_resultats.empty();
530	
531		var contingut = "";
532		num_entrades_blog = entrades_blog.length;
533
534		if (num_entrades_blog>0) {
535			contingut += "<div name=\"resultats-cerca\" class=\"modul modul_taula\">";
536			contingut += "<div class=\"wrapper\">";
537			contingut += "<h2 class=\"titol_modul\">Resultats de la cerca</h2>";
538			contingut += "<div class=\"bloc_modul\">";
539			contingut += "<table class=\"taula enllacable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
540			contingut += "<thead>";
541			contingut += "<tr>";
542			contingut += "<th>Títol entrada</th>";
543			contingut += "<th>Data publicació</th>";
544			contingut += "</tr>";
545			contingut += "</thead>";
546			contingut += "<tbody>";
547
548			entrades_blog.forEach(function (entrada, index, array) {
549				contingut += "<tr>";
550				contingut += "<td><a href=\"" + entrada.fitxer + "\" title=\"" + entrada.titol + "\">" + entrada.titol + "</a></td>";
551				contingut += "<td><a href=\"" + entrada.fitxer + "\" title=\""+data_blog(entrada.data_publicacio,"taula")+"\">"+data_blog(entrada.data_publicacio,"taula")+"</a></td>";
552				contingut += "</tr>";
553			});	
554			contingut += "</tbody>";
555			contingut += "</table>";
556			contingut += "</div>";
557			contingut += "</div>";
558			contingut += "</div>";
559
560		} else {
561			contingut += "<div name=\"resultats-cerca\" class=\"modul modul_taula\">";
562			contingut += "<div class=\"wrapper\">";
563			contingut += "<h2 class=\"titol_modul\">No s'han trobat resultats de la cerca</h2>";
564			contingut += "</div>";
565			contingut += "</div>";			
566		}
567		bloc_resultats.append(contingut);
568		bloc_resultats.show();		
569	}
570
571
572	function cerca_blogs(){
573			// Cercar entrades de blog per data, d'acord amb el filtre fet (automàtic)  
574			var bloc_c_autom = $('.modul.blog_c_automatic');
575			var bloc_seleccionat = bloc_c_autom.find('#resultat_cerca');
576			
577			if (bloc_seleccionat.length > 0)
578			{	
579				bloc_seleccionat.empty();
580				bloc_seleccionat.append("<div style='display: grid;'><img src='/media/img/carregant.gif' style='margin: auto;padding: 20px;'></div>");
581				bloc_seleccionat.show();
582				var adr = "id=" + vilanova.currentPage.substring(1, 100) + "&w=" + vilanova.currentWeb + "&tipus=r";
583				var text_a_cercar = "";
584				try {
585					text_a_cercar = document.getElementById('text_a_cercar').value;
586				} catch (error){}
587				if (text_a_cercar !="") adr += "&text=" + text_a_cercar;
588				var data_inici = "";
589				try {
590					data_inici = document.getElementById('data-inici').value;
591				} catch (error){}
592				if (data_inici !="") adr += "&di=" + data_inici;				
593				var data_fi = "";
594				try {
595					data_fi = document.getElementById('data-fi').value;
596				} catch (error){}
597				if (data_fi !="") adr += "&df=" + data_fi;	
598				var temes = bloc_c_autom.find('#cerca_avancada .nuvol_tags li input');	
599				var llista_temes="";
600				temes.each(function (index) {
601					if (this.checked) {
602						if (llista_temes=="") 
603							llista_temes = this.value;
604						else
605							llista_temes += "," + this.value;						
606					}
607				});				
608				if (llista_temes!="") adr += "&temes=" + llista_temes;
609				
610				$.ajax({
611				  dataType: 'json',
612				  url: "/blogs/getData",
613				  data: adr,
614				  success: function(resposta){
615					if (resposta.success) {
616						substitueix_blog_c(resposta.data);
617	//				} else {
618	//					alert("Error en actualitzar estat: " + resposta.error);
619					}
620				  },
621				  error: function (xhr, ajaxOptions, thrownError) {
622	//				alert("Error " +  xhr.status);
623				  }	
624				});
625			}
626	}
627	function cerca_tema_blog(idtema){
628		var bloc_c_autom = $('.modul.blog_c_automatic');
629		var bloc_seleccionat = bloc_c_autom.find('#resultat_cerca');
630		bloc_seleccionat.empty();
631		bloc_seleccionat.append("<div style='display: grid;'><img src='/media/img/carregant.gif' style='margin: auto;padding: 20px;'></div>");
632		bloc_seleccionat.show();
633		var adr = "id=" + vilanova.currentPage.substring(1, 100) + "&w=" + vilanova.currentWeb + "&tipus=d&temes=" + idtema;		
634		$.ajax({
635		  dataType: 'json',
636		  url: "/blogs/getData",
637		  data: adr,
638		  success: function(resposta){
639			if (resposta.success) {
640				substitueix_blog_c(resposta.data);
641//				} else {
642//					alert("Error en actualitzar estat: " + resposta.error);
643			}
644		  },
645		  error: function (xhr, ajaxOptions, thrownError) {
646//				alert("Error " +  xhr.status);
647		  }	
648		});
649	}
650
651	function data_blog(inici, tipus){
652		var d_inici="";
653		var tmp = inici.split(" ");
654		if (tmp.length>0) {
655			d_inici= tmp[0];
656		}
657		if (tipus=="acte")
658			return "<li class=\"data\"><span class=\"icon-calendar\"></span><span><strong>" + d_inici + "</strong></span></li>";
659		else if (tipus=="notic")
660			return "<div class=\"data\"><span class=\"icon-calendar\"></span><span><strong>" + d_inici + "</strong></span></div>";
661		else 
662			return d_inici;
663	}	
664	
665    function searchBoxTypeWriter(text, i, callback) {
666        if (i < text.length) {
667            $('.modul_cercador input[type=text]').val(text.substring(0, i+1));
668            searchBoxTypeWriterTimeout = setTimeout(function() {
669                searchBoxTypeWriter(text, i + 1, callback)
670            }, 50);
671        } else if (typeof callback == 'function') {
672            startSearchBoxAnimationTimeout = setTimeout(callback, 5000);
673        }
674    }
675
676    function startSearchBoxAnimation(i) {
677        if(!$('.modul_cercador input[type=text]').is(':focus')) {
678            if (typeof vilanova.searchBoxData[i] == 'undefined'){
679                startSearchBoxAnimation(0);
680            } else {
681                $('.modul_cercador').css('background-image', 'url(' + vilanova.searchBoxData[i].image + ')');
682                searchBoxTypeWriter(vilanova.searchBoxData[i].text, 0, function(){
683                    startSearchBoxAnimation(i + 1);
684                });
685            }
686        }
687    }
688    function clearSearchBoxAnimation() {
689		clearTimeout(startSearchBoxImageAnimationTimeout);
690		clearTimeout(searchBoxTypeWriterTimeout);
691		clearTimeout(startSearchBoxAnimationTimeout);
692		$('.modul_cercador').css('background-image', '');
693    }
694
695    function initSearchBoxAnimation() {
696
697		if ($('.modul_cercador .m_c_img').length > 0) {
698			clearTimeout(searchBoxTypeWriterTimeout);
699			clearTimeout(startSearchBoxAnimationTimeout);
700
701			var checkSearchBoxImgLoaded = true;
702			$('.modul_cercador .m_c_img').each(function (index) {
703				if (checkSearchBoxImgLoaded) if ((typeof this.currentSrc != 'undefined') && (this.currentSrc=="")) checkSearchBoxImgLoaded=false;
704			});	
705		
706			if (checkSearchBoxImgLoaded) {
707				vilanova.searchBoxData = [];
708				$('.modul_cercador .m_c_img').each(function (index) {
709
710					$this = $(this);
711					var t= $this.attr('title');
712					var src = typeof this.currentSrc !== 'undefined' ? this.currentSrc : this.src;
713
714					vilanova.searchBoxData.push({ text: t, image: src });
715				});
716
717				vilanova.fn.startSearchBoxAnimation(0);
718
719				$('.modul_cercador input[type=text]').on('focus', function(){
720					clearTimeout(searchBoxTypeWriterTimeout);
721					clearTimeout(startSearchBoxAnimationTimeout);
722					$(this).val('');
723				});
724			} else {
725				startSearchBoxImageAnimationTimeout = setTimeout(function(){initSearchBoxAnimation();}, 500);
726			}
727		};
728    }
729
730    function startBackgroundAnimation() {
731		var checkImgLoaded = true;
732		$('#fons_magatzem .m_c_img').each(function (index) {
733			if (checkImgLoaded) if ((typeof this.currentSrc != 'undefined') && (this.currentSrc=="")) checkImgLoaded=false;
734		});	
735	
736		if (checkImgLoaded) {
737		    $('#fons').html("");
738			$('#fons_magatzem .m_c_img').each(function (index) {
739				$this = $(this);
740				var t= $this.attr('title');
741				var src= typeof this.currentSrc !== 'undefined' ? this.currentSrc : this.src;
742				$('#fons').append($('<div class="item" style="background-image:url(\'' + src + '\')" title="' + t + '"></div>'));
743			});	
744		
745			$('#fons').addClass('owl-carousel');
746			var owl = $('#fons').owlCarousel({
747				loop:true,
748				items:1,
749				autoHeight:false,
750				pagination: false,
751				navigation : false,
752				autoplay:true,
753				animateOut: 'fadeOut',
754				dots: false
755			});	
756
757		} else {
758			startBackgroundAnimationTimeout = setTimeout(function(){startBackgroundAnimation();}, 500);
759		}
760	}
761	function initCarrousel(){
762		$('.media_carrusel').addClass('owl-carousel');
763		$('.media_carrusel').owlCarousel({
764			lazyLoad:true,
765			loop:true,
766			items:1,
767			autoHeight:false,
768			autoplay:true
769		});
770	}
771    function initBackgroundAnimation() {
772
773		clearTimeout(startBackgroundAnimationTimeout);
774		vilanova.fn.startBackgroundAnimation();
775	}
776
777    function initJsonBlocs() {
778		// Agenda automàtica        
779		var bloc_seleccionat = $('.modul.modul_actes.automatic');
780		if (bloc_seleccionat.length > 0)
781		{	
782			var bloc_modul = bloc_seleccionat.find(".bloc_modul");
783			var submodul = bloc_modul.find(".submodul");
784			var franja_agenda="avui";
785			var max_a_mostrar=0;
786			try {
787				franja_agenda=submodul.find(".franja_agenda").text();
788				max_a_mostrar=Number(submodul.find(".max_a_mostrar").text());
789			}
790			catch (error) {}
791
792			var a = bloc_modul.find(".veure_mes a");
793			var temes=troba_temes(a);
794			var adr = "acces=avui";
795			if (franja_agenda!="")
796			{
797				adr = "acces=" + franja_agenda;
798			}
799			if (max_a_mostrar>0) {
800				adr += "&max=" + max_a_mostrar;
801			}
802			if (temes !="") adr += "&temes=" + temes;
803			$.ajax({
804			  dataType: 'json',
805			  url: "/agenda/getData",
806			  data: adr,
807			  success: function(resposta){
808				if (resposta.success) {
809					substitueix_agenda(resposta.data);
810//				} else {
811//					alert("Error en actualitzar estat: " + resposta.error);
812				}
813			  },
814			  error: function (xhr, ajaxOptions, thrownError) {
815//				alert("Error " +  xhr.status);
816			  }	
817			});
818		}
819		
820		
821		// Entrades de blog recents (automàtic)        
822		bloc_seleccionat = $('.modul.blog_r_automatic');
823		if (bloc_seleccionat.length > 0)
824		{	
825			bloc_modul = bloc_seleccionat.find(".bloc_modul");
826			submodul = bloc_modul.find(".submodul");
827
828			max_a_mostrar=0;
829			try {
830				max_a_mostrar=Number(submodul.find(".max_a_mostrar").text());
831			}
832			catch (error) {}
833
834//			a = bloc_modul.find(".veure_mes a");
835	//		temes=troba_temes(a);
836			adr = "id=" + vilanova.currentPage.substring(1, 100) + "&w=" + vilanova.currentWeb + "&tipus=r";
837
838			if (max_a_mostrar>0) {
839				adr += "&max=" + max_a_mostrar;
840			}
841	//		if (temes !="") adr += "&temes=" + temes;
842			$.ajax({
843			  dataType: 'json',
844			  url: "/blogs/getData",
845			  data: adr,
846			  success: function(resposta){
847				if (resposta.success) {
848					substitueix_blog_r(resposta.data);
849//				} else {
850//					alert("Error en actualitzar estat: " + resposta.error);
851				}
852			  },
853			  error: function (xhr, ajaxOptions, thrownError) {
854//				alert("Error " +  xhr.status);
855			  }	
856			});
857		}
858
859		
860		// Entrades de blog destacats (automàtic)        
861		bloc_seleccionat = $('.modul.blog_d_automatic');
862		if (bloc_seleccionat.length > 0)
863		{	
864			bloc_modul = bloc_seleccionat.find(".bloc_modul");
865			submodul = bloc_modul.find(".submodul");
866
867			max_a_mostrar=0;
868			try {
869				max_a_mostrar=Number(submodul.find(".max_a_mostrar").text());
870			}
871			catch (error) {}
872
873//			a = bloc_modul.find(".veure_mes a");
874	//		temes=troba_temes(a);
875			adr = "id=" + vilanova.currentPage.substring(1, 100) + "&w=" + vilanova.currentWeb + "&tipus=d";
876
877			if (max_a_mostrar>0) {
878				adr += "&max=" + max_a_mostrar;
879			}
880	//		if (temes !="") adr += "&temes=" + temes;
881			$.ajax({
882			  dataType: 'json',
883			  url: "/blogs/getData",
884			  data: adr,
885			  success: function(resposta){
886				if (resposta.success) {
887					substitueix_blog_d(resposta.data);
888//				} else {
889//					alert("Error en actualitzar estat: " + resposta.error);
890				}
891			  },
892			  error: function (xhr, ajaxOptions, thrownError) {
893//				alert("Error " +  xhr.status);
894			  }	
895			});
896		}
897
898		// Cercador de blog (automàtic)        
899		bloc_seleccionat = $('.modul.blog_c_automatic');
900		if (bloc_seleccionat.length > 0)
901		{	
902			bloc_modul = bloc_seleccionat.find(".bloc_modul");
903			submodul = bloc_modul.find(".submodul");
904
905			adr = "id=" + vilanova.currentPage.substring(1, 100) + "&w=" + vilanova.currentWeb + "&tipus=t";
906			$.ajax({
907			  dataType: 'json',
908			  url: "/blogs/getData",
909			  data: adr,
910			  success: function(resposta){
911				if (resposta.success) {
912					substitueix_blog_t(resposta.data);
913
914//				} else {
915//					alert("Error en actualitzar estat: " + resposta.error);
916				}
917			  },
918			  error: function (xhr, ajaxOptions, thrownError) {
919//				alert("Error " +  xhr.status);
920			  }	
921			});
922		}
923
924
925	}
926    function stopTabAnimation(element) {
927        clearTimeout(tabAnimationTimeout);
928        var _el = element.find('.pestanyes li');
929		_el.removeClass('actiu');
930        var _el_content = element.find('.contingut_pestanya');
931		_el_content.removeClass('actiu');
932		_el_content.css("display", "none");
933		var _first = element.find('.pestanyes li').first();
934        _first.addClass('actiu');
935        var _first_content = element.find('.contingut_pestanya.' + _first.data('id'));
936        _first_content.addClass('actiu');
937		_first_content.css("display", "block");
938    }
939
940    function startTabAnimation(element) {
941        stopTabAnimation(element);
942        tabAnimationTimeout = setTimeout(function() {
943            tabAnimation(element);
944        }, 4000);
945    }
946    function nextTabAnimation(element) {
947		clearTimeout(tabAnimationTimeout);
948        tabAnimationTimeout = setTimeout(function() {
949            tabAnimation(element);
950        }, 4000);
951    }
952    function tabAnimation(element) {
953        var _next = element.find('.pestanyes .actiu ~ li').first();
954        if (_next.length == 0) {
955            _next = element.find('.pestanyes li').first();
956        }
957
958        var _current_content = element.find('.contingut_pestanya.actiu');
959        element.find('.pestanyes li').removeClass('actiu');
960        _current_content.removeClass('actiu');
961        _next.addClass('actiu');
962        var _next_content = element.find('.contingut_pestanya.' + _next.data('id'));
963        _next_content.addClass('actiu');
964        _current_content.fadeOut('fast', function(){
965            _next_content.fadeIn('fast');
966        });
967        nextTabAnimation(element);
968    }
969
970    function inArrayDates(needle, haystack){
971        var found = 0;
972        for (var i=0, len=haystack.length;i<len;i++) {
973
974            if (haystack[i] == needle.getTime()) {
975                return i;
976            }
977            found++;
978        }
979        return -1;
980    }
981
982    function initLinks(){
983        // Select all links with hashes
984        jQuery('a[href*="#"]')
985		//jQuery('a')
986            // Remove links that don't actually link to anything
987            .not('[href="#"]')
988            .not('[href="#0"]')
989            .click(function(event) {
990                // On-page links
991                if (
992                    location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') &&
993                    location.hostname == this.hostname
994                ) {
995                    // Figure out element to scroll to
996                    var target = jQuery(this.hash);
997                    target = target.length ? target : jQuery('[name=' + this.hash.slice(1) + ']');
998                    // Does a scroll target exist?
999                    if (target.length) {
1000                        // Only prevent default if animation is actually gonna happen
1001                        event.preventDefault();
1002                        jQuery('html, body').animate({
1003                            scrollTop: target.offset().top
1004                        }, 1000, function() {
1005                            // Callback after animation
1006                            // Must change focus!
1007                            var jQuerytarget = jQuery(target);
1008                            jQuerytarget.focus();
1009                            if (jQuerytarget.is(":focus")) { // Checking if the target was focused
1010                                return false;
1011                            } else {
1012                                jQuerytarget.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
1013                                jQuerytarget.focus(); // Set focus again
1014                            };
1015                        });
1016                    }
1017                }
1018        });
1019    }
1020
1021    function navigationSelection(_ul, _selector, _text) {
1022        _ul.toggle();
1023        _selector.html(_text);
1024        _selector.find('span').toggleClass('icon-up-dir');
1025		return false;
1026    }
1027
1028    function activar_pestanyes(){
1029		$('.modul_pestanyes .pestanyes a').on('click', function(e){
1030			e.preventDefault();
1031			e.stopPropagation();
1032			var _parent = $(this).parents('.bloc_pestanyes');
1033			var _data = $(this).data('content');
1034			_parent.find('.contingut_pestanya').removeClass('actiu');
1035			_parent.find('.contingut_pestanya[data-content=' + _data + ']').addClass('actiu');
1036			_parent.find('.pestanyes a').removeClass('actiu');
1037			$(this).addClass('actiu');
1038			return false;
1039		});
1040	}
1041	
1042    function medias(){
1043        $('.modul_navegacio:not(.navegacio_interior):not(.amb_cerca):not(.etiquetes):not(.amb_resultats_cerca) .bloc_modul ul').each(function(){
1044            if (window.matchMedia("only screen and (max-width:500px)").matches) {
1045                var _ul       = $(this);
1046
1047                if($(this).siblings('.selector').length == 0) {
1048                    var _text     = $(this).find('.actiu').text();
1049
1050                    if(!_text) {
1051                        _text = "Selecciona una opció";
1052                    }
1053                    var _selector = $('<span class="selector">' + _text + '<span class="icon-down-dir"></span></span>');
1054                    _selector.on('click', function(){
1055                        navigationSelection(_ul,_selector, _selector.html());
1056						//return false;
1057                    });
1058                    $(this).before(_selector);
1059
1060                    $(this).find('a').on('click', function(){
1061                        navigationSelection(_ul,_selector,$(this).text() + '<span class="icon-down-dir icon-up-dir"></span>');
1062                        _ul.find('li').removeClass('actiu');
1063                        $(this).parent('li').addClass('actiu');
1064                        _ul.hide();
1065						//return false;
1066                    });
1067
1068                    $(this).hide();
1069                }else{
1070                    var _selector = $(this).siblings('.selector');
1071                }
1072
1073                $(this).outerWidth(_selector.outerWidth());
1074
1075            }
1076
1077            if (window.matchMedia("only screen and (min-width:500px)").matches && $(this).siblings('.selector').length == 1) {
1078                $(this).show();
1079                $(this).outerWidth('100%');
1080                $(this).siblings('.selector').remove();
1081            }
1082
1083        });
1084		
1085        $('.modul_pestanyes_laterals').each(function(){
1086            if (window.matchMedia("only screen and (min-width:900px
1086)").matches) {
1087                // mostramos las pestañas
1088                $(this).removeClass('responsive');
1089                vilanova.fn.startTabAnimation($('.modul_pestanyes_laterals'));
1090            } else {
1091                // ocultamos las pestañas
1092                $(this).addClass('responsive');
1093                vilanova.fn.stopTabAnimation($('.modul_pestanyes_laterals'));
1094            }
1095        });
1096
1097		vilanova.fn.activar_pestanyes();
1098	}
1099    function shareTwitter()
1100    {
1101        url = "https://x.com/intent/tweet?text=Vilanova%20i%20la%20Geltr%C3%BA&url=" + location.toString().replace(/\//g, '%2F').replace(/:/g, '%3A');
1102        window.open(url);
1103		return false;
1104    }
1105    function shareFacebook()
1106    {
1107        url = "https://www.facebook.com/sharer/sharer.php?u=" + location.toString().replace(/\//g, '%2F').replace(/:/g, '%3A');
1108        window.open(url);
1109		return false;
1110    }
1111
1112    function sendMail()
1113    {
1114        var sistema = (navigator.appVersion.indexOf("Win") != -1) ? 'windows' : 'otro';
1115        var retorn = (sistema == 'windows') ? '\r\n' : '\n';
1116
1117        var correu = "";
1118        var Missatge = "Hola," + retorn + retorn + "Vull compartir aquest enllaç amb tu: "  + retorn + retorn +  document.URL;
1119        var Motiu = document.title;
1120
1121        document.location.href = "mailto:" + correu + "?subject=" + encodeURIComponent(Motiu) + "&body=" + encodeURIComponent(Missatge);
1122		return false;
1123    }
1124
1125    function print()
1126    {
1127        window.print();
1128		return false;
1129    }
1130
1131    function showSearchResults()
1132    {
1133        var x = document.getElementsByClassName("gs-webResult");
1134        var i;
1135        for (i = 0; i < x.length; i++) {
1136            var z = x[i].childNodes;
1137            var table = z[2].childNodes;
1138            if (table.length == 0)
1139                continue;
1140
1141            var tbody = table[0].childNodes;
1142            var tr = tbody[0].childNodes;
1143            var td1 = tr[0];//imagen
1144            var td2 = tr[1];
1145            td1.style.width = "275px !important";
1146            td2.appendChild(z[1]);//link al final
1147            td2.insertBefore(z[0], td2.childNodes[0]);//titol al principi
1148        }
1149    }
1150
1151    function loadWeatherWidget()
1152    {
1153        $('.modul.modul_temps .widget').each(function(){
1154            var _width = Math.min($(this).width(), 999);
1155            $(this).html("<iframe id=\"iframe_aemet_id08307\" name=\"iframe_aemet_id08307\" src=\"http://www.aemet.es/ca/eltiempo/prediccion/municipios/mostrarwidget/vilanova-i-la-geltru-id08307?w=g4p01110001ohmffffffw" + _width + "z190x4f86d9t95b6e9r1s8n2\" width=\"" + _width + "\" height=\"190\" frameborder=\"0\" scrolling=\"no\"></iframe>");
1156        });
1157    }
1158
1159	function getCookie(c_name){
1160		var c_value = document.cookie;
1161		var c_start = c_value.indexOf(" " + c_name + "=");
1162		if (c_start == -1){
1163			c_start = c_value.indexOf(c_name + "=");
1164		}
1165		if (c_start == -1){
1166			c_value = null;
1167		}else{
1168			c_start = c_value.indexOf("=", c_start) + 1;
1169			var c_end = c_value.indexOf(";", c_start);
1170			if (c_end == -1){
1171				c_end = c_value.length;
1172			}
1173			c_value = unescape(c_value.substring(c_start,c_end));
1174		}
1175		return c_value;
1176	}
1177
1178	function setCookie(c_name,value,exdays){
1179		var exdate=new Date();
1180		exdate.setDate(exdate.getDate() + exdays);
1181		var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()) + 
1182			"; path=/" +
1183			"; Secure" +
1184			"; SameSite=Lax";
1185		document.cookie=c_name + "=" + c_value;
1186	}
1187
1188	return {
1189        reheight                : reheight,
1190		refresh_background		: refresh_background,
1191		clear_background		: clear_background,
1192        initLinks               : initLinks,
1193        tabsBehaviour           : tabsBehaviour,
1194        startSearchBoxAnimation : startSearchBoxAnimation,
1195        initSearchBoxAnimation  : initSearchBoxAnimation,
1196		clearSearchBoxAnimation : clearSearchBoxAnimation,
1197        searchBoxTypeWriter     : searchBoxTypeWriter,
1198        startTabAnimation       : startTabAnimation,
1199        stopTabAnimation        : stopTabAnimation,
1200        tabAnimation            : tabAnimation,
1201        inArrayDates            : inArrayDates,
1202        medias                  : medias,
1203        navigationSelection     : navigationSelection,
1204        shareTwitter            : shareTwitter,
1205        shareFacebook           : shareFacebook,
1206        sendMail                : sendMail,
1207        print                   : print,
1208        showSearchResults       : showSearchResults,
1209        startBackgroundAnimation: startBackgroundAnimation,
1210        initBackgroundAnimation : initBackgroundAnimation,
1211        initJsonBlocs				: initJsonBlocs,
1212        loadWeatherWidget       : loadWeatherWidget,
1213        getCookie               : getCookie,
1214        setCookie               : setCookie,
1215		activar_pestanyes		: activar_pestanyes,
1216		initCarrousel			: initCarrousel,
1217		cerca_tema_blog			: cerca_tema_blog,
1218		cerca_blogs				: cerca_blogs
1219	}
1220})(jQuery);
1221
1222
1223jQuery(document).ready(function($){
1224    vilanova.fn.reheight();
1225    vilanova.fn.tabsBehaviour();
1226    vilanova.fn.initLinks();
1227    vilanova.fn.initSearchBoxAnimation();
1228    vilanova.fn.loadWeatherWidget();
1229    /*
1230	if(vilanova.fn.getCookie('politica_cookies') != "1"){
1231		var queryString = window.location.search;
1232		var urlParams = new URLSearchParams(queryString);
1233		if (urlParams.get("cookies") == "no") {
1234			return;
1235        }
1236		$("#cookies").addClass('show');
1237	}
1238	vilanova.fn.setCookie('politica_cookies','1',365);
1239    */
1240	vilanova.fn.setCookie('politica_cookies', '1', -1);//eliminem la cookie
1241
1242    if ($('.modul_pestanyes_laterals').length > 0) {
1243        $('.modul_pestanyes_laterals .contingut_pestanya').first().fadeIn('fast');
1244        vilanova.fn.startTabAnimation($('.modul_pestanyes_laterals'));
1245    };
1246
1247    $('.modul_pestanyes_laterals .pestanyes li').each(function() {
1248        var _target = $('.modul_pestanyes_laterals .contingut_pestanya.' + $(this).data('id') + ' a');
1249        _target.append($('<div class="contingut"></div>').append($(this).find('a').html()));
1250    });
1251
1252    if (vilanova.currentPage) {
1253        $('#' + vilanova.currentPage).addClass('actiu');
1254    }
1255
1256    $('.menu_principal .menu li').on('click', function(){
1257        if ($(this).hasClass('actiu')) {
1258            $(this).removeClass('actiu');
1259        } else {
1260            $('.menu_principal .menu li').removeClass('actiu');
1261            $(this).addClass('actiu');
1262        }
1263    });
1264	
1265	$(document).on('click', function() {
1266		$('.menu_principal .menu li').each(function() {
1267			if ($(this).hasClass('actiu')) {
1268				$(this).removeClass('actiu');
1269			}
1270		});
1271	});
1272	$('.menu li').on('click', function (event) {
1273		event.stopPropagation();
1274	});
1275
1276    if ($('.media_mapa').length > 0) {
1277        if (!((typeof error_nav == "undefined") || error_nav )) {
1278            Inicialitza_Mapa();
1279        }
1280    }
1281
1282    $('#buto_cercador a').on('click', function(){
1283        $(this).find('span').toggleClass('icon-up-dir');
1284        $('#cerca_avancada').toggle();
1285		return false;
1286    });
1287
1288    $.datepicker.regional["ca"];
1289
1290    $('#data-inici').datepicker({
1291        showAnim: 'slideDown'
1292    });
1293    $('#data-fi').datepicker({
1294        showAnim: 'slideDown'
1295    });
1296    $('#cerca_avancada #calendari').datepicker({
1297        beforeShowDay: function(date) {
1298
1299            if (vilanova.selectedDates && date.getTime() >= vilanova.selectedDates[0] && date.getTime() <= vilanova.selectedDates[1]){
1300                return [true, 'seleccionat', ''];
1301            } else{
1302                if(vilanova.fn.inArrayDates(date, vilanova.eventDates) != -1) {
1303                    return [true, 'actiu', ''];
1304                } else {
1305                    return [true, '', ''];
1306                }
1307            }
1308
1309
1310        },
1311        onSelect: function(dateText, inst) {
1312            window.location.href = window.location.pathname + '?data-inici=' + dateText + '&data-fi=' + dateText;
1313        }
1314    });
1315/*
1316    $('.modul_enllacos.mapaweb').each(function(){
1317        $(this).find('li:has(ul)').each(function(){
1318            $(this).addClass('pare');
1319            $(this).find('a').first().on('click', function(){
1320                $(this).parent('li').toggleClass('obert');
1321            });
1322        });
1323    });
1324*/
1325//    $('select').niceSelect();
1326
1327	vilanova.fn.initCarrousel();
1328
1329    $('#util-si').on('click', function(event) {
1330        event.preventDefault();
1331        event.stopPropagation();
1332
1333        $.post(
1334            "/comentari",
1335            {
1336				oid: vilanova.currentPage,
1337				wid: vilanova.currentWeb,
1338				aid: vilanova.currentApp,
1339				sid: vilanova.currentSubApp,
1340				page: window.location.href,
1341                useful: true
1342            }
1343        ).always(function(data){
1344            $('.modul_valoracio').addClass('resposta');
1345            $('.modul_valoracio').addClass('resposta_si');
1346        });
1347
1348        return false;
1349    });
1350
1351    $('#util-no').on('click', function(event) {
1352        event.preventDefault();
1353        event.stopPropagation();
1354
1355        $('.modul_valoracio').toggleClass('motiu');
1356
1357        return false;
1358    });
1359
1360    $('.modul_valoracio form').on('submit', function(event) {
1361        event.preventDefault();
1362        event.stopPropagation();
1363
1364        var reason = $('.modul_valoracio form input[name=motiu]').val().trim();
1365
1366        if (reason) {
1367            $.post(
1368            "/comentari",
1369                {
1370					oid: vilanova.currentPage,
1371					wid: vilanova.currentWeb,
1372					aid: vilanova.currentApp,
1373					sid: vilanova.currentSubApp,
1374					page: window.location.href,
1375                    useful: false,
1376                    reason: reason
1377                }
1378            ).always(function(data){
1379                $('.modul_valoracio').addClass('resposta');
1380                $('.modul_valoracio').addClass('resposta_no');
1381            });
1382        } else {
1383            $('.modul_valoracio').addClass('error');
1384        }
1385
1386        return false;
1387	});
1388
1389	/*Comentaris*/
1390	function formatejarData(data) {
1391		const dataSenseHora = data.split(" ")[0];
1392		const diaMesAny = dataSenseHora.split("/");
1393		const dia = diaMesAny[0].replace(/^0+/,"");
1394		const nomsMesos = ["de gener", "de febrer", "de març", "d'abril", "de maig", "de juny", "de juliol", "d'agost", "de setembre", "d'octubre", "de novembre", "de desembre"];
1395		const mes = nomsMesos[parseInt(diaMesAny[1]) - 1];
1396		const any = diaMesAny[2];
1397
1398		return `${dia} ${mes} del ${any}`;
1399	};
1400
1401	function formatejarNom(nom) {
1402		const nomCognoms = nom.split(",");
1403
1404		return `${nomCognoms[1].trim()} ${nomCognoms[0]}`
1405	};	
1406
1407	function getComentaris() {
1408		$.ajax({
1409			type: 'POST',
1410			url: "/serveis/Comentaris/comentaris.aspx?comm=all",
1411			data: {
1412				oid: vilanova.currentPage,
1413				wid: vilanova.currentWeb,
1414				aid: vilanova.currentApp
1415			},
1416			dataType: "json",
1417			success: function (resposta) {
1418				if (resposta.success) {
1419					const comentaris = $(".modul.modul_comentaris .comentaris");
1420					if (resposta.comentaris.length > 0) {
1421						comentaris.append("<h2 class='titol_modul'>Comentaris</h2>");
1422                    }
1423					resposta.comentaris.map((comentari) => {
1424						comentaris.append(
1425							`<div class='bloc_modul un_comentari' id='${comentari.id}'>
1426								<div class= 'capsalera'>
1427									<div class='dades'>
1428										<span class='icon-thumbs-${comentari.valoracio == "0" ? "down" : "up"}'></span>
1429										<div class='usuari'>${formatejarNom(comentari.nom_usuari)}</div>
1430										<div class='data_publicacio'>${formatejarData(comentari.data)}</div>
1431									</div>
1432									<button class='esborrar' title='Eliminar el comentari' style='display:${comentari.id_usuari == vilanova.currentUserId ? "block" : "none"}'>
1433										<span class='icon-cancel'></span>
1434									</button>
1435								</div>
1436								<div class='cos'>
1437									<p>${comentari.text}</p>
1438								</div>
1439							</div>`
1440						);
1441					});
1442				}
1443			},
1444			error: function (xhr, ajaxOptions, thrownError) {
1445				console.log("Error " +  xhr.status);
1446			}
1447		});
1448	};
1449
1450	window.addEventListener('load', function () {
1451		if ($(".modul.modul_comentaris")[0]) {
1452			getComentaris();
1453		}
1454	})
1455
1456	function netejaComentaris() {
1457		$(".modul.modul_comentaris .comentaris").empty();
1458	};	
1459
1460	let comentat = false;
1461	function publicaComentari() {
1462		const reason = $('.modul_comentaris form input[name=comentari]').val().trim();
1463		const useful = $(".icon-thumbs-up-alt")[0] ? true : $(".icon-thumbs-down-alt")[0] ? false : "error";
1464
1465		if (reason && !comentat && useful != "error" && vilanova.currentUser && vilanova.currentUserId) {
1466			$(".modul_comentaris .comentari form").removeClass("error");
1467			$(".valoracions #comentari-positiu").children().removeClass("error");
1468			$(".valoracions #comentari-negatiu").children().removeClass("error");
1469			$(".missatge_error").css("display", "none");
1470
1471			$.ajax({
1472				type: "POST",
1473				url: "/serveis/Comentaris/comentaris.aspx?comm=post",
1474				data: {
1475					oid: vilanova.currentPage,
1476					wid: vilanova.currentWeb,
1477					aid: vilanova.currentApp,
1478					sid: vilanova.currentSubApp,
1479					page: window.location.href,
1480					useful: useful,
1481					reason: reason
1482				},
1483				dataType: "json",
1484				error: function (xhr, ajaxOptions, thrownError) {
1485					console.log("Error " + xhr.status);
1486				}
1487			}).always(
1488				function () {
1489					comentat = true;
1490					setTimeout(() => comentat = false, 1000);
1491
1492					setTimeout(() => {
1493						netejaComentaris();
1494						getComentaris();
1495					}, 50);
1496				}
1497			);
1498			return true;
1499		} else {
1500			if (useful == "error") {
1501				$(".valoracions #comentari-positiu").children().addClass("error");
1502				$(".valoracions #comentari-negatiu").children().addClass("error");
1503			}
1504			if (!reason) {
1505				$(".modul_comentaris .comentari form").addClass("error");
1506			}
1507			$(".missatge_error").css("display", "inline-block");
1508			return false;
1509		}
1510	};
1511
1512	$(".comentari form").on("submit", function (event) {
1513		event.preventDefault();
1514		event.stopPropagation();
1515		const exit = publicaComentari();
1516		if (exit) {
1517			$(this)[0].reset();
1518			$('.valoracions #comentari-positiu').children().attr('class', 'icon-thumbs-up');
1519			$('.valoracions #comentari-negatiu').children().attr('class', 'icon-thumbs-down');
1520		}
1521	});
1522
1523	function esborraComentari(id) {
1524		$.ajax({
1525			type: 'POST',
1526			url: `/serveis/Comentaris/comentaris.aspx?comm=del&id=${id}`,
1527			data: {
1528				oid: vilanova.currentPage,
1529				wid: vilanova.currentWeb,
1530				aid: vilanova.currentApp
1531			},
1532			dataType: "json",
1533			success: function (resposta) {
1534				if (resposta.success) {
1535					setTimeout(() => {
1536						netejaComentaris();
1537						getComentaris();
1538					}, 50);
1539				}
1540			},
1541			error: function (xhr, ajaxOptions, thrownError) {
1542				console.log("Error " +  xhr.status);
1543			}
1544		});
1545	};
1546
1547	$(".comentaris").on("click", ".bloc_modul.un_comentari button.esborrar", function (event) {
1548		event.preventDefault();
1549		event.stopPropagation();
1550		const id = $(this).parent().parent().attr("id");
1551		esborraComentari(id);
1552	});
1553
1554	$('.modul.modul_comentaris .valoracions #comentari-positiu').on('click', function (event) {
1555		event.preventDefault();
1556		event.stopPropagation();
1557		$(this).children().removeClass("error");
1558		$(".valoracions #comentari-negatiu").children().removeClass("error");
1559		$(".modul_comentaris .comentari form").removeClass("error");
1560		$(".missatge_error").css("display", "none");
1561		$('.valoracions #comentari-negatiu').children().attr('class', 'icon-thumbs-down');
1562		$(this).children().toggleClass('icon-thumbs-up-alt');
1563	});
1564
1565	$('.modul.modul_comentaris .valoracions #comentari-negatiu').on('click', function (event) {
1566		event.preventDefault();
1567		event.stopPropagation();
1568		$(".valoracions #comentari-positiu").children().removeClass("error");
1569		$(this).children().removeClass("error");
1570		$(".modul_comentaris .comentari form").removeClass("error");
1571		$(".missatge_error").css("display", "none");
1572		$('.valoracions #comentari-positiu').children().attr('class', 'icon-thumbs-up');
1573		$(this).children().toggleClass('icon-thumbs-down-alt');
1574	});
1575
1576	$(".modul_comentaris .comentari form input[name=comentari]").on("click", function (event) {
1577		$(".modul_comentaris .comentari form").removeClass("error");
1578		$(".valoracions #comentari-positiu").children().removeClass("error");
1579		$(".valoracions #comentari-negatiu").children().removeClass("error");
1580		$(".missatge_error").css("display", "none");
1581	});
1582
1583	$(".modul_comentaris .comentari form input[name=comentari]").on("input", function (event) {
1584		$(".modul_comentaris .comentari form").removeClass("error");
1585		$(".valoracions #comentari-positiu").children().removeClass("error");
1586		$(".valoracions #comentari-negatiu").children().removeClass("error");
1587		$(".missatge_error").css("display", "none");
1588	});
1589	/**/
1590
1591    $('#llancador_menu a').on('click', function(e){
1592        e.stopPropagation();
1593        e.preventDefault();
1594        $('body').toggleClass('mostrar_menu');
1595        return false;
1596    });
1597
1598    vilanova.fn.activar_pestanyes();
1599    $('.modul_cercador input[type=text]').on('focus', function(){
1600        console.log(1);
1601        $('#div_amagat_cercador').show();
1602    });
1603
1604    $('#div_amagat_cercador .ajuda a').on('click', function(e){
1605        e.stopPropagation();
1606        e.preventDefault();
1607        $('#div_amagat_cercador').hide();
1608        return false;
1609    });
1610
1611    $('table.responsive').each(function(){
1612        var _headers = $(this).find('thead th');
1613        $(this).find('tbody tr').each(function(){
1614            $(this).find('td').each(function(i,e){
1615                if (i > 0) {
1616                    $(this).attr('data-title', $(_headers[i]).text());
1617                }
1618            });
1619        });
1620    });
1621
1622    $('.compartir_pagina .twitter a').on('click', vilanova.fn.shareTwitter);
1623    $('.compartir_pagina .facebook a').on('click', vilanova.fn.shareFacebook);
1624    $('.compartir_pagina .email a').on('click', vilanova.fn.sendMail);
1625    $('.compartir_pagina .imprimir a').on('click', vilanova.fn.print);
1626
1627    if ($('.modul_resultats_cerca').length > 0) {
1628        (function () {
1629            var cx	= '016932252803807603957:jf8wwyg_hlk';
1630			if (vilanova.currentWeb == '2') {
1631				cx	= '016932252803807603957:_w9aopoksac'; // Seu electrònica
1632			} else if (vilanova.currentWeb == '3') {
1633				cx	= '016932252803807603957:sivncso-ocg'; // Turisme
1634			} else if (vilanova.currentWeb == '4') {
1635				cx	= '016932252803807603957:qzve0gos3ko'; // Biblioteques
1636			} else if (vilanova.currentWeb == '5') {
1637				cx	= '016932252803807603957:iotfflsl7-u'; //IMET
1638			} else if (vilanova.currentWeb == '6') {
1639				cx	= '016932252803807603957:8wcp8tw9pjw'; // Oficina Jove
1640			}
1641            var gcse       = document.createElement('script');
1642                gcse.type  = 'text/javascript';
1643                gcse.async = true;
1644                gcse.src   = 'https://cse.google.com/cse.js?cx=' + cx;
1645            var s          = document.getElementsByTagName('script')[0];
1646            s.parentNode.insertBefore(gcse, s);
1647        })();
1648    }
1649
1650    $('.scroll_down').on('click', function(){
1651        $(this).find('span').toggleClass('icon-up-dir');
1652
1653        $('#' + this.id + '_scroll_down').toggle();
1654        return false;
1655	});
1656
1657	$('.pregunta_faqs').on('click', function () {
1658		$("div:nth-child(2)", this).toggleClass('icon-up-dir');
1659		$(this).next().toggle();
1660		return false;
1661	});
1662
1663    vilanova.fn.medias();
1664	if (typeof custom_inic == "function") custom_inic(); // Crida funcions personalitzades de la web
1665	// Bloc de bus
1666	$(".clickable-row").click(function() {
1667        window.location = $(this).data("href");
1668    });	
1669}(jQuery));
1670
1671
1672jQuery(window).resize(function(){
1673    recalcular_border_right_orla_barra_menu();
1674    clearTimeout(window.resizedFinished);
1675    window.resizedFinished = setTimeout(function(){
1676        if (window.self == window.top) {
1677            vilanova.fn.reheight();
1678            vilanova.fn.medias();
1679            vilanova.fn.loadWeatherWidget();
1680        }
1681    }, 250);
1682});
1683
1684window.onload = function($){
1685	vilanova.fn.reheight();
1686	if ($('.modul_resultats_cerca').length > 0) {
1687			vilanova.fn.showSearchResults();
1688	}
1689	vilanova.fn.refresh_background();
1690	vilanova.fn.initBackgroundAnimation();
1691	vilanova.fn.initJsonBlocs();
1692}	(jQuery);
1693function translateJuicer() {
1694	jQuery('.j-paginate').text("Carrega'n més");
1695	jQuery('.j-read-more').html("...Llegeix més");
1696	jQuery('.juicer-button.j-facebook').text("Veure'l a Facebook");
1697	jQuery('.juicer-button.j-twitter').text("Veure'l a X");
1698}

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.