1/*1790832592000*/ 2 3window.jquery = window.jQuery; 4AUI().ready( 5 /* 6 This function gets loaded when all the HTML, not including the portlets, is 7 loaded. 8 */ 9 'aui-base', 'aui-helper-hidden', 'event', 'node-event-simulate', 'event-resize', 'liferay-sign-in-modal', 10 'node-scroll-info', 'anim', 11 function(A) { 12 var signIn = A.one('li.sign-in a'); 13 14 if (signIn && signIn.getData('redirect') !== 'true') { 15 signIn.plug(Liferay.SignInModal); 16 } 17 18 var body = A.getBody(); 19 20 21 var slideMenu = A.one('.slide-nav .navbar-toggle'); 22 slideMenu.on('click', slideMenuButton); 23 24 if(A.one('.overlay') != null){ 25 A.one('.overlay').on('click', simulateSlideNav); 26 } 27 28 body.on('windowresize', bodyWindowResize); 29 30 31 var firstMenuElement; 32 var secondMenuElement; 33 34 // Evita que al hacer click en el botón que abre el segundo menu en responsive, cierre el menu principal 35 A.all('.unav_nav ul > li > .dropdown-menu.mega-dropdown-menu').each(function () { 36 this.on('click', function (event) { 37 event.stopPropagation(); 38 }); 39 }); 40 41 A.all('.unav_nav ul > li > button').each(function () { 42 this.on('click', firstMenuButton); 43 }); 44 45 A.all('.unav_nav ul > li .unav_submenu').each(function () { 46 var element = this; 47 48 if (this.one('.unav_colSubmenu1 .unav_botonSubmenu') != null) { 49 this.one('.unav_colSubmenu1 .unav_botonSubmenu').on('click', function (){ 50 secondMenuElement = element; 51 openMenu2Button(element); 52 }); 53 } 54 55 if (this.one('.unav_colSubmenu2 > button') != null) { 56 this.one('.unav_colSubmenu2 > button').on('click', function (){ 57 hideMenu2Button(element); 58 }); 59 } 60 61 if (this.one('.unav_colSubmenu1 > button') != null) { 62 this.one('.unav_colSubmenu1 > button').on('click', hideMenu1Button); 63 } 64 }); 65 66 // Evento lanzado al hacer click fuera del menu principal cuando este esta abierto en modo responsive 67 function simulateSlideNav() { 68 slideMenu.simulate('click'); 69 } 70 71 // Evento lanzado al redimensionar la ventana 72 function bodyWindowResize() { 73 var hasSlideActive = A.one('.slide-nav .navbar-toggle').hasClass('slide-active'); 74 75 if (body.width() > 992 && hasSlideActive) { 76 if (secondMenuElement != null) { 77 hideMenu2Button(secondMenuElement); 78 } 79 80 if (firstMenuElement != null) { 81 hideMenu1Button(); 82 } 83 84 slideMenu.simulate('click'); 85 86 A.all('.unav_colSubmenu1').setStyle('display', ''); 87 A.all('.unav_colSubmenu2').setStyle('display', ''); 88 89 expandMenu("true"); 90 } 91 } 92 93 // Evento lanzado al abrir el menu en responsive 94 function slideMenuButton () { 95 var selected = slideMenu.hasClass('slide-active'); 96 97 if($("#search").length > 0){ 98 var hasSearchOpen = A.one('#search').hasClass('open'); 99 if (hasSearchOpen) { 100 A.one('#search').simulate('click'); 101 } 102 103 new A.Anim({ 104 duration: 0.5, 105 node: '.slidemenu', 106 to: { 107 right: selected ? '-100%' : '0px' 108 } 109 }).run(); 110 111 new A.Anim({ 112 duration: 0.5, 113 node: '.overlay', 114 to: { 115 top: selected ? '-2000px' : '0px' 116 } 117 }).run(); 118 119 new A.Anim({ 120 duration: 0.5, 121 node: '#navbar-height-col', 122 to: { 123 right: selected ? '-420px' : '0px' 124 } 125 }).run(); 126 127 new A.Anim({ 128 duration: 0.5, 129 node: '.page-content', 130 to: { 131 right: selected ? '0px' : '420px' 132 } 133 }).run(); 134 135 slideMenu.toggleClass('slide-active', !selected); 136 A.all('.page-content, .navbar, body, .navbar-header, .slidemenu').toggleClass('slide-active'); 137 expandMenu("true"); 138 if (secondMenuElement != null) { 139 hideMenu2Button(secondMenuElement); 140 } 141 } 142 143 }; 144 145 // Evento lanzado al abrir el primer nivel del menu en responsive 146 function firstMenuButton(){ 147 firstMenuElement = this; 148 var expanded = this.attr('aria-expanded'); 149 if (expanded == null) { 150 expanded = "false"; 151 } 152 expandMenu(expanded) 153 } 154 155 // Muestra u oculta el menu principal en responsive 156 function expandMenu(expanded) { 157 if (expanded == "true") { 158 A.all('#navbar-main .dropdown-toggle, #navbar-top').removeClass('visiblemobile'); 159 } else { 160 A.all('#navbar-main .dropdown-toggle, #navbar-top').addClass('visiblemobile'); 161 } 162 } 163 164 // Evento lanzado al abrir el segundo nivel del menu en responsive 165 function openMenu2Button(node){ 166 node.one('.unav_colSubmenu1').setStyle('display', 'none'); 167 node.one('.unav_colSubmenu2').setStyle('display', 'block'); 168 } 169 170 // Evento lanzado al cerrar el segundo nivel del menu en responsive 171 function hideMenu2Button(node){ 172 node.one('.unav_colSubmenu1').setStyle('display', 'list-item'); 173 node.one('.unav_colSubmenu2').setStyle('display', 'none'); 174 175 secondMenuElement = null; 176 } 177 178 // Evento lanzado al cerrar el primer nivel del menu en responsive 179 function hideMenu1Button(){ 180 firstMenuElement.simulate('click'); 181 firstMenuElement = null; 182 } 183 184 // Evento lanzado al abrir el buscador 185 function searchButton(event) { 186 event.preventDefault();
187 var hasSlideActive = A.one('.slide-nav .navbar-toggle').hasClass('slide-active'); 188 if (hasSlideActive) { 189 simulateSlideNav(); 190 } 191 A.one('#search').addClass('open'); 192 A.one('#search > form input[type="search"]').focus(); 193 } 194 195 // Evento lanzado al cerrar el buscador 196 function searchClosebutton(event) { 197 if (event.shiftKey && event.keyCode == 9) { // shift was down when tab was pressed 198 if (A.one(event.target) == A.one('#search input[type="search"]')) { 199 event.preventDefault(); 200 A.one('#search button').focus(); 201 } 202 } else if (event.keyCode == 9) { // solo tab 203 if (A.one(event.target) == A.one('#search button')) { 204 event.preventDefault(); 205 A.one('#search input[type="search"]').focus(); 206 } 207 } else if (event.target == this || event.target.className == 'close' || event.keyCode == 27) { 208 this.removeClass('open'); 209 } 210 } 211 } 212); 213 214// Recogemos las alturas a las que se encuentran los componentes que vayan a tener el efecto parallax 215var parallaxElementsOffSet = []; 216$(".parallax").each(function( index ) { 217 parallaxElementsOffSet[index] = $(this).offset(); 218}); 219 220// Aplica el efecto Parallax y la altura dinamica al scroll de la pantalla 221function smoothScroll() { 222 // Añadimos el scroll virtual a la pantalla 223 var yScrollPosition = Scrollbar.init(document.querySelector('.scroller')).scrollTop; 224 // Recogemos la altura del header 225 var alturaHeader = $('#banner').outerHeight(); 226 // Se recoge la altura del log 227 if(document.getElementById('p_p_id_145_') != null){ 228 var alturaLog = $('#p_p_id_145_').outerHeight(); 229 } else { 230 var alturaLog = 0; 231 } 232 233 // HITO 2: EFECTO PARALLAX GLOBAL 234 // Efecto parallax para los elementos que contengan la clase parallax 235 $(".parallax").each(function( index ) { 236 var marginTop = $(this).css("margin-top"); 237 marginTop = marginTop.substr(0, marginTop.length-2); 238 var alturaParallax = parallaxElementsOffSet[index].top - alturaLog - alturaHeader - marginTop; 239 if (yScrollPosition > alturaParallax){ 240 setTranslate(0, ((yScrollPosition - alturaParallax) * -.25), this); 241 } else if(yScrollPosition < alturaParallax){ 242 setTranslate(0, 0, this) 243 } 244 }); 245 246 //Tablet y movil 247 if(screen.width < 992){ 248 //Si existe un usuario logeado, se le asigna una altura a los componentes de la cabecera 249 if(document.getElementById('p_p_id_145_') != null){ 250 $('.unav #heading #search-button').addClass('altura_logeo'); 251 $('.unav #heading .slide-nav button.navbar-toggle').addClass('altura_logeo'); 252 $('.unav #heading #search-icon').addClass('altura_logeo'); 253 $('.unav #heading .menu-buscar').addClass('altura_logeo'); 254 255 $('.altura_logeo').css("top", alturaLog +"px"); 256 $('.unav #heading #navbar-moviloption').css('bottom', '152px'); 257 } 258 } 259 260 //Movil 261 if(screen.width < 768){ 262 // Si existe un usuario logeado, se le asigna una altura doble al buscador 263 if(document.getElementById('p_p_id_145_') != null){ 264 $('.unav #heading .menu-buscar').addClass('altura_logeo_doble'); 265 266 $('.altura_logeo_doble').css("top", alturaLog * 2 +"px"); 267 } 268 } 269 270 requestAnimationFrame(smoothScroll); 271 272 // Restamos las alturas del login y del header para que el scroll encaje perfecto 273 var alturaHeader = 110; 274 var alturaTotalARestar = alturaLog + alturaHeader; 275 $('.scroller').css("height","calc(100vh - " + alturaTotalARestar + "px)"); 276}; 277 278// Estilo translate3d en la posicion recogida y al elemento recogido 279function setTranslate(xPos, yPos, el) { 280 el.style.transform = "translate3d(" + xPos + ", " + yPos + "px, 0)"; 281}; 282 283function isOverflowHidden() { 284 if (screen.width < 992) { 285 var navbarTopHeight = screen.height - (110 + $('.unav #heading #navbar-moviloption').height() + $('.unav #heading #navbar-top .navbar-nav').height()); 286 if ($('#p_p_id_145_').height() != null) { 287 navbarTopHeight = navbarTopHeight - $('#p_p_id_145_').height(); 288 289 // Se aprovecha para ajustar el menu 290 $('#heading .slidemenu').css('top', '170px'); 291 } 292 if (navbarTopHeight > $('.unav #navbar-main-movil .navbar-nav.pull-right').height()) { 293 /*$('#heading .slidemenu').css('overflow-y', 'hidden');*/ 294 } 295 } 296} 297 298window.jquery = window.jQuery; 299AUI().ready( 300 function isOverflowHidden(){
301 if(document.getElementById('wrapper') != null){ 302 if(!$('#wrapper').hasClass('scroller')){ 303 $('#wrapper').addClass('scroller'); 304 } 305 } 306 var scrollbarElement = document.querySelector('.scroller'); 307 var Scrollbar = window.Scrollbar; 308 if (scrollbarElement.length > 0) { 309 Scrollbar.init(scrollbarElement); 310 } 311 312 /* INIT AMLR-544: El footer aparece cortado */ 313 // Si existe el banner en pantalla, se llama al listener para el funcionamiento del efecto Parallax 314 // if(document.querySelector("#titulos_banner_parallax") != null){ 315 window.addEventListener("DOMContentLoaded", smoothScroll, false); 316 // } 317 /* END AMLR-544 */ 318 } 319);
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.