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">×</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.