(function ($) { // Initialize elements var $carousel = $('#qedCarousel'); $carousel.carousel({ interval: 2000 }); })(jQuery); (function ($) { // Elements var $tabControls = $('#daysControl').find('.controls-item'); var $trackTabControls = $('#tracksControl').find('.controls-item'); var $activeContentTab = $(".event-tab--show"); var $eventContentBoxes = $activeContentTab.find('.event-timeline-content'); var $tracksControl = $('#tracksControl'); // Variables var activeTabIndex = 1; var activeTrack = 0; // Check click on day tab $tabControls.click( function(e) { e.stopImmediatePropagation(); // Get ID from the selected day var selectedID = $(this).data('id'); // Set selected tab from selected day ID var $selectedTab = $("#event-tab-" + selectedID); // If clicked tab doesn't have an active show class if ( !$selectedTab.hasClass('event-tab--show') ) { // Set selected tab controll $(this).addClass('controls-item--selected'); // Set selected tab $selectedTab.addClass('event-tab--show'); // Deselect tab that is currently selected(active) $("[id^=event-tab-]:not(#event-tab-"+ selectedID +")").removeClass('event-tab--show'); // Deselect tab controll that is currently selected(active) $('#daysControl .controls-item:not([data-id='+ selectedID +'])').removeClass('controls-item--selected'); } checkMobile(); } ); // Check click on track tab $trackTabControls.click( function(e) { e.stopImmediatePropagation(); var $selectedTab = $(this); // Get ID from the selected track var selectedID = $(this).data('id'); activeTrack = selectedID; if ( !$(this).hasClass('controls-item--selected')) { // Set selected tab controll $selectedTab.addClass('controls-item--selected'); // Deselect tab controll that is currently selected(active) $('#tracksControl .controls-item:not([data-id='+ selectedID +'])').removeClass('controls-item--selected'); } checkMobile(); }); function setTimePositionDesktop() { var $activeContentTab = $(".event-tab--show"); var $eventContentBoxes = $activeContentTab.find('.event-timeline-block'); // Align event times vertically/horizontally based on the timeline content $eventContentBoxes.each(function(i, el){ // Find time from the current box and position it absolute left if ( $(el).find('.event-timeline-content__event-time').length > 0 ) { var topMargin = 20; var leftOffset = 130; if ( $(window).width() < 1200 ) { leftOffset = 100; } var leftPos = ( $(el).width() / 2 ) - leftOffset; var topPos = ( $(el).height() - topMargin*2) / 2; if (topPos <= 0) { topPos = $(el).parent().height() / 2; } $(el).find('.event-timeline-content__event-time').css({ 'position': 'absolute', 'left': -leftPos, 'top': topPos }); } }); } function setTimePositionMobile() { var $eventContentBoxes; $eventContentBoxes = $('.event-tab--show .event-timeline-content'); if (activeTrack === 0) { $(".event-tab--show .event-timeline-content--empty").hide(); } } function checkMobile() { if ( $(window).width() <= 1024 ) { var $activeContent; var $hiddenContent; if ( activeTrack === 0 ) { $('.event-tab--show .timeline-content--right').hide(); $('.event-tab--show .event-timeline-content:not(.timeline-content--right)').show(); $('a.event-timeline-content').attr("target", "_blank"); } if ( activeTrack === 1) { $('.event-tab--show .timeline-content--right').show(); $('.event-tab--show .event-timeline-content:not(.timeline-content--right)').hide(); $('.event-tab--show .timeline-content--full').show(); $('.event-tab--show .timeline-content--both').show(); } // Hiddle middle line $('.event-timeline').addClass('event-timeline--split--hide'); $('.event-timeline-content:not(.timeline-content--full)').css({ "width": "100%", "max-width": "none" }); //setTimePositionMobile(); } else { // Yeah, I know. // TODO: Fix this. setTimePositionDesktop(); setTimePositionDesktop(); } } function hideElements(els) { $.each(els, function (i, el) { $(el).hide(); }); } function showElements(els) { $.each(els, function (i, el) { $(el).show(); }); } function activateTracksControls() { if ( $(window).width() <= 1024 ) { $tracksControl.show(); } else { $tracksControl.hide(); } } checkMobile(); activateTracksControls(); })(jQuery);