Modernizr.load([ { test: window.matchMedia, nope: "/css/matchMedia.js" }, { load: ["/css/enquire.min.js"], complete: function () { var clientWidth = document.documentElement.clientWidth; var responsiveContainerTop = jQuery('.responsive-container-top'); var responsiveContainerBottom = jQuery('.responsive-container-bottom'); var bottomContainerClass = '.responsive-container-bottom'; var topContainerClass = '.responsive-container-top'; var responsiveMenuContainerTop = jQuery('.responsive-menu-container-top'); var responsiveMenuContainerBottom = jQuery('.responsive-menu-container-bottom'); var bottomMenuContainerClass = '.responsive-menu-container-bottom'; var topMenuContainerClass = '.responsive-menu-container-top'; enquire.register("screen and (min-width: 766px)", { match: function () { if (responsiveContainerTop.children().length > 0 && responsiveContainerBottom.children().length === 0) { jQuery(responsiveContainerTop.children()).appendTo(bottomContainerClass); }; if (responsiveMenuContainerTop.children().length > 0 && responsiveMenuContainerBottom.children().length === 0) { jQuery(responsiveMenuContainerTop.children()).appendTo(bottomMenuContainerClass); } jQuery('.top-nav-wrap').show(); } }).listen(); enquire.register("screen and (max-width: 765px)", { match: function () { if (responsiveContainerBottom.children().length > 0 && responsiveContainerTop.children().length === 0) { jQuery(responsiveContainerBottom.children()).appendTo(topContainerClass); }; if (responsiveMenuContainerBottom.children().length > 0 && responsiveMenuContainerTop.children().length === 0) { jQuery(responsiveMenuContainerBottom.children()).appendTo(topMenuContainerClass); } }, setup: function () { if (responsiveContainerBottom.children().length > 0 && responsiveContainerTop.children().length === 0 && clientWidth < 766) { jQuery(responsiveContainerBottom.children()).appendTo(topContainerClass); }; if (responsiveMenuContainerBottom.children().length > 0 && responsiveMenuContainerTop.children().length === 0 && clientWidth < 766) { jQuery(responsiveMenuContainerBottom.children()).appendTo(topMenuContainerClass); } } }).listen(); } } ]); var UU = UU || {}; UU.Utilities = function () { var init = function () { if (typeof String.prototype.startsWith != 'function') { String.prototype.startsWith = function (str) { return this.lastIndexOf(str, 0) === 0; }; }; jQuery('.js-print-page').click(function (e) { window.print(); e.preventDefault(); }); jQuery(function() { if (jQuery('#print-all-tabs-link').size() > 0) { jQuery('#print-all-tabs-link') .appendTo(jQuery('.page-tools')); jQuery('.page-tools .js-print-page') .text('Skriv ut sida'); jQuery('#print-all-tabs-link').click(function (e) { var className = jQuery(this).attr('data-extra-body-class'); e.preventDefault(); // Do not follow the link, i.e. do not add # to the end of the current URL jQuery("body").addClass("print-all-tabs " + className); window.print(); jQuery("body").removeClass("print-all-tabs " + className); }); } }); }; return { Init: init }; } (); UU.Tabs = function () { var tabs = jQuery('.tabs li'); var tabItems = jQuery('.tab-item'); var init = function () { tabs.click(function () { tabs.removeClass('active'); jQuery(this).addClass('active'); var indexOfClickedTab = tabs.index(this); setActiveTabContent(indexOfClickedTab); return false; }); }; var setActiveTabContent = function (index) { if (index < tabItems.length) { tabItems.removeClass('active'); jQuery(tabItems[index]).addClass('active'); } }; return { Init: init }; } (); UU.Filter = function () { var filters = jQuery('.filter'); var init = function () { if (filters.length === 0) return; filters.find('.filter-header').on("click", function (e) { toggleFilter(jQuery(this).parent()); showHideInfoBox(); e.preventDefault(); e.stopPropagation(); }); }; var toggleFilter = function (filter) { var filter = jQuery(filter); if (filter.hasClass('is-closed')) { filter.removeClass('is-closed'); filter.addClass('is-open'); } else { filter.removeClass('is-open'); filter.addClass('is-closed'); } }; return { Init: init }; } (); UU.MobileNavigation = function () { var topNavButton = jQuery('#central-nav-button'); var topNavWrap = jQuery('#global-navigation'); var localNavHeader = jQuery('.local-nav-mobile-header'); var localNavButton = jQuery('#local-nav-mobile-button'); var localNavWrap = jQuery('#local-nav-mobile'); var init = function () { topNavButton.click(function () { topNavWrap.slideToggle(); if (topNavButton.attr("aria-expanded") == "false") { topNavButton.attr("aria-expanded", "true"); } else { topNavButton.attr("aria-expanded", "false"); } }); localNavHeader.click(function () { localNavWrap.slideToggle(); localNavButton.toggleClass('menu-visible'); if (localNavButton.attr("aria-expanded") == "false") { localNavButton.attr("aria-expanded", "true"); } else { localNavButton.attr("aria-expanded", "false"); } }); }; return { Init: init }; } (); UU.MobileSearch = function () { var mobileSearchSubmit = jQuery('.mobile-search .submit-search'); var mobileSearchText = jQuery('.mobile-search .textfield'); var init = function () { mobileSearchSubmit.click(function () { if (mobileSearchSubmit.hasClass('toggle')) { mobileSearchText.css('display', 'block'); mobileSearchText.find('input').focus(); mobileSearchText.animate({ width: '83%', }, 500, function() { mobileSearchSubmit.removeClass('toggle'); mobileSearchText.css('width', 'initial') }); return false; } }); }; return { Init: init }; } (); jQuery(document).ready(function () { jQuery('.loader').delay(500).fadeOut(200); jQuery('.loaded-content').delay(700).fadeIn(200); UU.Utilities.Init(); UU.MobileNavigation.Init(); UU.MobileSearch.Init(); UU.Filter.Init(); UU.Tabs.Init(); }); if(!Modernizr.input.placeholder){ jQuery('[placeholder]').focus(function() { var input = jQuery(this); if (input.val() == input.attr('placeholder')) { input.val(''); input.removeClass('placeholder'); } }).blur(function() { var input = jQuery(this); if (input.val() == '' || input.val() == input.attr('placeholder')) { input.addClass('placeholder'); input.val(input.attr('placeholder')); } }).blur(); jQuery('[placeholder]').parents('form').submit(function() { jQuery(this).find('[placeholder]').each(function() { var input = jQuery(this); if (input.val() == input.attr('placeholder')) { input.val(''); } }) }); } function showHideInfoBox(elementToShow) { jQuery('.infobox-content').hide(); jQuery('.infobox-btn.btn-close').removeClass('btn-close'); jQuery('.infobox-btn').attr('aria-expanded', 'false'); if (elementToShow) { jQuery(elementToShow).show(); jQuery(elementToShow).focus(); jQuery(elementToShow).siblings('.infobox-btn').addClass('btn-close'); jQuery(elementToShow).siblings('.infobox-btn').attr('aria-expanded', 'true'); } } jQuery('.infobox-btn').on('click', function(event) { var showThisInfo = jQuery(this).siblings('.infobox-content') var infoboxExpanded = jQuery(this).attr('aria-expanded'); var controlledElementExist = jQuery('#' + jQuery(this).attr('aria-controls')).length; event.preventDefault(); jQuery('.infobox').on('click', function(e){ e.stopPropagation(); }) jQuery('.infobox').bind('keydown', function(event) { if (event.keyCode == 27) { showHideInfoBox(); } }); jQuery('body').on('click', ':not(.infobox)', function(){ showHideInfoBox(); }) if (infoboxExpanded !== undefined && controlledElementExist) { if(infoboxExpanded == 'false') { showHideInfoBox(showThisInfo); } else if (infoboxExpanded == 'true'){ showHideInfoBox(); } } else { console.warn('Add aria-expanded and aria-controls attributes!'); } }); function showHideSection(toggleElement) { var toggleElementId = toggleElement.attr('id'); var toggleElementButton = jQuery('[aria-controls="' + toggleElementId + '"]'); if (toggleElementButton.attr('aria-expanded') == 'true') { jQuery(toggleElement).hide(); jQuery(toggleElementButton).attr('aria-expanded', 'false'); } else { jQuery(toggleElement).show(); jQuery(toggleElementButton).attr('aria-expanded', 'true'); jQuery(toggleElement).focus(); } } jQuery('.js-toggle-section-btn').on('click', function(event) { var elementToToggle = jQuery('#' + jQuery(this).attr('aria-controls')); var expandedState = jQuery(this).attr('aria-expanded'); var controlledElementExist = jQuery('#' + jQuery(this).attr('aria-controls')).length; event.preventDefault(); if (expandedState !== undefined && controlledElementExist) { if (expandedState == 'false') { showHideSection(elementToToggle); } else if (expandedState == 'true'){ showHideSection(elementToToggle); } } else { console.warn('Add aria-expanded and aria-controls attributes!'); } }); jQuery( document ).ready(function() { jQuery('[aria-expanded="false"] + .js-toggle-section-content ').hide(); }); jQuery('a.infobox-link').on('click', function(event) { event.preventDefault(); event.stopPropagation(); }); jQuery('.js-btn-toggle').on('click', function(event) { event.preventDefault(); var selector = jQuery(this).attr('aria-controls'); if (jQuery(this).attr('aria-expanded') == 'true') { jQuery(this).attr('aria-expanded', 'false'); jQuery('#' + selector).addClass('hide'); jQuery(this).find('.text-expand').removeClass('hide'); jQuery(this).find('.text-collapse').addClass('hide'); jQuery(this).removeClass('active'); } else { jQuery(this).attr('aria-expanded', 'true'); jQuery('#' + selector).removeClass('hide'); jQuery(this).find('.text-expand').addClass('hide'); jQuery(this).find('.text-collapse').removeClass('hide'); jQuery(this).addClass('active'); } }) jQuery('.js-iframe a').attr('target','_parent');