PageSourceSearch

https://transparencia.algamitas.es/export/system/modules/com.saga.…me.diputacion.sevilla/resources/js/theme.js

js algamitas.es collected 2026-10-02 21:19:30 UTC 15,080 bytes, 448 lines download raw bytes

1/* ===========================================================
2 * Demo js
3 * ========================================================== */
4
5
6$(document).ready(function () {
7
8// Magnific popup Lightbox
9	// TRANSLATION - Add it after jquery.magnific-popup.js and before first initialization code
10
11	var curLang = $('html').attr('lang');
12
13	switch (curLang) {
14		case 'de':
15			$.extend(true, $.magnificPopup.defaults, {
16				tClose: 'Schließen',
17				tLoading: 'Wird geladen...',
18				gallery: {
19					tPrev: 'Zurück',
20					tNext: 'Weiter',
21					tCounter: '%curr% von %total%'
22				},
23				image: {
24					tError: 'Das <a href="%url%">Bild</a> konnte nicht geladen werden.'
25				},
26				ajax: {
27					tError: 'Der <a href="%url%">Inhalt</a> konnte nicht geladen werden.'
28				}
29			});
30			break;
31		case 'es':
32			$.extend(true, $.magnificPopup.defaults, {
33				tClose: 'Cerrar (Tecla Esc)', // Alt text on close button
34				tLoading: 'Cargando...', // Text that is displayed during loading. Can contain %curr% and %total% keys
35				gallery: {
36					tPrev: 'Imagen Anterior de la Galería (Tecla de flecha a la izquierda)', // Alt text on left arrow
37					tNext: 'Imagen Siguiente de la Galería (Tecla de flecha a la derecha)', // Alt text on right arrow
38					tCounter: '%curr% de %total%' // Markup for "1 of 7" counter
39				},
40				image: {
41					tError: '<a href="%url%">La imagen</a> no puede cargarse.' // Error message when image could not be loaded
42				},
43				ajax: {
44					tError: '<a href="%url%">El contenido</a> no se puede cargar.' // Error message when ajax request failed
45				}
46			});
47			break;
48		case 'en':
49			$.extend(true, $.magnificPopup.defaults, {
50				tClose: 'Close (Esc)', // Alt text on close button
51				tLoading: 'Loading...', // Text that is displayed during loading. Can contain %curr% and %total% keys
52				gallery: {
53					tPrev: 'Previous (Left arrow key)', // Alt text on left arrow
54					tNext: 'Next (Right arrow key)', // Alt text on right arrow
55					tCounter: '%curr% of %total%' // Markup for "1 of 7" counter
56				},
57				image: {
58					tError: '<a href="%url%">The image</a> could not be loaded.' // Error message when image could not be loaded
59				},
60				ajax: {
61					tError: '<a href="%url%">The content</a> could not be loaded.' // Error message when ajax request failed
62				}
63			});
64			break;
65		case 'ca':
66			$.extend(true, $.magnificPopup.defaults, {
67				tClose: 'Tancar (Tecla Esc)', // Alt text on close button
68				tLoading: 'Carregant...', // Text that is displayed during loading. Can contain %curr% and %total% keys
69				gallery: {
70					tPrev: 'Imatge Anterior de la Galeria (Tecla de fletxa ala esquerra)', // Alt text on left arrow
71					tNext: 'Imatge Següent de la Galeria (Tecla de fletxa ala dreta)', // Alt text on right arrow
72					tCounter: '%curr% de %total%' // Markup for "1 of 7" counter
73				},
74				image: {
75					tError: '<a href="%url%">La imatge</a> no pot carregar-se.' // Error message when image could not be loaded
76				},
77				ajax: {
78					tError: '<a href="%url%">El contingut</a> no pot carregar-se.' // Error message when ajax request failed
79				}
80			});
81			break;
82		default:
83			$.extend(true, $.magnificPopup.defaults, {
84				tClose: 'Close (Esc)', // Alt text on close button
85				tLoading: 'Loading...', // Text that is displayed during loading. Can contain %curr% and %total% keys
86				gallery: {
87					tPrev: 'Previous (Left arrow key)', // Alt text on left arrow
88					tNext: 'Next (Right arrow key)', // Alt text on right arrow
89					tCounter: '%curr% of %total%' // Markup for "1 of 7" counter
90				},
91				image: {
92					tError: '<a href="%url%">The image</a> could not be loaded.' // Error message when image could not be loaded
93				},
94				ajax: {
95					tError: '<a href="%url%">The content</a> could not be loaded.' // Error message when ajax request failed
96				}
97			});
98	}
99
100	try{
101		$('.zoom-filter').magnificPopup({
102			type:'image',
103			/*closeMarkup: '<button title="tClose" type="button" class="mfp-close"><span aria-hidden="true">&#215;</span></button>',*/
104			gallery:{
105				enabled:true
106			}
107		});
108	}catch(e){}
109
110	// Magnific popup Lightbox
111	try{
112		$('.gallery').each(function() { // the containers for all your galleries
113			$(this).magnificPopup({
114				delegate: '.zoom-filter', // the selector for gallery item
115				type: 'image',
116				gallery: {
117					enabled:true
118				}
119			});
120		});
121	}catch(e){}
122
123
124
125	//Implementa tooltip en los elementos con la clase selector y ademas le aniadimos las clases asociadas al enlace al contenedor del tooltip
126
127
128	$( ".hastooltip" ).tooltip();
129
130
131	// Implementa Popup para mostrar el detalle de recursos
132	// say your selector and click handler looks something like this...
133
134
135	$( "<div class='dialogo'></div>" ).appendTo( "body" );
136	$(".popup a").click(abreDialogo);
137
138	// in your function, just grab the event object and go crazy...
139
140	function abreDialogo(event){
141		$(".dialogo").dialog({
142			modal: true,
143			title: $(this).attr('title'),
144			show: {
145				effect: "drop",
146				duration: 500,
147				direction: 'up'
148			},
149			hide: {
150				effect: "drop",
151				duration: 500,
152				direction: 'down'
153			},
154			position: 'center',
155			draggable: false,
156			height: 600,
157			width: 650,
158			closeOnEscape: true
159
160		});
161
162		var elem = $(this);
163		var miRuta = elem.attr('href');
164		$(".ui-dialog-content").load(miRuta);
165
166
167		return false;
168	}
169
170
171
172// para que en el menu responsive si haces click en una seccion por debajo de otra desplegada muy extensa haga scrolltop hasta la que has hecho click	
173// para cargar el overlay de fondo en el menu responsive
174
175	$('.menu.mobile').on('shown.bs.collapse', function (e) {
176
177		var clickedHeader = $(this).find('.panel > .in').closest('.panel').find('.bullet');
178		var offset = clickedHeader.offset();
179		var top = $(window).scrollTop();
180		if(offset) {
181			var topOfHeader = offset.top;
182			if(topOfHeader < top) {
183				$('html,body').animate({ scrollTop: topOfHeader}, 100, 'swing');
184			}
185		}
186	});
187	$('#header .mega-menu').on('shown.bs.dropdown', function (e) {
188
189		var clickedHeader = $(this).find('.navbar-nav > .dropdown.open').closest('.dropdown').find('.dropdown-toggle');
190		var offset = clickedHeader.offset();
191		var top = $(window).scrollTop();
192		if(offset) {
193			var topOfHeader = offset.top;
194			if(topOfHeader < top) {
195				$('html,body').animate({ scrollTop: topOfHeader}, 100, 'swing');
196			}
197		}
198	});
199
200	// PARA CAMBIAR EL ICONO DE DESPLIEGUE DE MENU
201
202	$('body').append('<div class="overlay-menu-responsive" style="display: none;"></div>');
203
204	$('.header').on('click','.navbar-toggle', function (e) {
205		console.log(e.currentTarget);
206		var clase = $(e.currentTarget).attr('class');
207		if (clase == 'navbar-toggle' || clase == 'navbar-toggle collapsed'){
208			$(e.currentTarget).addClass('shown');
209			$(e.currentTarget).find('.fa').removeClass('fa-bars').addClass('fa-close');
210		}
211		else {
212			$(e.currentTarget).removeClass('shown');
213			$(e.currentTarget).find('.fa').removeClass('fa-close').addClass('fa-bars');
214		}
215	});
216	$('.mega-menu').on('click','.navbar-toggle', function (e) {
217		var clase = $(e.currentTarget).attr('class');
218		if (clase == 'navbar-toggle' || clase == 'navbar-toggle collapsed'){
219			$('.overlay-menu-responsive').fadeIn();
220		}
221		else {
222			$('.overlay-menu-responsive').fadeOut();
223		}
224	});
225
226	$(document).on('click', '.overlay-menu-responsive', function (e) {
227		$('.mega-menu .navbar-toggle').attr('class', 'navbar-toggle collapsed');
228		$('.navbar-responsive-collapse').collapse('hide');
229		$('.overlay-menu-responsive').hide();
230		$('.mega-menu .navbar-toggle').find('.fa').removeClass('fa-close').addClass('fa-bars');
231	});
232
233
234// PARA CAMBIAR LA ORIENTACION DE LA FLECHA DE DESPLIEGUE EN EL MENU ACCORDION
235
236	$('.menu-accordion').on('shown.bs.collapse', function () {
237		$(this).find('[aria-expanded="true"] .fa').removeClass('fa-angle-down').addClass('fa-angle-up');
238	})
239
240	$('.menu-accordion').on('hidden.bs.collapse', function () {
241		$(this).find('[aria-expanded="false"] .fa').removeClass('fa-angle-up').addClass('fa-angle-down');
242	})
243
244
245	// PARA CAMBIAR EL SKIN EN LA DEMO
246
247	/*$('body').append('<div id="overlay-m" class="overlay" style="position: fixed;display:none;top: 0;left: 0;bottom: 0;right: 0;opacity: 0.9;background: #000;z-index: 30000;color: #ddd;"><span style="position: absolute;left: 45%;top: 49%;"><img src="/opencms95/opencms//system/modules/com.saga.sagasuite.theme.diputacion.sevilla/skins/skin-default/images/ajax-loader.gif" style="margin-right: 10px;" />Cargando skin...</span></div>');
248	$('[data-skin-header="skin-switcher"]').click( function () {
249		$('#overlay-m').show();
250		setTimeout(function(){
251			$('#overlay-m').hide();
252		},1400);
253		var skin = $(this).data('skin-type');
254		$('#style-skin').attr('href','/opencms95/opencms//system/modules/com.saga.sagasuite.theme.diputacion.sevilla/skins/' + skin + '/css/screen.css');
255	});*/
256
257	// PARA CAMBIAR EL FORMATO DE PAGINA EN LA DEMO
258
259	$('[data-switcher="page"]').click( function () {
260		$('#overlay-m').show();
261		setTimeout(function(){
262			$('#overlay-m').hide();
263		},1400);
264		var pagetype = $(this).data('class-body');
265		if (pagetype == 'bg-image-body'){
266			$('body').addClass(pagetype);
267			$('.home .subheader-container').addClass('container');
268		}
269		if (pagetype == 'body-boxed'){
270			$('body').addClass(pagetype);
271			$('#page').addClass('page-container container');
272		}
273		if (pagetype == 'no-bg-image-body'){
274			$('body').removeClass('bg-image-body');
275			$('.home .subheader-container').removeClass('container');
276		}
277		if (pagetype == 'no-body-boxed'){
278			$('body').removeClass('body-boxed');
279			$('#page').removeClass('page-container container');
280		}
281	});
282
283	// PARA CAMBIAR EL ICONO DE DESPLIEGUE DE OPCIONES SKIN
284
285	$('.btn-skin-switcher').click( function () {
286		var expanded = $(this).attr('aria-expanded');
287		if (expanded == 'false'){
288			$(this).removeClass('btn-info').addClass('btn-danger');
289			$(this).find('.fa').removeClass('fa-reorder').addClass('fa-close');
290		}
291		if (expanded == 'true'){
292			$(this).removeClass('btn-danger').addClass('btn-info');
293			$(this).find('.fa').removeClass('fa-close').addClass('fa-reorder');
294		}
295	});
296
297
298// Show/hide de bloque de buscador en cabecera
299
300	$('#header .search').on('shown.bs.dropdown', function () {
301		$('.search .dropdown-toggle .fa').removeClass('fa-search').addClass('fa-close');
302	});
303	$('#header .search').on('hidden.bs.dropdown', function () {
304		$('.search .dropdown-toggle .fa').removeClass('fa-close').addClass('fa-search');
305	});
306
307
308	// Gestion de la posicion fija de la cabecera y del comportamiento del menu en tablet y desktop
309
310	if (jQuery(window).scrollTop()>100){
311		jQuery(".tablet-device .header").addClass("header-fixed-compact");
312	}
313	else {
314		jQuery(".tablet-device .header").removeClass("header-fixed-compact");
315	}
316	if ($(window).scrollTop()>205){
317		$(".desktop-device #header .header").addClass("header-fixed-compact");
318		$('.desktop-device #header .navbar-responsive-collapse .navbar-nav [aria-expanded="true"]').dropdown('toggle');
319		//$('.desktop-device #header .main-block .active').removeClass("active");
320	}
321	else {
322		$(".desktop-device #header .header").removeClass("header-fixed-compact");
323	}
324
325	$(window).scroll(function() {
326		if (jQuery(window).scrollTop()>100){
327			jQuery(".tablet-device .header").addClass("header-fixed-compact");
328		}
329		else {
330			jQuery(".tablet-device .header").removeClass("header-fixed-compact");
331		}
332		if ($(window).scrollTop()>205){
333			$(".desktop-device #header .header").addClass("header-fixed-compact");
334			$('.desktop-device #header .navbar-responsive-collapse .navbar-nav [aria-expanded="true"]').dropdown('toggle');
335			//$('.desktop-device #header .main-block .active').removeClass("active");
336		}
337		else {
338			$(".desktop-device #header .header").removeClass("header-fixed-compact");
339		}
340		//Boton de volver arriba
341		var offset = 840;
342		var duration = 500;
343		$( "body" ).append( "<div class='back-to-top' style='display: none;'><a title='Top' class='btn btn-specific-main'><i class='fa fa-chevron-up'> </i></a></div>" );
344		$( ".back-to-top > a" ).tooltip( {placement: 'left'} );
345		if (jQuery(this).scrollTop() > offset) {
346			jQuery('.back-to-top').fadeIn(duration);
347		} else {
348			jQuery('.back-to-top').fadeOut(duration);
349		}
350
351
352		jQuery('.back-to-top > a').click(function(event) {
353			event.preventDefault();
354			jQuery('html, body').animate({scrollTop: 0}, duration);
355			return false;
356		})
357	});
358
359
360	// ANIMACIONES HOME
361
362	// para que los enlaces con ancla especiales nos lleven con animacion al bloque correspondiente de la página
363	$("a[data-link='anchor']").on("click" ,function (e) {
364		e.preventDefault();
365		var hash = $(this).attr("href");
366		$('html, body').animate({scrollTop: $(hash).offset().top - 40}, 1000);
367		location.replace("#" + hash.substr(1));
368	});
369
370	// para incluir los class correspondientes a los elementos que queremos animar
371	$('.home #agenda .tscalendar').addClass('animated animated-fade animated-fade-down');
372	$('.home #transparencia .list-transparencia').addClass('animated animated-fade animated-fade-down');
373	$('.home #actualidad .list').addClass('animated animated-fade animated-fade-up-slow');
374
375	// para animar a esos elementos al llegar haciendo scroll
376
377	$('.animated').waypoint(function(direction) {
378		if (direction === 'down') {
379			if ($(this.element).hasClass('animated-fade-down')) {
380				$(this.element).removeClass('animated-fade').addClass('fade-in-down');
381			}
382			if ($(this.element).hasClass('animated-fade-up-slow')) {
383				$(this.element).removeClass('animated-fade').addClass('fade-in-left');
384			}
385		}
386	}, { offset: '80%'});
387
388
389	// PARA LLAMAR AL TAB CORRESPONDIENTE DESDE EL BLOQUE DE BOTONES Y HACER EFECTO SCROLL AL TAB QUE SE ACTIVA
390
391
392	$('.gotab').click(function (e) {
393		e.preventDefault();
394		$(this).tab('show');
395		$(".nav-tabs li").removeClass("active");
396		var anchor = $(this).attr('href');
397		var anchorlink = anchor + 'bullet';
398		console.log(anchorlink);
399		$(anchorlink).addClass("active");
400	});
401	$('.gotab').on('shown.bs.tab', function (e) {
402		var $link = $(this);
403		var anchorposition  = $link.attr('data-anchor');
404		console.log(anchorposition);
405		$('html, body').animate({scrollTop: $(anchorposition).offset().top -60}, 1500);
406	});
407
408
409});
410
411//MODIFICACIONES DEL WIDGET DE TWITTER DE LA HOME
412
413$(window).load(function()
414{
415	// para hacer que vayamos al ancla que llega al cargar la página
416
417	/*var hash = document.location.hash;
418	 var id = hash.replace('#','');
419	 if (hash) {
420	 //Comprobamos si es un tab el hash
421	 var idElement = $('a[href='+hash+']').attr('id');
422	 if(idElement == null || (idElement.substr(0,4)!='tab-' && idElement.substr(0,9)!='collapse-')) {
423	 console.log(idElement);
424	 console.log(hash);
425	 console.log($(hash));
426	 console.log($(hash).offset().top);
427	 var hash = '#agenda';
428	 $('html, body').animate({scrollTop: $(hash).offset().top -40 }, 2000);
429	 }
430	 }*/
431
432	// SALTO PARA ANCLAS CON CABECERA FIJA
433
434	var hash = document.location.hash;
435	var id = hash.replace('#','');
436	if (hash) {
437		//Comprobamos si es un tab el hash
438		if((hash.substr(0,4)!='tab-' && hash.substr(0,9)!='collapse-')) {
439			var headerheight = $('.header-fixed-compact').outerHeight(false);
440			$('html, body').animate({scrollTop: $(hash).offset().top - (headerheight)}, 1000);
441		}
442	}
443
444});
445
446
447
448

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.