1(()=>{var e,n={5784:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Datepicker\r\n===================================\r\n*/\n\nPT.Datepicker = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('input.datepicker').datepicker({\n format: 'dd-mm-yyyy',\n weekStart: 1,\n language: 'da',\n autoclose: true,\n todayHighlight: true\n });\n jQuery('input.datepicker').closest('.form-group-date').on('click', '[data-activate-calendar]', function (e) {\n var clickedIcon = jQuery(e.currentTarget);\n clickedIcon.siblings('input').focus();\n }); // WFFM\n\n jQuery('input.scfDatePickerTextBox').datepicker({\n format: 'dd-mm-yy',\n weekStart: 1,\n language: 'da',\n autoclose: true\n });\n jQuery('input.scfDatePickerTextBox').closest('.scfDatePickerGeneralPanel').on('click', '.ui-icon-datepicker', function (e) {\n var clickedIcon = jQuery(e.currentTarget);\n clickedIcon.siblings('input').focus();\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Datepicker.Setup();\n }\n}); // Apply datepicker to future elements when '.js-drpPeriodSelect' changes state (would love to have used mediator pattern for this)\n\njQuery('body').on('change', '.js-drpPeriodSelect', function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Datepicker.Setup();\n }\n});"},7885:e=>{e.exports="jQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n jQuery('.submit-date-rage').on('click', function (e) {\n $elm = jQuery(e.currentTarget).prev().find('.js-submit-on-validate');\n $elm[0].form.submit();\n });\n }\n});"},1261:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Filters\r\n===================================\r\n*/\n\nPT.Filters = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var expand = function expand(parentElm) {\n jQuery('.filter-tag.hide', parentElm).removeClass('hide');\n jQuery('.filter-show-more', parentElm).addClass('hide');\n jQuery('.filter-show-less', parentElm).removeClass('hide');\n };\n\n var collapse = function collapse(parentElm) {\n jQuery('.filter-tag:gt(3)', parentElm).addClass('hide');\n jQuery('.filter-show-less', parentElm).addClass('hide');\n jQuery('.filter-show-more', parentElm).removeClass('hide');\n };\n\n jQuery('.filter').on('click', '.filter-toggle', function (e) {\n e.preventDefault();\n var elm = jQuery(e.currentTarget),\n parentElm = elm.closest('.filter');\n elm.hasClass('filter-show-more') ? expand(parentElm) : collapse(parentElm);\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Filters.Setup();\n }\n});"},5918:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.InformationPageSpotA\r\n===================================\r\n*/\n\nPT.InformationPageSpotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var options_euo = {\n nextText: '',\n prevText: '',\n pager: false,\n slideWidth: jQuery('.carousel').data('width'),\n minSlides: 1,\n maxSlides: jQuery('.carousel').data('max-slides'),\n slideMargin: 10,\n adaptiveHeight: true\n };\n var options_ft = {\n nextText: '',\n prevText: '',\n pager: true,\n slideWidth: jQuery('.medlemmersidespot-a-carousel').data('width'),\n minSlides: 1,\n maxSlides: jQuery('.medlemmersidespot-a-carousel').data('max-slides'),\n slideMargin: 1,\n infiniteLoop: true,\n adaptiveHeight: true\n };\n var options = jQuery('body').hasClass('baseskin-ft') ? options_ft : options_euo;\n var slider = jQuery('.carousel').bxSlider(options);\n setTimeout(function () {\n if (typeof slider.redrawSlider != \"undefined\") {\n slider.redrawSlider();\n }\n }, 100); // setup click handler for slides\n\n jQuery('.carousel').on('click', '.slide', function (e) {\n var slide = jQuery(e.currentTarget),\n link = slide.find('a'),\n url = link.attr('href');\n\n if (url) {\n window.location.href = url;\n }\n\n e.preventDefault();\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(window).load(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.InformationPageSpotA.Setup();\n }\n});"}
1,1149:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.InformationSpotB\r\n===================================\r\n*/\n\nPT.InformationSpotB = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n component: jQuery('.page-hero'),\n collapsedOnPageLoad: jQuery('body').hasClass('js-root') ? PT.Utils.Storage.Cookie.Get('hero-spot-collapsed') : true,\n spotTabs: jQuery('.nav-tabs li', '.page-hero'),\n spotPanes: jQuery('.tab-pane', '.page-hero'),\n isMobile: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n if (!PT.InformationSpotB.Variables.collapsedOnPageLoad) {\n PT.InformationSpotB.initialActivation();\n }\n\n PT.InformationSpotB.Variables.component.on('click', '.btn-hero', function () {\n var btnElm = jQuery(this),\n action = btnElm.data('action');\n\n switch (action) {\n case 'collapse':\n PT.Utils.Storage.Cookie.Set('hero-spot-collapsed', true, Infinity, '/');\n PT.InformationSpotB.collapse();\n break;\n\n case 'expand':\n PT.Utils.Storage.Cookie.Delete('hero-spot-collapsed', '/');\n PT.InformationSpotB.expand();\n break;\n }\n }); // The panes lives inside their own ascx, which makes is difficult the reference the context from the tabs to the content panes - we therefore need to be able to switch tabs using javascript\n\n PT.InformationSpotB.Variables.component.on('click', '[data-toggle=\"tab\"]', function (e) {\n e.preventDefault();\n\n if (PT.InformationSpotB.Variables.isMobile) {\n if (jQuery(this).data('rwd-link')) {\n window.location.assign(jQuery(this).data('rwd-link'));\n }\n } else {\n var indexOfClickedTab = PT.InformationSpotB.Variables.spotTabs.index(jQuery(this).closest('li'));\n PT.InformationSpotB.Variables.spotPanes.removeClass('active');\n PT.InformationSpotB.Variables.spotPanes.eq(indexOfClickedTab).addClass('active');\n PT.Utils.Storage.Cookie.Set('hero-spot-tab', indexOfClickedTab, Infinity, '/');\n }\n });\n },\n\n /*\r\n ===================================\r\n initialActivation\r\n if no panes are active on page-load, we should activate the first one\r\n ===================================\r\n */\n initialActivation: function initialActivation() {\n if (!jQuery('.active', PT.InformationSpotB.Variables.spotPanes).length) {\n PT.InformationSpotB.Variables.spotTabs.removeClass('active');\n var tabIndex = PT.Utils.Storage.Cookie.Get('hero-spot-tab') ? PT.Utils.Storage.Cookie.Get('hero-spot-tab') : 0;\n PT.InformationSpotB.Variables.spotTabs.eq(tabIndex).addClass('active');\n PT.InformationSpotB.Variables.spotPanes.eq(tabIndex).addClass('active');\n }\n },\n\n /*\r\n ===================================\r\n collapse\r\n ===================================\r\n */\n collapse: function collapse() {\n PT.InformationSpotB.Variables.component.addClass('collapsed');\n var elems = jQuery('.members', '.js-svg-kort');\n var infos = jQuery('.country-info', '.hero-content');\n elems.attr('class', 'members');\n infos.removeClass('selected');\n infos.filter('[data-country=\"0\"]').addClass('selected');\n },\n\n /*\r\n ===================================\r\n expand\r\n ===================================\r\n */\n expand: function expand() {\n PT.InformationSpotB.Variables.component.removeClass('collapsed');\n PT.InformationSpotB.initialActivation();\n },\n\n /*\r\n ===================================\r\n Responsive\r\n ===================================\r\n */\n Responsive: function Responsive(e) {\n if (e.state.media === 'screen-xs') {\n if (e.state.direction !== 'exit') {\n PT.InformationSpotB.Variables.isMobile = true;\n } else {\n PT.InformationSpotB.Variables.isMobile = false;\n }\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n PT.InformationSpotB.Setup();\n});\njQuery(window).on('responsive', function (e) {\n PT.InformationSpotB.Responsive(e);\n});"},6603:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.KvikopslagSpotA\r\n===================================\r\n*/\n\nPT.KvikopslagSpotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n Fields: {\n Type: jQuery('#drpLookupType'),\n Number: jQuery('#txtDocNumber'),\n YearBlock: jQuery('#drpYear').closest('.form-group'),\n CollectionBlock: jQuery('#drpCollection').closest('.form-group'),\n TingDokCollectionBlock: jQuery('#drpTingDokCollection').closest('.form-group')\n }\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var fields = PT.KvikopslagSpotA.Variables.Fields;\n fields.Type.on('change', PT.KvikopslagSpotA.ChangeState);\n fields.Type.trigger('change');\n },\n\n /*\r\n ===================================\r\n ChangeState\r\n ===================================\r\n */\n ChangeState: function ChangeState(e) {\n var fields = PT.KvikopslagSpotA.Variables.Fields,\n $elm = jQuery(e.currentTarget),\n $selectedOption = jQuery($elm.children()[e.currentTarget.selectedIndex]),\n data = $selectedOption.data(),\n placeholder = typeof data.placeholder != \"undefined\" ? data.placeholder : '',\n type = data.type || '';\n fields.Number.attr('placeholder', placeholder);\n\n switch (type) {\n case 'year':\n fields.YearBlock.removeClass('hide');\n fields.CollectionBlock.addClass('hide');\n fields.TingDokCollectionBlock.addClass('hide');\n break;\n\n case 'collection':\n fields.YearBlock.addClass('hide');\n fields.CollectionBlock.removeClass('hide');\n fields.TingDokCollectionBlock.addClass('hide');\n break;\n\n case 'tingdokcollection':\n fields.YearBlock.addClass('hide');\n fields.CollectionBlock.addClass('hide');\n fields.TingDokCollectionBlock.removeClass('hide');\n break;\n\n default:\n fields.YearBlock.addClass('hide');\n fields.CollectionBlock.addClass('hide');\n fields.TingDokCollectionBlock.addClass('hide');\n break;\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.KvikopslagSpotA.Setup();\n }\n});"},7429:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.KvikopslagSpotA\r\n===================================\r\n*/\n\nPT.PeriodeFilter = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n Fields: {\n Type: '.drpPeriodSelect',\n DateRangeKind: '.drpDateTypeSelect'\n },\n Sections: {\n DateRangeSection: '.period_filter_daterange_section'\n },\n StateIsChanging: false\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var fields = PT.PeriodeFilter.Variables.Fields;\n $(document).on('change', fields.Type, PT.PeriodeFilter.debounce(PT.PeriodeFilter.ChangeState, 1000));\n $(document).on('change', fields.DateRangeKind, PT.PeriodeFilter.Submit);\n PT.PeriodeFilter.UpdateView();\n },\n\n /*\r\n ===================================\r\n ChangeState\r\n ===================================\r\n */\n ChangeState: function ChangeState(e) {\n var fields = PT.PeriodeFilter.Variables.Fields,\n dateRangeSelector = jQuery(PT.PeriodeFilter.Variables.Sections.DateRangeSection),\n $elm = jQuery(e.currentTarget),\n $selectedOption = jQuery($elm.children()[e.currentTarget.selectedIndex]),\n data = $selectedOption.data(),\n section = data.section;\n\n if (!PT.PeriodeFilter.Variables.StateIsChanging) {\n PT.PeriodeFilter.Variables.StateIsChanging = true;\n jQuery(PT.PeriodeFilter.Variables.Fields.Type).each(function (index, element) {\n element.selectedIndex = e.currentTarget.selectedIndex;\n });\n\n switch (section) {\n case 'period_filter_daterange_section':\n dateRangeSelector.removeClass('hide');\n break;\n\n default:\n e.currentTarget.form.submit();\n }\n\n PT.PeriodeFilter.UpdateView();\n PT.PeriodeFilter.Variables.StateIsChanging = false;\n }\n },\n\n /*\r\n ===================================\r\n Subit\r\n ===================================\r\n */\n Submit: function Submit(e) {\n e.currentTarget.form.submit();\n },\n\n /*\r\n ===================================\r\n UpdateView\r\n ===================================\r\n */\n UpdateView: function UpdateView() {\n var fields = PT.PeriodeFilter.Variables.Fields,\n dateRangeSelector = jQuery(PT.PeriodeFilter.Variables.Sections.DateRangeSection),\n $elm = jQuery(fields.Type);\n\n if ($elm.length > 0) {\n var $selectedOption = jQuery($elm.children()[$elm[0].selectedIndex]),\n data = $selectedOption.data(),\n section = data.section;\n\n switch (section) {\n case 'period_filter_daterange_section':\n dateRangeSelector.removeClass('hide');\n break;\n\n default:\n dateRangeSelector.addClass('hide');\n break;\n }\n }\n },\n\n /*\r\n ===================================\r\n Debounce \r\n ===================================\r\n */\n debounce: function debounce(callback, interval) {\n var debounceTimeoutId;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(debounceTimeoutId);\n debounceTimeoutId = setTimeout(function () {\n return callback.apply(_this, args);\n }, interval);\n };\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.PeriodeFilter.Setup();\n }\n});"},3194:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.PublikationsKurv\r\n===================================\r\n*/\n\nPT.PublikationsKurv = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n Setup: function Setup() {\n jQuery('.js-add-to-basket').click(function (event) {\n event.preventDefault();\n PT.PublikationsKurv.DoUpdateAmountServiceCallAndIncrement(jQuery('#' + jQuery(this).data('item-id')).val(), jQuery(this).data('item-id'), jQuery(this), function () {\n document.location.href = event.currentTarget.href;\n });\n });
1 // Accessibility - adding tabindex to js generated link\n\n var tabIndexLink = jQuery('.popup-content li a');\n $(tabIndexLink).attr('tabindex', '0');\n var basketLink = jQuery('.telbogTable.basket');\n },\n\n /*\r\n ===================================\r\n isInt\r\n ===================================\r\n */\n isInt: function isInt(value) {\n return parseInt(Number(value)) == value;\n },\n\n /*\r\n ===================================\r\n DoUpdateAmountServiceCall\r\n ===================================\r\n */\n DoUpdateAmountServiceCallAndIncrement: function DoUpdateAmountServiceCallAndIncrement(amount, id, obj, callback) {\n var newAmount = 1;\n\n if (PT.PublikationsKurv.isInt(amount)) {\n newAmount = parseInt(Number(amount)) + 1;\n }\n\n PT.PublikationsKurv.DoUpdateAmountServiceCall(newAmount, id, obj, callback);\n },\n\n /*\r\n ===================================\r\n DoUpdateAmountServiceCall\r\n ===================================\r\n */\n DoUpdateAmountServiceCall: function DoUpdateAmountServiceCall(amount, id, obj, callback) {\n var newAmount = 0;\n\n if (PT.PublikationsKurv.isInt(amount)) {\n newAmount = amount;\n } else {\n newAmount = 1;\n }\n\n if (newAmount === 0) {\n if (jQuery('.publications-order').length === 1) {\n jQuery('.publications-mini-basket').hide();\n }\n\n jQuery(obj).closest('.publications-row').remove();\n }\n\n Publication.Infrastructure.PublicationBasketAmountUpdater.UpdateAmount(newAmount, id, callback, PT.PublikationsKurv.OnAmountFailure);\n },\n\n /*\r\n ===================================\r\n OnAmountSuccess\r\n ===================================\r\n */\n OnAmountSuccess: function OnAmountSuccess(result) {},\n\n /*\r\n ===================================\r\n OnAmountFailure\r\n ===================================\r\n */\n OnAmountFailure: function OnAmountFailure() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.PublikationsKurv.Setup();\n }\n});"},9448:e=>{e.exports='/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SecondaryServiceMenuA\r\n===================================\r\n*/\n\nPT.SecondaryServiceMenuA = {\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery(".content-action-del").popover({\n html: true,\n title: "Del",\n placement: "bottom",\n content: function content() {\n return jQuery(this).siblings(".popup-content").html();\n }\n }).on("click", function (e) {\n e.preventDefault();\n jQuery(this).attr("aria-expanded", function (i, attr) {\n return attr == "true" ? "false" : "true";\n });\n }); // close the popover, when we click outside the popover\n\n jQuery("body").on("click", function (e) {\n if (!jQuery(e.target).closest("a").hasClass("content-action-del") && jQuery(e.target).parents(".popover.in").length === 0) {\n jQuery(".content-action-del").popover("hide").attr("aria-expanded", "false");\n }\n }); // close the popover if another one is clicked on\n\n jQuery(".content-action").each(function (e) {\n $(".content-action-del").popover();\n $(".content-action-del").on("click", function (e) {\n $(".content-action-del").not(this).popover("hide").attr("aria-expanded", "false");\n });\n }); //Chamberoverview print rotation option\n\n var printEntranceElement = document.getElementsByClassName("entrance-print")[0];\n var printSpeakerElement = document.getElementsByClassName("speaker-print")[0];\n if (printEntranceElement) printEntranceElement.href = "javascript:".concat(printEntranceElement.getAttribute("href"), "document.body.classList.remove(\'chamber-overview-page--rotate\');window.print();void(0);");\n if (printSpeakerElement) printSpeakerElement.href = "javascript:".concat(printSpeakerElement.getAttribute("href"), "document.body.classList.add(\'chamber-overview-page--rotate\');window.print();void(0);");\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery("body").hasClass("pageedit")) {\n PT.SecondaryServiceMenuA.Setup();\n }\n});'},4737:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SiteWideMessageSpotA\r\n===================================\r\n*/\n\nPT.SiteWideMessageSpotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n // if (PT.Utils.Storage.Cookie.Get('site-wide-message-spot-b')) {\n // jQuery('.site-wide-message-spot-b').closest('.row').remove();\n // }\n jQuery('.js-site-wide-message-spot-b__close').on('click keypress', function () {\n var parent = jQuery(this).closest('.row');\n PT.Utils.Storage.Cookie.Set('site-wide-message-spot-b', '1', '/');\n parent.slideUp('fast');\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.site-wide-message-spot-b').length) {\n PT.SiteWideMessageSpotA.Setup();\n }\n});"},9634:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SlideInSpotA\r\n===================================\r\n*/\n\nPT.SlideInSpotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n SlideIn: jQuery('#slide-in'),\n Selectors: jQuery(\".slide-in-section-body [href]\"),\n SlideInCanvas: jQuery('#slide-in .slide-in-canvas')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n // Get the height of the container\n var slideHeight = $('.site-ft .slide-in-canvas').height();\n jQuery('.site-ft .slide-in-toggle').width(slideHeight); //Adding setTimeOut for smooth js height \n\n setTimeout(function () {\n jQuery('.site-ft .slide-wrapper').css(\"visibility\", \"visible\");\n }, 100); // Set tabindex to all links in the slide-in body when closed so they're non focusable\n\n PT.SlideInSpotA.Variables.Selectors.each(function () {\n $(this).attr('tabindex', '-1');\n });\n jQuery(document).on('click', '#slide-in', function (e) {\n // if we're clicking a link inside the slide-in body, we should carry on as if nothing happended\n if (jQuery(e.target).closest('.slide-in-section-body').length) {\n return true;\n }\n\n jQuery('.slide-in .slide-in-toggle a.btn-right.btn-brand').blur(); // if we're clicking anything else, we should toggle the slide-in\n\n e.preventDefault();\n PT.SlideInSpotA.isOpen() ? PT.SlideInSpotA.Close() : PT.SlideInSpotA.Open();\n }); // make it pop back in when clicked outside\n\n jQuery('body').on('click', function (e) {\n if (PT.SlideInSpotA.isOpen() && jQuery(e.target).closest('.slide-in').length === 0) {\n PT.SlideInSpotA.Close();\n }\n });\n },\n\n /*\r\n ===================================\r\n Open\r\n ===================================\r\n */\n Open: function Open() {\n PT.SlideInSpotA.Variables.SlideIn.addClass('slide-in-open');\n jQuery('#slide-in-toggle-btn').attr('aria-expanded', 'true');\n PT.SlideInSpotA.Variables.SlideInCanvas.attr('aria-hidden', 'false'); // Add tabindex to all links in the slide-in body when opened\n\n PT.SlideInSpotA.Variables.Selectors.each(function () {\n $(this).attr('tabindex', '0');\n });\n },\n\n /*\r\n ===================================\r\n Close\r\n ===================================\r\n */\n Close: function Close() {\n PT.SlideInSpotA.Variables.SlideIn.removeClass('slide-in-open');\n jQuery('#slide-in-toggle-btn').attr('aria-expanded', 'false');\n PT.SlideInSpotA.Variables.SlideInCanvas.attr('aria-hidden', 'true'); // Remove tabindex from all links in the slide-in body when closed\n\n PT.SlideInSpotA.Variables.Selectors.each(function () {\n $(this).attr('tabindex', '-1');\n });\n },\n\n /*\r\n ===================================\r\n isOpen\r\n ===================================\r\n */\n isOpen: function isOpen() {\n return PT.SlideInSpotA.Variables.SlideIn.hasClass('slide-in-open');\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.SlideInSpotA.Setup();\n }\n});"},8358:e=>{e.exports="function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n+function ($) {\n 'use strict'; // ReadMore constructor\n\n var ReadMore = function ReadMore(element, options) {\n // the outer element with the [data-read-more] attribute\n this.$element = $(element); // defaults for the <a class=\"read-more\"> element\n\n this.expanderTemplate = ['<a href=\"#\" class=\"read-more-expander\">', '<span class=\"caption-more\">', '<span>Læs mere </span><i class=\"icon-pil-ned\"></i>', '</span>', '<span class=\"caption-less\">', '<span>Læs mindre </span><i class=\"icon-pil-op\"></i>', '</span>', '</a>'].join(''), this.$expander = null; // paragraph blocks and their positions\n\n this.blocks = [];\n this.init();\n }; // method: init\n // description: initialize - get text-blocks, apply expander element and set up event handlers.\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.init = function (type, element, options) {\n var self = this;\n this.blocks = this.getBlocks(); // if there are blocks, either hidden or revealed, we will show the exp
1ander\n\n this.blocks.length ? this.applyExpander() : $.noop;\n if (!this.$expander) return false; // set click events for the expander\n\n this.$expander.off('click');\n this.$expander.on('click', $.proxy(this.showNext, this));\n }; // method: applyExpander\n // description: we only want to show the expander when there are text paragraphs to reveal \n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.applyExpander = function () {\n var width;\n if (this.$expander) return;\n this.$element.append(this.expanderTemplate);\n this.$expander = this.$element.find('.read-more-expander');\n }; // method: showNext\n // description: when expander is clicked, we want to show the next paragraph, and do animations\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.showNext = function (e) {\n e.preventDefault();\n this.expandBlock();\n this.revealBlock(); // update blocks\n\n this.blocks = this.updateBlocks();\n }; // method: expandBlock\n // description: expand text block - basically just display:block it, and apply opacity animation,\n // but still hold it at opacity:0 for now (to be continued in revealBlock...)\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.expandBlock = function () {\n var $block = $(this.blocks[0]);\n $block.addClass('expand');\n }; // method: revealBlock\n // description: ...now set opacity:1 using animation set by .expand css-class.\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.revealBlock = function () {\n var $block = $(this.blocks[0]);\n $block.addClass('reveal');\n }; // method: getBlocks\n // description: get all text paragraphs that should be subject to be revealed.\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.getBlocks = function () {\n var blocks = [];\n $('.read-more', this.$element).each(function (i, el) {\n if (jQuery(this).css('display') === 'none') {\n blocks.push(jQuery(this));\n }\n });\n return blocks;\n }; // method: updateBlocks\n // description: refresh blocks array, and check to see if we should change expander to be a\n // collapser in stead (if there are no more hidden text paragraphs)\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.updateBlocks = function () {\n var blocks = this.getBlocks();\n\n if (!blocks.length) {\n this.changeExpanderState('close');\n }\n\n ;\n return blocks;\n }; // method: changeExpanderState\n // description: our expander can actually also be a collapser - this method will handle the\n // transformation between the two states.\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.changeExpanderState = function (state) {\n switch (state) {\n case 'close':\n this.$expander.addClass('read-less');\n this.$expander.off('click');\n this.$expander.on('click', $.proxy(this.close, this));\n break;\n\n case 'open':\n this.$expander.removeClass('read-less');\n break;\n }\n\n ;\n }; // method: close\n // description: reset all text paragraphs change the expanderstate and re-intialize read-more \n // functionality.\n // ----------------------------------------------------------------------------------------\n\n\n ReadMore.prototype.close = function (e) {\n e.preventDefault();\n this.resetBlocks();\n this.changeExpanderState('open');\n this.init();\n }; // method: resetBlocks\n // description: reset text paragraphs to their initial state - basically remove css classes\n // applied by this
1script.\n // ---------------------------------------------------------------------------------------- \n\n\n ReadMore.prototype.resetBlocks = function () {\n $('.reveal', this.$element).removeClass('expand reveal');\n }; // READ MORE\n // ================== \n\n\n $.fn.readMore = function (option) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data('PT.readMore');\n var options = _typeof(option) == 'object' && option;\n if (!data) $this.data('PT.readMore', data = new ReadMore(this, options));\n if (typeof option == 'string') data[option]();\n });\n };\n\n $.fn.readMore.Constructor = ReadMore; // READ MORE DATA-API\n // ==================\n\n $(window).on('load', function () {\n if (!$('body').hasClass('pageedit')) {\n $('[data-read-more]').each(function () {\n var $readMore = $(this);\n $readMore.readMore($readMore.data());\n });\n }\n\n ;\n });\n}(jQuery);"},895:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Twitter\r\n===================================\r\n*/\n\nPT.Twitter = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n feed: null,\n tweets: null,\n renderedTweets: 0,\n template: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var self = this;\n Handlebars.registerHelper('linkify', this.LinkifyHelper);\n var raw_template = jQuery('#tweet-template').html();\n var dataItemId = jQuery('[data-twitteritemid]').data('twitteritemid');\n self.Variables.template = Handlebars.compile(raw_template);\n jQuery.get(\"/Presentation/TwitterApi.ashx?dataItemID=\" + dataItemId, function (data, status, xhr) {\n self.Variables.tweets = data;\n self.RenderTweets(3);\n });\n jQuery(document).on('click', '.show-more', this.ShowMore);\n },\n ShowMore: function ShowMore(elem) {\n PT.Twitter.RenderTweets(3);\n },\n RenderTweets: function RenderTweets(itemsToRender) {\n var self = this;\n var placeHolder = jQuery(\"#twitter-feed\");\n var tweets = jQuery(self.Variables.tweets).slice(self.Variables.renderedTweets, self.Variables.renderedTweets + itemsToRender);\n if (tweets[0].statuses) tweets = tweets[0].statuses;\n self.Variables.renderedTweets = self.Variables.renderedTweets + tweets.length;\n\n try {\n jQuery.each(tweets, function (index, element) {\n // Generate the HTML for each post\n var html = self.Variables.template(element);
1 // Render the posts into the page\n\n placeHolder.append(html);\n });\n } catch (e) {} //twttr.widgets.load();\n\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {},\n LinkifyHelper: function LinkifyHelper(text) {\n // makes links clickable\n text = text.replace(/(https?:\\/\\/\\S+)/gi, function (s) {\n var result = SeparateUrlFromSuffixNoise(s);\n return !result.valid ? s : '<a target=\"_blank\" href=\"' + result.url + '\">' + result.url + '</a>' + result.suffix; // return '<a href=\"' + s + '\">' + s + '</a>'; // naive \n }); // makes @usernames clickable\n\n text = text.replace(/(^|)@([a-zA-Z0-9ÃÃÃ
æøå_]+)/gi, function (s) {\n return '<a target=\"_blank\" href=\"http://twitter.com/' + s + '\">' + s + '</a>';\n }); // makes #hashtags clickable\n\n text = text.replace(/(^|)#([a-zA-Z0-9ÃÃÃ
æøå_]+)/gi, function (s) {\n return '<a target=\"_blank\" href=\"http://twitter.com/search?q=' + s.replace(/#/, '%23') + '\">' + s + '</a>';\n });\n return new Handlebars.SafeString(text);\n }\n};\n\nfunction SeparateUrlFromSuffixNoise(input) {\n var illigalSuffixCharacters = \",.;:\";\n var illigalArray = illigalSuffixCharacters.split('');\n var resultUrl = input;\n var resultSuffix = ''; // splits obvious noise characters from URL\n\n for (var i = 0; i < input.length; i++) {\n for (var j = 0; j < illigalArray.length; j++) {\n var suffix = illigalArray[j];\n var startPosition = input.length - suffix.length; // last char test only (dependent on suffix-length, but assumed as single-char)\n\n var indexOfSuffix = input.indexOf(suffix, startPosition);\n\n if (indexOfSuffix !== -1) {\n input = input.substring(0, input.length - suffix.length);\n resultUrl = input;\n resultSuffix += suffix;\n }\n }\n }\n\n var minimumLength = \"http://x.xx\".length;\n var isValidLength = minimumLength <= resultUrl.length;\n var isValidUrl = isValidLength ? true : false;\n return {\n url: resultUrl,\n suffix: resultSuffix,\n valid: isValidUrl\n };\n}\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\n\n$(document).ready(function () {\n if (!$('body').hasClass('pageedit') && $('.twitter-spot').length > 0) {\n PT.Twitter.Setup();\n }\n});"},5177:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.VideoListSpot\r\n===================================\r\n*/\n\nPT.VideoListSpot = {\n Setup: function Setup() {\n var detectFocusedRadioInput = $('.video-list-spot__items').not('.video-list-spot__items.active');\n jQuery(detectFocusedRadioInput).attr('tabindex', '0');\n jQuery('li[data-video]').on('click', function () {\n var $elm = jQuery(this);\n var videoUrl = $elm.data('video');\n var videoId = $elm.data('player-id');\n var videoItemList = jQuery('.video-list-spot__items');\n var $playerElm = jQuery('#' + videoId);\n $playerElm.attr('src', videoUrl);\n var $listParent = $elm.closest('.video-list-spot');\n $listParent.find('li').removeClass('active');\n $elm.toggleClass('active', true);\n videoItemList.attr('tabindex', '0');\n $elm.attr('tabindex', '-1');\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.VideoListSpot.Setup();\n }\n});\njQuery(document).keypress(function (e) {\n $('.video-list-spot__items').each(function () {\n if ($(this).is(\":focus\")) {\n if (e.which == 13) {\n var $elm = jQuery(this);\n var videoUrl = $elm.data('video');\n var videoId = $elm.data('player-id');\n var $playerElm = jQuery('#' + videoId);\n $playerElm.attr('src', videoUrl);\n $('.video-list-spot__items').removeClass('active');\n $('.video-list-spot__items').attr('tabindex', '0');\n $(this).addClass('active');\n $(this).attr('tabindex', '-1');\n }\n }\n });\n});"},9:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Accordion\r\n===================================\r\n*/\n\nPT.Accessibility = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n $('body').click(function () {\n $('.ftDocumentBasket .custom-checkbox .icon.has-focus').removeClass('has-focus');\n });\n jQuery('.site-thedanishparliamentdk').attr(\"lang\", \"en\");
1\n jQuery(\".skip\").click(function (event) {\n // strip the leading hash and declare\n // the content we're skipping to\n var skipTo = \"#\" + this.href.split('#')[1]; // Setting 'tabindex' to -1 takes an element out of normal\n // tab flow but allows it to be focused via javascript\n\n jQuery(skipTo).attr('tabindex', -1).on('blur focusout', function () {\n // when focus leaves this element,\n // remove the tabindex attribute\n jQuery(this).removeAttr('tabindex');\n }).focus(); // focus on the content container\n }); // ALL TABS events goes here\n\n jQuery(document).on('keyup', function (e) {\n $('.control-label').attr('tabindex', '-1');\n $('.informations-spot-e__images__image-group.bx-clone').attr('tabindex', '-1');\n $('.informations-spot-e__images__image-group.bx-clone a').attr('tabindex', '-1'); //Table list\n\n $(\".listespot-wrapper.has-data-item-url tbody tr:focus\").each(function () {\n var dataItemUrl = jQuery(this).attr('data-item-url');\n\n if (jQuery(this).attr('data-item-url') == '') {\n return false;\n } else {\n if (e.which == 13) {\n window.location = dataItemUrl;\n }\n }\n });\n $(\".listespot-wrapper.has-data-item tbody tr:focus\").each(function () {\n var dataUrl = jQuery(this).attr('data-url');\n\n if (jQuery(this).attr('data-url') == '') {\n return false;\n } else {\n if (e.which == 13) {\n window.location = dataUrl;\n }\n }\n }); //VOD diclaimer accespt custome checkbox\n\n var detectFocusedLinkElementsAccept = $(\".video-tools__disclaimer .custom-checkbox\");\n var detectFocusedLinkElementsCopy = $(\".video-tools__social-links.copy\");\n var detectFocusedLinkElementsEmbed = $(\".video-tools__social-links.embed\");\n var detectFocusedLinkElementsEmail = $(\".video-tools__social-links.email\");\n var detectFocusedRadioInput = $(\".search-in-label\");\n var nextStepPublicationButton = $('.publications-form__button--right');\n var chosenContainer = $('button.js-fake-form-get');\n var detectFocusedSubscriptionRadioInput = $(\".abline.ablineNormalLineHeight\");\n var subscriptionInputFlow = $('.subscription-category-controls__input-wrapper');\n var kalendarTrigger = $('.state2 .js-yearcalendar__day-target, .state1 .js-yearcalendar__day-target, .state3 .js-yearcalendar__day-target');\n var helpSearchBoxes = $('.helpSearchBoxes a');\n var newsSubmitButton = $('.filter-adjacent__button');\n var committeeSearchButton = $('.committe-search > a.button');\n var customCheckbox = $('.ftDocumentBasket input[type=\"checkbox\"]');\n var customCheckboxWrapper = $('.custom-checkbox .icon');\n var secondLevelInput = $('.second-level-basket input[type=\"checkbox\"]'); // Basket page/list and items in it\n\n $(customCheckboxWrapper).removeClass('has-focus');\n $(secondLevelInput).each(function (element) {\n var linkContent = $(this).parent().parent().parent().next().find('a').html();\n $(this).attr(\"aria-labelledby\", linkContent);\n });\n $(customCheckbox).each(function (element) {\n if ($(this).is(\":focus\")) {\n $(this).next().addClass('has-focus');\n\n if (e.which == 13) {\n $(this).trigger(\"click\");\n\n if (this.getAttribute(\"aria-checked\") == \"true\") {\n this.setAttribute(\"aria-checked\", \"false\");\n } else {\n this.setAttribute(\"aria-checked\", \"true\");\n }\n }\n } else {\n $(customCheckbox).removeClass('has-focus');\n }\n }); // News Search Submit\n\n if ($(newsSubmitButton).is(\":focus\")) {\n if (e.which == 13) {\n $(newsSubmitButton).trigger(\"click\");\n }\n }\n\n jQuery(committeeSearchButton).on('keyup', function (f) {\n if (f.which == 13) {\n $(committeeSearchButton).trigger(\"click\");\n }\n });\n $(\".datepicker table tr td\").click(function () {\n $(\".date-picker\").focus();\n });\n $(helpSearchBoxes).each(function () {\n if ($(this).is(\":focus\")) {\n $(this).trigger('mouseenter');\n } else {\n $(this).trigger('mouseout');\n }\n });\n $(kalendarTrigger).each(function () {\n if ($(this).is(\":focus\")) {\n if (e.which == 13) {\n $(this).trigger(\"click\");\n }\n }\n });\n $(subscriptionInputFlow).each(function () {\n if (e.which == 13) {\n if ($(this).is(\":focus\")) {\n $(this).find('input').trigger('click');\n }\n }\n });\n $(\".abline.ablineNormalLineHeight.checkbox--disabled\").attr('tabindex', '-1');\n var keycode = e.keyCode ? e.keyCode : e.which;\n $(detectFocusedSubscriptionRadioInput).each(function () {\n if (keycode == '13') {\n if ($(this).is(\":focus\")) {\n $(this).find('input').trigger('click');\n }\n }\n });\n\n if ($(chosenContainer).is(\":focus\")) {\n if (e.which == 13) {\n $('button.js-fake-form-get').trigger(\"click\");\n }\n }\n\n if ($('.datepicker-days').length) {} else {\n if (e.which == 13 && $('.datepicker').is(\":focus\")) {\n $('.advanced-fields-panel').addClass('has-focus');\n }\n }\n\n $(detectFocusedRadioInput).each(function () {\n if ($(this).is(\":focus\")) {\n $(\".advanced-fields-panel.has-focus\").removeClass(\"has-focus\");\n }\n\n if (e.which == 13) {\n if ($(this).is(\":focus\")) {\n if ($(this).hasClass('is-active')) {\n $('.js-fake-form-get').trigger(\"click\");\n }\n\n $(this).find('.js-input-submit').trigger(\"click\");\n }\n }\n });\n\n if ($(detectFocusedLinkElementsEmail).is(\":focus\")) {\n if (e.which == 13) {\n var url = window.location.href;\n var videoDate = $('.video_date').text();\n var videoType = $('.video_title').text();\n emailContainer.addClass('is-active');\n videoTools.addClass('has-email-popup');\n $('.video-tools__email__message').text(videoDate + '\\n' + videoType + '\\n' + url);\n }\n }\n\n if ($(detectFocusedLinkElementsEmbed).is(\":focus\")) {\n if (e.which == 13) {\n var textarea = document.getElementById(\"embedContainer\");\n var successMessage = $('.video-tools__copy-embed').data(\"success-message\");\n $('#embedContainer').text($('.video-wrapper-fluid').html() || $('.dark_player.dark_player_tingdok-wrapper').html());\n $(textarea).select();\n document.execCommand('copy');\n $('.video-tools__copy-embed').hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore('.video-tools__copy-embed').delay(900).fadeOut(function () {\n $(this).remove();\n $('.video-tools__copy-embed').show();\n $('.video-tools__social-links.embed').focus();\n });\n }, 90);\n }\n }\n\n if ($(detectFocusedLinkElementsCopy).is(\":focus\")) {\n if (e.which == 13) {\n var textarea = document.createElement(\"input\");\n $(textarea).css({\n \"position\": \"absolute\",\n \"left\": \"-999999999px\"\n });\n var successMessage = emailCopy.data(\"success-message\");\n textarea.value = window.location.href;\n $('body').prepend(textarea);\n $(textarea).select();\n document.execCommand('copy');\n $(textarea).hide();\n emailCopy.hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore('.video-tools__copy-trigger').delay(900).fadeOut(function () {\n $(this).remove();\n emailCopy.show();\n $('.video-tools__social-links.copy').focus();\n });\n }, 90);\n }\n }\n\n if ($(detectFocusedLinkElementsAccept).is(\":focus\")) {\n var disclaimer = $('.video-tools__disclaimer');\n var shareTrigger = $('.vod-container .dark_player_cntr_share_lnk.has-tools');\n\n if (e.which == 13) {\n setTimeout(function (e) {\n disclaimer.hide();\n disclaimer.removeClass('is-shown');\n $('.video-tools').removeClass('is-open').addClass('is-open-tools');\n $('.dark_player_cntr_share_lnk.has-disclaimer').addClass('is-hidden');\n shareTrigger.show();\n }, 10);\n }\n }\n\n if ($(nextStepPublicationButton).is(\":focus\")) {\n if (e.which == 13) {\n $(nextStepPublicationButton).click();\n }\n } //VOD taler list\n\n\n if ($('.video-item-agenda').is(\":focus\")) {\n if (e.which == 13) {\n $(e.target).trigger('click');\n }\n }\n\n if ($('.video-item h3').is(\":focus\")) {\n if (e.which == 13) {\n $(e.target).trigger('click');\n }\n }\n }); // medlemmer tab-return kombi\n\n var memberFormButton = $('.kommisioner .member-form .button');\n memberFormButton.on('keydown', function (e) {\n if (e.which == 13) {\n $(this).triggerHandler(\"click\");\n }\n }); //TingDokBrowserSpotA\n\n var paginationSearchButton = $('.pagination-search-btn');\n jQuery(paginationSearchButton).on('keyup', function (f) {\n if (f.which == 13) {\n $(this).trigger(\"click\");\n }\n }); // Add focus to the element after custome checkbox library has been loaded\n\n setTimeout(function () {\n $(\".video-tools__disclaimer .custom-checkbox\").attr(\"tabindex\", \"0\");\n }, 300); // Adding aria label to accordion state\n\n setTimeout(function () {\n $(\"[data-toggle='collapse']\").each(function () {\n if ($(this).hasClass('collapsed')) {\n $(this).attr('aria-expanded', 'false');\n } else {\n $(this).attr('aria-expanded', 'true');\n }\n });\n }, 50); // Generate enter on click choice\n\n $('.datepicker-days').click(function () {\n $('.advanced-fields-panel').addClass(\"has-focus\");\n }); // add id for wcag\n\n jQuery('.is-date [for=\"Period\"]').attr('id', 'period-group'); // Search pages\n\n var leftMenuSearchShortcut = $('.filter-left-menu .facet, .filter-left-menu .list-facets a');\n var searchOptions = $('.ankiro-searchform-advanced .btn-searchoptions');\n jQuery(leftMenuSearchShortcut).on('keyup', function (e) {\n if (e.which == 13) {\n window.location = $(this).attr('href');\n }\n });\n jQuery(searchOptions).on('keyup', function (e) {\n if (e.which == 13) {\n $(this).trigger('click');\n }\n });\n jQuery(\".search-choice-close\").click(function () {\n jQuery(searchOptions).blur();\n jQuery('.searchoptions').focus();\n jQuery('.site-ft .form-group select, .site-folketingstidende .form-group select').addClass(\"has-focus\");\n }); // Breadcrumbs\n\n var breadCrumbALinks = jQuery('.breadcrumb li a');\n var breadCrumbACurrent = jQuery('.breadcrumb li:last-child a, .breadcrumb li:last-child span');\n var breadCrumbBLinks = jQuery('.tingdok__breadcrumb-b a.tingdok__breadcrumb-b__item');\n var breadCrumbBCurrent = jQuery('.tingdok__breadcrumb-b span.tingdok__breadcrumb-b__item');\n breadCrumbACurrent.attr('aria-current', 'page');\n breadCrumbBCurrent.attr('aria-current', 'page');\n breadCrumbALinks.add(breadCrumbBLinks).on('keyup', function (e) {\n if (e.which == 13) {\n window.location = $(this).attr('href');\n }\n }); // Table Link focus\n\n var tableWithlinksRow = $('.listespot-wrapper.has-data-item table tr');\n tableWithlinksRow.each(function (e) {\n var currentTR = $(this); // Get all content in the current row\n // and join them with a comma\n\n var metaData = currentTR.map(function () {\n return $(this).text().replace(/\\s+/g, ' ').trim();\n }).get().join(', '); // Set the aria-label attribute with the metaData\n\n currentTR.attr('aria-label', metaData);\n\n if (currentTR.find('a').length > 0 && currentTR.attr('data-url') && currentTR.attr('data-url').length != 0) {\n currentTR.attr('tabindex', '0');\n currentTR.attr('role', 'link');\n currentTR.find('a').not('.btn-icon-button').not('.download-pdf').attr('tabindex', '-1');\n currentTR.addClass('pointer--hover');\n currentTR.on('click', function (e) {\n // Don't navigate if clicking on download-pdf or btn-icon-button links\n if ($(e.target).closest('.download-pdf, .btn-icon-button').length > 0) {\n return;\n }\n\n window.location = currentTR.attr('data-url');\n });\n }\n });\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error() {},\n\n /*\r\n ===================================\r\n init inline JS\r\n ===================================\r\n */\n runInlineJS: function runInlineJS(element) {\n var inlineJS = element.attr('href');\n var result = inlineJS.match(/__doPostBack[(](.*)[)]/);\n var functionBase = result[1].split(',');\n\n __doPostBack(functionBase[0].replace(/'/g, ''), functionBase[1].replace(/'/g, ''));\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n setTimeout(function () {\n $('.chosen-results li:first-of-type').remove();\n }, 300);\n $('.js-row-click tbody tr td:not(:first-of-type) a .column-documents__icon-text').unwrap();\n\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Accessibility.Setup();\n } // remove cdh iframe from chamber overview tab navigation\n\n\n setTimeout(function () {\n if (jQuery('.chamber-overview').length) {\n jQuery(\"#cdh_iFrame_88618\").attr(\"tabindex\", \"-1\");\n }\n }, 500);\n});"},7875:e=>{e.exports='/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Accordion\r\n===================================\r\n*/\n\nPT.Accordion = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {////Grouping multiple informationspot-d\n //var accordionElement = jQuery(\'#accordion\');\n //var firstAccordion = jQuery(\'.informationspot-d:first\');\n //var lastAccordion = jQuery(\'.informationspot-d:last\');\n //if (jQuery(accordionElement).next().hasClass(\'informationspot-d\')) {\n // jQuery(firstAccordion).addClass("is-siblings-first");\n // jQuery(lastAccordion).addClass("is-siblings-last");\n //} else {\n // jQuery(accordionElement).addClass("is-single-accordion");\n //}\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error() {},\n\n /*\r\n ===================================\r\n Open accordion on page load when deeplinked\r\n ===================================\r\n */\n OpenAccordionOnLoad: function OpenAccordionOnLoad() {\n var hash = window.location.hash.slice(1);\n\n if (hash && jQuery(".panel-title").length > 0 && jQuery(".panel-collapse").length > 0) {\n jQuery("#" + hash).find(".panel-title a").removeClass("collapsed");\n jQuery("#" + hash).find(".panel-collapse").addClass("in"); // Scroll to the top of the accordion panel\n\n if (!jQuery(".panel-collapse").hasClass("header-tabs")) {\
1n var panelTop;\n var subsiteWide = document.documentElement.classList.contains("subsite-wide");\n var $target = jQuery("#" + hash); // --- guard clause ---\n\n if ($target.length === 0 || !$target.offset()) {\n return;\n }\n\n if (window.innerWidth < 768) {\n // For mobile\n panelTop = $target.offset().top - (subsiteWide ? 100 : 0);\n } else {\n // For desktop\n panelTop = $target.offset().top - (subsiteWide ? 115 : 0);\n }\n\n jQuery("html, body").animate({\n scrollTop: panelTop\n }, 500);\n }\n\n $("[data-toggle=\'collapse\']").each(function () {\n if ($(this).hasClass("collapsed")) {\n $(this).attr("aria-expanded", "false");\n } else {\n $(this).attr("aria-expanded", "true");\n }\n });\n }\n },\n\n /*\r\n ===================================\r\n Open accordion when clicking on a panel\r\n ===================================\r\n */\n OpenAccordion: function OpenAccordion() {\n var hash = window.location.hash.slice(1);\n\n if (hash && jQuery(".panel-title").length > 0 && jQuery(".panel-collapse").length > 0) {\n jQuery("#" + hash).find(".panel-title a").removeClass("collapsed");\n jQuery("#" + hash).find(".panel-collapse").addClass("in");\n $("[data-toggle=\'collapse\']").each(function () {\n if ($(this).hasClass("collapsed")) {\n $(this).attr("aria-expanded", "false");\n } else {\n $(this).attr("aria-expanded", "true");\n }\n });\n }\n },\n\n /*\r\n ===================================\r\n Sitecore setting init open\r\n ===================================\r\n */\n InitOpen: function InitOpen() {\n var hasHashUrl = window.location.hash.slice(1).length > 0;\n var initOpenElement = jQuery("[data-init-open=True]")[0];\n\n if (!hasHashUrl && initOpenElement && jQuery(".panel-title").length > 0 && jQuery(".panel-collapse").length > 0) {\n var accordionId = initOpenElement.dataset.accordionId;\n jQuery("#" + accordionId).find(".panel-title a").removeClass("collapsed");\n jQuery("#" + accordionId).find(".panel-collapse").addClass("in");\n }\n },\n HandleHash: function HandleHash(event, props) {\n event.preventDefault();\n var hash = window.location.hash.slice(1);\n var isOpen = $("#" + props.id).find(".panel-collapse").hasClass("in"); // Update the state of the accordion panel in PT.Accordion.Variables\n\n PT.Accordion.Variables[props.id] = isOpen;\n var baseUrlWithoutHash = window.location.href.split("#")[0];\n\n if (!isOpen) {\n history.replaceState(null, null, baseUrlWithoutHash + \'#\' + props.id);\n } else if (hash === props.id) {\n history.replaceState({}, document.title, baseUrlWithoutHash);\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery("body").hasClass("pageedit")) {\n PT.Accordion.Setup();\n PT.Accordion.OpenAccordionOnLoad();\n PT.Accordion.InitOpen();\n }\n});\njQuery(window).on("hashchange", function (e) {\n // Close all panels if deeplinked to a specific hash\n if (jQuery(".panel-collapse").closest(".ankiro").length === 0 && !jQuery(".panel-collapse").closest(".agenda-header").length) {\n jQuery(".panel-title a").addClass("collapsed");\n jQuery(".panel-collapse").removeClass("in");\n }\n\n PT.Accordion.OpenAccordion();\n});'},4512:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Ankiro\r\n===================================\r\n*/\n\nPT.Ankiro = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n FacetUpdatingDropdownSelector: \".js-data-selected-facet-updater\",\n HiddenFacetFieldsSelector: \"#sf, #msf\",\n FacetDataAttribute: \"selected-facet-updater\"\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n //Check for advance search\n var advanceSearch = jQuery('.ankiro-search-options-row .ankiro-searchform-advanced');\n var radioContainer = jQuery('.ankiro-search-options-row .pull-left');\n\n if (radioContainer.siblings(advanceSearch).length > 0) {\n jQuery('.js-fake-form').addClass(\"has-advance\");\n } //Specific transition to avoid editing collapse\n\n\n jQuery('.contentLineShow .related-documents[data-toggle=\"collapse\"]').each(function () {\n $(this).click(function () {\n $(this).parent().parent().next().next().toggleClass('is-open');\n });\n }); //Delay load and fadein to mask the jump\n\n $('.ankiro-search-options-row .pull-left').fadeIn(200); //Adding a neccessary class which comes from ankiro\n\n jQuery('.ftMembersAddresses .ankiro-results tbody tr').addClass('none-hover-row'); // Regular search and advance search divided\n\n if (!jQuery.trim(jQuery(\".advanced-fields-panel\").html()).length) {\n jQuery(\".searchoptions-buttons\").addClass(\"not-advance\");\n } else {\n jQuery(\".searchoptions-buttons\").addClass(\"advance\");\n } // Detect if search result is empty\n\n\n if (!$('.searchoptions:visible').length) {} //jQuery('.radio-search .ankiro-search-options-row').addClass(\"has-no-result\");\n //jQuery('.header-tabs .radio-search .ankiro-search-options-row').removeClass(\"has-no-result\");\n // Horizontal search same line scenario\n\n\n $('.horizontal-search.radio-search .ankiro-search-options-row').insertBefore('.advanced-fields-panel'); //Implement hover class on table row in case of a link\n\n var votingTableCell = jQuery(\".tingdok__votinglistspot-a tbody tr td:first-child a\").closest('tr');\n var tableRowWithClick = jQuery(\"tr[onclick]\");\n var tableHoverCell = tableRowWithClick.add(votingTableCell);\n var searchResultLink = jQuery('.ankiro-results tr td .search-result-link').closest('tr');\n tableHoverCell.hover(function () {\n jQuery(this).addClass('hover');\n }, function () {\n jQuery(this).removeClass('hover');\n });\n searchResultLink.hover(function () {\n jQuery(this).addClass('hover');\n }, function () {\n jQuery(this).removeClass('hover');\n }); //Detect if search result has link\n\n jQuery('.contentLineShow').each(function () {\n if (jQuery(this).find('a').length) {\n jQuery(this).addClass(\"has-link\");\n\n if (jQuery(this).find('.related-documents-container').length) {\n console.log('has related documents');\n jQuery(this).find('a').addClass(\"has-link-related-documents\");\n }\n }\n });\n jQuery('.js-show-current-filters').click(function (e) {\n e.preventDefault();\n\n if (jQuery(this).hasClass('icon-pil-spinkel-hoejre')) {\n jQuery(this).removeClass('icon-pil-spinkel-hoejre active').addClass('icon-pil-spinkel-ned').attr('aria-expanded', 'false');\n jQuery('.current-filters').hide();\n } else {\n jQuery(this).removeClass('icon-pil-spinkel-ned').addClass('icon-pil-spinkel-hoejre active').attr('aria-expanded', 'true');\n jQuery('.current-filters').show();\n }\n });\n jQuery('.helpSearchBoxes [data-toggle=\"popover\"]').popover({\n placement: function placement() {\n var position = 'left';
1\n\n switch (jRes.getBreakpoint()) {\n case 'screen-xs':\n position = 'left';\n break;\n\n case 'screen-sm':\n position = 'right';\n break;\n\n case 'screen-md':\n position = 'right';\n break;\n\n case 'screen-lg':\n position = 'right';\n break;\n } // Help text should always be placed to the left when horizontal\n\n\n if (jQuery('.horizontal-search').length > 0) {\n position = 'left';\n }\n\n return position;\n },\n trigger: 'click hover focus',\n delay: {\n \"show\": 100\n }\n }).click(function (e) {\n e.preventDefault();\n jQuery(this).attr('aria-expanded', function (_, attr) {\n return attr == 'true' ? 'false' : 'true';\n });\n }).mouseenter(function () {\n jQuery(this).attr('aria-expanded', 'true');\n }).mouseleave(function () {\n jQuery(this).attr('aria-expanded', 'false');\n });\n window.addEventListener(\"orientationchange\", function () {\n $('.helpSearchBoxes [data-toggle=\"popover\"]').popover('update');\n });\n jQuery('.tingdok__committee-agenda__list__item').each(function () {\n if (!jQuery('.tingdok__documentdownload', this).length) {\n jQuery('.tingdok__documentdownload__title', this).hide();\n }\n });\n jQuery(PT.Ankiro.Variables.FacetUpdatingDropdownSelector).change(function (event) {\n var $dropdown = jQuery(event.target);\n var facetToValueMap = $dropdown.data(PT.Ankiro.Variables.FacetDataAttribute);\n var selectedValue = $dropdown.val();\n var facetValue = \"\";\n\n for (var iterator = 0; iterator < facetToValueMap.length; iterator++) {\n if (selectedValue == facetToValueMap[iterator][1]) {\n facetValue = facetToValueMap[iterator][0];\n break;\n }\n }\n\n if (facetValue != \"\") {\n jQuery(PT.Ankiro.Variables.HiddenFacetFieldsSelector).val(facetValue);\n }\n });\n\n window.onbeforeprint = function () {\n // Cloning the checkboxes on the left nav to be used for ptint layout\n var checkboxContainer = $('.facet-menu__panels').clone();\n $('.search-facet-print').html(checkboxContainer);\n $('.search-facet-print').insertBefore('.listespot-wrapper.grey');\n };\n\n window.onafterprint = function () {\n $('.search-facet-print').empty();\n };\n },\n Typeahead: function Typeahead() {\n var $typeaheadFields = jQuery('.js-typeahead-ankiro');\n $typeaheadFields.each(function (index, element) {\n var $typeaheadField = jQuery(element); // Instantiate the Bloodhound suggestion engine\n\n var ankiro_results = new Bloodhound({\n datumTokenizer: function datumTokenizer(datum) {\n return Bloodhound.tokenizers.whitespace(datum.value);\n },\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n remote: {\n url: $typeaheadField.data('typeahead-url') + '%QUERY',\n filter: function filter(ankiro_results) {\n // Map the remote source JSON array to a JavaScript object array\n return $.map(ankiro_results.results, function (ankiro_result) {\n return {\n value: ankiro_result.result\n };\n });\n }\n }\n }); // Initialize the Bloodhound suggestion engine\n\n ankiro_results.initialize();\n $typeaheadField.typeahead(null, {\n displayKey: 'value',\n source: ankiro_results.ttAdapter()\n });\n });\n }\n /*\r\n ===================================\r\n Search\r\n ===================================\r\n */\n\n /*\r\n ===================================\r\n Initialize\r\n ===================================\r\n */\n\n};\njQuery(document).ready(function () {\n var radioDataGroup = $('[data-option=\"enhanced\"] .radio-data-group'); // The radio buttons (data-group)\n\n var inputFields = $('.advanced-fields-panel ').children(); // The inputs to hide and show (data-group)\n //Loop through each radio button\n\n jQuery(radioDataGroup).each(function (index, radioBtnElement) {\n // Detect the clicked/changed radio\n var radioBtn = $(radioBtnElement);\n radioBtn.change(function () {\n inputFields.each(function (index, fieldElement) {\n if (jQuery(fieldElement).attr(\"data-group\") === radioBtn.attr(\"data-group\")) {\n jQuery(fieldElement).show();\n } else {\n jQuery(fieldElement).hide();\n }\n });\n });\n var isChecked = radioBtn.prop(\"checked\");\n\n if (isChecked === true) {\n inputFields.each(function (index, fieldElement) {\n if (jQuery(fieldElement).attr(\"data-group\") === radioBtn.attr(\"data-group\")) {\n jQuery(fieldElement).show();\n } else {\n jQuery(fieldElement).hide();\n }\n });\n }\n\n ;\n }); // Set initial state.\n\n if (radioDataGroup.length === 0) {\n inputFields.each(function (index, fieldElement) {\n if (jQuery(fieldElement).attr(\"data-group\") === \"Default\" || jQuery(fieldElement).attr(\"data-group\") === \"\") {\n jQuery(fieldElement).show();\n } else {\n jQuery(fieldElement).hide();\n }\n });\n }\n\n jQuery('.search-in-label').each(function () {\n jQuery(this).click(function () {\n $(\".search-in-label\").removeClass('is-active').addClass('is-disabled');\n $(this).addClass('is-active').removeClass('is-disabled');\n });\n });\n\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Ankiro.Setup();\n }\n\n if (!jQuery('body').hasClass('pageedit') && jQuery('.js-typeahead-ankiro').length) {\n PT.Ankiro.Typeahead();\n }\n});"},5e3:e=>{e.exports='function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\n/*! jQuery UI - v1.11.1 - 2014-09-15\r\n* http://jqueryui.com\r\n* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, resizable.js, selectable.js, slider.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js\r\n* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */\n(function (e) {\n "function" == typeof define && define.amd ? define("Arkena", ["jquery"], e) : e(jQuery);\n})(function (e) {\n function t(t, s) {\n var n,\n a,\n o,\n r = t.nodeName.toLowerCase();\n return "area" === r ? (n = t.parentNode, a = n.name, t.href && a && "map" === n.nodeName.toLowerCase() ? (o = e("img[usemap=\'#" + a + "\']")[0], !!o && i(o)) : !1) : (/input|select|textarea|button|object/.test(r) ? !t.disabled : "a" === r ? t.href || s : s) && i(t);\n }\n\n function i(t) {\n return e.expr.filters.visible(t) && !e(t).parents().addBack().filter(function () {\n return "hidden" === e.css(this, "visibility");\n }).length;\n }\n\n e.ui = e.ui || {}, e.extend(e.ui, {\n version: "1.11.1",\n keyCode: {\n BACKSPACE: 8,\n COMMA: 188,\n DELETE: 46,\n DOWN: 40,\n END: 35,\n ENTER: 13,\n ESCAPE: 27,\n HOME: 36,\n LEFT: 37,\n PAGE_DOWN: 34,\n PAGE_UP: 33,\n PERIOD: 190,\n RIGHT: 39,\n SPACE: 32,\n TAB: 9,\n UP: 38\n }\n }), e.fn.extend({\n scrollParent: function scrollParent(t) {\n var i = this.css("position"),\n s = "absolute" === i,\n n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n a = this.parents().filter(function () {\n var t = e(this);\n return s && "static" === t.css("position") ? !1 : n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"));\n }).eq(0);\n return "fixed" !== i && a.length ? a : e(this[0].ownerDocument || document);\n },\n uniqueId: function () {\n var e = 0;\n return function () {\n return this.each(function () {\n this.id || (this.id = "ui-id-" + ++e);\n });\n };\n }(),\n removeUniqueId: function removeUniqueId() {\n return this.each(function () {\n /^ui-id-\\d+$/.test(this.id
1) && e(this).removeAttr("id");\n });\n }\n }), e.extend(e.expr[":"], {\n data: e.expr.createPseudo ? e.expr.createPseudo(function (t) {\n return function (i) {\n return !!e.data(i, t);\n };\n }) : function (t, i, s) {\n return !!e.data(t, s[3]);\n },\n focusable: function focusable(i) {\n return t(i, !isNaN(e.attr(i, "tabindex")));\n },\n tabbable: function tabbable(i) {\n var s = e.attr(i, "tabindex"),\n n = isNaN(s);\n return (n || s >= 0) && t(i, !n);\n }\n }), e("<a>").outerWidth(1).jquery || e.each(["Width", "Height"], function (t, i) {\n function s(t, i, s, a) {\n return e.each(n, function () {\n i -= parseFloat(e.css(t, "padding" + this)) || 0, s && (i -= parseFloat(e.css(t, "border" + this + "Width")) || 0), a && (i -= parseFloat(e.css(t, "margin" + this)) || 0);\n }), i;\n }\n\n var n = "Width" === i ? ["Left", "Right"] : ["Top", "Bottom"],\n a = i.toLowerCase(),\n o = {\n innerWidth: e.fn.innerWidth,\n innerHeight: e.fn.innerHeight,\n outerWidth: e.fn.outerWidth,\n outerHeight: e.fn.outerHeight\n };\n e.fn["inner" + i] = function (t) {\n return void 0 === t ? o["inner" + i].call(this) : this.each(function () {\n e(this).css(a, s(this, t) + "px");\n });\n }, e.fn["outer" + i] = function (t, n) {\n return "number" != typeof t ? o["outer" + i].call(this, t) : this.each(function () {\n e(this).css(a, s(this, t, !0, n) + "px");\n });\n };\n }), e.fn.addBack || (e.fn.addBack = function (e) {\n return this.add(null == e ? this.prevObject : this.prevObject.filter(e));\n }), e("<a>").data("a-b", "a").removeData("a-b").data("a-b") && (e.fn.removeData = function (t) {\n return function (i) {\n return arguments.length ? t.call(this, e.camelCase(i)) : t.call(this);\n };\n }(e.fn.removeData)), e.ui.ie = !!/msie [\\w.]+/.exec(navigator.userAgent.toLowerCase()), e.fn.extend({\n focus: function (t) {\n return function (i, s) {\n return "number" == typeof i ? this.each(function () {\n var t = this;\n setTimeout(function () {\n e(t).focus(), s && s.call(t);\n }, i);\n }) : t.apply(this, arguments);\n };\n }(e.fn.focus),\n disableSelection: function () {\n var e = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown";\n return function () {\n return this.bind(e + ".ui-disableSelection", function (e) {\n e.preventDefault();\n });\n };\n }(),\n enableSelection: function enableSelection() {\n return this.unbind(".ui-disableSelection");\n },\n zIndex: function zIndex(t) {\n if (void 0 !== t) return this.css("zIndex", t);\n if (this.length) for (var i, s, n = e(this[0]); n.length && n[0] !== document;) {\n if (i = n.css("position"), ("absolute" === i || "relative" === i || "fixed" === i) && (s = parseInt(n.css("zIndex"), 10), !isNaN(s) && 0 !== s)) return s;\n n = n.parent();\n }\n return 0;\n }\n }), e.ui.plugin = {\n add: function add(t, i, s) {\n var n,\n a = e.ui[t].prototype;\n\n for (n in s) {\n a.plugins[n] = a.plugins[n] || [], a.plugins[n].push([i, s[n]]);\n }\n },\n call: function call(e, t, i, s) {\n var n,\n a = e.plugins[t];\n if (a && (s || e.element[0].parentNode && 11 !== e.element[0].parentNode.nodeType)) for (n = 0; a.length > n; n++) {\n e.options[a[n][0]] && a[n][1].apply(e.element, i);\n }\n }\n };\n var s = 0,\n n = Array.prototype.slice;\n e.cleanData = function (t) {\n return function (i) {\n var s, n, a;\n\n for (a = 0; null != (n = i[a]); a++) {\n try {\n s = e._data(n, "events"), s && s.remove && e(n).triggerHandler("remove");\n } catch (o) {}\n }\n\n t(i);\n };\n }(e.cleanData), e.widget = function (t, i, s) {\n var n,\n a,\n o,\n r,\n h = {},\n l = t.split(".")[0];\n return t = t.split(".")[1], n = l + "-" + t, s || (s = i, i = e.Widget), e.expr[":"][n.toLowerCase()] = function (t) {\n return !!e.data(t, n);\n }, e[l] = e[l] || {}, a = e[l][t], o = e[l][t] = function (e, t) {\n return this._createWidget ? (arguments.length && this._createWidget(e, t), void 0) : new o(e, t);\n }, e.extend(o, a, {\n version: s.version,\n _proto: e.extend({}, s),\n _childConstructors: []\n }), r = new i(), r.options = e.widget.extend({}, r.options), e.each(s, function (t, s) {\n return e.isFunction(s) ? (h[t] = function () {\n var e = function e() {\n return i.prototype[t].apply(this, arguments);\n },\n n = function n(e) {\n return i.prototype[t].apply(this, e);\n };\n\n return function () {\n var t,\n i = this._super,\n a = this._superApply;\n return this._super = e, this._superApply = n, t = s.apply(this, arguments), this._super = i, this._superApply = a, t;\n };\n }(), void 0) : (h[t] = s, void 0);\n }), o.prototype = e.widget.extend(r, {\n widgetEventPrefix: a ? r.widgetEventPrefix || t : t\n }, h, {\n constructor: o,\n namespace: l,\n widgetName: t,\n widgetFullName: n\n }), a ? (e.each(a._childConstructors, function (t, i) {\n var s = i.prototype;\n e.widget(s.namespace + "." + s.widgetName, o, i._proto);\n }), delete a._childConstructors) : i._childConstructors.push(o), e.widget.bridge(t, o), o;\n }, e.widget.extend = function (t) {\n for (var i, s, a = n.call(arguments, 1), o = 0, r = a.length; r > o; o++) {\n for (i in a[o]) {\n s = a[o][i], a[o].hasOwnProperty(i) && void 0 !== s && (t[i] = e.isPlainObject(s) ? e.isPlainObject(t[i]) ? e.widget.extend({}, t[i], s) : e.widget.extend({}, s) : s);\n }\n }\n\n return t;\n }, e.widget.bridge = function (t, i) {\n var s = i.prototype.widgetFullName || t;\n\n e.fn[t] = function (a) {\n var o = "string" == typeof a,\n r = n.call(arguments, 1),\
1n h = this;\n return a = !o && r.length ? e.widget.extend.apply(null, [a].concat(r)) : a, o ? this.each(function () {\n var i,\n n = e.data(this, s);\n return "instance" === a ? (h = n, !1) : n ? e.isFunction(n[a]) && "_" !== a.charAt(0) ? (i = n[a].apply(n, r), i !== n && void 0 !== i ? (h = i && i.jquery ? h.pushStack(i.get()) : i, !1) : void 0) : e.error("no such method \'" + a + "\' for " + t + " widget instance") : e.error("cannot call methods on " + t + " prior to initialization; " + "attempted to call method \'" + a + "\'");\n }) : this.each(function () {\n var t = e.data(this, s);\n t ? (t.option(a || {}), t._init && t._init()) : e.data(this, s, new i(a, this));\n }), h;\n };\n }, e.Widget = function () {}, e.Widget._childConstructors = [], e.Widget.prototype = {\n widgetName: "widget",\n widgetEventPrefix: "",\n defaultElement: "<div>",\n options: {\n disabled: !1,\n create: null\n },\n _createWidget: function _createWidget(t, i) {\n i = e(i || this.defaultElement || this)[0], this.element = e(i), this.uuid = s++, this.eventNamespace = "." + this.widgetName + this.uuid, this.options = e.widget.extend({}, this.options, this._getCreateOptions(), t), this.bindings = e(), this.hoverable = e(), this.focusable = e(), i !== this && (e.data(i, this.widgetFullName, this), this._on(!0, this.element, {\n remove: function remove(e) {\n e.target === i && this.destroy();\n }\n }), this.document = e(i.style ? i.ownerDocument : i.document || i), this.window = e(this.document[0].defaultView || this.document[0].parentWindow)), this._create(), this._trigger("create", null, this._getCreateEventData()), this._init();\n },\n _getCreateOptions: e.noop,\n _getCreateEventData: e.noop,\n _create: e.noop,\n _init: e.noop,\n destroy: function destroy() {\n this._destroy(), this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)), this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled " + "ui-state-disabled"), this.bindings.unbind(this.eventNamespace), this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus");\n },\n _destroy: e.noop,\n widget: function widget() {\n return this.element;\n },\n option: function option(t, i) {\n var s,\n n,\n a,\n o = t;\n if (0 === arguments.length) return e.widget.extend({}, this.options);\n if ("string" == typeof t) if (o = {}, s = t.split("."), t = s.shift(), s.length) {\n for (n = o[t] = e.widget.extend({}, this.options[t]), a = 0; s.length - 1 > a; a++) {\n n[s[a]] = n[s[a]] || {}, n = n[s[a]];\n }\n\n if (t = s.pop(), 1 === arguments.length) return void 0 === n[t] ? null : n[t];\n n[t] = i;\n } else {\n if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];\n o[t] = i;\n }\n return this._setOptions(o), this;\n },\n _setOptions: function _setOptions(e) {\n var t;\n\n for (t in e) {\n this._setOption(t, e[t]);\n }\n\n return this;\n },\n _setOption: function _setOption(e, t) {\n return this.options[e] = t, "disabled" === e && (this.widget().toggleClass(this.widgetFullName + "-disabled", !!t), t && (this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus"))), this;\n },\n enable: function enable() {\n return this._setOptions({\n disabled: !1\n });\n },\n disable: function disable() {\n return this._setOptions({\n disabled: !0\n });\n },\n _on: function _on(t, i, s) {\n var n,\n a = this;\n "boolean" != typeof t && (s = i, i = t, t = !1), s ? (i = n = e(i), this.bindings = this.bindings.add(i)) : (s = i, i = this.element, n = this.widget()), e.each(s, function (s, o) {\n function r() {\n return t || a.options.disabled !== !0 && !e(this).hasClass("ui-state-disabled") ? ("string" == typeof o ? a[o] : o).apply(a, arguments) : void 0;\n }\n\n "string" != typeof o && (r.guid = o.guid = o.guid || r.guid || e.guid++);\n var h = s.match(/^([\\w:-]*)\\s*(.*)$/),\n l = h[1] + a.eventNamespace,\n u = h[2];\n u ? n.delegate(u, l, r) : i.bind(l, r);\n });\n },\n _off: function _off(e, t) {\n t = (t || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.unbind(t).undelegate(t);\n },\n _delay: function _delay(e, t) {\n function i() {\n return ("string" == typeof e ? s[e] : e).apply(s, arguments);\n }\n\n var s = this;\n return setTimeout(i, t || 0);\n },\n _hoverable: function _hoverable(t) {\n this.hoverable = this.hoverable.add(t), this._on(t, {\n mouseenter: function mouseenter(t) {\n e(t.currentTarget).addClass("ui-state-hover");\n },\n mouseleave: function mouseleave(t) {\n e(t.currentTarget).removeClass("ui-state-hover");\n }\n });\n },\n _focusable: function _focusable(t) {\n this.focusable = this.focusable.add(t), this._on(t, {\n focusin: function focusin(t) {\n e(t.currentTarget).addClass("ui-state-focus");\n },\n focusout: function focusout(t) {\n e(t.currentTarget).removeClass("ui-state-focus");\n }\n });\n },\n _trigger: function _trigger(t, i, s) {\n var n,\n a,\n o = this.options[t];\n if (s = s || {}, i = e.Event(i), i.type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(), i.target = this.element[0], a = i.originalEvent) for (n in a) {\n n in i || (i[n] = a[n]);\n }\n return this.element.trigger(i, s), !(e.isFunction(o) && o.apply(this.element[0], [i].concat(s)) === !1 || i.isDefaultPrevented());\n }\n }, e.each({\n show: "fadeIn",\n hide: "fadeOut"\n }, function (t, i) {\n e.Widget.prototype["_" + t] = function (s, n, a) {\n "string" == typeof n && (n = {\n effect: n\n });\n var o,\n r = n ? n === !0 || "number" == typeof n ? i : n.effect || i : t;\n n = n || {}, "number" == typeof n && (n = {\n duration: n\n }), o = !e.isEmptyObject(n), n.complete = a, n.delay && s.delay(n.delay), o && e.effects && e.effects.effect[r] ? s[t](n) : r !== t && s[r] ? s[r](n.duration, n.easing, a) : s.queue(function (i) {\n e(this)[t](), a && a.call(s[0]), i();\n });\n };\n }), e.widget;\n var a = !1;\n e(document).mouseup(function () {\n a = !1;\n }), e.widget("ui.mouse", {\n version: "1.11.1",\n options: {\n cancel: "input,textarea,button,select,option",\n distance: 1,\n delay: 0\n },\n _mouseInit: function _mouseInit() {\n var t = this;\n this.element.bind("mousedown." + this.widgetName, function (e) {\n return t._mouseDown(e);\n }).bind("click." + this.widgetName, function (i) {\n return !0 === e.data(i.target, t.widgetName + ".preventClickEvent") ? (e.removeData(i.target, t.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1) : void 0;\n }), this.started = !1;\n },\n _mouseDestroy: function _mouseDestroy() {\n this.element.unbind("." + this.widgetName), this._mouseMoveDelegate && this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);\n },\n _mouseDown: function _mouseDown(t) {\n if (!a) {\n this._mouseStarted && this._mouseUp(t), this._mouseDownEvent = t;\n var i = this,\n s = 1 === t.which,\n n = "string" == typeof this.options.cancel && t.target.nodeName ? e(t.target).closest(this.options.cancel).length : !1;\n return s && !n && this._mouseCapture(t) ? (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () {\n i.mouseDelayMet = !0;\n }, this.options.delay)), this._mouseDistanceMet(t) && this._mouseDelayMet(t) && (this._mouseStarted = this._mouseStart(t) !== !1, !this._mouseStarted) ? (t.preventDefault(), !0) : (!0 === e.data(t.target, this.widgetName + ".preventClickEvent") && e.removeData(t.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (e) {\n return i._mouseMove(e);\n }, this._mouseUpDelegate = function (e) {\n return i._mouseUp(e);\n }, this.document.bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), t.preventDefault(), a = !0, !0)) : !0;\n }\n },\n _mouseMove: function _mouseMove(t) {\n return e.ui.ie && (!document.documentMode || 9 > document.documentMode) && !t.button ? this._mouseUp(t) : t.which ? this._mouseStarted ? (this._mouseDrag(t), t.preventDefault()) : (this._mouseDistanceMet(t) && this._mouseDelayMet(t) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, t) !== !1, this._mouseStarted ? this._mouseDrag(t) : this._mouseUp(t)), !this._mouseStarted) : this._mouseUp(t);\n },\n _mouseUp: function _mouseUp(t) {\n return this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, t.target === this._mouseDownEvent.target && e.data(t.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(t)), a = !1, !1;\n },\n _mouseDistanceMet: function _mouseDistanceMet(e) {\n return Math.max(Math.abs(this._mouseDownEvent.pageX - e.pageX), Math.abs(this._mouseDownEvent.pageY - e.pageY)) >= this.options.distance;\n },\n _mouseDelayMet: function _mouseDelayMet() {\n return this.mouseDelayMet;\n },\n _mouseStart: function _mouseStart() {},\n _mouseDrag: function _mouseDrag() {},\n _mouseStop: function _mouseStop() {},\n _mouseCapture: function _mouseCapture() {\n return !0;\n }\n }), function () {\n function t(e, t, i) {\n return [parseFloat(e[0]) * (p.test(e[0]) ? t / 100 : 1), parseFloat(e[1]) * (p.test(e[1]) ? i / 100 : 1)];\n }\n\n function i(t, i) {\n return parseInt(e.css(t, i), 10) || 0;\n }\n\n function s(t) {\n var i = t[0];\n return 9 === i.nodeType ? {\n width: t.width(),\n height: t.height(),\
1n offset: {\n top: 0,\n left: 0\n }\n } : e.isWindow(i) ? {\n width: t.width(),\n height: t.height(),\n offset: {\n top: t.scrollTop(),\n left: t.scrollLeft()\n }\n } : i.preventDefault ? {\n width: 0,\n height: 0,\n offset: {\n top: i.pageY,\n left: i.pageX\n }\n } : {\n width: t.outerWidth(),\n height: t.outerHeight(),\n offset: t.offset()\n };\n }\n\n e.ui = e.ui || {};\n var n,\n a,\n o = Math.max,\n r = Math.abs,\n h = Math.round,\n l = /left|center|right/,\n u = /top|center|bottom/,\n d = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n c = /^\\w+/,\n p = /%$/,\n f = e.fn.position;\n e.position = {\n scrollbarWidth: function scrollbarWidth() {\n if (void 0 !== n) return n;\n var t,\n i,\n s = e("<div style=\'display:block;position:absolute;width:50px;height:50px;overflow:hidden;\'><div style=\'height:100px;width:auto;\'></div></div>"),\n a = s.children()[0];\n return e("body").append(s), t = a.offsetWidth, s.css("overflow", "scroll"), i = a.offsetWidth, t === i && (i = s[0].clientWidth), s.remove(), n = t - i;\n },\n getScrollInfo: function getScrollInfo(t) {\n var i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),\n s = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),\n n = "scroll" === i || "auto" === i && t.width < t.element[0].scrollWidth,\n a = "scroll" === s || "auto" === s && t.height < t.element[0].scrollHeight;\n return {\n width: a ? e.position.scrollbarWidth() : 0,\n height: n ? e.position.scrollbarWidth() : 0\n };\n },\n getWithinInfo: function getWithinInfo(t) {\n var i = e(t || window),\n s = e.isWindow(i[0]),\n n = !!i[0] && 9 === i[0].nodeType;\n return {\n element: i,\n isWindow: s,\n isDocument: n,\n offset: i.offset() || {\n left: 0,\n top: 0\n },\n scrollLeft: i.scrollLeft(),\n scrollTop: i.scrollTop(),\n width: s || n ? i.width() : i.outerWidth(),\n height: s || n ? i.height() : i.outerHeight()\n };\n }\n }, e.fn.position = function (n) {\n if (!n || !n.of) return f.apply(this, arguments);\n n = e.extend({}, n);\n\n var p,\n m,\n g,\n v,\n y,\n b,\n _ = e(n.of),\n x = e.position.getWithinInfo(n.within),\n w = e.position.getScrollInfo(x),\n k = (n.collision || "flip").split(" "),\n T = {};\n\n return b = s(_), _[0].preventDefault && (n.at = "left top"), m = b.width, g = b.height, v = b.offset, y = e.extend({}, v), e.each(["my", "at"], function () {\n var e,\n t,\n i = (n[this] || "").split(" ");\n 1 === i.length && (i = l.test(i[0]) ? i.concat(["center"]) : u.test(i[0]) ? ["center"].concat(i) : ["center", "center"]), i[0] = l.test(i[0]) ? i[0] : "center", i[1] = u.test(i[1]) ? i[1] : "center", e = d.exec(i[0]), t = d.exec(i[1]), T[this] = [e ? e[0] : 0, t ? t[0] : 0], n[this] = [c.exec(i[0])[0], c.exec(i[1])[0]];\n }), 1 === k.length && (k[1] = k[0]), "right" === n.at[0] ? y.left += m : "center" === n.at[0] && (y.left += m / 2), "bottom" === n.at[1] ? y.top += g : "center" === n.at[1] && (y.top += g / 2), p = t(T.at, m, g), y.left += p[0], y.top += p[1], this.each(function () {\n var s,\n l,\n u = e(this),\n d = u.outerWidth(),\n c = u.outerHeight(),\n f = i(this, "marginLeft"),\n b = i(this, "marginTop"),\n D = d + f + i(this, "marginRight") + w.width,\n S = c + b + i(this, "marginBottom") + w.height,\n N = e.extend({}, y),\n M = t(T.my, u.outerWidth(), u.outerHeight());\n "right" === n.my[0] ? N.left -= d : "center" === n.my[0] && (N.left -= d / 2), "bottom" === n.my[1] ? N.top -= c : "center" === n.my[1] && (N.top -= c / 2), N.left += M[0], N.top += M[1], a || (N.left = h(N.left), N.top = h(N.top)), s = {\n marginLeft: f,\n marginTop: b\n }, e.each(["left", "top"], function (t, i) {\n e.ui.position[k[t]] && e.ui.position[k[t]][i](N, {\n targetWidth: m,\n targetHeight: g,\n elemWidth: d,\n elemHeight: c,\n collisionPosition: s,\n collisionWidth: D,\n collisionHeight: S,\n offset: [p[0] + M[0], p[1] + M[1]],\n my: n.my,\n at: n.at,\n within: x,\n elem: u\n });\n }), n.using && (l = function l(e) {\n var t = v.left - N.left,\n i = t + m - d,\n s = v.top - N.top,\n a = s + g - c,\n h = {\n target: {\n element: _,\n left: v.left,\n top: v.top,\n width: m,\n height: g\n },\n element: {\n element: u,\n left: N.left,\n top: N.top,\n width: d,\n height: c\n },\n horizontal: 0 > i ? "left" : t > 0 ? "right" : "center",\n vertical: 0 > a ? "top" : s > 0 ? "bottom" : "middle"\n };\n d > m && m > r(t + i) && (h.horizontal = "center"), c > g && g > r(s + a) && (h.vertical = "middle"), h.important = o(r(t), r(i)) > o(r(s), r(a)) ? "horizontal" : "vertical", n.using.call(this, e, h);\n }), u.offset(e.extend(N, {\n using: l\n }));\n });\n }
1, e.ui.position = {\n fit: {\n left: function left(e, t) {\n var i,\n s = t.within,\n n = s.isWindow ? s.scrollLeft : s.offset.left,\n a = s.width,\n r = e.left - t.collisionPosition.marginLeft,\n h = n - r,\n l = r + t.collisionWidth - a - n;\n t.collisionWidth > a ? h > 0 && 0 >= l ? (i = e.left + h + t.collisionWidth - a - n, e.left += h - i) : e.left = l > 0 && 0 >= h ? n : h > l ? n + a - t.collisionWidth : n : h > 0 ? e.left += h : l > 0 ? e.left -= l : e.left = o(e.left - r, e.left);\n },\n top: function top(e, t) {\n var i,\n s = t.within,\n n = s.isWindow ? s.scrollTop : s.offset.top,\n a = t.within.height,\n r = e.top - t.collisionPosition.marginTop,\n h = n - r,\n l = r + t.collisionHeight - a - n;\n t.collisionHeight > a ? h > 0 && 0 >= l ? (i = e.top + h + t.collisionHeight - a - n, e.top += h - i) : e.top = l > 0 && 0 >= h ? n : h > l ? n + a - t.collisionHeight : n : h > 0 ? e.top += h : l > 0 ? e.top -= l : e.top = o(e.top - r, e.top);\n }\n },\n flip: {\n left: function left(e, t) {\n var i,\n s,\n n = t.within,\n a = n.offset.left + n.scrollLeft,\n o = n.width,\n h = n.isWindow ? n.scrollLeft : n.offset.left,\n l = e.left - t.collisionPosition.marginLeft,\n u = l - h,\n d = l + t.collisionWidth - o - h,\n c = "left" === t.my[0] ? -t.elemWidth : "right" === t.my[0] ? t.elemWidth : 0,\n p = "left" === t.at[0] ? t.targetWidth : "right" === t.at[0] ? -t.targetWidth : 0,\n f = -2 * t.offset[0];\n 0 > u ? (i = e.left + c + p + f + t.collisionWidth - o - a, (0 > i || r(u) > i) && (e.left += c + p + f)) : d > 0 && (s = e.left - t.collisionPosition.marginLeft + c + p + f - h, (s > 0 || d > r(s)) && (e.left += c + p + f));\n }
1,\n top: function top(e, t) {\n var i,\n s,\n n = t.within,\n a = n.offset.top + n.scrollTop,\n o = n.height,\n h = n.isWindow ? n.scrollTop : n.offset.top,\n l = e.top - t.collisionPosition.marginTop,\n u = l - h,\n d = l + t.collisionHeight - o - h,\n c = "top" === t.my[1],\n p = c ? -t.elemHeight : "bottom" === t.my[1] ? t.elemHeight : 0,\n f = "top" === t.at[1] ? t.targetHeight : "bottom" === t.at[1] ? -t.targetHeight : 0,\n m = -2 * t.offset[1];\n 0 > u ? (s = e.top + p + f + m + t.collisionHeight - o - a, e.top + p + f + m > u && (0 > s || r(u) > s) && (e.top += p + f + m)) : d > 0 && (i = e.top - t.collisionPosition.marginTop + p + f + m - h, e.top + p + f + m > d && (i > 0 || d > r(i)) && (e.top += p + f + m));\n }\n },\n flipfit: {\n left: function left() {\n e.ui.position.flip.left.apply(this, arguments), e.ui.position.fit.left.apply(this, arguments);\n }
1,\n top: function top() {\n e.ui.position.flip.top.apply(this, arguments), e.ui.position.fit.top.apply(this, arguments);\n }\n }\n }, function () {\n var t,\n i,\n s,\n n,\n o,\n r = document.getElementsByTagName("body")[0],\n h = document.createElement("div");\n t = document.createElement(r ? "div" : "body"), s = {\n visibility: "hidden",\n width: 0,\n height: 0,\n border: 0,\n margin: 0,\n background: "none"\n }, r && e.extend(s, {\n position: "absolute",\n left: "-1000px",\n top: "-1000px"\n });\n\n for (o in s) {\n t.style[o] = s[o];\n }\n\n t.appendChild(h), i = r || document.documentElement, i.insertBefore(t, i.firstChild), h.style.cssText = "position: absolute; left: 10.7432222px;", n = e(h).offset().left, a = n > 10 && 11 > n, t.innerHTML = "", i.removeChild(t);\n }();\n }(), e.ui.position, e.widget("ui.draggable", e.ui.mouse, {\n version: "1.11.1",\n widgetEventPrefix: "drag",\n options: {\n addClasses: !0,\n appendTo: "parent",\n axis: !1,\n connectToSortable: !1,\n containment: !1,\n cursor: "auto",\n cursorAt: !1,\n grid: !1,\n handle: !1,\n helper: "original",\n iframeFix: !1,\n opacity: !1,\n refreshPositions: !1,\n revert: !1,\n revertDuration: 500,\n scope: "default",\n scroll: !0,\n scrollSensitivity: 20,\n scrollSpeed: 20,\n snap: !1,\n snapMode: "both",\n snapTolerance: 20,\n stack: !1,\n zIndex: !1,\n drag: null,\n start: null,\n stop: null\n },\n _create: function _create() {\n "original" !== this.options.helper || /^(?:r|a|f)/.test(this.element.css("position")) || (this.element[0].style.position = "relative"), this.options.addClasses && this.element.addClass("ui-draggable"), this.options.disabled && this.element.addClass("ui-draggable-disabled"), this._setHandleClassName(), this._mouseInit();\n },\n _setOption: function _setOption(e, t) {\n this._super(e, t), "handle" === e && (this._removeHandleClassName(), this._setHandleClassName());\n },\n _destroy: function _destroy() {\n return (this.helper || this.element).is(".ui-draggable-dragging") ? (this.destroyOnClear = !0, void 0) : (this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), this._removeHandleClassName(), this._mouseDestroy(), void 0);\n },\n _mouseCapture: function _mouseCapture(t) {\n var i = this.document[0],\n s = this.options;\n\n try {\n i.activeElement && "body" !== i.activeElement.nodeName.toLowerCase() && e(i.activeElement).blur();\n } catch (n) {}\n\n return this.helper || s.disabled || e(t.target).closest(".ui-resizable-handle").length > 0 ? !1 : (this.handle = this._getHandle(t), this.handle ? (e(s.iframeFix === !0 ? "iframe" : s.iframeFix).each(function () {\n e("<div class=\'ui-draggable-iframeFix\' style=\'background: #fff;\'></div>").css({\n width: this.offsetWidth + "px",\n height: this.offsetHeight + "px",\n position: "absolute",\n opacity: "0.001",\n zIndex: 1e3\n }).css(e(this).offset()).appendTo("body");\n }), !0) : !1);\n },\n _mouseStart: function _mouseStart(t) {\n var i = this.options;\n return this.helper = this._createHelper(t), this.helper.addClass("ui-draggable-dragging"), this._cacheHelperProportions(), e.ui.ddmanager && (e.ui.ddmanager.current = this), this._cacheMargins(), this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(!0), this.offsetParent = this.helper.offsetParent(), this.offsetParentCssPosition = this.offsetParent.css("position"), this.offset = this.positionAbs = this.element.offset(), this.offset = {\n top: this.offset.top - this.margins.top,\n left: this.offset.left - this.margins.left\n }, this.offset.scroll = !1, e.extend(this.offset, {\n click: {\n left: t.pageX - this.offset.left,\n top: t.pageY - this.offset.top\n },\n parent: this._getParentOffset(),\n relative: this._getRelativeOffset()\n }), this.originalPosition = this.position = this._generatePosition(t, !1), this.originalPageX = t.pageX, this.originalPageY = t.pageY, i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt), this._setContainment(), this._trigger("start", t) === !1 ? (this._clear(), !1) : (this._cacheHelperProportions(), e.ui.ddmanager && !i.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t), this._mouseDrag(t, !0), e.ui.ddmanager && e.ui.ddmanager.dragStart(this, t), !0);\n },\n _mouseDrag: function _mouseDrag(t, i) {\n if ("fixed" === this.offsetParentCssPosition && (this.offset.parent = this._getParentOffset()), this.position = this._generatePosition(t, !0), this.positionAbs = this._convertPositionTo("absolute"), !i) {\
1n var s = this._uiHash();\n\n if (this._trigger("drag", t, s) === !1) return this._mouseUp({}), !1;\n this.position = s.position;\n }\n\n return this.helper[0].style.left = this.position.left + "px", this.helper[0].style.top = this.position.top + "px", e.ui.ddmanager && e.ui.ddmanager.drag(this, t), !1;\n },\n _mouseStop: function _mouseStop(t) {\n var i = this,\n s = !1;\n return e.ui.ddmanager && !this.options.dropBehaviour && (s = e.ui.ddmanager.drop(this, t)), this.dropped && (s = this.dropped, this.dropped = !1), "invalid" === this.options.revert && !s || "valid" === this.options.revert && s || this.options.revert === !0 || e.isFunction(this.options.revert) && this.options.revert.call(this.element, s) ? e(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () {\n i._trigger("stop", t) !== !1 && i._clear();\n }) : this._trigger("stop", t) !== !1 && this._clear(), !1;\n },\n _mouseUp: function _mouseUp(t) {\n return e("div.ui-draggable-iframeFix").each(function () {\n this.parentNode.removeChild(this);\n }), e.ui.ddmanager && e.ui.ddmanager.dragStop(this, t), this.element.focus(), e.ui.mouse.prototype._mouseUp.call(this, t);\n },\n cancel: function cancel() {\n return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(), this;\n },\n _getHandle: function _getHandle(t) {\n return this.options.handle ? !!e(t.target).closest(this.element.find(this.options.handle)).length : !0;\n },\n _setHandleClassName: function _setHandleClassName() {\n this.handleElement = this.options.handle ? this.element.find(this.options.handle) : this.element, this.handleElement.addClass("ui-draggable-handle");\n },\n _removeHandleClassName: function _removeHandleClassName() {\n this.handleElement.removeClass("ui-draggable-handle");\n },\n _createHelper: function _createHelper(t) {\n var i = this.options,\n s = e.isFunction(i.helper) ? e(i.helper.apply(this.element[0], [t])) : "clone" === i.helper ? this.element.clone().removeAttr("id") : this.element;\n return s.parents("body").length || s.appendTo("parent" === i.appendTo ? this.element[0].parentNode : i.appendTo), s[0] === this.element[0] || /(fixed|absolute)/.test(s.css("position")) || s.css("position", "absolute"), s;\n },\n _adjustOffsetFromHelper: function _adjustOffsetFromHelper(t) {\n "string" == typeof t && (t = t.split(" ")), e.isArray(t) && (t = {\n left: +t[0],\n top: +t[1] || 0\n }), "left" in t && (this.offset.click.left = t.left + this.margins.left), "right" in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left), "top" in t && (this.offset.click.top = t.top + this.margins.top), "bottom" in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top);\n },\n _isRootNode: function _isRootNode(e) {\n return /(html|body)/i.test(e.tagName) || e === this.document[0];\n },\n _getParentOffset: function _getParentOffset() {\n var t = this.offsetParent.offset(),\n i = this.document[0];\n return "absolute" === this.cssPosition && this.scrollParent[0] !== i && e.contains(this.scrollParent[0], this.offsetParent[0]) && (t.left += this.scrollParent.scrollLeft(), t.top += this.scrollParent.scrollTop()), this._isRo
1otNode(this.offsetParent[0]) && (t = {\n top: 0,\n left: 0\n }), {\n top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),\n left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)\n };\n },\n _getRelativeOffset: function _getRelativeOffset() {\n if ("relative" !== this.cssPosition) return {\n top: 0,\n left: 0\n };\n\n var e = this.element.position(),\n t = this._isRootNode(this.scrollParent[0]);\n\n return {\n top: e.top - (parseInt(this.helper.css("top"), 10) || 0) + (t ? 0 : this.scrollParent.scrollTop()),\n left: e.left - (parseInt(this.helper.css("left"), 10) || 0) + (t ? 0 : this.scrollParent.scrollLeft())\n };\n },\n _cacheMargins: function _cacheMargins() {\n this.margins = {\n left: parseInt(this.element.css("marginLeft"), 10) || 0,\n top: parseInt(this.element.css("marginTop"), 10) || 0,\n right: parseInt(this.element.css("marginRight"), 10) || 0,\n bottom: parseInt(this.element.css("marginBottom"), 10) || 0\n };\n },\n _cacheHelperProportions: function _cacheHelperProportions() {\n this.helperProportions = {\n width: this.helper.outerWidth(),\n height: this.helper.outerHeight()\n };\n },\n _setContainment: function _setContainment() {\n var t,\n i,\n s,\n n = this.options,\n a = this.document[0];\n return this.relativeContainer = null, n.containment ? "window" === n.containment ? (this.containment = [e(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, e(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, e(window).scrollLeft() + e(window).width() - this.helperProportions.width - this.margins.left, e(window).scrollTop() + (e(window).height() || a.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top], void 0) : "document" === n.containment ? (this.containment = [0, 0, e(a).width() - this.helperProportions.width - this.margins.left, (e(a).height() || a.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top], void 0) : n.containment.constructor === Array ? (this.containment = n.containment, void 0) : ("parent" === n.containment && (n.containment = this.helper[0].parentNode), i = e(n.containment), s = i[0], s && (t = "hidden" !== i.css("overflow"), this.containment = [(parseInt(i.css("borderLeftWidth"), 10) || 0) + (parseInt(i.css("paddingLeft"), 10) || 0), (parseInt(i.css("borderTopWidth"), 10) || 0) + (parseInt(i.css("paddingTop"), 10) || 0), (t ? Math.max(s.scrollWidth, s.offsetWidth) : s.offsetWidth) - (parseInt(i.css("borderRightWidth"), 10) || 0) - (parseInt(i.css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (t ? Math.max(s.scrollHeight, s.offsetHeight) : s.offsetHeight) - (parseInt(i.css("borderBottomWidth"), 10) || 0) - (parseInt(i.css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], this.relativeContainer = i), void 0) : (this.containment = null, void 0);\n },\n _convertPositionTo: function _convertPositionTo(e, t) {\n t || (t = this.position);\n\n var i = "absolute" === e ? 1 : -1,\n s = this._isRootNode(this.scrollParent[0]);\n\n return {\n top: t.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.offset.scroll.top : s ? 0 : this.offset.scroll.top) * i,\n left: t.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.offset.scroll.left : s ? 0 : this.offset.scroll.left) * i\n };\n },\n _generatePosition: function _generatePosition(e, t) {\n var i,\n s,\n n,\n a,\n o = this.options,\n r = this._isRootNode(this.scrollParent[0]),\n h = e.pageX,\n l = e.pageY;\n\n return r && this.offset.scroll || (this.offset.scroll = {\n top: this.scrollParent.scrollTop(),\n left: this.scrollParent.scrollLeft()\n }), t && (this.containment && (this.relativeContainer ? (s = this.relativeContainer.offset(), i = [this.containment[0] + s.left, this.containment[1] + s.top, this.containment[2] + s.left, this.containment[3] + s.top]) : i = this.containment, e.pageX - this.offset.click.left < i[0] && (h = i[0] + this.offset.click.left), e.pageY - this.offset.click.top < i[1] && (l = i[1] + this.offset.click.top), e.pageX - this.offset.click.left > i[2] && (h = i[2] + this.offset.click.left), e.pageY - this.offset.click.top > i[3] && (l = i[3] + this.offset.click.top)), o.grid && (n = o.grid[1] ? this.originalPageY + Math.round((l - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY, l = i ? n - this.offset.click.top >= i[1] || n - this.offset.click.top > i[3] ? n : n - this.offset.click.top >= i[1] ? n - o.grid[1] : n + o.grid[1] : n, a = o.grid[0] ? this.originalPageX + Math.round((h - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX, h = i ? a - this.offset.click.left >= i[0] || a - this.offset.click.left > i[2] ? a : a - this.offset.click.left >= i[0] ? a - o.grid[0] : a + o.grid[0] : a), "y" === o.axis && (h = this.originalPageX), "x" === o.axis && (l = this.originalPageY)), {\n top: l - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.offset.scroll.top : r ? 0 : this.offset.scroll.top),\n left: h - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.offset.scroll.left : r ? 0 : this.offset.scroll.left)\n };\n },\n _clear: function _clear() {\n this.helper.removeClass("ui-draggable-dragging"), this.helper[0] === this.element[0] || this.cancelHelperRemoval || this.helper.remove(), this.helper = null, this.cancelHelperRemoval = !1, this.destroyOnClear && this.destroy();\n },\n _trigger: function _trigger(t, i, s) {\n return s = s || this._uiHash(), e.ui.plugin.call(this, t, [i, s, this], !0), "drag" === t && (this.positionAbs = this._convertPositionTo("absolute")), e.Widget.prototype._trigger.call(this, t, i, s);\n },\n plugins: {},\n _uiHash: function _uiHash() {\n return {\n helper: this.helper,\n position: this.position,\n originalPosition: this.originalPosition,\n offset: this.positionAbs\n };\n }\n }), e.ui.plugin.add("draggable", "connectToSortable", {\n start: function start(t, i, s) {\n var n = s.options,\n a = e.extend({}, i, {\n item: s.element\n });\n s.sortables = [], e(n.connectToSortable).each(function () {\n var i = e(this).sortable("instance");\n i && !i.options.disabled && (s.sortables.push({\n instance: i,\n shouldRevert: i.options.revert\n }), i.refreshPositions(), i._trigger("activate", t, a));\n });\n },\n stop: function stop(t, i, s) {\n var n = e.extend({}, i, {\n item: s.element\n });\n e.each(s.sortables, function () {\n this.instance.isOver ? (this.instance.isOver = 0, s.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, this.shouldRevert && (this.instance.options.revert = this.shouldRevert), this.instance._mouseStop(t), this.instance.options.helper = this.instance.options._helper, "original" === s.options.helper && this.instance.currentItem.css({\n top: "auto",\n left: "auto"\n })) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger("deactivate", t, n));\n });\n },\n drag: function drag(t, i, s) {\n var n = this;\n e.each(s.sortables, function () {\n var a = !1,\n o = this;\n this.instance.positionAbs = s.positionAbs, this.instance.helperProportions = s.helperProportions, this.instance.offset.click = s.offset.click, this.instance._intersectsWith(this.instance.containerCache) && (a = !0, e.each(s.sortables, function () {\n return this.instance.positionAbs = s.positionAbs, this.instance.helperProportions = s.helperProportions, this.instance.offset.click = s.offset.click, this !== o && this.instance._intersectsWith(this.instance.containerCache) && e.contains(o.instance.element[0], this.instance.element[0]) && (a = !1), a;\n })), a ? (this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function () {\n return i.helper[0];\n }, t.target = this.instance.currentItem[0], this.instance._mouseCapture(t, !0), this.instance._mouseStart(t, !0, !0), this.instance.offset.click.top = s.offset.click.top, this.instance.offset.click.left = s.offset.click.left, this.instance.offset.parent.left -= s.offset.parent.left - this.instance.offset.parent.left, this.instance.offset.parent.top -= s.offset.parent.top - this.instance.offset.parent.top, s._trigger("toSortable", t), s.dropped = this.instance.element, s.currentItem = s.element, this.instance.fromOutside = s), this.instance.currentItem && this.instance._mouseDrag(t)) : this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger("out", t, this.instance._uiHash(this.instance)), this.instance._mouseStop(t, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), this.instance.placeholder && this.instance.placeholder.remove(), s._trigger("fromSortable", t), s.dropped = !1);\n });\n }\n }), e.ui.plugin.add("draggable", "cursor", {\n start: function start(t, i, s) {\n var n = e("body"),\n a = s.options;\n n.css("cursor") && (a._cursor = n.css("cursor")), n.css("cursor", a.cursor);\n },\n stop: function stop(t, i, s) {\n var n = s.options;\n n._cursor && e("body").css("cursor", n._cursor);\n }\n }), e.ui.plugin.add("draggable", "opacity", {\n start: function start(t, i, s) {\n var n = e(i.helper),\n a = s.options;\n n.css("opacity") && (a._opacity = n.css("opacity")), n.css("opacity", a.opacity);\n },\n stop: function stop(t, i, s) {\n var n = s.options;\n n._opacity && e(i.helper).css("opacity", n._opacity);\n }\n }), e.ui.plugin.add("draggable", "scroll", {\n start: function start(e, t, i) {\n i.scrollParentNotHidden || (i.scrollParentNotHidden = i.helper.scrollParent(!1)), i.scrollParentNotHidden[0] !== i.document[0] && "HTML" !== i.scrollParentNotHidden[0].tagName && (i.overflowOffset = i.scrollParentNotHidden.offset());\n },\n drag: function drag(t, i, s) {\n var n = s.options,\n a = !1,\n o = s.scrollParentNotHidden[0],\n r = s.document[0];\n o !== r && "HTML" !== o.tagName ? (n.axis && "x" === n.axis || (s.overflowOffset.top + o.offsetHeight - t.pageY < n.scrollSensitivity ? o.scrollTop = a = o.scrollTop + n.scrollSpeed : t.pageY - s.overflowOffset.top < n.scrollSensitivity && (o.scrollTop = a = o.scrollTop - n.scrollSpeed)), n.axis && "y" === n.axis || (s.overflowOffset.left + o.offsetWidth - t.pageX < n.scrollSensitivity ? o.scrollLeft = a = o.scrollLeft + n.scrollSpeed : t.pageX - s.overflowOffset.left < n.scrollSensitivity && (o.scrollLeft = a = o.scrollLeft - n.scrollSpeed))) : (n.axis && "x" === n.axis || (t.pageY - e(r).scrollTop() < n.scrollSensitivity ? a = e(r).scrollTop(e(r).scrollTop() - n.scrollSpeed) : e(window).height() - (t.pageY - e(r).scrollTop()) < n.scrollSensitivity && (a = e(r).scrollTop(e(r).scrollTop() + n.scrollSpeed))), n.axis && "y" === n.axis || (t.pageX - e(r).scrollLeft() < n.scrollSensitivity ? a = e(r).scrollLeft(e(r).scrollLeft() - n.scrollSpeed) : e(window).width() - (t.pageX - e(r).scrollLeft()) < n.scrollSensitivity && (a = e(r).scrollLeft(e(r).scrollLeft() + n.scrollSpeed)))), a !== !1 && e.ui.ddmanager && !n.dropBehaviour && e.ui.ddmanager.prepareOffsets(s, t);\n }\n }), e.ui.plugin.add("draggable", "snap", {\n start: function start(t, i, s) {\n var n = s.options;\n s.snapElements = [], e(n.snap.constructor !== String ? n.snap.items || ":data(ui-draggable)" : n.snap).each(function () {\n var t = e(this),\n i = t.offset();\n this !== s.element[0] && s.snapElements.push({\n item: this,\n width: t.outerWidth(),\n height: t.outerHeight(),\
1n top: i.top,\n left: i.left\n });\n });\n },\n drag: function drag(t, i, s) {\n var n,\n a,\n o,\n r,\n h,\n l,\n u,\n d,\n c,\n p,\n f = s.options,\n m = f.snapTolerance,\n g = i.offset.left,\n v = g + s.helperProportions.width,\n y = i.offset.top,\n b = y + s.helperProportions.height;\n\n for (c = s.snapElements.length - 1; c >= 0; c--) {\n h = s.snapElements[c].left, l = h + s.snapElements[c].width, u = s.snapElements[c].top, d = u + s.snapElements[c].height, h - m > v || g > l + m || u - m > b || y > d + m || !e.contains(s.snapElements[c].item.ownerDocument, s.snapElements[c].item) ? (s.snapElements[c].snapping && s.options.snap.release && s.options.snap.release.call(s.element, t, e.extend(s._uiHash(), {\n snapItem: s.snapElements[c].item\n })), s.snapElements[c].snapping = !1) : ("inner" !== f.snapMode && (n = m >= Math.abs(u - b), a = m >= Math.abs(d - y), o = m >= Math.abs(h - v), r = m >= Math.abs(l - g), n && (i.position.top = s._convertPositionTo("relative", {\n top: u - s.helperProportions.height,\n left: 0\n }).top - s.margins.top), a && (i.position.top = s._convertPositionTo("relative", {\n top: d,\n left: 0\n }).top - s.margins.top), o && (i.position.left = s._convertPositionTo("relative", {\n top: 0,\n left: h - s.helperProportions.width\n }).left - s.margins.left), r && (i.position.left = s._convertPositionTo("relative", {\n top: 0,\n left: l\n }).left - s.margins.left)), p = n || a || o || r, "outer" !== f.snapMode && (n = m >= Math.abs(u - y), a = m >= Math.abs(d - b), o = m >= Math.abs(h - g), r = m >= Math.abs(l - v), n && (i.position.top = s._convertPositionTo("relative", {\n top: u,\n left: 0\n }).top - s.margins.top), a && (i.position.top = s._convertPositionTo("relative", {\n top: d - s.helperProportions.height,\n left: 0\n }).top - s.margins.top), o && (i.position.left = s._convertPositionTo("relative", {\n top: 0,\n left: h\n }).left - s.margins.left), r && (i.position.left = s._convertPositionTo("relative", {\n top: 0,\n left: l - s.helperProportions.width\n }).left - s.margins.left)), !s.snapElements[c].snapping && (n || a || o || r || p) && s.options.snap.snap && s.options.snap.snap.call(s.element, t, e.extend(s._uiHash(), {\n snapItem: s.snapElements[c].item\n })), s.snapElements[c].snapping = n || a || o || r || p);\n }\n }\n }), e.ui.plugin.add("draggable", "stack", {\n start: function start(t, i, s) {\n var n,\n a = s.options,\n o = e.makeArray(e(a.stack)).sort(function (t, i) {\n return (parseInt(e(t).css("zIndex"), 10) || 0) - (parseInt(e(i).css("zIndex"), 10) || 0);\n });\n o.length && (n = parseInt(e(o[0]).css("zIndex"), 10) || 0, e(o).each(function (t) {\n e(this).css("zIndex", n + t);\n }), this.css("zIndex", n + o.length));\n }\n }), e.ui.plugin.add("draggable", "zIndex", {\n start: function start(t, i, s) {\n var n = e(i.helper),\n a = s.options;\n n.css("zIndex") && (a._zIndex = n.css("zIndex")), n.css("zIndex", a.zIndex);\n },\n stop: function stop(t, i, s) {\n var n = s.options;\n n._zIndex && e(i.helper).css("zIndex", n._zIndex);\n }\n }), e.ui.draggable, e.widget("ui.resizable", e.ui.mouse, {\n version: "1.11.1",\n widgetEventPrefix: "resize",\n options: {\n alsoResize: !1,\n animate: !1,\n animateDuration: "slow",\n animateEasing: "swing",\n aspectRatio: !1,\n autoHide: !1,\n containment: !1,\n ghost: !1,\n grid: !1,\n handles: "e,s,se",\n helper: !1,\n maxHeight: null,\n maxWidth: null,\n minHeight: 10,\n minWidth: 10,\n zIndex: 90,\n resize: null,\n start: null,\n stop: null\n },\n _num: function _num(e) {\n return parseInt(e, 10) || 0;\n },\n _isNumber: function _isNumber(e) {\n return !isNaN(parseInt(e, 10));\n },\n _hasScroll: function _hasScroll(t, i) {\n if ("hidden" === e(t).css("overflow")) return !1;\n var s = i && "left" === i ? "scrollLeft" : "scrollTop",\n n = !1;\n return t[s] > 0 ? !0 : (t[s] = 1, n = t[s] > 0, t[s] = 0, n);\n },\n _create: function _create() {\n var t,\n i,\n s,\n n,\n a,\n o = this,\n r = this.options;\n if (this.element.addClass("ui-resizable"), e.extend(this, {\n _aspectRatio: !!r.aspectRatio,\n aspectRatio: r.aspectRatio,\n originalElement: this.element,\n _proportionallyResizeElements: [],\n _helper: r.helper || r.ghost || r.animate ? r.helper || "ui-resizable-helper" : null\n }), this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(e("<div class=\'ui-wrapper\' style=\'overflow: hidden;\'></div>").css({\n position: this.element.css("position"),\n width: this.element.outerWidth(),\n height: this.element.outerHeight(),\
1n top: this.element.css("top"),\n left: this.element.css("left")\n })), this.element = this.element.parent().data("ui-resizable", this.element.resizable("instance")), this.elementIsWrapper = !0, this.element.css({\n marginLeft: this.originalElement.css("marginLeft"),\n marginTop: this.originalElement.css("marginTop"),\n marginRight: this.originalElement.css("marginRight"),\n marginBottom: this.originalElement.css("marginBottom")\n }), this.originalElement.css({\n marginLeft: 0,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0\n }), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({\n position: "static",\n zoom: 1,\n display: "block"\n })), this.originalElement.css({\n margin: this.originalElement.css("margin")\n }), this._proportionallyResize()), this.handles = r.handles || (e(".ui-resizable-handle", this.element).length ? {\n n: ".ui-resizable-n",\n e: ".ui-resizable-e",\n s: ".ui-resizable-s",\n w: ".ui-resizable-w",\n se: ".ui-resizable-se",\n sw: ".ui-resizable-sw",\n ne: ".ui-resizable-ne",\n nw: ".ui-resizable-nw"\n } : "e,s,se"), this.handles.constructor === String) for ("all" === this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"), t = this.handles.split(","), this.handles = {}, i = 0; t.length > i; i++) {\n s = e.trim(t[i]), a = "ui-resizable-" + s, n = e("<div class=\'ui-resizable-handle " + a + "\'></div>"), n.css({\n zIndex: r.zIndex\n }), "se" === s && n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), this.handles[s] = ".ui-resizable-" + s, this.element.append(n);\n }\n this._renderAxis = function (t) {\n var i, s, n, a;\n t = t || this.element;\n\n for (i in this.handles) {\n this.handles[i].constructor === String && (this.handles[i] = this.element.children(this.handles[i]).first().show()), this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i) && (s = e(this.handles[i], this.element), a = /sw|ne|nw|se|n|s/.test(i) ? s.outerHeight() : s.outerWidth(), n = ["padding", /ne|nw|n/.test(i) ? "Top" : /se|sw|s/.test(i) ? "Bottom" : /^e$/.test(i) ? "Right" : "Left"].join(""), t.css(n, a), this._proportionallyResize()), e(this.handles[i]).length;\n }\n }, this._renderAxis(this.element), this._handles = e(".ui-resizable-handle", this.element).disableSelection(), this._handles.mouseover(function () {\n o.resizing || (this.className && (n = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)), o.axis = n && n[1] ? n[1] : "se");\n }), r.autoHide && (this._handles.hide(), e(this.element).addClass("ui-resizable-autohide").mouseenter(function () {\n r.disabled || (e(this).removeClass("ui-resizable-autohide"), o._handles.show());\n }).mouseleave(function () {\n r.disabled || o.resizing || (e(this).addClass("ui-resizable-autohide"), o._handles.hide());\n })), this._mouseInit();\n },\n _destroy: function _destroy() {\n this._mouseDestroy();\n\n var t,\n i = function i(t) {\n e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();\n };\n\n return this.elementIsWrapper && (i(this.element), t = this.element, this.originalElement.css({\n position: t.css("position"),\n width: t.outerWidth(),\n height: t.outerHeight(),\n top: t.css("top"),\n left: t.css("left")\n }).insertAfter(t), t.remove()), this.originalElement.css("resize", this.originalResizeStyle), i(this.originalElement), this;\n },\n _mouseCapture: function _mouseCapture(t) {\n var i,\n s,\n n = !1;\n\n for (i in this.handles) {\n s = e(this.handles[i])[0], (s === t.target || e.contains(s, t.target)) && (n = !0);\n }\n\n return !this.options.disabled && n;\n },\n _mouseStart: function _mouseStart(t) {\n var i,\n s,\n n,\n a = this.options,\n o = this.element;\n return this.resizing = !0, this._renderProxy(), i = this._num(this.helper.css("left")), s = this._num(this.helper.css("top")), a.containment && (i += e(a.containment).scrollLeft() || 0, s += e(a.containment).scrollTop() || 0), this.offset = this.helper.offset(), this.position = {\n left: i,\n top: s\n }, this.size = this._helper ? {\n width: this.helper.width(),\n height: this.helper.height()\n } : {\n width: o.width(),\n height: o.height()\n }, this.originalSize = this._helper ? {\n width: o.outerWidth(),\n height: o.outerHeight()\n } : {\n width: o.width(),\n height: o.height()\n }
1, this.sizeDiff = {\n width: o.outerWidth() - o.width(),\n height: o.outerHeight() - o.height()\n }, this.originalPosition = {\n left: i,\n top: s\n }, this.originalMousePosition = {\n left: t.pageX,\n top: t.pageY\n }, this.aspectRatio = "number" == typeof a.aspectRatio ? a.aspectRatio : this.originalSize.width / this.originalSize.height || 1, n = e(".ui-resizable-" + this.axis).css("cursor"), e("body").css("cursor", "auto" === n ? this.axis + "-resize" : n), o.addClass("ui-resizable-resizing"), this._propagate("start", t), !0;\n },\n _mouseDrag: function _mouseDrag(t) {\n var i,\n s,\n n = this.originalMousePosition,\n a = this.axis,\n o = t.pageX - n.left || 0,\n r = t.pageY - n.top || 0,\n h = this._change[a];\n return this._updatePrevProperties(), h ? (i = h.apply(this, [t, o, r]), this._updateVirtualBoundaries(t.shiftKey), (this._aspectRatio || t.shiftKey) && (i = this._updateRatio(i, t)), i = this._respectSize(i, t), this._updateCache(i), this._propagate("resize", t), s = this._applyChanges(), !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), e.isEmptyObject(s) || (this._updatePrevProperties(), this._trigger("resize", t, this.ui()), this._applyChanges()), !1) : !1;\n },\n _mouseStop: function _mouseStop(t) {\n this.resizing = !1;\n var i,\n s,\n n,\n a,\n o,\n r,\n h,\n l = this.options,\n u = this;\n return this._helper && (i = this._proportionallyResizeElements, s = i.length && /textarea/i.test(i[0].nodeName), n = s && this._hasScroll(i[0], "left") ? 0 : u.sizeDiff.height, a = s ? 0 : u.sizeDiff.width, o = {\n width: u.helper.width() - a,\n height: u.helper.height() - n\n }, r = parseInt(u.element.css("left"), 10) + (u.position.left - u.originalPosition.left) || null, h = parseInt(u.element.css("top"), 10) + (u.position.top - u.originalPosition.top) || null, l.animate || this.element.css(e.extend(o, {\n top: h,\n left: r\n })), u.helper.height(u.size.height), u.helper.width(u.size.width), this._helper && !l.animate && this._proportionallyResize()), e("body").css("cursor", "auto"), this.element.removeClass("ui-resizable-resizing"), this._propagate("stop", t), this._helper && this.helper.remove(), !1;\n },\n _updatePrevProperties: function _updatePrevProperties() {\n this.prevPosition = {\n top: this.position.top,\n left: this.position.left\n }, this.prevSize = {\n width: this.size.width,\n height: this.size.height\n };\n },\n _applyChanges: function _applyChanges() {\n var e = {};\n return this.position.top !== this.prevPosition.top && (e.top = this.position.top + "px"), this.position.left !== this.prevPosition.left && (e.left = this.position.left + "px"), this.size.width !== this.prevSize.width && (e.width = this.size.width + "px"), this.size.height !== this.prevSize.height && (e.height = this.size.height + "px"), this.helper.css(e), e;\n },\n _updateVirtualBoundaries: function _updateVirtualBoundaries(e) {\n var t,\n i,\n s,\n n,\n a,\n o = this.options;\n a = {\n minWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,\n maxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : 1 / 0,\n minHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,\n maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : 1 / 0\n }, (this._aspectRatio || e) && (t = a.minHeight * this.aspectRatio, s = a.minWidth / this.aspectRatio, i = a.maxHeight * this.aspectRatio, n = a.maxWidth / this.aspectRatio, t > a.minWidth && (a.minWidth = t), s > a.minHeight && (a.minHeight = s), a.maxWidth > i && (a.maxWidth = i), a.maxHeight > n && (a.maxHeight = n)), this._vBoundaries = a;\n },\n _updateCache: function _updateCache(e) {\n this.offset = this.helper.offset(), this._isNumber(e.left) && (this.position.left = e.left), this._isNumber(e.top) && (this.position.top = e.top), this._isNumber(e.height) && (this.size.height = e.height), this._isNumber(e.width) && (this.size.width = e.width);\n },\n _updateRatio: function _updateRatio(e) {\n var t = this.position,\n i = this.size,\n s = this.axis;\n return this._isNumber(e.height) ? e.width = e.height * this.aspectRatio : this._isNumber(e.width) && (e.height = e.width / this.aspectRatio), "sw" === s && (e.left = t.left + (i.width - e.width), e.top = null), "nw" === s && (e.top = t.top + (i.height - e.height), e.left = t.left + (i.width - e.width)), e;\n },\n _respectSize: function _respectSize(e) {\n var t = this._vBoundaries,\n i = this.axis,\n s = this._isNumber(e.width) && t.maxWidth && t.maxWidth < e.width,\n n = this._isNumber(e.height) && t.maxHeight && t.maxHeight < e.height,\n a = this._isNumber(e.width) && t.minWidth && t.minWidth > e.width,\n o = this._isNumber(e.height) && t.minHeight && t.minHeight > e.height,\n r = this.originalPosition.left + this.originalSize.width,\n h = this.position.top + this.size.height,\n l = /sw|nw|w/.test(i),\n u = /nw|ne|n/.test(i);\n return a && (e.width = t.minWidth), o && (e.height = t.minHeight), s && (e.width = t.maxWidth), n && (e.height = t.maxHeight), a && l && (e.left = r - t.minWidth), s && l && (e.left = r - t.maxWidth), o && u && (e.top = h - t.minHeight), n && u && (e.top = h - t.maxHeight), e.width || e.height || e.left || !e.top ? e.width || e.height || e.top || !e.left || (e.left = null) : e.top = null, e;\n },\n _getPaddingPlusBorderDimensions: function _getPaddingPlusBorderDimensions(e) {\n for (var t = 0, i = [], s = [e.css("borderTopWidth"), e.css("borderRightWidth"), e.css("borderBottomWidth"), e.css("borderLeftWidth")], n = [e.css("paddingTop"), e.css("paddingRight"), e.css("paddingBottom"), e.css("paddingLeft")]; 4 > t; t++) {\n i[t] = parseInt(s[t], 10) || 0, i[t] += parseInt(n[t], 10) || 0;\n }\n\n return {\n height: i[0] + i[2],\n width: i[1] + i[3]\n };\n },\n _proportionallyResize: function _proportionallyResize() {\n if (this._proportionallyResizeElements.length) for (var e, t = 0, i = this.helper || this.element; this._proportionallyResizeElements.length > t; t++) {\n e = this._proportionallyResizeElements[t], this.outerDimensions || (this.outerDimensions = this._getPaddingPlusBorderDimensions(e)), e.css({\n height: i.height() - this.outerDimensions.height || 0,\n width: i.width() - this.outerDimensions.width || 0\n });\n }\n }
1,\n _renderProxy: function _renderProxy() {\n var t = this.element,\n i = this.options;\n this.elementOffset = t.offset(), this._helper ? (this.helper = this.helper || e("<div style=\'overflow:hidden;\'></div>"), this.helper.addClass(this._helper).css({\n width: this.element.outerWidth() - 1,\n height: this.element.outerHeight() - 1,\n position: "absolute",\n left: this.elementOffset.left + "px",\n top: this.elementOffset.top + "px",\n zIndex: ++i.zIndex\n }), this.helper.appendTo("body").disableSelection()) : this.helper = this.element;\n },\n _change: {\n e: function e(_e, t) {\n return {\n width: this.originalSize.width + t\n };\n },\n w: function w(e, t) {\n var i = this.originalSize,\n s = this.originalPosition;\n return {\n left: s.left + t,\n width: i.width - t\n };\n },\n n: function n(e, t, i) {\n var s = this.originalSize,\n n = this.originalPosition;\n return {\n top: n.top + i,\n height: s.height - i\n };\n },\n s: function s(e, t, i) {\n return {\n height: this.originalSize.height + i\n };\n },\n se: function se(t, i, s) {\n return e.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [t, i, s]));\n },\n sw: function sw(t, i, s) {\n return e.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [t, i, s]));\n },\n ne: function ne(t, i, s) {\n return e.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [t, i, s]));\n },\n nw: function nw(t, i, s) {\n return e.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [t, i, s]));\n }\n },\n _propagate: function _propagate(t, i) {\n e.ui.plugin.call(this, t, [i, this.ui()]), "resize" !== t && this._trigger(t, i, this.ui());\n },\n plugins: {},\n ui: function ui() {\n return {\n originalElement: this.originalElement,\n element: this.element,\n helper: this.helper,\n position: this.position,\n size: this.size,\n originalSize: this.originalSize,\n originalPosition: this.originalPosition\n };\n }\n }), e.ui.plugin.add("resizable", "animate", {\n stop: function stop(t) {\n var i = e(this).resizable("instance"),\n s = i.options,\n n = i._proportionallyResizeElements,\n a = n.length && /textarea/i.test(n[0].nodeName),\n o = a && i._hasScroll(n[0], "left") ? 0 : i.sizeDiff.height,\n r = a ? 0 : i.sizeDiff.width,\n h = {\n width: i.size.width - r,\n height: i.size.height - o\n },\n l = parseInt(i.element.css("left"), 10) + (i.position.left - i.originalPosition.left) || null,\n u = parseInt(i.element.css("top"), 10) + (i.position.top - i.originalPosition.top) || null;\n i.element.animate(e.extend(h, u && l ? {\n top: u,\n left: l\n } : {}), {\n duration: s.animateDuration,\n easing: s.animateEasing,\n step: function step() {\n var s = {\n width: parseInt(i.element.css("width"), 10),\n height: parseInt(i.element.css("height"), 10),\n top: parseInt(i.element.css("top"), 10),\n left: parseInt(i.element.css("left"), 10)\n };\n n && n.length && e(n[0]).css({\n width: s.width,\n height: s.height\n }), i._updateCache(s), i._propagate("resize", t);\n }\n });\n }\n }), e.ui.plugin.add("resizable", "containment", {\n start: function start() {\n var t,\n i,\n s,\n n,\n a,\n o,\n r,\n h = e(this).resizable("instance"),\n l = h.options,\n u = h.element,\n d = l.containment,\n c = d instanceof e ? d.get(0) : /parent/.test(d) ? u.parent().get(0) : d;\n c && (h.containerElement = e(c), /document/.test(d) || d === document ? (h.containerOffset = {\n left: 0,\n top: 0\n }, h.containerPosition = {\n left: 0,\n top: 0\n }, h.parentData = {\n element: e(document),\n left: 0,\n top: 0,\n width: e(document).width(),\n height: e(document).height() || document.body.parentNode.scrollHeight\n }) : (t = e(c), i = [], e(["Top", "Right", "Left", "Bottom"]).each(function (e, s) {\n i[e] = h._num(t.css("padding" + s));\n }), h.containerOffset = t.offset(), h.containerPosition = t.position(), h.containerSize = {\n height: t.innerHe
1ight() - i[3],\n width: t.innerWidth() - i[1]\n }, s = h.containerOffset, n = h.containerSize.height, a = h.containerSize.width, o = h._hasScroll(c, "left") ? c.scrollWidth : a, r = h._hasScroll(c) ? c.scrollHeight : n, h.parentData = {\n element: c,\n left: s.left,\n top: s.top,\n width: o,\n height: r\n }));\n },\n resize: function resize(t) {\n var i,\n s,\n n,\n a,\n o = e(this).resizable("instance"),\n r = o.options,\n h = o.containerOffset,\n l = o.position,\n u = o._aspectRatio || t.shiftKey,\n d = {\n top: 0,\n left: 0\n },\n c = o.containerElement,\n p = !0;\n c[0] !== document && /static/.test(c.css("position")) && (d = h), l.left < (o._helper ? h.left : 0) && (o.size.width = o.size.width + (o._helper ? o.position.left - h.left : o.position.left - d.left), u && (o.size.height = o.size.width / o.aspectRatio, p = !1), o.position.left = r.helper ? h.left : 0), l.top < (o._helper ? h.top : 0) && (o.size.height = o.size.height + (o._helper ? o.position.top - h.top : o.position.top), u && (o.size.width = o.size.height * o.aspectRatio, p = !1), o.position.top = o._helper ? h.top : 0), n = o.containerElement.get(0) === o.element.parent().get(0), a = /relative|absolute/.test(o.containerElement.css("position")), n && a ? (o.offset.left = o.parentData.left + o.position.left, o.offset.top = o.parentData.top + o.position.top) : (o.offset.left = o.element.offset().left, o.offset.top = o.element.offset().top), i = Math.abs(o.sizeDiff.width + (o._helper ? o.offset.left - d.left : o.offset.left - h.left)), s = Math.abs(o.sizeDiff.height + (o._helper ? o.offset.top - d.top : o.offset.top - h.top)), i + o.size.width >= o.parentData.width && (o.size.width = o.parentData.width - i, u && (o.size.height = o.size.width / o.aspectRatio, p = !1)), s + o.size.height >= o.parentData.height && (o.size.height = o.parentData.height - s, u && (o.size.width = o.size.height * o.aspectRatio, p = !1)), p || (o.position.left = o.prevPosition.left, o.position.top = o.prevPosition.top, o.size.width = o.prevSize.width, o.size.height = o.prevSize.height);\n },\n stop: function stop() {\n var t = e(this).resizable("instance"),\n i = t.options,\n s = t.containerOffset,\n n = t.containerPosition,\n a = t.containerElement,\n o = e(t.helper),\n r = o.offset(),\n h = o.outerWidth() - t.sizeDiff.width,\n l = o.outerHeight() - t.sizeDiff.height;\n t._helper && !i.animate && /relative/.test(a.css("position")) && e(this).css({\n left: r.left - n.left - s.left,\n width: h,\n height: l\n }), t._helper && !i.animate && /static/.test(a.css("position")) && e(this).css({\n left: r.left - n.left - s.left,\n width: h,\n height: l\n });\n }\n }), e.ui.plugin.add("resizable", "alsoResize", {\n start: function start() {\n var t = e(this).resizable("instance"),\n i = t.options,\n s = function s(t) {\n e(t).each(function () {\n var t = e(this);\n t.data("ui-resizable-alsoresize", {\n width: parseInt(t.width(), 10),\n height: parseInt(t.height(), 10),\n left: parseInt(t.css("left"), 10),\n top: parseInt(t.css("top"), 10)\n });\n });\n };\n\n "object" != _typeof(i.alsoResize) || i.alsoResize.parentNode ? s(i.alsoResize) : i.alsoResize.length ? (i.alsoResize = i.alsoResize[0], s(i.alsoResize)) : e.each(i.alsoResize, function (e) {\n s(e);\n });\n },\n resize: function resize(t, i) {\n var s = e(this).resizable("instance"),\n n = s.options,\n a = s.originalSize,\n o = s.originalPosition,\n r = {\n height: s.size.height - a.height || 0,\n width: s.size.width - a.width || 0,\n top: s.position.top - o.top || 0,\n left: s.position.left - o.left || 0\n },\n h = function h(t, s) {\n e(t).each(function () {\n var t = e(this),\n n = e(this).data("ui-resizable-alsoresize"),\n a = {},\n o = s && s.length ? s : t.parents(i.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];\n e.each(o, function (e, t) {\n var i = (n[t] || 0) + (r[t] || 0);\n i && i >= 0 && (a[t] = i || null);\n }), t.css(a);\n });\n };\n\n "object" != _typeof(n.alsoResize) || n.alsoResize.nodeType ? h(n.alsoResize) : e.each(n.alsoResize, function (e, t) {\n h(e, t);\n });\n },\n stop: function stop() {\n e(this).removeData("resizable-alsoresize");\n }\n }), e.ui.plugin.add("resizable", "ghost", {\n start: function start() {\n var t = e(this).resizable("instance"),\n i = t.options,\n s = t.size;\n t.ghost = t.originalElement.clone(), t.ghost.css({\n opacity: .25,\n display: "block",\n position: "relative",\n height: s.height,\n width: s.width,\n margin: 0,\n left: 0,\n top: 0\n }).addClass("ui-resizable-ghost").addClass("string" == typeof i.ghost ? i.ghost : ""), t.ghost.appendTo(t.helper);\n },\n resize: function resize() {\n var t = e(this).resizable("instance");\n t.ghost && t.ghost.css({\n position: "relative",\n height: t.size.height,\n width: t.size.width\n });\n },\n stop: function stop() {\n var t = e(this).resizable("instance");\n t.ghost && t.helper && t.helper.get(0).removeChild(t.ghost.get(0));\n }\n }), e.ui.plugin.add("resizable", "grid", {\n resize: function resize() {\n var t,\n i = e(this).resizable("instance"),\n s = i.options,\n n = i.size,\n a = i.originalSize,\n o = i.originalPosition,\n r = i.axis,\n h = "number" == typeof s.grid ? [s.grid, s.grid] : s.grid,\n l = h[0] || 1,\n u = h[1] || 1,\n d = Math.round((n.width - a.width) / l) * l,\n c = Math.round((n.height - a.height) / u) * u,\n p = a.width + d,\n f = a.height + c,\n m = s.maxWidth && p > s.maxWidth,\n g = s.maxHeight && f > s.maxHeight,\n v = s.minWidth && s.minWidth > p,\n y = s.minHeight && s.minHeight > f;\n s.grid = h, v && (p += l), y && (f += u), m && (p -= l), g && (f -= u), /^(se|s|e)$/.test(r) ? (i.size.width = p, i.size.height = f) : /^(ne)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.top = o.top - c) : /^(sw)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.left = o.left - d) : ((0 >= f - u || 0 >= p - l) && (t = i._getPaddingPlusBorderDimensions(this)), f - u > 0 ? (i.size.height = f, i.position.top = o.top - c) : (f = u - t.height, i.size.height = f, i.position.top = o.top + a.height - f), p - l > 0 ? (i.size.width = p, i.position.left = o.left - d) : (p = u - t.height, i.size.width = p, i.position.left = o.left + a.width - p));\n }\n }), e.ui.resizable, e.widget("ui.selectable", e.ui.mouse, {\n version: "1.11.1",\n options: {\n appendTo: "body",\n autoRefresh: !0,\n distance: 0,\n filter: "*",\n tolerance: "touch",\n selected: null,\n selecting: null,\n start: null,\n stop: null,\n unselected: null,\n unselecting: null\n },\n _create: function _create() {\n var t,\n i = this;\n this.element.addClass("ui-selectable"), this.dragged = !1, this.refresh = function () {\n t = e(i.options.filter, i.element[0]), t.addClass("ui-selectee"), t.each(function () {\n var t = e(this),\n i = t.offset();\n e.data(this, "selectable-item", {\n element: this,\n $element: t,\n left: i.left,\n top: i.top,\n right: i.left + t.outerWidth(),\n bottom: i.top + t.outerHeight(),\
1n startselected: !1,\n selected: t.hasClass("ui-selected"),\n selecting: t.hasClass("ui-selecting"),\n unselecting: t.hasClass("ui-unselecting")\n });\n });\n }, this.refresh(), this.selectees = t.addClass("ui-selectee"), this._mouseInit(), this.helper = e("<div class=\'ui-selectable-helper\'></div>");\n },\n _destroy: function _destroy() {\n this.selectees.removeClass("ui-selectee").removeData("selectable-item"), this.element.removeClass("ui-selectable ui-selectable-disabled"), this._mouseDestroy();\n },\n _mouseStart: function _mouseStart(t) {\n var i = this,\n s = this.options;\n this.opos = [t.pageX, t.pageY], this.options.disabled || (this.selectees = e(s.filter, this.element[0]), this._trigger("start", t), e(s.appendTo).append(this.helper), this.helper.css({\n left: t.pageX,\n top: t.pageY,\n width: 0,\n height: 0\n }), s.autoRefresh && this.refresh(), this.selectees.filter(".ui-selected").each(function () {\n var s = e.data(this, "selectable-item");\n s.startselected = !0, t.metaKey || t.ctrlKey || (s.$element.removeClass("ui-selected"), s.selected = !1, s.$element.addClass("ui-unselecting"), s.unselecting = !0, i._trigger("unselecting", t, {\n unselecting: s.element\n }));\n }), e(t.target).parents().addBack().each(function () {\n var s,\n n = e.data(this, "selectable-item");\n return n ? (s = !t.metaKey && !t.ctrlKey || !n.$element.hasClass("ui-selected"), n.$element.removeClass(s ? "ui-unselecting" : "ui-selected").addClass(s ? "ui-selecting" : "ui-unselecting"), n.unselecting = !s, n.selecting = s, n.selected = s, s ? i._trigger("selecting", t, {\n selecting: n.element\n }) : i._trigger("unselecting", t, {\n unselecting: n.element\n }), !1) : void 0;\n }));\n },\n _mouseDrag: function _mouseDrag(t) {\n if (this.dragged = !0, !this.options.disabled) {\n var i,\n s = this,\n n = this.options,\n a = this.opos[0],\n o = this.opos[1],\n r = t.pageX,\n h = t.pageY;\n return a > r && (i = r, r = a, a = i), o > h && (i = h, h = o, o = i), this.helper.css({\n left: a,\n top: o,\n width: r - a,\n height: h - o\n }), this.selectees.each(function () {\n var i = e.data(this, "selectable-item"),\n l = !1;\n i && i.element !== s.element[0] && ("touch" === n.tolerance ? l = !(i.left > r || a > i.right || i.top > h || o > i.bottom) : "fit" === n.tolerance && (l = i.left > a && r > i.right && i.top > o && h > i.bottom), l ? (i.selected && (i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting && (i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting || (i.$element.addClass("ui-selecting"), i.selecting = !0, s._trigger("selecting", t, {\n selecting: i.element\n }))) : (i.selecting && ((t.metaKey || t.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.startselected && (i.$element.addClass("ui-unselecting"), i.unselecting = !0), s._trigger("unselecting", t, {\n unselecting: i.element\n }))), i.selected && (t.metaKey || t.ctrlKey || i.startselected || (i.$element.removeClass("ui-selected"), i.selected = !1, i.$element.addClass("ui-unselecting"), i.unselecting = !0, s._trigger("unselecting", t, {\n unselecting: i.element\n })))));\n }), !1;\n }\n },\n _mouseStop: function _mouseStop(t) {\n var i = this;\n return this.dragged = !1, e(".ui-unselecting", this.element[0]).each(function () {\n var s = e.data(this, "selectable-item");\n s.$element.removeClass("ui-unselecting"), s.unselecting = !1, s.startselected = !1, i._trigger("unselected", t, {\n unselected: s.element\n });\n }), e(".ui-selecting", this.element[0]).each(function () {\n var s = e.data(this, "selectable-item");\n s.$element.removeClass("ui-selecting").addClass("ui-selected"), s.selecting = !1, s.selected = !0, s.startselected = !0, i._trigger("selected", t, {\n selected: s.element\n });\n }), this._trigger("stop", t), this.helper.remove(), !1;\n }\n }), e.widget("ui.slider", e.ui.mouse, {\n version: "1.11.1",\n widgetEventPrefix: "slide",\n options: {\n animate: !1,\n distance: 0,\n max: 100,\n min: 0,\n orientation: "horizontal",\n range: !1,\n step: 1,\n value: 0,\n values: null,\n change: null,\n slide: null,\n start: null,\n stop: null\n },\n numPages: 5,\n _create: function _create() {\n this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget" + " ui-widget-content" + " ui-corner-all"), this._refresh(), this._setOption("disabled", this.options.disabled), this._animateOff = !1;\n },\n _refresh: function _refresh() {\n this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue();\n },\n _createHandles: function _createHandles() {\n var t,\n i,\n s = this.options,\n n = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),\n a = "<span class=\'ui-slider-handle ui-state-default ui-corner-all\' tabindex=\'0\'></span>",\n o = [];\n\n for (i = s.values && s.values.length || 1, n.length >
1 i && (n.slice(i).remove(), n = n.slice(0, i)), t = n.length; i > t; t++) {\n o.push(a);\n }\n\n this.handles = n.add(e(o.join("")).appendTo(this.element)), this.handle = this.handles.eq(0), this.handles.each(function (t) {\n e(this).data("ui-slider-handle-index", t);\n });\n },\n _createRange: function _createRange() {\n var t = this.options,\n i = "";\n t.range ? (t.range === !0 && (t.values ? t.values.length && 2 !== t.values.length ? t.values = [t.values[0], t.values[0]] : e.isArray(t.values) && (t.values = t.values.slice(0)) : t.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({\n left: "",\n bottom: ""\n }) : (this.range = e("<div></div>").appendTo(this.element), i = "ui-slider-range ui-widget-header ui-corner-all"), this.range.addClass(i + ("min" === t.range || "max" === t.range ? " ui-slider-range-" + t.range : ""))) : (this.range && this.range.remove(), this.range = null);\n },\n _setupEvents: function _setupEvents() {\n this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles);\n },\n _destroy: function _destroy() {\n this.handles.remove(), this.range && this.range.remove(), this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"), this._mouseDestroy();\n },\n _mouseCapture: function _mouseCapture(t) {\n var i,\n s,\n n,\n a,\n o,\n r,\n h,\n l,\n u = this,\n d = this.options;\n return d.disabled ? !1 : (this.elementSize = {\n width: this.element.outerWidth(),\n height: this.element.outerHeight()\n }, this.elementOffset = this.element.offset(), i = {\n x: t.pageX,\n y: t.pageY\n }, s = this._normValueFromMouse(i), n = this._valueMax() - this._valueMin() + 1, this.handles.each(function (t) {\n var i = Math.abs(s - u.values(t));\n (n > i || n === i && (t === u._lastChangedValue || u.values(t) === d.min)) && (n = i, a = e(this), o = t);\n }), r = this._start(t, o), r === !1 ? !1 : (this._mouseSliding = !0, this._handleIndex = o, a.addClass("ui-state-active").focus(), h = a.offset(), l = !e(t.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = l ? {\n left: 0,\n top: 0\n } : {\n left: t.pageX - h.left - a.width() / 2,\n top: t.pageY - h.top - a.height() / 2 - (parseInt(a.css("borderTopWidth"), 10) || 0) - (parseInt(a.css("borderBottomWidth"), 10) || 0) + (parseInt(a.css("marginTop"), 10) || 0)\n }, this.handles.hasClass("ui-state-hover") || this._slide(t, o, s), this._animateOff = !0, !0));\n },\n _mouseStart: function _mouseStart() {\n return !0;\n },\n _mouseDrag: function _mouseDrag(e) {\n var t = {\n x: e.pageX,\n y: e.pageY\n },\n i = this._normValueFromMouse(t);\n\n return this._slide(e, this._handleIndex, i), !1;\n },\n _mouseStop: function _mouseStop(e) {\n return this.handles.removeClass("ui-state-active"), this._mouseSliding = !1, this._stop(e, this._handleIndex), this._change(e, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1;\n },\n _detectOrientation: function _detectOrientation() {\n this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal";\n },\n _normValueFromMouse: function _normValueFromMouse(e) {\n var t, i, s, n, a;\n return "horizontal" === this.orientation ? (t = this.elementSize.width, i = e.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (t = this.elementSize.height, i = e.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), s = i / t, s > 1 && (s = 1), 0 > s && (s = 0), "vertical" === this.orientation && (s = 1 - s), n = this._valueMax() - this._valueMin(), a = this._valueMin() + s * n, this._trimAlignValue(a);\n },\n _start: function _start(e, t) {\n var i = {\n handle: this.handles[t],\n value: this.value()\n };\n return this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._trigger("start", e, i);\n },\n _slide: function _slide(e, t, i) {\n var s, n, a;\n this.options.values && this.options.values.length ? (s = this.values(t ? 0 : 1), 2 === this.options.values.length && this.options.range === !0 && (0 === t && i > s || 1 === t && s > i) && (i = s), i !== this.values(t) && (n = this.values(), n[t] = i, a = this._trigger("slide", e, {\n handle: this.handles[t],\n value: i,\n values: n\n }), s = this.values(t ? 0 : 1), a !== !1 && this.values(t, i))) : i !== this.value() && (a = this._trigger("slide", e, {\n handle: this.handles[t],\n value: i\n }), a !== !1 && this.value(i));\n },\n _stop: function _stop(e, t) {\n var i = {\n handle: this.handles[t],\n value: this.value()\n };\n this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._trigger("stop", e, i);\n },\n _change: function _change(e, t) {\n if (!this._keySliding && !this._mouseSliding) {\n var i = {\n handle: this.handles[t],\n value: this.value()\n };\n this.options.values && this.options.values.length && (i.value = this.values(t), i.values = this.values()), this._lastChangedValue = t, this._trigger("change", e, i);\n }\n },\n value: function value(e) {\n return arguments.length ? (this.options.value = this._trimAlignValue(e), this._refreshValue(), this._change(null, 0), void 0) : this._value(
1);\n },\n values: function values(t, i) {\n var s, n, a;\n if (arguments.length > 1) return this.options.values[t] = this._trimAlignValue(i), this._refreshValue(), this._change(null, t), void 0;\n if (!arguments.length) return this._values();\n if (!e.isArray(arguments[0])) return this.options.values && this.options.values.length ? this._values(t) : this.value();\n\n for (s = this.options.values, n = arguments[0], a = 0; s.length > a; a += 1) {\n s[a] = this._trimAlignValue(n[a]), this._change(null, a);\n }\n\n this._refreshValue();\n },\n _setOption: function _setOption(t, i) {\n var s,\n n = 0;\n\n switch ("range" === t && this.options.range === !0 && ("min" === i ? (this.options.value = this._values(0), this.options.values = null) : "max" === i && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), e.isArray(this.options.values) && (n = this.options.values.length), "disabled" === t && this.element.toggleClass("ui-state-disabled", !!i), this._super(t, i), t) {\n case "orientation":\n this._detectOrientation(), this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation), this._refreshValue(), this.handles.css("horizontal" === i ? "bottom" : "left", "");\n break;\n\n case "value":\n this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;\n break;\n\n case "values":\n for (this._animateOff = !0, this._refreshValue(), s = 0; n > s; s += 1) {\n this._change(null, s);\n }\n\n this._animateOff = !1;\n break;\n\n case "min":\n case "max":\n this._animateOff = !0, this._refreshValue(), this._animateOff = !1;\n break;\n\n case "range":\n this._animateOff = !0, this._refresh(), this._animateOff = !1;\n }\n },\n _value: function _value() {\n var e = this.options.value;\n return e = this._trimAlignValue(e);\n },\n _values: function _values(e) {\n var t, i, s;\n if (arguments.length) return t = this.options.values[e], t = this._trimAlignValue(t);\n\n if (this.options.values && this.options.values.length) {\n for (i = this.options.values.slice(), s = 0; i.length > s; s += 1) {\n i[s] = this._trimAlignValue(i[s]);\n }\n\n return i;\n }\n\n return [];\n },\n _trimAlignValue: function _trimAlignValue(e) {\n if (this._valueMin() >= e) return this._valueMin();\n if (e >= this._valueMax()) return this._valueMax();\n var t = this.options.step > 0 ? this.options.step : 1,\n i = (e - this._valueMin()) % t,\n s = e - i;\n return 2 * Math.abs(i) >= t && (s += i > 0 ? t : -t), parseFloat(s.toFixed(5));\n },\n _valueMin: function _valueMin() {\n return this.options.min;\n },\n _valueMax: function _valueMax() {\n return this.options.max;\n },\n _refreshValue: function _refreshValue() {\n var t,\n i,\n s,\n n,\n a,\n o = this.options.range,\n r = this.options,\n h = this,\n l = this._animateOff ? !1 : r.animate,\n u = {};\n this.options.values && this.options.values.length ? this.handles.each(function (s) {\n i = 100 * ((h.values(s) - h._valueMin()) / (h._valueMax() - h._valueMin())), u["horizontal" === h.orientation ? "left" : "bottom"] = i + "%", e(this).stop(1, 1)[l ? "animate" : "css"](u, r.animate), h.options.range === !0 && ("horizontal" === h.orientation ? (0 === s && h.range.stop(1, 1)[l ? "animate" : "css"]({\n left: i + "%"\n }, r.animate), 1 === s && h.range[l ? "animate" : "css"]({\n width: i - t + "%"\n }, {\n queue: !1,\n duration: r.animate\n })) : (0 === s && h.range.stop(1, 1)[l ? "animate" : "css"]({\n bottom: i + "%"\n }, r.animate), 1 === s && h.range[l ? "animate" : "css"]({\n height: i - t + "%"\n }, {\n queue: !1,\n duration: r.animate\n }))), t = i;\n }) : (s = this.value(), n = this._valueMin(), a = this._valueMax(), i = a !== n ? 100 * ((s - n) / (a - n)) : 0, u["horizontal" === this.orientation ? "left" : "bottom"] = i + "%", this.handle.stop(1, 1)[l ? "animate" : "css"](u, r.animate), "min" === o && "horizontal" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({\n width: i + "%"\n }, r.animate), "max" === o && "horizontal" === this.orientation && this.range[l ? "animate" : "css"]({\n width: 100 - i + "%"\n }, {\n queue: !1,\n duration: r.animate\n }), "min" === o && "vertical" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({\n height: i + "%"\n }, r.animate), "max" === o && "vertical" === this.orientation && this.range[l ? "animate" : "css"]({\n height: 100 - i + "%"\n }, {\n queue: !1,\n duration: r.animate\n }));\n },\n _handleEvents: {\n keydown: function keydown(t) {\n var i,\n s,\n n,\n a,\n o = e(t.target).data("ui-slider-handle-index");\n\n switch (t.keyCode) {\n case e.ui.keyCode.HOME:\n case e.ui.keyCode.END:\n case e.ui.keyCode.PAGE_UP:\n case e.ui.keyCode.PAGE_DOWN:\n case e.ui.keyCode.UP:\n case e.ui.keyCode.RIGHT:\n case e.ui.keyCode.DOWN:\n case e.ui.keyCode.LEFT:\n if (t.preventDefault(), !this._keySliding && (this._keySliding = !0, e(t.target).addClass("ui-state-active"), i = this._start(t, o), i === !1)) return;\n }\n\n switch (a = this.options.step, s = n = this.options.values && this.options.values.length ? this.values(o) : this.value(), t.keyCode) {\n case e.ui.keyCode.HOME:\n n = this._valueMin();\n break;\n\n case e.ui.keyCode.END:\n n = this._valueMax();\n break;\n\n case e.ui.keyCode.PAGE_UP:\n n = this._trimAlignValue(s + (this._valueMax() - this._valueMin()) / this.numPages);\n break;\n\n case e.ui.keyCode.PAGE_DOWN:\n n = this._trimAlignValue(s - (this._valueMax() - this._valueMin()) / this.numPages);\n break;\n\n case e.ui.keyCode.UP:\n case e.ui.keyCode.RIGHT:\n if (s === this._valueMax()) return;\n n = this._trimAlignValue(s + a);\n break;\n\n case e.ui.keyCode.DOWN:\n case e.ui.keyCode.LEFT:\n if (s === this._valueMin()) return;\n n = this._trimAlignValue(s - a);\n }\n\n this._slide(t, o, n);\n },\n keyup: function keyup(t) {\n var i = e(t.target).data("ui-slider-handle-index");\n this._keySliding && (this._keySliding = !1, this._stop(t, i), this._change(t, i), e(t.target).removeClass("ui-state-active"));\n }\n }\n });\n var o = "ui-effects-",\n r = e;\n e.effects = {\n effect: {}\n }, function (e, t) {\n function i(e, t, i) {\n var s = d[t.type] || {};\n return null == e ? i || !t.def ? null : t.def : (e = s.floor ? ~~e : parseFloat(e), isNaN(e) ? t.def : s.mod ? (e + s.mod) % s.mod : 0 > e ? 0 : e >
1 s.max ? s.max : e);\n }\n\n function s(i) {\n var s = l(),\n n = s._rgba = [];\n return i = i.toLowerCase(), f(h, function (e, a) {\n var o,\n r = a.re.exec(i),\n h = r && a.parse(r),\n l = a.space || "rgba";\n return h ? (o = s[l](h), s[u[l].cache] = o[u[l].cache], n = s._rgba = o._rgba, !1) : t;\n }), n.length ? ("0,0,0,0" === n.join() && e.extend(n, a.transparent), s) : a[i];\n }\n\n function n(e, t, i) {\n return i = (i + 1) % 1, 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + 6 * (t - e) * (2 / 3 - i) : e;\n }\n\n var a,\n o = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",\n r = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n h = [{\n re: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n parse: function parse(e) {\n return [e[1], e[2], e[3], e[4]];\n }\n }, {\n re: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n parse: function parse(e) {\n return [2.55 * e[1], 2.55 * e[2], 2.55 * e[3], e[4]];\n }\n }, {\n re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\n parse: function parse(e) {\n return [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)];\n }\n }, {\n re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\n parse: function parse(e) {\n return [parseInt(e[1] + e[1], 16), parseInt(e[2] + e[2], 16), parseInt(e[3] + e[3], 16)];\n }\n }, {\n re: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n space: "hsla",\n parse: function parse(e) {\n return [e[1], e[2] / 100, e[3] / 100, e[4]];\n }\n }],\n l = e.Color = function (t, i, s, n) {\n return new e.Color.fn.parse(t, i, s, n);\n },\n u = {\n rgba: {\n props: {\n red: {\n idx: 0,\n type: "byte"\n },\n green: {\n idx: 1,\n type: "byte"\n },\n blue: {\n idx: 2,\n type: "byte"\n }\n }\n },\n hsla: {\n props: {\n hue: {\n idx: 0,\n type: "degrees"\n },\n saturation: {\n idx: 1,\n type: "percent"\n },\n lightness: {\n idx: 2,\n type: "percent"\n }\n }\n }\n },\n d = {\n "byte": {\n floor: !0,\n max: 255\n },\n percent: {\n max: 1\n },\n degrees: {\n mod: 360,\n floor: !0\n }\n },\n c = l.support = {},\n p = e("<p>")[0],\n f = e.each;\n\n p.style.cssText = "background-color:rgba(1,1,1,.5)", c.rgba = p.style.backgroundColor.indexOf("rgba") > -1, f(u, function (e, t) {\n t.cache = "_" + e, t.props.alpha = {\n idx: 3,\n type: "percent",\n def: 1\n };\n }), l.fn = e.extend(l.prototype, {\n parse: function parse(n, o, r, h) {\n if (n === t) return this._rgba = [null, null, null, null], this;\n (n.jquery || n.nodeType) && (n = e(n).css(o), o = t);\n var d = this,\n c = e.type(n),\n p = this._rgba = [];\n return o !== t && (n = [n, o, r, h], c = "array"), "string" === c ? this.parse(s(n) || a._default) : "array" === c ? (f(u.rgba.props, function (e, t) {\n p[t.idx] = i(n[t.idx], t);\n }), this) : "object" === c ? (n instanceof l ? f(u, function (e, t) {\n n[t.cache] && (d[t.cache] = n[t.cache].slice());\n }) : f(u, function (t, s) {\n var a = s.cache;\n f(s.props, function (e, t) {\n if (!d[a] && s.to) {\n if ("alpha" === e || null == n[e]) return;\n d[a] = s.to(d._rgba);\n }\n\n d[a][t.idx] = i(n[e], t, !0);\n }), d[a] && 0 > e.inArray(null, d[a].slice(0, 3)) && (d[a][3] = 1, s.from && (d._rgba = s.from(d[a])));\n }), this) : t;\n },\n is: function is(e) {\n var i = l(e),\n s = !0,\n n = this;
1\n return f(u, function (e, a) {\n var o,\n r = i[a.cache];\n return r && (o = n[a.cache] || a.to && a.to(n._rgba) || [], f(a.props, function (e, i) {\n return null != r[i.idx] ? s = r[i.idx] === o[i.idx] : t;\n })), s;\n }), s;\n },\n _space: function _space() {\n var e = [],\n t = this;\n return f(u, function (i, s) {\n t[s.cache] && e.push(i);\n }), e.pop();\n },\n transition: function transition(e, t) {\n var s = l(e),\n n = s._space(),\n a = u[n],\n o = 0 === this.alpha() ? l("transparent") : this,\n r = o[a.cache] || a.to(o._rgba),\n h = r.slice();\n\n return s = s[a.cache], f(a.props, function (e, n) {\n var a = n.idx,\n o = r[a],\n l = s[a],\n u = d[n.type] || {};\n null !== l && (null === o ? h[a] = l : (u.mod && (l - o > u.mod / 2 ? o += u.mod : o - l > u.mod / 2 && (o -= u.mod)), h[a] = i((l - o) * t + o, n)));\n }), this[n](h);\n },\n blend: function blend(t) {\n if (1 === this._rgba[3]) return this;\n\n var i = this._rgba.slice(),\n s = i.pop(),\n n = l(t)._rgba;\n\n return l(e.map(i, function (e, t) {\n return (1 - s) * n[t] + s * e;\n }));\n },\n toRgbaString: function toRgbaString() {\n var t = "rgba(",\n i = e.map(this._rgba, function (e, t) {\n return null == e ? t > 2 ? 1 : 0 : e;\n });\n return 1 === i[3] && (i.pop(), t = "rgb("), t + i.join() + ")";\n },\n toHslaString: function toHslaString() {\n var t = "hsla(",\n i = e.map(this.hsla(), function (e, t) {\n return null == e && (e = t > 2 ? 1 : 0), t && 3 > t && (e = Math.round(100 * e) + "%"), e;\n });\n return 1 === i[3] && (i.pop(), t = "hsl("), t + i.join() + ")";\n },\n toHexString: function toHexString(t) {\n var i = this._rgba.slice(),\n s = i.pop();\n\n return t && i.push(~~(255 * s)), "#" + e.map(i, function (e) {\n return e = (e || 0).toString(16), 1 === e.length ? "0" + e : e;\n }).join("");\n },\n toString: function toString() {\n return 0 === this._rgba[3] ? "transparent" : this.toRgbaString();\n }\n }), l.fn.parse.prototype = l.fn, u.hsla.to = function (e) {\n if (null == e[0] || null == e[1] || null == e[2]) return [null, null, null, e[3]];\n var t,\n i,\n s = e[0] / 255,\n n = e[1] / 255,\n a = e[2] / 255,\n o = e[3],\n r = Math.max(s, n, a),\n h = Math.min(s, n, a),\n l = r - h,\n u = r + h,\n d = .5 * u;\n return t = h === r ? 0 : s === r ? 60 * (n - a) / l + 360 : n === r ? 60 * (a - s) / l + 120 : 60 * (s - n) / l + 240, i = 0 === l ? 0 : .5 >= d ? l / u : l / (2 - u), [Math.round(t) % 360, i, d, null == o ? 1 : o];\n }, u.hsla.from = function (e) {\n if (null == e[0] || null == e[1] || null == e[2]) return [null, null, null, e[3]];\n var t = e[0] / 360,\n i = e[1],\n s = e[2],\n a = e[3],\n o = .5 >= s ? s * (1 + i) : s + i - s * i,\n r = 2 * s - o;\n return [Math.round(255 * n(r, o, t + 1 / 3)), Math.round(255 * n(r, o, t)), Math.round(255 * n(r, o, t - 1 / 3)), a];\n }, f(u, function (s, n) {\n var a = n.props,\n o = n.cache,\n h = n.to,\n u = n.from;\n l.fn[s] = function (s) {\n if (h && !this[o] && (this[o] = h(this._rgba)), s === t) return this[o].slice();\n var n,\n r = e.type(s),\n d = "array" === r || "object" === r ? s : arguments,\n c = this[o].slice();\n return f(a, function (e, t) {\n var s = d["object" === r ? e : t.idx];\n null == s && (s = c[t.idx]), c[t.idx] = i(s, t);\n }), u ? (n = l(u(c)), n[o] = c, n) : l(c);\n }, f(a, function (t, i) {\n l.fn[t] || (l.fn[t] = function (n) {\n var a,\n o = e.type(n),\n h = "alpha" === t ? this._hsla ? "hsla" : "rgba" : s,\n l = this[h](),\n u = l[i.idx];\n return "undefined" === o ? u : ("function" === o && (n = n.call(this, u), o = e.type(n)), null == n && i.empty ? this
1: ("string" === o && (a = r.exec(n), a && (n = u + parseFloat(a[2]) * ("+" === a[1] ? 1 : -1))), l[i.idx] = n, this[h](l)));\n });\n });\n }), l.hook = function (t) {\n var i = t.split(" ");\n f(i, function (t, i) {\n e.cssHooks[i] = {\n set: function set(t, n) {\n var a,\n o,\n r = "";\n\n if ("transparent" !== n && ("string" !== e.type(n) || (a = s(n)))) {\n if (n = l(a || n), !c.rgba && 1 !== n._rgba[3]) {\n for (o = "backgroundColor" === i ? t.parentNode : t; ("" === r || "transparent" === r) && o && o.style;) {\n try {\n r = e.css(o, "backgroundColor"), o = o.parentNode;\n } catch (h) {}\n }\n\n n = n.blend(r && "transparent" !== r ? r : "_default");\n }\n\n n = n.toRgbaString();\n }\n\n try {\n t.style[i] = n;\n } catch (h) {}\n }\n }, e.fx.step[i] = function (t) {\n t.colorInit || (t.start = l(t.elem, i), t.end = l(t.end), t.colorInit = !0), e.cssHooks[i].set(t.elem, t.start.transition(t.end, t.pos));\n };\n });\n }, l.hook(o), e.cssHooks.borderColor = {\n expand: function expand(e) {\n var t = {};\n return f(["Top", "Right", "Bottom", "Left"], function (i, s) {\n t["border" + s + "Color"] = e;\n }), t;\n }\n }, a = e.Color.names = {\n aqua: "#00ffff",\n black: "#000000",\n blue: "#0000ff",\n fuchsia: "#ff00ff",\n gray: "#808080",\n green: "#008000",\n lime: "#00ff00",\n maroon: "#800000",\n navy: "#000080",\n olive: "#808000",\n purple: "#800080",\n red: "#ff0000",\n silver: "#c0c0c0",\n teal: "#008080",\n white: "#ffffff",\n yellow: "#ffff00",\n transparent: [null, null, null, 0],\n _default: "#ffffff"\n };\n }(r), function () {\n function t(t) {\n var i,\n s,\n n = t.ownerDocument.defaultView ? t.ownerDocument.defaultView.getComputedStyle(t, null) : t.currentStyle,\n a = {};\n if (n && n.length && n[0] && n[n[0]]) for (s = n.length; s--;) {\n i = n[s], "string" == typeof n[i] && (a[e.camelCase(i)] = n[i]);\n } else for (i in n) {\n "string" == typeof n[i] && (a[i] = n[i]);\n }\n return a;\n }\n\n function i(t, i) {\n var s,\n a,\n o = {};\n\n for (s in i) {\n a = i[s], t[s] !== a && (n[s] || (e.fx.step[s] || !isNaN(parseFloat(a))) && (o[s] = a));\n }\n\n return o;\n }\n\n var s = ["add", "remove", "toggle"],\n n = {\n border: 1,\n borderBottom: 1,\n borderColor: 1,\n borderLeft: 1,\n borderRight: 1,\n borderTop: 1,\n borderWidth: 1,\n margin: 1,\n padding: 1\n };\n e.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function (t, i) {\n e.fx.step[i] = function (e) {\n ("none" !== e.end && !e.setAttr || 1 === e.pos && !e.setAttr) && (r.style(e.elem, i, e.end), e.setAttr = !0);\n };\n }), e.fn.addBack || (e.fn.addBack = function (e) {\n return this.add(null == e ? this.prevObject : this.prevObject.filter(e));\n }), e.effects.animateClass = function (n, a, o, r) {\n var h = e.speed(a, o, r);\n return this.queue(function () {\n var a,\n o = e(this),\n r = o.attr("class") || "",\n l = h.children ? o.find("*").addBack() : o;\n l = l.map(function () {\n var i = e(this);\n return {\n el: i,\n start: t(this)\n };\n }), a = function a() {\n e.each(s, function (e, t) {\n n[t] && o[t + "Class"](n[t]);\n });\n }, a(), l = l.map(function () {\n return this.end = t(this.el[0]), this.diff = i(this.start, this.end), this;\n }), o.attr("class", r), l = l.map(function () {\n var t = this,\n i = e.Deferred(),\n s = e.extend({}, h, {\n queue: !1,\n complete: function complete() {\n i.resolve(t);\n }\n });\n return this.el.animate(this.diff, s), i.promise();\n }), e.when.apply(e, l.get()).done(function () {\n a(), e.each(arguments, function () {\n var t = this.el;\n e.each(this.diff, function (e) {\n t.css(e, "");\n });\n }), h.complete.call(o[0]);\n });\n });\n }, e.fn.extend({\n addClass: function (t) {\n return function (i, s, n, a) {\n return s ? e.effects.animateClass.call(this, {\n add: i\n }, s, n, a) : t.apply(this, arguments);\n };\n }(e.fn.addClass),\n removeClass: function (t) {\n return function (i, s, n, a) {\n return arguments.length > 1 ? e.effects.animateClass.call(this, {\n remove: i\n }, s, n, a) : t.apply(this, arguments);\n };\n }(e.fn.removeClass),\n toggleClass: function (t) {\n return function (i, s, n, a, o) {\n return "boolean" == typeof s || void 0 === s ? n ? e.effects.animateClass.call(this, s ? {\n add: i\n } : {\n remove: i\n }, n, a, o) : t.apply(this, arguments) : e.effects.animateClass.call(this, {\n toggle: i\n }, s, n, a);\n };\n }(e.fn.toggleClass),\n switchClass: function switchClass(t, i, s, n, a) {\n return e.effects.animateClass.call(this, {\n add: i,\n remove: t\n }, s, n, a);\n }\n });\n }(), function () {\n function t(t, i, s, n) {\n return e.isPlainObject(t) && (i = t, t = t.effect), t = {\n effect: t\n }, null == i && (i = {}), e.isFunction(i) && (n = i, s = null, i = {}), ("number" == typeof i || e.fx.speeds[i]) && (n = s, s = i, i = {}), e.isFunction(s) && (n = s, s = null), i && e.extend(t, i), s = s || i.duration, t.duration = e.fx.off ? 0 : "number" == typeof s ? s : s in e.fx.speeds ? e.fx.speeds[s] : e.fx.speeds._default, t.complete = n || i.complete, t;\n }\n\n function i(t) {\n return !t || "number" == typeof t || e.fx.speeds[t] ? !0 : "string" != typeof t || e.effects.effect[t] ? e.
1isFunction(t) ? !0 : "object" != _typeof(t) || t.effect ? !1 : !0 : !0;\n }\n\n e.extend(e.effects, {\n version: "1.11.1",\n save: function save(e, t) {\n for (var i = 0; t.length > i; i++) {\n null !== t[i] && e.data(o + t[i], e[0].style[t[i]]);\n }\n },\n restore: function restore(e, t) {\n var i, s;\n\n for (s = 0; t.length > s; s++) {\n null !== t[s] && (i = e.data(o + t[s]), void 0 === i && (i = ""), e.css(t[s], i));\n }\n },\n setMode: function setMode(e, t) {\n return "toggle" === t && (t = e.is(":hidden") ? "show" : "hide"), t;\n },\n getBaseline: function getBaseline(e, t) {\n var i, s;\n\n switch (e[0]) {\n case "top":\n i = 0;\n break;\n\n case "middle":\n i = .5;\n break;\n\n case "bottom":\n i = 1;\n break;\n\n default:\n i = e[0] / t.height;\n }\n\n switch (e[1]) {\n case "left":\n s = 0;\n break;\n\n case "center":\n s = .5;\n break;\n\n case "right":\n s = 1;\n break;\n\n default:\n s = e[1] / t.width;\n }\n\n return {\n x: s,\n y: i\n };\n },\n createWrapper: function createWrapper(t) {\n if (t.parent().is(".ui-effects-wrapper")) return t.parent();\n var i = {\n width: t.outerWidth(!0),\n height: t.outerHeight(!0),\n "float": t.css("float")\n },\n s = e("<div></div>").addClass("ui-effects-wrapper").css({\n fontSize: "100%",\n background: "transparent",\n border: "none",\n margin: 0,\n padding: 0\n }),\n n = {\n width: t.width(),\n height: t.height()\n },\n a = document.activeElement;\n\n try {\n a.id;\n } catch (o) {\n a = document.body;\n }\n\n return t.wrap(s), (t[0] === a || e.contains(t[0], a)) && e(a).focus(), s = t.parent(), "static" === t.css("position") ? (s.css({\n position: "relative"\n }), t.css({\n position: "relative"\n })) : (e.extend(i, {\n position: t.css("position"),\n zIndex: t.css("z-index")\n }), e.each(["top", "left", "bottom", "right"], function (e, s) {\n i[s] = t.css(s), isNaN(parseInt(i[s], 10)) && (i[s] = "auto");\n }), t.css({\n position: "relative",\n top: 0,\n left: 0,\n right: "auto",\n bottom: "auto"\n })), t.css(n), s.css(i).show();\n },\n removeWrapper: function removeWrapper(t) {\n var i = document.activeElement;\n return t.parent().is(".ui-effects-wrapper") && (t.parent().replaceWith(t), (t[0] === i || e.contains(t[0], i)) && e(i).focus()), t;\n },\n setTransition: function setTransition(t, i, s, n) {\n return n = n || {}, e.each(i, function (e, i) {\n var a = t.cssUnit(i);\n a[0] > 0 && (n[i] = a[0] * s + a[1]);\n }), n;\n }\n }), e.fn.extend({\n effect: function effect() {\n function i(t) {\n function i() {\n e.isFunction(a) && a.call(n[0]), e.isFunction(t) && t();\n }\n\n var n = e(this),\n a = s.complete,\n r = s.mode;\n (n.is(":hidden") ? "hide" === r : "show" === r) ? (n[r](), i()) : o.call(n[0], s, i);\n }\n\n var s = t.apply(this, arguments),\n n = s.mode,\n a = s.queue,\n o = e.effects.effect[s.effect];\n return e.fx.off || !o ? n ? this[n](s.duration, s.complete) : this.each(function () {\n s.complete && s.complete.call(this);\n }) : a === !1 ? this.each(i) : this.queue(a || "fx", i);\n },\n show: function (e) {\n return function (s) {\n if (i(s)) return e.apply(this, arguments);\n var n = t.apply(this, arguments);\n return n.mode = "show", this.effect.call(this, n);\n };\n }(e.fn.show),\n hide: function (e) {\n return function (s) {\n if (i(s)) return e.apply(this, arguments);\n var n = t.apply(this, arguments);\n return n.mode = "hide", this.effect.call(this, n);\n };\n }(e.fn.hide),\n toggle: function (e) {\n return function (s) {\n if (i(s) || "boolean" == typeof s) return e.apply(this, arguments);\n var n = t.apply(this, arguments);\n return n.mode = "toggle", this.effect.call(this, n);\n };\n }(e.fn.toggle),\n cssUnit: function cssUnit(t) {\n var i = this.css(t),\n s = [];\n return e.each(["em", "px", "%", "pt"], function (e, t) {\n i.indexOf(t) > 0 && (s = [parseFloat(i), t]);\n }), s;\n }\n });\n }(), function () {\n var t = {};\n e.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (e, i) {\n t[i] = function (t) {\n return Math.pow(t, e + 2);\n };\n }), e.extend(t, {\n Sine: function Sine(e) {\n return 1 - Math.cos(e * Math.PI / 2);\n },\n Circ: function Circ(e) {\n return 1 - Math.sqrt(1 - e * e);\n },\n Elastic: function Elastic(e) {\n return 0 === e || 1 === e ? e : -Math.pow(2, 8 * (e - 1)) * Math.sin((80 * (e - 1) - 7.5) * Math.PI / 15);\n },\n Back: function Back(e) {\n return e * e * (3 * e - 2);\n },\n Bounce: function Bounce(e) {\n for (var t, i = 4; ((t = Math.pow(2, --i)) - 1) / 11 > e;) {\n ;\n }\n\n return 1 / Math.pow(4, 3 - i) - 7.5625 * Math.pow((3 * t - 2) / 22 - e, 2);\n }\n }
1), e.each(t, function (t, i) {\n e.easing["easeIn" + t] = i, e.easing["easeOut" + t] = function (e) {\n return 1 - i(1 - e);\n }, e.easing["easeInOut" + t] = function (e) {\n return .5 > e ? i(2 * e) / 2 : 1 - i(-2 * e + 2) / 2;\n };\n });\n }(), e.effects, e.effects.effect.blind = function (t, i) {\n var s,\n n,\n a,\n o = e(this),\n r = /up|down|vertical/,\n h = /up|left|vertical|horizontal/,\n l = ["position", "top", "bottom", "left", "right", "height", "width"],\n u = e.effects.setMode(o, t.mode || "hide"),\n d = t.direction || "up",\n c = r.test(d),\n p = c ? "height" : "width",\n f = c ? "top" : "left",\n m = h.test(d),\n g = {},\n v = "show" === u;\n o.parent().is(".ui-effects-wrapper") ? e.effects.save(o.parent(), l) : e.effects.save(o, l), o.show(), s = e.effects.createWrapper(o).css({\n overflow: "hidden"\n }), n = s[p](), a = parseFloat(s.css(f)) || 0, g[p] = v ? n : 0, m || (o.css(c ? "bottom" : "right", 0).css(c ? "top" : "left", "auto").css({\n position: "absolute"\n }), g[f] = v ? a : n + a), v && (s.css(p, 0), m || s.css(f, a + n)), s.animate(g, {\n duration: t.duration,\n easing: t.easing,\n queue: !1,\n complete: function complete() {\n "hide" === u && o.hide(), e.effects.restore(o, l), e.effects.removeWrapper(o), i();\n }\n });\n }, e.effects.effect.bounce = function (t, i) {\n var s,\n n,\n a,\n o = e(this),\n r = ["position", "top", "bottom", "left", "right", "height", "width"],\n h = e.effects.setMode(o, t.mode || "effect"),\n l = "hide" === h,\n u = "show" === h,\n d = t.direction || "up",\n c = t.distance,\n p = t.times || 5,\n f = 2 * p + (u || l ? 1 : 0),\n m = t.duration / f,\n g = t.easing,\n v = "up" === d || "down" === d ? "top" : "left",\n y = "up" === d || "left" === d,\n b = o.queue(),\n _ = b.length;\n\n for ((u || l) && r.push("opacity"), e.effects.save(o, r), o.show(), e.effects.createWrapper(o), c || (c = o["top" === v ? "outerHeight" : "outerWidth"]() / 3), u && (a = {\n opacity: 1\n }, a[v] = 0, o.css("opacity", 0).css(v, y ? 2 * -c : 2 * c).animate(a, m, g)), l && (c /= Math.pow(2, p - 1)), a = {}, a[v] = 0, s = 0; p > s; s++) {\n n = {}, n[v] = (y ? "-=" : "+=") + c, o.animate(n, m, g).animate(a, m, g), c = l ? 2 * c : c / 2;\n }\n\n l && (n = {\n opacity: 0\n }, n[v] = (y ? "-=" : "+=") + c, o.animate(n, m, g)), o.queue(function () {\n l && o.hide(), e.effects.restore(o, r), e.effects.removeWrapper(o), i();\n }), _ > 1 && b.splice.apply(b, [1, 0].concat(b.splice(_, f + 1))), o.dequeue();\n }, e.effects.effect.clip = function (t, i) {\n var s,\n n,\n a,\n o = e(this),\n r = ["position", "top", "bottom", "left", "right", "height", "width"],\n h = e.effects.setMode(o, t.mode || "hide"),\n l = "show" === h,\n u = t.direction || "vertical",\n d = "vertical" === u,\n c = d ? "height" : "width",\n p = d ? "top" : "left",\n f = {};\n e.effects.save(o, r), o.show(), s = e.effects.createWrapper(o).css({\n overflow: "hidden"\n }), n = "IMG" === o[0].tagName ? s : o, a = n[c](), l && (n.css(c, 0), n.css(p, a / 2)), f[c] = l ? a : 0, f[p] = l ? 0 : a / 2, n.animate(f, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: function complete() {\n l || o.hide(), e.effects.restore(o, r), e.effects.removeWrapper(o), i();\n }\n });\n }, e.effects.effect.drop = function (t, i) {\n var s,\n n = e(this),\n a = ["position", "top", "bottom", "left", "right", "opacity", "height", "width"],\n o = e.effects.setMode(n, t.mode || "hide"),\n r = "show" === o,\n h = t.direction || "left",\n l = "up" === h || "down" === h ? "top" : "left",\n u = "up" === h || "left" === h ? "pos" : "neg",\n d = {\n opacity: r ? 1 : 0\n };\n e.effects.save(n, a), n.show(), e.effects.createWrapper(n), s = t.distance || n["top" === l ? "outerHeight" : "outerWidth"](!0) / 2, r && n.css("opacity", 0).css(l, "pos" === u ? -s : s), d[l] = (r ? "pos" === u ? "+=" : "-=" : "pos" === u ? "-=" : "+=") + s, n.animate(d, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: function complete() {\n "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i();\n }\n });\n }, e.effects.effect.explode = function (t, i) {\n function s() {\n b.push(this), b.length === d * c && n();\n }\n\n function n() {\n p.css({\n visibility: "visible"\n }), e(b).remove(), m || p.hide(), i();\n }\n\n var a,\n o,\n r,\n h,\n l,\n u,\n d = t.pieces ? Math.round(Math.sqrt(t.pieces)) : 3,\n c = d,\n p = e(this),\n f = e.effects.setMode(p, t.mode || "hide"),\n m = "show" === f,\n g = p.show().css("visibility", "hidden").offset(),\n v = Math.
1ceil(p.outerWidth() / c),\n y = Math.ceil(p.outerHeight() / d),\n b = [];\n\n for (a = 0; d > a; a++) {\n for (h = g.top + a * y, u = a - (d - 1) / 2, o = 0; c > o; o++) {\n r = g.left + o * v, l = o - (c - 1) / 2, p.clone().appendTo("body").wrap("<div></div>").css({\n position: "absolute",\n visibility: "visible",\n left: -o * v,\n top: -a * y\n }).parent().addClass("ui-effects-explode").css({\n position: "absolute",\n overflow: "hidden",\n width: v,\n height: y,\n left: r + (m ? l * v : 0),\n top: h + (m ? u * y : 0),\n opacity: m ? 0 : 1\n }).animate({\n left: r + (m ? 0 : l * v),\n top: h + (m ? 0 : u * y),\n opacity: m ? 1 : 0\n }, t.duration || 500, t.easing, s);\n }\n }\n }, e.effects.effect.fade = function (t, i) {\n var s = e(this),\n n = e.effects.setMode(s, t.mode || "toggle");\n s.animate({\n opacity: n\n }, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: i\n });\n }, e.effects.effect.fold = function (t, i) {\n var s,\n n,\n a = e(this),\n o = ["position", "top", "bottom", "left", "right", "height", "width"],\n r = e.effects.setMode(a, t.mode || "hide"),\n h = "show" === r,\n l = "hide" === r,\n u = t.size || 15,\n d = /([0-9]+)%/.exec(u),\n c = !!t.horizFirst,\n p = h !== c,\n f = p ? ["width", "height"] : ["height", "width"],\n m = t.duration / 2,\n g = {},\n v = {};\n e.effects.save(a, o), a.show(), s = e.effects.createWrapper(a).css({\n overflow: "hidden"\n }), n = p ? [s.width(), s.height()] : [s.height(), s.width()], d && (u = parseInt(d[1], 10) / 100 * n[l ? 0 : 1]), h && s.css(c ? {\n height: 0,\n width: u\n } : {\n height: u,\n width: 0\n }), g[f[0]] = h ? n[0] : u, v[f[1]] = h ? n[1] : 0, s.animate(g, m, t.easing).animate(v, m, t.easing, function () {\n l && a.hide(), e.effects.restore(a, o), e.effects.removeWrapper(a), i();\n });\n }, e.effects.effect.highlight = function (t, i) {\n var s = e(this),\n n = ["backgroundImage", "backgroundColor", "opacity"],\n a = e.effects.setMode(s, t.mode || "show"),\n o = {\n backgroundColor: s.css("backgroundColor")\n };\n "hide" === a && (o.opacity = 0), e.effects.save(s, n), s.show().css({\n backgroundImage: "none",\n backgroundColor: t.color || "#ffff99"\n }).animate(o, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: function complete() {\n "hide" === a && s.hide(), e.effects.restore(s, n), i();\n }\n });\n }, e.effects.effect.size = function (t, i) {\n var s,\n n,\n a,\n o = e(this),\n r = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"],\n h = ["position", "top", "bottom", "left", "right", "overflow", "opacity"],\n l = ["width", "height", "overflow"],\n u = ["fontSize"],\n d = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"],\n c = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],\n p = e.effects.setMode(o, t.mode || "effect"),\n f = t.restore || "effect" !== p,\n m = t.scale || "both",\n g = t.origin || ["middle", "center"],\n v = o.css("position"),\n y = f ? r : h,\n b = {\n height: 0,\n width: 0,\n outerHeight: 0,\n outerWidth: 0\n };\n "show" === p && o.show(), s = {\n height: o.height(),\n width: o.width(),\n outerHeight: o.outerHeight(),\n outerWidth: o.outerWidth()\n }, "toggle" === t.mode && "show" === p ? (o.from = t.to || b, o.to = t.from || s) : (o.from = t.from || ("show" === p ? b : s), o.to = t.to || ("hide" === p ? b : s)), a = {\n from: {\n y: o.from.height / s.height,\n x: o.from.width / s.width\n },\n to: {\n y: o.to.height / s.height,\n x: o.to.width / s.width\n }\n }, ("box" === m || "both" === m) && (a.from.y !== a.to.y && (y = y.concat(d), o.from = e.effects.setTransition(o, d, a.from.y, o.from), o.to = e.effects.setTransition(o, d, a.to.y, o.to)), a.from.x !== a.to.x && (y = y.concat(c), o.from = e.effects.setTransition(o, c, a.from.x, o.from), o.to = e.effects.setTransition(o, c, a.to.x, o.to))), ("content" === m || "both" === m) && a.from.y !== a.to.y && (y = y.concat(u).
1concat(l), o.from = e.effects.setTransition(o, u, a.from.y, o.from), o.to = e.effects.setTransition(o, u, a.to.y, o.to)), e.effects.save(o, y), o.show(), e.effects.createWrapper(o), o.css("overflow", "hidden").css(o.from), g && (n = e.effects.getBaseline(g, s), o.from.top = (s.outerHeight - o.outerHeight()) * n.y, o.from.left = (s.outerWidth - o.outerWidth()) * n.x, o.to.top = (s.outerHeight - o.to.outerHeight) * n.y, o.to.left = (s.outerWidth - o.to.outerWidth) * n.x), o.css(o.from), ("content" === m || "both" === m) && (d = d.concat(["marginTop", "marginBottom"]).concat(u), c = c.concat(["marginLeft", "marginRight"]), l = r.concat(d).concat(c), o.find("*[width]").each(function () {\n var i = e(this),\n s = {\n height: i.height(),\n width: i.width(),\n outerHeight: i.outerHeight(),\n outerWidth: i.outerWidth()\n };\n f && e.effects.save(i, l), i.from = {\n height: s.height * a.from.y,\n width: s.width * a.from.x,\n outerHeight: s.outerHeight * a.from.y,\n outerWidth: s.outerWidth * a.from.x\n }, i.to = {\n height: s.height * a.to.y,\n width: s.width * a.to.x,\n outerHeight: s.height * a.to.y,\n outerWidth: s.width * a.to.x\n }, a.from.y !== a.to.y && (i.from = e.effects.setTransition(i, d, a.from.y, i.from), i.to = e.effects.setTransition(i, d, a.to.y, i.to)), a.from.x !== a.to.x && (i.from = e.effects.setTransition(i, c, a.from.x, i.from), i.to = e.effects.setTransition(i, c, a.to.x, i.to)), i.css(i.from), i.animate(i.to, t.duration, t.easing, function () {\n f && e.effects.restore(i, l);\n });\n })), o.animate(o.to, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: function complete() {\n 0 === o.to.opacity && o.css("opacity", o.from.opacity), "hide" === p && o.hide(), e.effects.restore(o, y), f || ("static" === v ? o.css({\n position: "relative",\n top: o.to.top,\n left: o.to.left\n }) : e.each(["top", "left"], function (e, t) {\n o.css(t, function (t, i) {\n var s = parseInt(i, 10),\n n = e ? o.to.left : o.to.top;\n return "auto" === i ? n + "px" : s + n + "px";\n });\n })), e.effects.removeWrapper(o), i();\n }\n });\n }, e.effects.effect.scale = function (t, i) {\n var s = e(this),\n n = e.extend(!0, {}, t),\n a = e.effects.setMode(s, t.mode || "effect"),\n o = parseInt(t.percent, 10) || (0 === parseInt(t.percent, 10) ? 0 : "hide" === a ? 0 : 100),\n r = t.direction || "both",\n h = t.origin,\n l = {\n height: s.height(),\n width: s.width(),\n outerHeight: s.outerHeight(),\n outerWidth: s.outerWidth()\n },\n u = {\n y: "horizontal" !== r ? o / 100 : 1,\n x: "vertical" !== r ? o / 100 : 1\n };\n n.effect = "size", n.queue = !1, n.complete = i, "effect" !== a && (n.origin = h || ["middle", "center"], n.restore = !0), n.from = t.from || ("show" === a ? {\n height: 0,\n width: 0,\n outerHeight: 0,\n outerWidth: 0\n } : l), n.to = {\n height: l.height * u.y,\n width: l.width * u.x,\n outerHeight: l.outerHeight * u.y,\n outerWidth: l.outerWidth * u.x\n }, n.fade && ("show" === a && (n.from.opacity = 0, n.to.opacity = 1), "hide" === a && (n.from.opacity = 1, n.to.opacity = 0)), s.effect(n);\n }, e.effects.effect.puff = function (t, i) {\n var s = e(this),\n n = e.effects.setMode(s, t.mode || "hide"),\n a = "hide" === n,\n o = parseInt(t.percent, 10) || 150,\n r = o / 100,\n h = {\n height: s.height(),\n width: s.width(),\n outerHeight: s.outerHeight(),\n outerWidth: s.outerWidth()\n };\n e.extend(t, {\n effect: "scale",\n queue: !1,\n fade: !0,\n mode: n,\n complete: i,\n percent: a ? o : 100,\n from: a ? h : {\n height: h.height * r,\n width: h.width * r,\n outerHeight: h.outerHeight * r,\n outerWidth: h.outerWidth * r\n }\n }), s.effect(t);\n }, e.effects.effect.pulsate = function (t, i) {\n var s,\n n = e(this),\n a = e.effects.setMode(n, t.mode || "show"),\n o = "show" === a,\n r = "hide" === a,\n h = o || "hide" === a,\n l = 2 * (t.times || 5) + (h ? 1 : 0),\n u = t.duration / l,\n d = 0,\n c = n.queue(),\n p = c.length;\n\n for ((o || !n.is(":visible")) && (n.css("opacity", 0).show(), d = 1), s = 1; l > s;
1 s++) {\n n.animate({\n opacity: d\n }, u, t.easing), d = 1 - d;\n }\n\n n.animate({\n opacity: d\n }, u, t.easing), n.queue(function () {\n r && n.hide(), i();\n }), p > 1 && c.splice.apply(c, [1, 0].concat(c.splice(p, l + 1))), n.dequeue();\n }, e.effects.effect.shake = function (t, i) {\n var s,\n n = e(this),\n a = ["position", "top", "bottom", "left", "right", "height", "width"],\n o = e.effects.setMode(n, t.mode || "effect"),\n r = t.direction || "left",\n h = t.distance || 20,\n l = t.times || 3,\n u = 2 * l + 1,\n d = Math.round(t.duration / u),\n c = "up" === r || "down" === r ? "top" : "left",\n p = "up" === r || "left" === r,\n f = {},\n m = {},\n g = {},\n v = n.queue(),\n y = v.length;\n\n for (e.effects.save(n, a), n.show(), e.effects.createWrapper(n), f[c] = (p ? "-=" : "+=") + h, m[c] = (p ? "+=" : "-=") + 2 * h, g[c] = (p ? "-=" : "+=") + 2 * h, n.animate(f, d, t.easing), s = 1; l > s; s++) {\n n.animate(m, d, t.easing).animate(g, d, t.easing);\n }\n\n n.animate(m, d, t.easing).animate(f, d / 2, t.easing).queue(function () {\n "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i();\n }), y > 1 && v.splice.apply(v, [1, 0].concat(v.splice(y, u + 1))), n.dequeue();\n }, e.effects.effect.slide = function (t, i) {\n var s,\n n = e(this),\n a = ["position", "top", "bottom", "left", "right", "width", "height"],\n o = e.effects.setMode(n, t.mode || "show"),\n r = "show" === o,\n h = t.direction || "left",\n l = "up" === h || "down" === h ? "top" : "left",\n u = "up" === h || "left" === h,\n d = {};\n e.effects.save(n, a), n.show(), s = t.distance || n["top" === l ? "outerHeight" : "outerWidth"](!0), e.effects.createWrapper(n).css({\n overflow: "hidden"\n }), r && n.css(l, u ? isNaN(s) ? "-" + s : -s : s), d[l] = (r ? u ? "+=" : "-=" : u ? "-=" : "+=") + s, n.animate(d, {\n queue: !1,\n duration: t.duration,\n easing: t.easing,\n complete: function complete() {\n "hide" === o && n.hide(), e.effects.restore(n, a), e.effects.removeWrapper(n), i();\n }\n });\n }, e.effects.effect.transfer = function (t, i) {\n var s = e(this),\n n = e(t.to),\n a = "fixed" === n.css("position"),\n o = e("body"),\n r = a ? o.scrollTop() : 0,\n h = a ? o.scrollLeft() : 0,\n l = n.offset(),\n u = {\n top: l.top - r,\n left: l.left - h,\n height: n.innerHeight(),\n width: n.innerWidth()\n },\n d = s.offset(),\n c = e("<div class=\'ui-effects-transfer\'></div>").appendTo(document.body).addClass(t.className).css({\n top: d.top - r,\n left: d.left - h,\n height: s.innerHeight(),\n width: s.innerWidth(),\n position: a ? "fixed" : "absolute"\n }).animate(u, t.duration, t.easing, function () {\n c.remove(), i();\n });\n };\n});\n/*!\r\n * jQuery UI Touch Punch 0.2.3\r\n *\r\n * Copyright 2011�2014, Dave Furfero\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n *\r\n * Depends:\r\n * jquery.ui.widget.js\r\n * jquery.ui.mouse.js\r\n */\n\n\n!function (a) {\n function f(a, b) {\n if (!(a.originalEvent.touches.length > 1)) {\n a.preventDefault();\n var c = a.originalEvent.changedTouches[0],\n d = document.createEvent("MouseEvents");\n d.initMouseEvent(b, !0, !0, window, 1, c.screenX, c.screenY, c.clientX, c.clientY, !1, !1, !1, !1, 0, null), a.target.dispatchEvent(d);\n }\n }\n\n if (a.support.touch = "ontouchend" in document, a.support.touch) {\n var e,\n b = a.ui.mouse.prototype,\n c = b._mouseInit,\n d = b._mouseDestroy;\n b._touchStart = function (a) {\n var b = this;\n !e && b._mouseCapture(a.originalEvent.changedTouches[0]) && (e = !0, b._touchMoved = !1, f(a, "mouseover"), f(a, "mousemove"), f(a, "mousedown"));\n }, b._touchMove = function (a) {\n e && (this._touchMoved = !0, f(a, "mousemove"));\n }, b._touchEnd = function (a) {\n e && (f(a, "mouseup"), f(a, "mouseout"), this._touchMoved || f(a, "click"), e = !1);\n }, b._mouseInit = function () {\n var b = this;\n b.element.bind({\n touchstart: a.proxy(b, "_touchStart"),\n touchmove: a.proxy(b, "_touchMove"),\n touchend: a.proxy(b, "_touchEnd")\n }), c.call(b);\n }, b._mouseDestroy = function () {\n var b = this;\n b.element.unbind({\n touchstart: a.proxy(b, "_touchStart"),\n touchmove: a.proxy(b, "_touchMove"),\n touchend: a.proxy(b, "_touchEnd")\n }), d.call(b);\n };\n }\n}(jQuery); //v5.1.20125.0 (Silverlight)\n\nif (!window.Silverlight) window.Silverlight = {};\nSilverlight._silverlightCount = 0;\nSilverlight.__onSilverlightInstalledCalled = false;\nSilverlight.fwlinkRoot = "http://go2.microsoft.com/fwlink/?LinkID=";\nSilverlight.__installationEventFired = false;\nSilverlight.onGetSilverlight = null;\n\nSilverlight.onSilverlightInstalled = function () {\n window.location.reload(false);\n};\n\nSilverlight.isInstalled = function (version) {\n if (version == undefined) version = null;\n var isVersionSupported = false;\n\n try {\n var tryOlderIE = false;\n\n try {\n var plugin = navigator.plugins["Silverlight Plug-In"];\n if (plugin) {\n if (version === null) isVersionSupported = true;else {\n var actualVer = plugin.description;\n if (actualVer === "1.0.30226.2") actualVer = "2.0.30226.2";\n var actualVerArray = actualVer.split(".");\n\n while (actualVerArray.length > 3) {\n actualVerArray.pop();\n }\n\n while (actualVerArray.length < 4) {\n actualVerArray.push(0);\n }\n\n var reqVerArray = version.split(".");\n\n while (reqVerArray.length > 4) {\n reqVerArray.pop();\n }\n\n var requiredVersionPart,\n actualVersionPart,\n index = 0;\n\n do {\n requiredVersionPart = parseInt(reqVerArray[index]);\n actualVersionPart = parseInt(actualVerArray[index]);\n index++;\n } while (index < reqVerArray.length && requiredVersionPart === actualVersionPart);\n\n if (requiredVersionPart <= actualVersionPart && !isNaN(requiredVersionPart)) isVersionSupported = true;\n }\n } else tryOlderIE = true;\n }
1 catch (e) {\n tryOlderIE = true;\n }\n\n if (tryOlderIE) {\n var control = new ActiveXObject("AgControl.AgControl");\n if (version === null) isVersionSupported = true;else if (control.IsVersionSupported(version)) isVersionSupported = true;\n control = null;\n }\n } catch (e) {\n isVersionSupported = false;\n }\n\n return isVersionSupported;\n};\n\nSilverlight.WaitForInstallCompletion = function () {\n if (!Silverlight.isBrowserRestartRequired && Silverlight.onSilverlightInstalled) {\n try {\n navigator.plugins.refresh();\n } catch (e) {}\n\n if (Silverlight.isInstalled(null) && !Silverlight.__onSilverlightInstalledCalled) {\n Silverlight.onSilverlightInstalled();\n Silverlight.__onSilverlightInstalledCalled = true;\n } else setTimeout(Silverlight.WaitForInstallCompletion, 3000);\n }\n};\n\nSilverlight.__startup = function () {\n navigator.plugins.refresh();\n Silverlight.isBrowserRestartRequired = Silverlight.isInstalled(null);\n\n if (!Silverlight.isBrowserRestartRequired) {\n Silverlight.WaitForInstallCompletion();\n\n if (!Silverlight.__installationEventFired) {\n Silverlight.onInstallRequired();\n Silverlight.__installationEventFired = true;\n }\n } else if (window.navigator.mimeTypes) {\n var mimeSL2 = navigator.mimeTypes["application/x-silverlight-2"],\n mimeSL2b2 = navigator.mimeTypes["application/x-silverlight-2-b2"],\n mimeSL2b1 = navigator.mimeTypes["application/x-silverlight-2-b1"],\n mimeHighestBeta = mimeSL2b1;\n if (mimeSL2b2) mimeHighestBeta = mimeSL2b2;\n\n if (!mimeSL2 && (mimeSL2b1 || mimeSL2b2)) {\n if (!Silverlight.__installationEventFired) {\n Silverlight.onUpgradeRequired();\n Silverlight.__installationEventFired = true;\n }\n } else if (mimeSL2 && mimeHighestBeta) if (mimeSL2.enabledPlugin && mimeHighestBeta.enabledPlugin) if (mimeSL2.enabledPlugin.description != mimeHighestBeta.enabledPlugin.description) if (!Silverlight.__installationEventFired) {\n Silverlight.onRestartRequired();\n Silverlight.__installationEventFired = true;\n }\n }\n\n if (!Silverlight.disableAutoStartup) if (window.removeEventListener) window.removeEventListener("load", Silverlight.__startup, false);else window.detachEvent("onload", Silverlight.__startup);\n};\n\nif (!Silverlight.disableAutoStartup) if (window.addEventListener) window.addEventListener("load", Silverlight.__startup, false);else window.attachEvent("onload", Silverlight.__startup);\n\nSilverlight.createObject = function (source, parentElement, id, properties, events, initParams, userContext) {\n var slPluginHelper = {},\n slProperties = properties,\n slEvents = events;\n slPluginHelper.version = slProperties.version;\n slProperties.source = source;\n slPluginHelper.alt = slProperties.alt;\n if (initParams) slProperties.initParams = initParams;\n if (slProperties.isWindowless && !slProperties.windowless) slProperties.windowless = slProperties.isWindowless;\n if (slProperties.framerate && !slProperties.maxFramerate) slProperties.maxFramerate = slProperties.framerate;\n if (id && !slProperties.id) slProperties.id = id;\n delete slProperties.ignoreBrowserVer;\n delete slProperties.inplaceInstallPrompt;\n delete slProperties.version;\n delete slProperties.isWindowless;\n delete slProperties.framerate;\n delete slProperties.data;\n delete slProperties.src;\n delete slProperties.alt;\n\n if (Silverlight.isInstalled(slPluginHelper.version)) {\n for (var name in slEvents) {\n if (slEvents[name]) {\n if (name == "onLoad" && typeof slEvents[name] == "function" && slEvents[name].length != 1) {\n var onLoadHandler = slEvents[name];\n\n slEvents[name] = function (sender) {\n return onLoadHandler(document.getElementById(id), userContext, sender);\n };\n }\n\n var handlerName = Silverlight.__getHandlerName(slEvents[name]);\n\n if (handlerName != null) {\n slProperties[name] = handlerName;\n slEvents[name] = null;\n } else throw "typeof events." + name + " must be \'function\' or \'string\'";\n }\n }\n\n slPluginHTML = Silverlight.buildHTML(slProperties);\n } else slPluginHTML = Silverlight.buildPromptHTML(slPluginHelper);\n\n if (parentElement) parentElement.innerHTML = slPluginHTML;else return slPluginHTML;\n};\n\nSilverlight.buildHTML = function (slProperties) {\n var htmlBuilder = [];\n htmlBuilder.push(\'<object type="application/x-silverlight" data="data:application/x-silverlight,"\');\n if (slProperties.id != null) htmlBuilder.push(\' id="\' + Silverlight.HtmlAttributeEncode(slProperties.id) + \'"\');\n if (slProperties.width != null) htmlBuilder.push(\' width="\' + slProperties.width + \'"\');\n if (slProperties.height != null) htmlBuilder.push(\' height="\' + slProperties.height + \'"\');\n htmlBuilder.push(" >");\n delete slProperties.id;\n delete slProperties.width;\n delete slProperties.height;\n\n for (var name in slProperties) {\n if (slProperties[name]) htmlBuilder.push(\'<param name="\' + Silverlight.HtmlAttributeEncode(name) + \'" value="\' + Silverlight.HtmlAttributeEncode(slProperties[name]) + \'" />\');\n }\n\n htmlBuilder.push("</object>");\n return htmlBuilder.join("");\n};\n\nSilverlight.createObjectEx = function (params) {\n var parameters = params,\n html = Silverlight.createObject(parameters.source, parameters.parentElement, parameters.id, parameters.properties, parameters.events, parameters.initParams, parameters.context);\n if (parameters.parentElement == null) return html;\n};\n\nSilverlight.buildPromptHTML = function (slPluginHelper) {\n var slPluginHTML = "",\n urlRoot = Silverlight.fwlinkRoot,\n version = slPluginHelper.version;\n if (slPluginHelper.alt) slPluginHTML = slPluginHelper.alt;else {\n if (!version) version = "";\n slPluginHTML = "<a href=\'javascript:Silverlight.getSilverlight(\\"{1}\\");\' style=\'text-decoration: none;\'><img src=\'{2}\' alt=\'Get Microsoft Silverlight\' style=\'border-style: none\'/></a>";
1\n slPluginHTML = slPluginHTML.replace("{1}", version);\n slPluginHTML = slPluginHTML.replace("{2}", urlRoot + "161376");\n }\n return slPluginHTML;\n};\n\nSilverlight.getSilverlight = function (version) {\n if (Silverlight.onGetSilverlight) Silverlight.onGetSilverlight();\n var shortVer = "",\n reqVerArray = String(version).split(".");\n\n if (reqVerArray.length > 1) {\n var majorNum = parseInt(reqVerArray[0]);\n if (isNaN(majorNum) || majorNum < 2) shortVer = "1.0";else shortVer = reqVerArray[0] + "." + reqVerArray[1];\n }\n\n var verArg = "";\n if (shortVer.match(/^\\d+\\056\\d+$/)) verArg = "&v=" + shortVer;\n Silverlight.followFWLink("149156" + verArg);\n};\n\nSilverlight.followFWLink = function (linkid) {\n top.location = Silverlight.fwlinkRoot + String(linkid);\n};\n\nSilverlight.HtmlAttributeEncode = function (strInput) {\n var c,\n retVal = "";\n if (strInput == null) return null;\n\n for (var cnt = 0; cnt < strInput.length; cnt++) {\n c = strInput.charCodeAt(cnt);\n if (c > 96 && c < 123 || c > 64 && c < 91 || c > 43 && c < 58 && c != 47 || c == 95) retVal = retVal + String.fromCharCode(c);else retVal = retVal + "&#" + c + ";";\n }\n\n return retVal;\n};\n\nSilverlight.default_error_handler = function (sender, args) {\n var iErrorCode,\n errorType = args.ErrorType;\n iErrorCode = args.ErrorCode;\n var errMsg = "\\nSilverlight error message \\n";\n errMsg += "ErrorCode: " + iErrorCode + "\\n";\n errMsg += "ErrorType: " + errorType + " \\n";\n errMsg += "Message: " + args.ErrorMessage + " \\n";\n\n if (errorType == "ParserError") {\n errMsg += "XamlFile: " + args.xamlFile + " \\n";\n errMsg += "Line: " + args.lineNumber + " \\n";\n errMsg += "Position: " + args.charPosition + " \\n";\n } else if (errorType == "RuntimeError") {\n if (args.lineNumber != 0) {\n errMsg += "Line: " + args.lineNumber + " \\n";\n errMsg += "Position: " + args.charPosition + " \\n";\n }\n\n errMsg += "MethodName: " + args.methodName + " \\n";\n }\n};\n\nSilverlight.__cleanup = function () {\n for (var i = Silverlight._silverlightCount - 1; i >= 0; i--) {\n window["__slEvent" + i] = null;\n }\n\n Silverlight._silverlightCount = 0;\n if (window.removeEventListener) window.removeEventListener("unload", Silverlight.__cleanup, false);else window.detachEvent("onunload", Silverlight.__cleanup);\n};\n\nSilverlight.__getHandlerName = function (handler) {\n var handlerName = "";\n if (typeof handler == "string") handlerName = handler;else if (typeof handler == "function") {\n if (Silverlight._silverlightCount == 0) if (window.addEventListener) window.addEventListener("unload", Silverlight.__cleanup, false);else window.attachEvent("onunload", Silverlight.__cleanup);\n var count = Silverlight._silverlightCount++;\n handlerName = "__slEvent" + count;\n window[handlerName] = handler;\n } else handlerName = null;\n return handlerName;\n};\n\nSilverlight.onRequiredVersionAvailable = function () {};\n\nSilverlight.onRestartRequired = function () {};\n\nSilverlight.onUpgradeRequired = function () {};\n\nSilverlight.onInstallRequired = function () {};\n\nSilverlight.IsVersionAvailableOnError = function (sender, args) {\n var retVal = false;\n\n try {\n if (args.ErrorCode == 8001 && !Silverlight.__installationEventFired) {\n Silverlight.onUpgradeRequired();\n Silverlight.__installationEventFired = true;\n } else if (args.ErrorCode == 8002 && !Silverlight.__installationEventFired) {\n Silverlight.onRestartRequired();\n Silverlight.__installationEventFired = true;\n } else if (args.ErrorCode == 5014 || args.ErrorCode == 2106) {\n if (Silverlight.__verifySilverlight2UpgradeSuccess(args.getHost())) retVal = true;\n } else retVal = true;\n } catch (e) {}\n\n return retVal;\n};\n\nSilverlight.IsVersionAvailableOnLoad = function (sender) {\n var retVal = false;\n\n try {\n if (Silverlight.__verifySilverlight2UpgradeSuccess(sender.getHost())) retVal = true;\n } catch (e) {}\n\n return retVal;\n};\n\nSilverlight.__verifySilverlight2UpgradeSuccess = function (host) {\n var retVal = false,\n version = "5.1.20125",\n installationEvent = null;\n\n try {\n if (host.IsVersionSupported(version + ".99")) {\n installationEvent = Silverlight.onRequiredVersionAvailable;\n retVal = true;\n } else if (host.IsVersionSupported(version + ".0")) installationEvent = Silverlight.onRestartRequired;else installationEvent = Silverlight.onUpgradeRequired;\n\n if (installationEvent && !Silverlight.__installationEventFired) {\n installationEvent();\n Silverlight.__installationEventFired = true;\n }\n } catch (e) {}\n\n return retVal;\n};\n\nwindow.ADLoaded = true;\njQuery(document).ready(function () {\n if (jQuery(\'#InjectionDiv\').length > 0) {\n ArkenaWidgetApi.Initialize("ArkenaPlayer", function () {\n ArkenaPlayer("http://video.arkena.com/play2/embed/player?accountId=278475&mediaId=94e1da0e-0eef-4f10-936d-15f8218f3b7a&configId=default&pageStyling=adaptive&autoplay=false&repeat=false&sharing=false", "InjectionDiv", {\n "Settings": {\
1n "Spinner": {\n "RingColor": {\n "r": 0,\n "g": 0,\n "b": 0,\n "a": 0\n },\n "BallColor": {\n "r": 139,\n "g": 52,\n "b": 86\n }\n },\n "Player": {\n "fallbackChain": "FBC_HTML5_FIRST",\n "autoPlay": "false",\n "fitToWindow": "true",\n "width": "960",\n "height": "540",\n "background": "#000000",\n "defaultUILanguage": "da",\n "shareURL": arkenaShareUrl\n }\n }\n });\n var t = setTimeout("columnLeftFix();", 200);\n });\n }\n});'},7934:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.BookingForms\r\n===================================\r\n*/\n\nPT.BookingForm = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n emailValidate: true,\n emailConfirmValidate: true,\n passwordValidate: true,\n passwordConfirmValidate: true\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery(\"[data-js='SubmitForm']\").click(function (e) {\n //e.stopPropagation();\n //e.preventDefault();\n if (PT.BookingForm.RequiredFields() === true && PT.BookingForm.ValidateFields() === true && PT.BookingForm.Variables.passwordValidate === true && PT.BookingForm.Variables.passwordConfirmValidate === true) {\n return true;\n } else {\n e.preventDefault();\n } //Modify style on serverside error\n\n\n $('.booking-form__error--serverside').addClass('has-general-error');\n });\n /*\r\n jQuery(\"[data-js='Password'], [data-js='PasswordConfirm']\").blur(function(e) {\r\n var element = jQuery(e.currentTarget);\r\n element.parent().next().hide();\r\n if (element.data('js') === 'Password') {\r\n if (element.val().length > 0 && element.val().length < 5) {\r\n element.parent().next().show();\r\n PT.BookingForm.Variables.passwordValidate = false;\r\n } else {\r\n PT.BookingForm.Variables.passwordValidate = true;\r\n }\r\n }\r\n if (element.data('js') === 'PasswordConfirm') {\r\n var password = jQuery(\"[data-js='Password']\");\r\n element.parent().next().hide().find(\"span\").hide();\r\n if (element.val().length === 0 && password.val().length > 4) {\r\n element.parent().next().show().find(\"[data-js='ConfirmPassword']\").show();\r\n PT.BookingForm.Variables.passwordConfirmValidate = false;\r\n } else if (element.val() !== password.val() && password.val().length > 4) {\r\n element.parent().next().show().find(\"[data-js='ComparePassword']\").show();\r\n PT.BookingForm.Variables.passwordConfirmValidate = false;\r\n } else {\r\n PT.BookingForm.Variables.passwordConfirmValidate = true;\r\n }\r\n }\r\n });*/\n },\n FieldType: function FieldType(field) {\n if (typeof field.data('form') === \"undefined\") {\n return;\n }\n\n var type = field.data('form').split('|');\n\n switch (type[0]) {\n case 'Email':\n if (!PT.BookingForm.IsEmailField(field)) {\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Email']\").show();\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Email|Required']\").show();\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Required|Email']\").show();\n }\n\n case 'Compare':\n if (!PT.BookingForm.IsEqualField(field, type[1])) {\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Compare']\").show();\n }\n\n case 'Length':\n if (!PT.BookingForm.IsLongerOrEqual(field, type[1])) {\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Length']\").show();\n }\n\n case 'NumberLength':\n if (!PT.BookingForm.IsInRange(field, type[1], type[2]) || !PT.BookingForm.IsNumber(field)) {\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='NumberLength']\").show();\n }\n\n }\n },\n RequiredFields: function RequiredFields() {\n var fieldsValidate = true;\n var $requiredLabels = jQuery(\".booking-form\").not(\".is-hidden\").find(\".booking-form__field__label--required\");\n $requiredLabels.each(function () {\n element = jQuery(this);\n var val = element.closest('.booking-form__field').find('.booking-form__field__textbox, .booking-form__field__textarea').val();\n\n if (val === \"\") {\n fieldsValidate = false;\n element.closest('.booking-form__field').next().show().find(\"[data-form-error='Required']\").show();\n }\n });\n return fieldsValidate;\n },\n\n /**\r\n * Validate non-required fields\r\n * @author Anders Pedersen <[email protected]>\r\n */\n ValidateFields: function ValidateFields() {\n var fieldsValidate = true;\n var $validateLabels = jQuery(\".booking-form\").not(\".is-hidden\").find(\".booking-form__field__label--vali
1date\");\n $validateLabels.each(function () {\n element = jQuery(this);\n var val = element.closest('.booking-form__field').find('.booking-form__field__textbox, .booking-form__field__textarea').val();\n\n if (val !== \"\") {\n fieldsValidate = false;\n element.closest('.booking-form__field').next().show().find(\"[data-form-error='NumberLength']\").show();\n }\n });\n return fieldsValidate;\n },\n IsEmptyField: function IsEmptyField(field) {\n if (field.val() === \"\") {\n return true;\n }\n\n return false;\n },\n IsEmailField: function IsEmailField(field) {\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(field.val());\n },\n IsEqualField: function IsEqualField(field, token) {\n var compareField = jQuery(\"[data-form-id='\" + token + \"']\");\n\n if (field.val() === compareField.val()) {\n return true;\n }\n\n return false;\n },\n IsLongerOrEqual: function IsLongerOrEqual(field, token) {\n if (field.val().length >= token) {\n return true;\n }\n\n return false;\n },\n IsInRange: function IsInRange(field, tokenMin, tokenMax) {\n if (field.val().length >= tokenMin && field.val().length <= tokenMax) {\n return true;\n }\n\n return false;\n },\n IsNumber: function IsNumber(field) {\n function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n if (isNumeric(field.val())) {\n return true;\n }\n\n return false;\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.BookingForm.Setup();\n }\n}); // Prevent form from being submitted if hitting \"Enter\" on the keyboard\n// Fixes BUG-36825\n\njQuery('#no_pers').keypress(function (e) {\n var key = e.which;\n\n if (key == 13) {\n // 13 = \"Enter\"\n e.preventDefault();\n }\n}); // End bugfix Bug-36825"},1109:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.BookingInfopage\r\n===================================\r\n*/\n\nPT.BookingInfopage = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n if (jQuery('.booking-order-button').length) {\n var btn = jQuery('.booking-order-button').clone();\n jQuery(btn).insertBefore('.text-spot-a-wrapper');\n }\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.BookingInfopage.Setup();\n }\n});"},107:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.BookingMyPages\r\n===================================\r\n*/\n\nPT.BookingMyPages = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n passwordValidate: true,\n passwordConfirmValidate: true\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n /*\r\n jQuery(\"[data-js='SubmitForm']\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n console.log('3: form submit');\r\n /!*\r\n if (PT.BookingMyPages.RequiredFields() === true && PT.BookingMyPages.Variables.passwordValidate === true && PT.BookingMyPages.Variables.passwordConfirmValidate === true) {\r\n return true;\r\n } else {\r\n e.preventDefault();\r\n }\r\n *!/\r\n });\r\n jQuery(\"[data-js='Password'], [data-js='PasswordConfirm']\").blur(function (e) {\r\n console.log('field blur');\r\n var element = jQuery(e.currentTarget);\r\n element.parent().next().hide();\r\n if (element.data('js') === 'Password') {\r\n if (element.val().length > 0 && element.val().length < 5) {\r\n element.parent().next().show();\r\n PT.BookingMyPages.Variables.passwordValidate = false;\r\n } else {\r\n PT.BookingMyPages.Variables.passwordValidate = true;\r\n }\r\n }\r\n if (element.data('js') === 'PasswordConfirm') {\r\n var password = jQuery(\"[data-js='Password']\");\r\n element.parent().next().hide().find(\"span\").hide();\r\n if (element.val().length === 0 && password.val().length > 4) {\r\n element.parent().next().show().find(\"[data-js='ConfirmPassword']\").show();\r\n PT.BookingMyPages.Variables.passwordConfirmValidate = false;\r\n } else if (element.val() !== password.val() && password.val().length > 4) {\r\n element.parent().next().show().find(\"[data-js='ComparePassword']\").show();\r\n PT.BookingMyPages.Variables.passwordConfirmValidate = false;\r\n } else {\r\n PT.BookingMyPages.Variables.passwordConfirmValidate = true;\r\n }\r\n }\r\n });\r\n */\n\n /* LEGACY CODE STARTS HERE */\n var selectedBookingNo;\n var selectedBookingId;\n jQuery(document).ready(function () {\n jQuery('#numberOfParticipants').keypress(function (e) {\n var key = e.which;\n\n if (key == 13) // the enter key code\n {\n jQuery('#updateBookingNr').click();\n return false;\n }\n });\n\n if (jQuery('.booking-my-page').length) {\n jQuery(bookingMyPagePasswordCl
1ientID).blur(function () {\n if (validateField(bookingMyPagePasswordClientID, '#srfvPassword', '', true) == true) {\n validateField(bookingMyPagePasswordClientID, '#srevPassword', '5chars', true);\n }\n\n if (jQuery(bookingMyPageConfirmPasswordClientID).length > 0) validateEqual(bookingMyPagePasswordClientID, bookingMyPageConfirmPasswordClientID, '#scmprComparePass', true);\n });\n jQuery(bookingMyPagePasswordClientID).keyup(function () {\n validateUserData(false);\n });\n jQuery(bookingMyPageConfirmPasswordClientID).blur(function () {\n validateField(bookingMyPageConfirmPasswordClientID, '#srfvConfirmPass', '', true);\n validateEqual(bookingMyPagePasswordClientID, bookingMyPageConfirmPasswordClientID, '#cmprComparePass', true);\n });\n jQuery(bookingMyPageConfirmPasswordClientID).keyup(function () {\n validateUserData(false);\n });\n jQuery(\"#btnSave\").click(function (event) {\n if (!validateUserData(false)) {\n event.preventDefault();\n }\n });\n }\n });\n\n function validateUserData(withMessage) {\n var result = true;\n var $passwordField = jQuery(bookingMyPagePasswordClientID);\n var $confirmPasswordField = jQuery(bookingMyPageConfirmPasswordClientID);\n\n if ($passwordField.val().length > 0) {\n if (validateField($passwordField, '#srevPassword', '5chars', withMessage) == false) {\n result = false;\n }\n\n if ($confirmPasswordField.val().length > 0) {\n if (validateEqual($passwordField, $confirmPasswordField, '#cmprComparePass', withMessage) == false) {\n result = false;\n }\n }\n }\n\n return result;\n }\n\n function validateEqual(fieldName1, fieldName2, errorMessage, showErrorMessage) {\n var result = true;\n fieldValue1 = jQuery(fieldName1).val();\n fieldValue2 = jQuery(fieldName2).val();\n\n if (fieldValue1 != fieldValue2 && fieldValue1 != \"\") {\n result = false;\n }\n\n if (showErrorMessage == true) {\n if (result == false) {\n jQuery(errorMessage).css(\"display\", \"block\");\n } else {\n jQuery(errorMessage).css(\"display\", \"none\");\n }\n }\n\n return result;\n }\n\n function validateField(fieldName, errorMessage, validation, showErrorMessage) {\n console.log('test', fieldName, errorMessage, validation, showErrorMessage);\n var result = true;\n fieldValue = jQuery(fieldName).val();\n\n if ((fieldValue == '' || fieldValue == null) && validation == '') {\n result = false;\n }\n\n if (!validateMin5Chars(fieldValue, errorMessage, showErrorMessage) && validation == '5chars') {\n result = false;\n }\n\n if (showErrorMessage == true) {\n if (result == false) {\n jQuery(errorMessage).css(\"display\", \"\");\n } else {\n jQuery(errorMessage).css(\"display\", \"none\");\n }\n }\n\n return result;\n }\n\n function validateMin5Chars(input, errorMessage, showErrorMessage) {\n var result = input.length > 4 ? true : false;\n\n if (showErrorMessage == true) {\n if (input != \"\") {\n if (result == false) {\n jQuery(errorMessage).css(\"display\", \"\");\n } else {\n jQuery(errorMessage).css(\"display\", \"none\");\n }\n } else {\n jQuery(errorMessage).css(\"display\", \"none\");\n }\n }\n\n return result;\n }\n\n function WriteRestaurant() {\n // var numberOfParticipants = jQuery('#numberOfParticipants').val();\n var email = jQuery(\"#changeBookingEmail\").html();\n var subject = jQuery(\"#changeBookingSubject\").html();\n var url = 'mailto:' + email + '?Subject=' + subject + ' ' + selectedBookingNo;\n document.location.href = url;\n }\n\n ;\n\n function ReloadPage() {\n setTimeout(function () {\n location.reload();\n }, 500);\n }\n\n function HideDialog(bookingNo, dialogId, overlayId) {\n if (!dialogId) var dialogId = 'dialogChange';\n if (!overlayId) var overlayId = 'overlay';\n jQuery('#' + dialogId + ' .antal-persons-error').addClass('is-hidden'); // Remove error message when cancelling modal\n\n jQuery(\"#\" + overlayId).hide();\n jQuery(\"#\" + dialogId).fadeOut(300);\n }
1\n\n function ShowUpdateBookingDialog(personNumber, bookingNo, bookingId, modal, dialogId, overlayId, showEmailSection, minvisitors, maxvisitors) {\n selectedBookingNo = bookingNo;\n selectedBookingId = bookingId;\n if (!dialogId) var dialogId = 'dialogChange';\n if (!overlayId) var overlayId = 'overlay';\n jQuery(\"#\" + overlayId).show();\n jQuery(\"#\" + dialogId).fadeIn(300);\n jQuery(\"#\" + dialogId + \" p input\").val(personNumber); // take the current value\n\n jQuery(\"#\" + dialogId).data('minvisitors', minvisitors);\n jQuery(\"#\" + dialogId).data('maxvisitors', maxvisitors);\n var $emailSection = jQuery(\"#\" + dialogId + \" .sendEmailSection\");\n\n if (showEmailSection) {\n $emailSection.show();\n } else {\n $emailSection.hide();\n }\n\n if (modal) {\n jQuery(\"#\" + overlayId).unbind(\"click\");\n } else {\n jQuery(\"#\" + overlayId).click(function (e) {\n HideUpdateBookingDialog(dialogId, overlayId);\n });\n }\n }\n\n function HideUpdateBookingDialog(dialogId, overlayId) {\n if (!dialogId) var dialogId = 'dialogChange';\n if (!overlayId) var overlayId = 'overlay';\n jQuery(\"#\" + overlayId).hide();\n jQuery(\"#\" + dialogId).fadeOut(300);\n }\n\n function ShowCancelBookingDialog(bookingNo, bookingId, modal, dialogId, overlayId) {\n selectedBookingNo = bookingNo;\n selectedBookingId = bookingId;\n if (!dialogId) var dialogId = 'dialogCancel';\n if (!overlayId) var overlayId = 'overlayCancel';\n jQuery(\"#\" + overlayId).show();\n jQuery(\"#\" + dialogId).fadeIn(300);\n\n if (modal) {\n jQuery(\"#\" + overlayId).unbind(\"click\");\n } else {\n jQuery(\"#\" + overlayId).click(function (e) {\n HideCancelBookingDialog(dialogId, overlayId);\n });\n }\n }\n\n function HideCancelBookingDialog(dialogId, overlayId) {\n if (!dialogId) var dialogId = 'dialogCancel';\n if (!overlayId) var overlayId = 'overlayCancel';\n jQuery(\"#\" + overlayId).hide();\n jQuery(\"#\" + dialogId).fadeOut(300);\n }\n\n function UpdateBookingValidateVisitorsCount() {\n var $booking = jQuery(\"#dialogChange\");\n var minVisitors = $booking.data(\"minvisitors\");\n var maxVisitors = $booking.data(\"maxvisitors\");\n numberOfParticipants = jQuery('#numberOfParticipants').val();\n jQuery('.js-update-booking', $booking).attr('disabled', false);\n var $antalPersonsError = jQuery(\".antal-persons-error\");\n\n if (minVisitors > numberOfParticipants || maxVisitors < numberOfParticipants || isNaN(numberOfParticipants)) {\n jQuery('.minvisitors', $antalPersonsError).text($booking.data('minvisitors'));\n jQuery('.maxvisitors', $antalPersonsError).text($booking.data('maxvisitors'));\n jQuery('.js-update-booking', $booking).attr('disabled', true);\n $antalPersonsError.removeClass(\"is-hidden\");\n return false;\n }\n\n $antalPersonsError.addClass(\"is-hidden\");\n return true;\n }\n\n function UpdateBooking() {\n // alert('UpdateBooking: Id: '+selectedBookingId+', No: '+selectedBookingNo);\n if (!UpdateBookingValidateVisitorsCount()) return false;\n var params = '{bookingIdentifier:\\\"' + selectedBookingId + '\\\",newVisitsCount:\\\"' + numberOfParticipants + '\\\"}';\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/UpdateBooking\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != 'null' && msg.d != '\"\"') {\n alert(jQuery.parseJSON(msg.d));\n } else {\n ReloadPage();\n }\n },\n error: function error(request, ajaxOptions, thrownError) {\n var error = request.responseText;\n\n if (error) {\n alert(jQuery.parseJSON(msg.d));\n } else {\n ReloadPage();\n }\n }\n });\n return true;\n }\n\n function CancelBooking() {\n var cancelBookingConfirm = window.confirm(getLabelValueBookingMyPage);\n\n if (cancelBookingConfirm == true) {\n var params = '{bookingIdentifier:\\\"' + selectedBookingId + '\\\"}';\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/CancelBooking\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != 'null' && msg.d != '\"\"') {\n alert(jQuery.parseJSON(msg.d));\n } else {\n ReloadPage();\n }\n },\n error: function error(request, ajaxOptions, thrownError) {\n var error = jQuery.parseJSON(request.responseText);\n\n if (error) {\n alert(error.Message);\n } else {\n ReloadPage();\n }\n }\n });\n }\n }\n\n var $numberOfVisitorsUpdate = jQuery(\"#numberOfParticipants\");\n $numberOfVisitorsUpdate.on('change', UpdateBookingValidateVisitorsCount);\n $numberOfVisitorsUpdate.on('keyup', UpdateBookingValidateVisitorsCount);\n $numberOfVisitorsUpdate.on('click', UpdateBookingValidateVisitorsCount);\n var bookingIdentifier;\n jQuery('#updateBookingNr').on('click', function () {\n var newPersonNr = jQuery('#numberOfParticipants').val();\n });\n jQuery('.editRedBtn').on('click', function () {\n var $bookingItem = jQuery(this).closest('.booking-item');\n var hasEmailLink = $bookingItem.find(\".is-restaurant-booked\").length > 0;\n var c = $bookingItem.attr('class').split(' ');\n var bookingId = c[1];\n var bookingNo = c[2];\n var personNo = c[3];\n var minvisitors = $bookingItem.data('minvisitors');\n var maxvisitors = $bookingItem.data('maxvisitors');\n ShowUpdateBookingDialog(personNo, bookingNo, bookingId, true, null, null, hasEmailLink, minvisitors, maxvisitors); //var $bookingItem = jQuery(this).parent().parent().parent();\n //var hasEmailLink = $bookingItem.find(\".is-restaurant-booked\").length > 0;\n //var c = $bookingItem.attr('class').split(' ');\n //var bookingId = c[1];\n //var bookingNo = c[2];\n //var personNo = c[3];\n //ShowUpdateBookingDialog(personNo, bookingNo, bookingId, true, null, null, hasEmailLink);\n });\n jQuery('.closeRedBtn').on('click', function () {\n var c = jQuery(this).parent().parent().parent().attr('class').split(' ');\n var bookingId = c[1];\n var bookingNo = c[2];\n ShowCancelBookingDialog(bookingNo, bookingId, true);\n });\n jQuery('#btnWriteRestaurantUpdateBooking, #btnWriteRestaurantCancelBooking').on('click', function () {\n WriteRestaurant();\n });\n jQuery('.js-button-hide-dialog').on('click', function (e) {\n e.preventDefault();\n HideDialog();\n });\n jQuery('.js-hide-cancel-booking-dialog').on('click', function (e) {\n e.preventDefault();\n HideCancelBookingDialog();\n });\n jQuery('#updateBookingNr').on('click', function (e) {\n e.preventDefault();
1\n\n if (UpdateBooking()) {\n HideUpdateBookingDialog();\n }\n });\n jQuery('#btnCancel').on('click', function (e) {\n e.preventDefault();\n CancelBooking();\n HideCancelBookingDialog();\n });\n /* LEGACY CODE ENDS HERE */\n },\n RequiredFields: function RequiredFields() {\n var fieldsValidate = true;\n jQuery(\".booking-form__field__label--required\").each(function () {\n element = jQuery(this);\n\n if (element.closest('.booking-form__field').find('.booking-form__field__textbox, .booking-form__field__textarea').val() === \"\") {\n fieldsValidate = false;\n element.closest('.booking-form__field').next().show().find(\"[data-form-error='Required']\").show();\n }\n });\n return fieldsValidate;\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.BookingMyPages.Setup();\n }\n});"},7589:e=>{e.exports="/**\r\n * BEGIN: Original booking.js\r\n */\n//****************************************************************************************//\n// Variables *//\n//****************************************************************************************//\n// Current step in wizard tabs1, tabs2, tabs3 and tabs4\nvar currentStep = 1; // Query string used to pass visitortype\n\nvar qs = getQueryStringObject(document.location.href);\nvar basket = [];\nvar currentSlideNo = 1; //****************************************************************************************//\n// Events *//\n//****************************************************************************************//\n\njQuery(document).ready(function () {\n jQuery(\"[data-js='InsertBookingLogin']\").append(jQuery(\"[data-js='BookingLogin']\")); // Booking system iframe set height\n\n var bookingIframeHeight = jQuery('.booking-system__iframe').data('min-height');\n jQuery('.booking-system__iframe').css('min-height', bookingIframeHeight);\n\n if (typeof jqLegacy151 !== 'undefined') {\n // Show content of basket variable\n ShowMyBasket(); // Initialize field values\n\n fillContent(); // Set default status for visit to restaurant allowed\n\n ShowBookRestaurantVisitAllowed(); //Click event for teasers on booking frontpage. Directly moved from legacy solution - consider wrapping the teasers in an anchor tag instead.\n\n var list = jQuery('.booking-categories__offer, .booking-categories__teaser, .js-nested-article-link').has('a');\n list.css('cursor', 'pointer');\n list.on('click', function () {\n window.location = jQuery(this).find(\"a\").attr(\"href\");\n return false;\n });\n var $tabs = jqLegacy151('#tabs');\n if (!$tabs || $tabs.length == 0) return;\n $tabs.tabs();\n\n if (jQuery('.currentStep').val() != '') {\n ChangeTab(jQuery('.currentStep').val());\n }\n\n var bookingType = jQuery('.booking-type');\n\n if (bookingType.find('.booking-type__row--filter').length > 0) {\n var selectedValue = jQuery(\"#schoolType :selected\").val();\n var filterClass = selectedValue.substring(1, 7);\n bookingType.find(\".\" + filterClass).show().first().find(\"input[type='radio'][name='booking_type']\").attr('checked', 'checked');\n } else {\n bookingType.find('.booking-type__row').first().find(\"input[type='radio'][name='booking_type']\").attr('checked', 'checked');\n ShowBookRestaurantVisitAllowed(); // Call method again to set the restaurant is-unavailable class\n } // Initialize events\n //*************\n // TAB 1 EVENTS\n //*************\n // Event for school type\n\n\n jQuery('#schoolType').on('change', function () {\n // Hide all groupLevels\n var container = jQuery('.booking-type');\n var rows = container.find('.booking-type__row--filter');\n rows.hide();\n var selectedValue = jQuery(\"#schoolType :selected\").val();\n var filterClass = selectedValue.substring(1, 7);\n rows.find(\"input[type='radio'][name='booking_type']\").removeAttr('checked');\n var displayedRows = container.find(\".\" + filterClass);\n displayedRows.show();\n displayedRows.first().find(\"input[type='radio'][name='booking_type']\").prop('checked', true);\n setSelectedVisitTypeActive();\n /* var selectedIndexSchoolType = getSchoolTypeIndex();\r\n var selectedGroupLevels = '#groupLevels_' + (selectedIndexSchoolType + 1);\r\n jQuery(selectedGroupLevels).show();\r\n */\n //jQuery('.booking_step_descr_cnt').hide();
1\n\n jQuery('.bookingPeriod').hide();\n var selectedIndex = getVisitTypeIndex();\n /*\r\n var selectedDescription = '#booking_description' + selectedIndex;\r\n jQuery(selectedDescription).show();\r\n */\n\n var selectedPeriod = '#periodGroup' + selectedIndex;\n jQuery(selectedPeriod).show();\n ShowBookRestaurantVisitAllowed();\n SetInfoText();\n }); // Event on booking type\n\n jQuery('.booking-type input').on('click', function () {\n jQuery('.bookingPeriod').hide(); //jQuery('.booking__category').hide();\n\n var selectedIndex = getVisitTypeIndex();\n var selectedPeriod = '#periodGroup' + selectedIndex;\n jQuery(selectedPeriod).show();\n SetInfoText();\n ShowBookRestaurantVisitAllowed();\n validateWithEmptyPersons();\n }); // Event on number of person\n\n jQuery('#no_pers').change(function () {\n validate(false);\n }); // Event on period\n\n jQuery('.booking_steps_filter_periode input').on('click', function () {\n // Set the selected period\n var selectedPeriod = getVisitTypeIndex();\n var selectedPeriodID = '#selectedPeriod' + selectedPeriod;\n jQuery(selectedPeriodID).val(jQuery(this).val());\n validate(false);\n }); // Event on calendar carousel select\n\n jQuery('body').on('click', '.btime_box_available', function (e) {\n e.preventDefault();\n jQuery('.btime_box_available').removeClass('selected');\n jQuery(this).addClass('selected');\n var restaurantMenuType = jQuery(\"input[type='radio'][name='menuType1']:checked\").val();\n var text = jQuery(\".booking-type input[name='booking_type']:checked\").closest('.booking-type__row').find('.booking-type__title').first().text();\n var selectedVisitID = jQuery(this).attr(\"id\");\n var selectedStartTime = jQuery(this).attr(\"startDate\");\n var year = selectedStartTime.substring(0, 4);\n var month = selectedStartTime.substring(4, 6);\n var day = selectedStartTime.substring(6, 8);\n var hour = selectedStartTime.substring(9, 11);\n var minutes = selectedStartTime.substring(11, 13);\n var selectedEndTime = jQuery(this).attr(\"endDate\");\n jQuery('#selectedBookingStartTime').val(selectedStartTime);\n jQuery('#selectedBookingEndTime').val(selectedEndTime);\n jQuery('.booking_steps_filter_date_cnt').before('<input type=\"hidden\" id=\"selDateBooking\" value=\"' + parseInt(year) + \",\" + parseInt(month) + \",\" + parseInt(day) + '\"/>'); // Set basket values\n\n restaurantTimeBasket = \"\";\n basket = [{\n visitors: jQuery('#no_pers').val(),\n title: text,\n date: day + '-' + month + '-' + year,\n time: hour + \":\" + minutes,\n visitid: selectedVisitID,\n menuType: restaurantMenuType,\n selectedBookingStartTime: selectedStartTime,\n selectedBookingEndTime: selectedEndTime,\n schoolType: getSchoolTypeValue(),\n restaurantTime: restaurantTimeBasket\n }];\n ShowMyBasket();\n jQuery(\"#errorSelectDate\").hide(); //Check if the restaurant is allowed\n\n if (IsRestaurantAllowed()) {\n // Reset fields if selected before\n jQuery(\"input[type='radio'][name='menuType1'][disabled=false]:first\").attr('checked', 'checked');\n jQuery('#selectedMenuTime').val(\"\");\n ShowRestaurant(selectedStartTime, selectedEndTime, true, \"\");\n }\n }); // Set the calendar scroller\n\n var booking_time_carousel;\n\n if (jQuery('.booking_time_slides').size() > 0) {\n booking_time_carousel = jqLegacy151('.booking_time_slides').cycle({\n fx: 'scrollHorz',\n next: '.booking_time_slides_nav .brt_next',\n prev: '.booking_time_slides_nav .brt_prev',\n speed: 1000,\n timeout: 0,\n autostop: 1,\n nowrap: 1,\n before: function before(currSlideElement, nextSlideElement, options, forwardFlag) {\n currentSlideNo = jQuery(nextSlideElement).index() + 1;\n jQuery('.booking_time_slides_nav a').removeClass('disabled');\n var pos = jQuery('div.booking_time_slide', booking_time_carousel).index(jQuery(this));\n jQuery('.booking_time_slides_nav a').eq(pos).addClass('disabled');\n }\n });\n }\n\n jQuery('#buttonSearch').on('click', function () {\n if (validate(true)) {\n window.location.hash = \"\";\n window.location.hash = \"#calendarEventHeader\";\n }\n }); // Set selected visit type active (to show its details)\n\n jQuery('.booking-type__name').on('click', function () {\n setSelectedVisitTypeActive();\n }); // Next button tab 1\n\n jQuery('#changeTab2').on('click', function () {\n if (validate(false) == true) {\n if (jQuery('#selectedBookingStartTime').val() == \"\") {\n jQuery(\"#errorSelectDate\").show();\n } else {\n updateMenu(); //this might be a bit redundant, but it is needed for the corner case where user has been to the restaurant tab, selected\n // \"Restaurant visit after the tour\", clicked \"back\" and selected a visit that causes the \"after\" menu to be different from the \"before\" menu\n\n ChangeTab(2);\n SetInfoText();\n }\n }\n }); //*************\n // TAB 2 EVENTS\n //*************\n\n jQuery('#lastBackBtn').on('click', function () {\n ChangeTab(3);\n });\n jQuery('#changeTab3WithoutMenu').on('click', function () {\n var params = '{menuType:\\\"\\\",menuId:\\\"\\\",menuDescription:\\\"\\\",menuNotes:\\\"\\\",menuTime:\\\"\\\"}';\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/PassMenuInformation\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n showBillingInfo(false);\n UpdateBasket();\n ChangeTab(3);\n }\n });\n SetInfoText();\n });\n jQuery(\"input[type='radio'][name='selectRestaurantMenu']\").on('click change', function () {\n jQuery(\"#errorNoMenuSelected\").html(\"\");\n });\n\n var updateMenu = function updateMenu() {\n var menuType = jQuery(\"input[type='radio'][name='menuType1']:checked\").val();\n var possibleMenuTime = jQuery('#possibleMenuTime').val();\n var selectedStartTime = jQuery('#selectedBookingStartTime').val();\n var selectedEndTime = jQuery('#selectedBookingEndTime').val();\n\n if (menuType == 0) {\n if (ShowRestaurant(selectedStartTime, selectedEndTime, true, \"\") == true) jQuery('#selectedMenuTime').val(possibleMenuTime);else jQuery('#selectedMenuTime').val(\"\");\n } else {\n if (ShowRestaurant(selectedStartTime, selectedEndTime, false, \"\") == true) jQuery('#selectedMenuTime').val(selectedEndTime);else jQuery('#selectedMenuTime').val(\"\");\n }\n };\n\n jQuery(\"input[type='radio'][name='menuType1']\").on('click', updateMenu);\n jQuery('#changetoTab3').on('click', function () {\n var menuType = jQuery(\"input[type='radio'][name='menuType1']:checked\").val();\n var menuID = jQuery(\"input[type='radio'][name='selectRestaurantMenu']:checked\").val();\n var menu = jQuery(\"input[type='radio'][name='selectRestaurantMenu']:checked\").parents(':eq(1)').find('.booking_substep_section_review_rest_descr_cnt_right').html(); // If after then booking end.\n\n var menuTime = jQuery('#selectedMenuTime').val();\n var menuNotes = jQuery('#info3').val();\n var params = '{menuType:\\\"\\\",menuId:\\\"\\\",menuDescription:\\\"\\\",menuNotes:\\\"\\\",menuTime:\\\"\\\"}';\n\n if (menuTime != \"\" && menuID != \"\" && menuID != null) {\n params = '{menuType:\\\"' + menuType + '\\\",menuId:\\\"' + menuID + '\\\",menuDescription:\\\"' + menu + '\\\",menuNotes:\\\"' + menuNotes + '\\\",menuTime:\\\"' + menuTime + '\\\"}';\n\n if (basket.length > 0) {\n basket[0].restaurantTime = menuTime;\n var html = jQuery('#hmyBasket').val();\n html = html.replace('{NrPerson}', basket[0].visitors);\n html = html.replace('{VisitType}', basket[0].title);\n html = html.replace('{Date}', basket[0].date);\n html = html.replace('{Time}', basket[0].time);\n\n if (menuTime != \"\") {\n html = html.replace('[', '');\n html = html.replace(']', '');\n var restaurantTimeBasket = menuTime.substring(9, 11) + \":\" + menuTime.substring(11, 13);\n html = html.replace('{restaurantTime}', restaurantTimeBasket);\n } else {\n html = html.replace(/ *\\[[^)]*\\] */g, \"\");\n }\n\n jQuery('#my_basket').html(html);\n }\n\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/PassMenuInformation\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n ChangeTab(3);\n },\n error: function error(xhr, ajaxOptions, thrownError) {}\n });\n } else {\n var errorText = jQuery(\"#noMenuIsSelected\").html();\n jQuery(\"#errorNoMenuSelected\").html(errorText);\n }\n\n SetInfoText();\n });\n jQuery('#tabs').bind('tabsselect', function (event, ui) {\n // Objects available in the function context:\n // ui.tab // anchor element of the selected (clicked) tab\n // ui.panel // element, that c
1ontains the selected/clicked tab contents\n // ui.index // zero-based index of the selected (clicked) tab\n ChangeTab(ui.index + 1);\n }); // jQuery('.calendar').on('click', function () {\n // if (calendar.dateClicked) {\n // year = calendar.date.getFullYear();\n // month = calendar.date.getMonth() + 1; // integer, 0..11\n // day = calendar.date.getDate(); // integer, 1..31\n // month = (month > 9) ? month : (\"0\" + month);\n // day = (day > 9) ? day : (\"0\" + day);\n // jQuery('#selDate').val(year + \"-\" + month + \"-\" + day);\n // validate(false);\n // }\n // });\n\n var dateValidation = function dateValidation() {\n var fromDate = jQuery('#from').val();\n var splitted = fromDate.split('-');\n year = splitted[2];\n month = splitted[1];\n day = splitted[0];\n jQuery('#selDate').val(year + \"-\" + month + \"-\" + day);\n validate(false);\n };\n\n var $dateInputFrom = jQuery('#from');\n $dateInputFrom.on('blur', dateValidation);\n $dateInputFrom.on('change', dateValidation);\n $dateInputFrom.on('keydown', dateValidation);\n }\n}); //****************************************************************************************//\n// Validate functions *//\n//****************************************************************************************//\n\nfunction validateVisitType() {\n var visitTypeID = jQuery('.booking-type__row input[name=booking_type]:checked').attr('value');\n\n if (visitTypeID == '') {\n visitTypeID = -1;\n }\n\n return visitTypeID;\n}\n\nfunction validatePersons() {\n var visitTypeIndex = getVisitTypeIndex();\n var noPers = parseInt(jQuery('#no_pers').val());\n var min = parseInt(jQuery('#minVisitors' + visitTypeIndex).val());\n var max = parseInt(jQuery('#maxVisitors' + visitTypeIndex).val());\n var isInside = min <= noPers && noPers <= max;\n var Guids = ''; // will be the value of visit type\n\n if (noPers.toString() != jQuery('#no_pers').val().toString() || !isInside) {\n var errorLbl = jQuery('#hPersonNrError').html().replace('{min}', min).replace('{max}', max);\n jQuery('#personNrError').html(errorLbl);\n jQuery('#personNrError').show();\n noPers = -1;\n } else {\n jQuery('#personNrError').hide();\n }\n\n return noPers;\n}\n\nfunction getSchoolTypeIndex() {\n var selectedIndex = 0;\n var selectedSchoolType = jQuery('#schoolType');\n if (selectedSchoolType.length > 0) selectedIndex = selectedSchoolType.get(0).selectedIndex;\n return selectedIndex;\n}\n\nfunction getSchoolTypeValue() {\n var selectedSchoolType = jQuery(\"#schoolType :selected\").text();\n return selectedSchoolType;\n}\n\nfunction getVisitTypeIndex() {\n var rb_bt = jQuery('.booking-type__row input[name=booking_type]:checked');\n\n if (rb_bt.length == 0) {\n return undefined;\n }\n\n var index = \"booking_type\".length;\n var v = rb_bt.attr('id');\n var selectedIndex = v.substring(index);\n return selectedIndex;\n}\n\nfunction getDaysAHead() {\n var visitTypeIndex = getVisitTypeIndex();\n var daysAHeadValue = jQuery('#daysAhead' + visitTypeIndex).val();\n return parseInt(daysAHeadValue) || 2;\n}\n\nfunction validatePeriod() {\n var selectedVisitTypeIndex = getVisitTypeIndex();\n var numberOfDays = -1;\n\n if (selectedVisitTypeIndex != -1) {\n var rb = jQuery('#selectedPeriod' + selectedVisitTypeIndex);\n var numberOfDays = parseInt(rb.val());\n }\n\n return numberOfDays;\n}\n\nfunction validateDate2() {\n var returnDate = \"\";\n\n if (jQuery('#selDate').val() != \"\") {\n var selectedDateTemp = jQuery('#selDate').val();\n var matches = /^(\\d{4})[-](\\d{2})[-](\\d{2})$/.exec(selectedDateTemp);\n\n if (matches != null) {\n var d = matches[3];\n var m = matches[2] - 1;\n var y = matches[1];\n var composedDate = new Date(y, m, d);\n\n if (composedDate.getDate() == d && composedDate.getMonth() == m && composedDate.getFullYear() == y) {\n jQuery('#dateValidateError').hide();\n var today = new Date();\n var minDate = new Date();\n var tempDate = new Date(today.setDate(today.getDate() + getDaysAHead()));\n var minDate = new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate(), 0, 0, 0, 0);\n var selectedDate = NewDate(jQuery('#selDate').val());\n\n if (minDate <= selectedDate) {\n jQuery('#dateError').hide();\n var strCalendarEndDate = jQuery('#calendarEndDate').val();\n\n if (strCalendarEndDate != '') {\n var maxMonth = parseInt(strCalendarEndDate.substring(4, 6), 10) - 1;\n var maxDate = new Date(strCalendarEndDate.substring(0, 4), maxMonth, strCalendarEndDate.substring(6, 8), 0, 0, 0, 0);\n\n if (selectedDate <= maxDate) {\n returnDate = jQuery('#selDate').val();\n jQuery('#calendarError').hide();\n } else {\n jQuery('#calendarError').show();\n }\n } else {\n //OK if empty end date\n returnDate = jQuery('#selDate').val();\n }\n } else {\n jQuery('#dateError').show();\n jQuery('#calendarError').show();\n }\n } else {\n jQuery('#dateValidateError').show();\n }\n } else {\n jQuery('#dateValidateError').show();\n }\n }\n\n return returnDate;\n}\n\nfunction validate(doUpdateCalendar) {\n var visitTypeID = validateVisitType();\n var noPersons = validatePersons();\n var selectedDate = validateDate2();\n var selectedPeriod = validatePeriod();
1\n var valid = true;\n if (visitTypeID == \"\") valid = false;\n if (noPersons == -1) valid = false;\n if (selectedDate == \"\") valid = false;\n if (selectedPeriod == -1) valid = false;\n\n if (valid && doUpdateCalendar) {\n var fromDate = NewDate(selectedDate);\n var visitTypeIndex = getVisitTypeIndex();\n var timeIntervalID = jQuery('#timeIntervalID' + visitTypeIndex).val();\n BuildCalendar(noPersons, fromDate, selectedPeriod, visitTypeID, timeIntervalID);\n } else {\n //Clear calender result\n jQuery('#calendarResult').html('');\n }\n\n return valid;\n}\n\nfunction validateWithEmptyPersons() {\n var visitTypeID = validateVisitType();\n var selectedDate = validateDate2();\n var selectedPeriod = validatePeriod();\n var noPers = \"-1\";\n var valid = true;\n if (visitTypeID == \"\") valid = false;\n\n if (jQuery('#no_pers').val().toString() == \"\") {\n valid = false;\n } else {\n noPers = validatePersons();\n if (noPers == -1) valid = false;\n }\n\n if (selectedDate == \"\") valid = false;\n if (selectedPeriod == -1) valid = false; //Clear calender result\n\n jQuery('#calendarResult').html('');\n return valid;\n} //****************************************************************************************//\n// Other functions *//\n//****************************************************************************************//\n\n\nfunction setSelectedVisitTypeActive() {\n // Set selected visit type active (to show its details)\n var selectedType = jQuery('.booking-type__row input[name=booking_type]:checked');\n jQuery('.booking-type__row').removeClass('selected');\n selectedType.closest('.booking-type__row').addClass('selected');\n var d = new Date();\n d.setHours(0, 0, 0, 0);\n d.setDate(d.getDate() + getDaysAHead());\n var datestring = (\"0\" + d.getDate()).slice(-2) + \"-\" + (\"0\" + (d.getMonth() + 1)).slice(-2) + \"-\" + d.getFullYear();\n $('.booking-select-date #from').val(datestring);\n}\n\nfunction dateifyer(str) {\n var date = new Date();\n\n if (str != '') {\n str = str.split('-');\n selYear = str[2];\n selMonth = str[1] - 1;\n selDay = str[0];\n date.setUTCFullYear(selYear, selMonth, selDay);\n date.setUTCHours(0, 0, 0, 0);\n }\n\n return date;\n}\n\nfunction NewDate(str) {\n var date = new Date();\n\n if (str != '') {\n str = str.split('-');\n selYear = str[0];\n selMonth = str[1] - 1;\n selDay = str[2];\n date.setUTCFullYear(selYear, selMonth, selDay);\n date.setUTCHours(0, 0, 0, 0);\n }\n\n return date;\n}\n\nfunction ShowObject(data) {\n var text = '';\n\n for (name in data) {\n text += name + '=' + data[name] + '\\n';\n }\n\n ;\n}\n\n;\n\nfunction ChangeTab4Hide1() {\n jQuery('#tabs1').addClass('tabs-hide');\n}\n\nfunction getQueryStringObject(qs) {\n var o = {};\n var p = qs.indexOf('?');\n if (p < 0) p = qs.length;\n o.requestUri = qs.substring(0, p);\n var s = qs.substring(p + 1);\n var li = s.lastIndexOf('#'); // remove bookmark\n\n if (li >= 0) s = s.substring(0, li);\n var list = s.split(\"&\");\n\n for (var i = 0; i < list.length; i++) {\n var pair = list[i].split(\"=\");\n if (pair.length > 1) o[pair[0]] = pair[1];else o[pair[0]] = undefined;\n }\n\n return o;\n}\n\n;\n\nfunction DateTimeString(Date) {\n var day = Date.getDate(); //yeilds day\n\n if (day.toString().length == 1) day = \"0\" + day;\n var month = Date.getMonth() + 1; //yeilds month\n\n if (month.toString().length == 1) month = \"0\" + month;\n var year = Date.getFullYear(); //yeilds year\n\n var timeBooking = year + '' + month + '' + day + 'T000000';\n return timeBooking;\n}\n\nfunction ShowRestaurant(startTime, endTime, beforeBooking, selectedMenuID) {\n // Sets the possible values for the menu\n var intYear = parseInt(startTime.substring(0, 4), 10);\n var intMonth = parseInt(startTime.substring(4, 6), 10) - 1;\n var intDay = parseInt(startTime.substring(6, 8), 10);\n var intHour = parseInt(startTime.substring(9, 11), 10);\n var intMinute = parseInt(startTime.substring(11, 13), 10);
1\n var intSecond = parseInt(startTime.substring(13, 15), 10);\n var tempTime = new Date(intYear, intMonth, intDay, intHour, intMinute, intSecond, 0);\n tempTime.setHours(tempTime.getHours() - 1);\n var menuTime = ISODateString(tempTime);\n jQuery(\"#possibleMenuTime\").val(menuTime);\n var time1 = menuTime.substring(9, 11) + \":\" + menuTime.substring(11, 13);\n var text1 = jQuery('#txtBeforeVisit').html();\n text1 = text1.replace(\"{time}\", time1);\n jQuery('#rbBeforeVisit').html(text1);\n var time2 = endTime;\n time2 = time2.substring(9, 11) + \":\" + time2.substring(11, 13);\n var text2 = jQuery('#txtAfterVisit').html();\n text2 = text2.replace(\"{time}\", time2);\n jQuery('#rbAfterVisit').html(text2);\n var result = false;\n var params = '{strStartTime:\\\"' + startTime + '\\\", strEndTime:\\\"' + endTime + '\\\", beforeOrAfter:\\\"' + beforeBooking + '\\\"}';\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/GetRestaurantMenus\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n var menus = '';\n var tableValues;\n\n if (msg.d !== \"\") {\n tableValues = jQuery.parseJSON(msg.d);\n }\n\n var html = '';\n var menus = 0;\n var categoryTitle = '';\n var i = 0;\n\n if (tableValues != null && tableValues != \"\") {\n jQuery.each(tableValues, function (index) {\n var id = this.Id;\n var price = this.Price;\n var startTimeBefore = this.StartTimeBefore;\n\n if (categoryTitle.indexOf(this.Category) == -1) {\n html += '<h3>' + this.Category + '</h3>';\n categoryTitle += this.Category + '|';\n }\n\n html += '<div class=\"brow clearfix\">';\n if (id == selectedMenuID) html += '<span class=\"custom-radio\"><input type=\"radio\" class=\"menu_chk\" value=\"' + id + '\" id=\"' + id + '\" name=\"selectRestaurantMenu\" stb=\"' + startTimeBefore + '\" checked=\\\"checked\\\" /><span class=\"icon\" /></span>';else html += '<span class=\"custom-radio\"><input type=\"radio\" class=\"menu_chk bottom\" value=\"' + id + '\" id=\"' + id + '\" name=\"selectRestaurantMenu\" stb=\"' + startTimeBefore + '\"/><span class=\"icon\" /></span>';\n html += '<div class=\"booking_substep_section_review_rest_descr clearfix\">';\n\n if (this.ImagePath != '') {\n html += '<div class=\"booking_substep_section_review_rest_descr_cnt_left\">';\n html += '<img width=\"84\" height=\"84\" src=\"/~/media' + this.ImagePath + '.ashx\" alt=\"\"/></div>';\n }\n\n html += '<div class=\"booking_substep_section_review_rest_descr_cnt_right\">';\n var menuDescription = jQuery('#menuDescription').html();\n menuDescription = menuDescription.replace(\"{title}\", this.Name);\n menuDescription = menuDescription.replace(\"{price}\", this.Price);\n menuDescription = menuDescription.replace(\"{description}\", this.Description);\n html += menuDescription;\n html += '</div></div></div>';\n menus = 1;\n i++;\n });\n jQuery('#MenuSet').empty();\n jQuery('#MenuSet').append(html);\n var menuType = jQuery(\"input[type='radio'][name='menuType1']:checked\").val();\n\n if (menuType == 0) {\n if (menus > 0) {\n jQuery('#selectedMenuTime').val(jQuery('#possibleMenuTime').val());\n } else {\n jQuery('#selectedMenuTime').val(\"\");\n }\n } else jQuery('#selectedMenuTime').val(jQuery('#selectedBookingEndTime').val());\n\n result = true;\n jQuery('#menuInfo').show();\n } else {\n jQuery('#MenuSet').empty();\n jQuery('#MenuSet').append(\"<span class=\\\"error\\\">\" + jQuery('#noMenu').html() + \"<span>\");\n jQuery('#menuInfo').hide();\n result = false;\n }\n }\n });\n return result;\n} //Remove validation when radio button checked\n\n\njQuery(document).on('change', '.menu_chk.bottom', function () {\n jQuery('#errorNoMenuSelected').hide();\n});\n\nfunction SetInfoText() {\n var selectedIndex = getVisitTypeIndex();\n jQuery('#globalcontent_0_pagelayoutbcontent_1_tabthree_ltrlSpecialAccount').html(jQuery('#infoTextLabel' + selectedIndex).val());\n jQuery('#js-booking-comment-error-message').text(jQuery('#infoTextErrorText' + selectedIndex).val());\n\n if (jQuery('#infoTextLabelExtra' + selectedIndex).val() != \"\") {\n jQuery('#infoTextLabelExtra').html(jQuery('#infoTextLabelExtra' + selectedIndex).val());\n jQuery('#infoTextLabelExtra').show();\n jQuery('.manchet-error').addClass('has-manchet');\n } else {\n jQuery('#infoTextLabelExtra').hide();\n }\n\n if (jQuery('#infoTextRequired' + selectedIndex).val() == \"1\") {\n jQuery('#infoTextRequired').show();\n } else {\n jQuery('#infoTextRequired').hide();\n }\n\n jQuery('#srfvInfo3').html(jQuery('#infoTextErrorText' + selectedIndex).val()); // Position error text for comment field\n //var msg = jQuery('#js-booking-comment-error-message').parent();\n //var pos = jQuery('#js-booking-comment-error-message').closest('.booking-form').find('.booking-form__field__input-wrap').position().top;\n //msg.css('margin-top', pos + 10);\n}\n\nfunction ChangeTab(toStep) {\n switch (qs['visitortype']) {\n case '1':\n jQuery('.visitor_type_1').removeClass(\"is-hidden\");\n break;\n\n case '2':\n jQuery('.visitor_type_2').removeClass(\"is-hidden\");\n break;\n\n case '3':\n jQuery('.visitor_type_3').removeClass(\"is-hidden\");\n break;\n }\n\n window.scrollTo(0, 290);\n\n try {\n jqLegacy151('#tabs').tabs('select', '#tabs' + currentStep).addClass('disabled');\n } catch (e) {}\n\n AppendGroupCategoryOptions();\n AppendGroupTypeOptions();\n\n if (toStep == 3) {\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/GetBookingInformation\",\n data: {},\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != 'null' && msg.d != '') {\n var visitor = jQuery.parseJSON(msg.d);\n\n if (visitor.MenuID != null && visitor.MenuID != \"\") {\n showBillingInfo(true);\n } else {\n showBillingInfo(false);\n }\n } else {\n showBillingInfo(false);\n }\n }\n });\n } else {\n if (toStep == 2 && !IsRestaurantAllowed()) {\n if (currentStep < toStep) {\n toStep = 3;\n showBillingInfo(false);\n } else {\n toStep = 1;\n }\n } else {\n if (IsRestaurantAllowed()) {\n showBillingInfo(true);\n } else {\n showBillingInfo(false);\n }\n }\n }\n\n try {\n jqLegacy151('#tabs').tabs('select', '#tabs' + (toStep - 1)).removeClass('disabled').removeClass('step' + currentStep + '_btn').addClass('step' + toStep + '_btn');\n } catch (e) {}\n\n jQuery('#tabs1').addClass('tabs-hide');\n jQuery('#tabs2').addClass('tabs-hide');\n jQuery('#tabs3').addClass('tabs-hide');\n jQuery('#tabs4').addClass('tabs-hide');\n jQuery('#tabs' + toStep).removeClass('tabs-hide');\n currentStep = toStep;\n jQuery('.booking-ft#tabs').find('ul.nav-wizard').find('li').removeClass('active').removeAttr('aria-current', 'step');\n jQuery('.booking-ft#tabs').find('ul.nav-wizard').find('li:nth-child(' + currentStep + ')').addClass('active').attr('aria-current', 'step');\n jQuery('.currentStep').val(currentStep);\n ShowMyBasket();\n}\n\nfunction showBillingInfo(showInfo) {\n if (showInfo == true) {\n jQuery('#billingInformation').show();\n } else {\n jQuery('#billingInformation').hide();\n }\n}\n\nfunction ShowBookRestaurantVisitAllowed() {\n if (IsRestaurantAllowed()) {\n jQuery('.note_no_restaurant_visit').hide();\n jQuery(\"#atabs2\").removeAttr(\"style\");\n jQuery('#atabs2').parent().removeClass('is-unavailable');\n } else {\n jQuery('.note_no_restaurant_visit').show();\n jQuery('#atabs2').parent().addClass('is-unavailable'); // jQuery(\"#atabs2\").css({ \"color\": \"#cccccc\" });\n }\n} //**************************************************************\n// Other functions\n//**************************************************************\n\n\nfunction ShowBookingTimePopup(booking) {\n var html = '';\n html += booking.desc;\n jQuery('#btime_popup').html(html);\n}\n\nfunction fillContent() {\n textBooking = jQuery('#bookingInfomation').html();\n\n if (textBooking !== undefined) {\n var booking = null;\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/GetBookingInformation\",\n data: {},\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != 'null' && msg.d != '') {\n booking = jQuery.parseJSON(msg.d);\n\n if (booking != null) {\n // Setup all selected values.\
1n if (booking.Visitor != '') jQuery('#no_pers').val(booking.Visitor);\n\n if (booking.Date != '') {\n var strDate = booking.Date.substring(6, 10) + \"-\" + booking.Date.substring(3, 5) + \"-\" + booking.Date.substring(0, 2);\n jQuery('#selDate').val(strDate);\n jQuery('#from').val(booking.Date);\n } //setSelectedData(); cannot find function!\n\n\n if (booking.SelectedBookingStartTime != \"\" && booking.SelectedBookingStartTime != null) {\n jQuery(\"#selectedBookingStartTime\").val(booking.SelectedBookingStartTime);\n }\n\n if (booking.SelectedBookingEndTime != \"\" && booking.SelectedBookingEndTime != null) {\n jQuery(\"#selectedBookingEndTime\").val(booking.SelectedBookingEndTime);\n }\n\n var startTime = jQuery(\"#selectedBookingStartTime\").val();\n var endTime = jQuery(\"#selectedBookingEndTime\").val();\n\n if (booking.MenuTime != \"\" && booking.MenuTime != null) {\n jQuery(\"#selectedMenuTime\").val(booking.MenuTime); // Find the selected menu\n\n var beforeBooking = true;\n var selectedMenuType = 0;\n\n if (booking.MenuType == \"1\") {\n beforeBooking = false;\n selectedMenuType = 1;\n }\n\n var radios1 = jQuery('input:radio[name=menuType1]');\n radios1.filter('[value=' + selectedMenuType + ']').attr('checked', true);\n var selectMenuId = booking.MenuID;\n ShowRestaurant(startTime, endTime, beforeBooking, selectMenuId);\n } else {\n if (IsRestaurantAllowed()) {\n ShowRestaurant(startTime, endTime, true, \"\");\n }\n }\n\n if (booking.MenuNotes != \"\" && booking.MenuNotes != null) {\n jQuery(\"#info3\").val(booking.MenuNotes.replace(new RegExp(\"\\<br \\/\\>\", \"gm\"), \"\\n\"));\n }\n }\n }\n }\n });\n }\n}\n\nfunction ShowMyBasket() {\n var html = jQuery('#hmyBasket').val();\n\n if (html !== undefined) {\n if (basket.length == 0) {\n html = html.replace('{NrPerson}', '');\n html = html.replace('{VisitType}', '');\n html = html.replace('{Date}', '');\n html = html.replace('{Time}', '');\n html = html.replace(/ *\\[[^)]*\\] */g, \"\");\n } else {\n var params = '{visitors:\\\"' + basket[0].visitors + '\\\",title:\\\"' + basket[0].title + '\\\",date:\\\"' + basket[0].date + '\\\",time:\\\"' + basket[0].time + '\\\",visitid:\\\"{' + basket[0].visitid + '}\\\",selectedBookingStartTime:\\\"' + basket[0].selectedBookingStartTime + '\\\",selectedBookingEndTime:\\\"' + basket[0].selectedBookingEndTime + '\\\",schoolType:\\\"' + basket[0].schoolType + '\\\"}';\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/PassBookingInformation\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {}\n }); // Currently user can only select one item\n\n if (basket[0].visitors > 0 && basket[0].date != '' && basket[0].time != '') {\n html = html.replace('{NrPerson}', basket[0].visitors);\n html = html.replace('{VisitType}', basket[0].title);\n html = html.replace('{Date}', basket[0].date);\n html = html.replace('{Time}', basket[0].time);\n\n if (basket[0].restaurantTime) {\n html = html.replace('[', '');\n html = html.replace(']', '');\n var restaurantTimeBasket = basket[0].restaurantTime.substring(9, 11) + \":\" + basket[0].restaurantTime.substring(11, 13);\n html = html.replace('{restaurantTime}', restaurantTimeBasket);\n showBillingInfo(true);\n } else {\n html = html.replace(/ *\\[[^)]*\\] */g, \"\");\n showBillingInfo(false);\n }\n }\n }\n\n if (html != '') {\n jQuery('#my_basket').html(html);\n jQuery('#my_basket').show();\n jQuery('#nothing_in_basket').hide();\n }\n }\n}\n\nfunction UpdateBasket() {\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/GetBookingInformation\",\n data: {},\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != 'null' && msg.d != '') {\n var basket = jQuery.parseJSON(msg.d);\n var html = jQuery('#hmyBasket').val();\n html = html.replace('{NrPerson}', basket.Visitor);\n html = html.replace('{VisitType}', basket.Title);\n html = html.replace('{Date}', basket.Date);\n html = html.replace('{Time}', basket.Time);\n\n if (basket.MenuTime != \"\" && basket.MenuTime != null) {\n html = html.replace('[', '');\n html = html.replace(']', '');\n var restaurantTimeBasket = basket.MenuTime.substring(9, 11) + \":\" + basket.MenuTime.substring(11, 13);\n html = html.replace('{restaurantTime}', restaurantTimeBasket);\n showBillingInfo(true);\n } else {\n html = html.replace(/ *\\[[^)]*\\] */g, \"\");\n showBillingInfo(false);\n }\n\n jQuery('#my_basket').html(html);\n jQuery('#my_basket').show();\n jQuery('#nothing_in_basket').hide();\n } else {\n jQuery('#my_basket').hide();\n jQuery('#nothing_in_basket').show();\n }\n }\n });\n}\n\nfunction IsRestaurantAllowed() {\n var VisitTypeID = validateVisitType();\n\n if (jQuery('#showRestaurant' + VisitTypeID).val() == '1') {\n return true;\n } else {\n return false;\n }\n}\n\nfunction ShowDialog(modal, dialogId, overlayId) {\n if (!dialogId) var dialogId = 'dialogChange';\n if (!overlayId) var overlayId = 'overlay';\n jQuery(\"#\" + overlayId).show();\n jQuery(\"#\" + dialogId).fadeIn(300);\n\n if (modal) {\n jQuery(\"#\" + overlayId).unbind(\"click\");\n } else {\n jQuery(\"#\" + overlayId).click(function (e) {\n HideDialog(dialogId, overlayId);\n });\n }\n}\n\nfunction HideDialog(dialogId, overlayId) {\n if (!dialogId) var dialogId = 'dialogChange';\n if (!overlayId) var overlayId = 'overlay';\n jQuery(\"#\" + overlayId).hide();\n jQuery(\"#\" + dialogId).fadeOut(300);\n}\n\nfunction AddCalendarHoverListener() {\n jQuery('.btime_box_popup').prependTo('#calendarResult');\n jQuery('.btime_box_available a').on(\"mouseenter\", function a(e) {\n var row = jQuery(this).closest('tr').prevAll().length;\n var col = jQuery(this).closest('tr').children().index(jQuery(this).closest('td')) - 1;
1\n var perSlide = parseInt(jQuery('#carouselSlideNr').val().split('|')[0]); //jQuery('.btime_box_popup').css({ \"display\": \"block\"});\n\n jQuery('.btime_box_popup').css('top', jQuery(this).position().top - 200); //jQuery('.btime_box_popup').css('left', jQuery(this).position().left + ((800 / perSlide) * (col + 1)) + 100);\n\n jQuery('.btime_box_popup').css('left', jQuery(this).offset().left - jQuery(this).closest(\"#calendarContainer\").offset().left - jQuery(this).closest('.btime_box').width() / 2);\n var booking = {};\n var rb = jQuery('.booking-type input[name=\"booking_type\"]:checked');\n var v = rb.attr('value');\n var rb = jQuery('.booking-type input[name=\"booking_type\"]:checked');\n var label = rb.closest('.booking-type__row').find('.booking-type__title:not(.large)').first().text(); // Adding :not and first() selector, because if mutiple __title selectors text is multiplied. Fixes: Bug-29964\n\n var description = jQuery('#box_popup').html();\n\n if (label != null) {\n description = description.replace(\"{visitType}\", label);\n } else {\n description = description.replace(\"{visitType}\", \"\");\n }\n\n if (jQuery(this).html() != \"\") {\n description = description.replace(\"{time}\", jQuery(this).html());\n } else {\n description = description.replace(\"{time}\", \"\");\n }\n\n booking.desc = description;\n ShowBookingTimePopup(booking);\n jQuery('#calendarBooking .btime_box_popup').show();\n }).on(\"mouseleave\", function a(e) {\n jQuery('.btime_box_popup').hide();\n });\n}\n\nfunction BuildCalendar(noPers, dateFrom, period, visitID, timeIntervalID) {\n var selectedDate = dateifyer(jQuery('#from').val());\n jQuery(\"#errorSelectDate\").hide();\n jQuery('#loadingCalendar').show();\n jQuery('#calendarResult').html('');\n var language = jQuery(\"#language\").val();\n var complexObj = {\n From: DateTimeString(selectedDate),\n Period: period,\n ReturnCount: '1000',\n AvailableSeat: noPers,\n Image: 'false',\n Description: 'false',\n Language: language,\n VisitorsGuid: ['{' + visitID + '}'],\n TimeIntervalID: timeIntervalID\n };\n\n function columnLeftFix() {\n return;\n }\n\n var obj = {\n data: complexObj\n };\n var data2Send = JSON.stringify(obj); //convert obj to json\n // polyfilling unneeded jquery plugin\n //jQuery.fn.cycle = $.noop;\n //call the ComplexTypes page method with\n\n jQuery.ajax({\n type: \"POST\",\n url: '/Ws/BookingWebService.asmx/GetVisits',\n data: data2Send,\n contentType: \"application/json; charset=utf-8\",\n success: function success(arg) {\n //call successfull\n var decoded = jQuery(\"<div/>\").html(arg.d).text(); // If DOM (delivered by AJAX call) has 'error' in it, then hide the timepicker error message, because they day/week won't have any available times to pick anyway\n // Fixes BUG-35670\n\n if (arg.d.indexOf('error') > -1) {\n jQuery('#folketinget #errorSelectDate').hide();\n } // END bugfix Bug-35670\n\n\n jQuery('#calendarResult').html(decoded);\n jQuery('#loadingCalendar').hide();\n columnLeftFix();\n var booking_time_carousel;\n var currentSlideNo = 0;\n\n if (jQuery('.booking_time_slides').size() > 0) {\n booking_time_carousel = jQuery('.booking_time_slides').cycle({\n fx: 'scrollHorz',\n next: '.booking_time_slides_nav .brt_next',\n prev: '.booking_time_slides_nav .brt_prev',\n speed: 1000,\n timeout: 0,\n autostop: 1,\n nowrap: 1,\n before: function before(currSlideElement, nextSlideElement, options, forwardFlag) {\n currentSlideNo = jQuery(nextSlideElement).index() + 1;\n jQuery('.booking_time_slides_nav a').removeClass('disabled');\n var pos = jQuery('div.booking_time_slide', booking_time_carousel).index(jQuery(this));\n var n = jQuery(\".booking_time_slide\").length;\n\n if (currentSlideNo == 1) {\n jQuery('.brt_prev').addClass('disabled');\n }\n\n if (n == currentSlideNo) {\n jQuery('.brt_next').addClass('disabled');\n }\n }\n });\n }
1 //If there is only one page\n\n\n if (currentSlideNo == 0) {\n jQuery('.brt_prev').addClass('disabled');\n jQuery('.brt_next').addClass('disabled');\n }\n\n AddCalendarHoverListener();\n },\n error: function error(request, _error) {\n jQuery('#calendarResult').html('');\n columnLeftFix();\n }\n });\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n : n;\n}\n\nfunction ISODateString(d) {\n var year = d.getFullYear();\n return \"\" + d.getFullYear() + pad(d.getMonth() + 1) + pad(d.getDate()) + 'T' + pad(d.getHours()) + pad(d.getMinutes()) + pad(d.getSeconds());\n}\n\nfunction GetGroupLevelID(groupTypeId) {\n if (groupTypeId != '' && groupTypeId != null) {\n var params = '{groupTypeId:\\\"' + groupTypeId + '\\\"}';\n var selectedGroupLevelValue = \"\";\n var selectedGroupLevelText = \"\";\n jQuery.ajax({\n type: \"POST\",\n url: \"/Ws/BookingWebService.asmx/GetGroupLevelIdentifiers\",\n data: params,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n success: function success(msg) {\n if (msg.d != '') {\n var groupLevels = jQuery.parseJSON(msg.d);\n var options = jQuery(bookingtbGroupLevelIDClientID); //Remove all old once\n\n jQuery(bookingtbGroupLevelIDClientID).find(\"option\").remove();\n jQuery.each(groupLevels, function () {\n options.append(jQuery(\"<option />\").val(this.ID).text(this.Name));\n\n if (selectedGroupLevelValue == \"\") {\n selectedGroupLevelValue = this.ID;\n selectedGroupLevelText = this.Name;\n }\n });\n jQuery(bookinghiddenGroupLevelClientID).val(selectedGroupLevelText);\n jQuery(bookinghiddenGroupLevelIDClientID).val(selectedGroupLevelValue);\n }\n }\n });\n }\n}\n\nfunction AppendGroupCategoryOptions() {\n jQuery(bookinghiddenGroupTypeIDClientID).val(jQuery(bookingtbGroupTypeClientID).val());\n jQuery(bookinghiddenGroupTypeClientID).val(jQuery(bookingtbGroupTypeClientID).find(\"option:selected\").text());\n GetGroupLevelID(jQuery(bookingtbGroupTypeClientID).val());\n return true;\n}\n\nfunction AppendGroupTypeOptions() {\n jQuery(bookinghiddenGroupLevelIDClientID).val(jQuery(bookingtbGroupLevelIDClientID).val());\n jQuery(bookinghiddenGroupLevelClientID).val(jQuery(bookingtbGroupLevelIDClientID).find(\"option:selected\").text());\n return true;\n}\n\njQuery(function () {\n if (jQuery('.booking-flow').length) {\n AppendGroupCategoryOptions();\n AppendGroupTypeOptions();\n jQuery(bookingtbGroupTypeClientID).change(function (e) {\n AppendGroupCategoryOptions();\n });\n jQuery(bookingtbGroupLevelIDClientID).change(function (e) {\n AppendGroupTypeOptions();\n });\n jQuery('#btnShowLogin').on('click', function (e) {\n jQuery('#loginBox').show();\n jQuery('#btnShowLogin').parent().hide();\n });\n }\n\n if (currentStep === 1) {\n setSelectedVisitTypeActive();\n }\n\n if (typeof bookinggroupClientID !== 'undefined') {\n var FillData = function FillData(data) {\n jQuery(bookinggroupClientID).val(data.Name);\n jQuery(bookinggroupIdClientID).val(data.ID);\n jQuery(bookingaddressClientID).val(data.Street);\n jQuery(bookingzipcodeClientID).val(data.ZipCode);\n jQuery(bookingcityClientID).val(data.City);\n jQuery(bookingaddressClientID).attr('readonly', 'readonly');\n jQuery(bookingzipcodeClientID).attr('readonly', 'readonly');\n jQuery(bookingcityClientID).attr('readonly', 'readonly');\n jQuery('#changeAddressInfo').show();\n jQuery('#srfvGroup').hide();\n jQuery('#srfvAddress').hide();\n jQuery('#srfvZipcode').hide();\n jQuery('#srfvCity').hide();\n jQuery('#srfvInfo3').hide();\n jQuery('#resetData').show();\n };\n\n /* Add the auto complete function to the field */\n var options = {\n autoSubmit: false,\n serviceUrl: \"/Presentation/BookingSearchGroup.aspx\",\n minChars: 2,\n onSelect: function onSelect(value, data) {\n FillData(data);\n return false;\n },\n doRunOnChange: true\n };\n jqLegacy151(bookinggroupClientID).autocomplete(options);\n }\n\n if (typeof bookingcommentClientID !== 'undefined') {\n //Checks if comment field is required on current type of event or not\n var selectedIndex = getVisitTypeIndex();\n\n if (jQuery('#infoTextRequired' + selectedIndex).val() == \"1\") {\n jQuery(bookingcommentClientID).addClass('booking-form__field__label--required');\n }\n\n jQuery('#js-booking-comment-error-message').text(jQuery('#infoTextErrorText' + selectedIndex).val());\n } // It's necessary that this is called after there is a check for whether the comment field is required or not\n\n\n jQuery(\".booking-form__field__label--required\").each(function () {\n var label = jQuery(this);\n label.parent().find('.booking-form__field__textbox, .booking-form__field__textarea').blur(function (e) {\n var field = jQuery(e.currentTarget);\n var isEmpty = PT.BookingForm.IsEmptyField(field);\n field.closest('.booking-form__field').next('.booking-form__error').hide().find('span').hide();\n\n if (!isEmpty) {\n PT.BookingForm.FieldType(field);\n } else {\n field.closest('.booking-form__field').next().show().find(\"[data-form-error='Required']\").show();\n }\n });\n }); //Reset the fields taged with js-reset-btn\n\n jQuery(\".js-reset-btn\").click(function () {\n jQuery('.js-reset').val(\"\");\n }); //Remove validation errors when group name is filled\n\n jQuery('.js-primary-adress').blur(function () {\n var val = jQuery('.js-primary-adress').val();\n\n if (jQuery(\".selected\").parents(\".autocomplete\").length == 1) {\n jQuery('.js-adress-street, .js-adress-zip, .js-adress-city').hide();\n }\n });\n});\n/**\r\n * END: Original booking.js\r\n */"},1683:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.CaseInfoConfigurableSpot\r\n===================================\r\n*/\n\nPT.CaseInfoConfigurableSpot = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.js-case-info-show-more').on('click', function (e) {\n e.preventDefault();\n\n if (jQuery(this).hasClass('is-active')) {\n PT.CaseInfoConfigurableSpot.ShowLess(jQuery(this).parent());\n jQuery(this).removeClass('is-active');\n } else {\n PT.CaseInfoConfigurableSpot.ShowMore(jQuery(this).parent());\n jQuery(this).addClass('is-active');\n }\n });\n },\n\n /*\r\n ===================================\r\n ShowMore\r\n ===================================\r\n */\n ShowMore: function ShowMore(elem) {\n elem.next('.js-case-info-show-more-container').addClass('is-active');\n },\n\n /*\r\n ===================================\r\n ShowLess\r\n ===================================\r\n */\n ShowLess: function ShowLess(elem) {\n elem.next('.js-case-info-show-more-container').removeClass('is-active');\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.CaseInfoConfigurableSpot.Setup();\n }\n});"},3162:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Committee\r\n===================================\r\n*/\n\nPT.Committee = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n HandleClick\r\n ===================================\r\n */\n HandleClick: function HandleClick(button) {\n PT.Committee.Navigate(jQuery(button));\n },\n\n /*\r\n ===================================\r\n Navigate\r\n ===================================\r\n */\n Navigate: function Navigate(elem) {\n //Desktop location value\
1n var location = elem.prev().prev().val(); //Mobile location value\n\n var mobileLocation = elem.prev().val();\n\n if ($('body').hasClass('device-mobile')) {\n if (mobileLocation.length) {\n window.location.assign(mobileLocation);\n }\n } else if ($('body').hasClass('device-desktop')) {\n if (location.length) {\n window.location.assign(location);\n }\n }\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n// Committee navigation now handled via onclick attributes"},3942:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.CustomFileInput\r\n===================================\r\n*/\n\nPT.CustomFileInput = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.scfFileUpload').each(function () {\n var $input = jQuery(this);\n var $label = $input.parent().prev();\n var labelVal = $label.html();\n $input.data('multiple-caption', '{count} filer valgt');\n $input.on('change', function (e) {\n var filename = '';\n\n if (jQuery(this)[0].files && jQuery(this)[0].files.length > 1) {\n filename = (jQuery(this).data('multiple-caption') || '').replace('{count}', jQuery(this)[0].files.length);\n } else if (e.target.value) {\n filename = e.target.value.split('\\\\').pop();\n }\n\n if (filename) {\n $label.html(filename);\n } else {\n $label.html(labelVal);\n }\n });\n $input.on('focus', function () {\n $input.addClass('has-focus');\n }).on('blur', function () {\n $input.removeClass('has-focus');\n });\n });\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.CustomFileInput.Setup();\n }\n});"},9978:e=>{e.exports='jQuery(".global-filter").change(function () {\n var item = $(this);\n\n if (item.is(":checked")) {\n eval(document.getElementById(\'FilterAddAll\').href);\n } else {\n eval(document.getElementById(\'FilterRemoveAll\').href);\n }\n});\njQuery(".local-filter").each(function (e) {\n jQuery(this).on(\'change\', function () {\n var item = jQuery(this);\n\n if (item.is(":checked")) {\n jQuery(this).parents(".custom-checkbox").siblings("#FilterLocalAdd")[0].click(e);\n } else {\n jQuery(this).parents(".custom-checkbox").siblings("#FilterLocalRemove")[0].click(e);\n }\n });\n});\njQuery(".generic-filter").each(function (e) {\n jQuery(this).on(\'change\', function () {\n var item = jQuery(this);\n\n if (item.is(":checked")) {\n jQuery(this).parents(".custom-checkbox").siblings("#FilterLocalAdd")[0].click(e);\n } else {\n jQuery(this).parents(".custom-checkbox").siblings("#FilterLocalRemove")[0].click(e);\n }\n });\n});\nvar customCheckbox = $(\'.ftDocumentBasket input[type="checkbox"]\');\n$(customCheckbox).each(function (element) {\n $(this).attr(\'role\', \'checkbox\');\n $(this).click(function () {\n if (this.getAttribute("aria-checked") == "true") {\n this.setAttribute("aria-checked", "false");\n } else {\n this.setAttribute("aria-checked", "true");\n }\n });\n});'}
1,8861:e=>{e.exports="$(document).ready(function () {\n var ebookColumnLookupServiceUrl = \"/Presentation/EbookColumnLookupService.ashx\";\n var ebookPages = \"ebog\";\n var session = $('.e-book-column-lookup .content-action--session-select');\n var appendices = $('.e-book-column-lookup .content-action--appendices-select');\n var search = $('.e-book-column-lookup .content-action--search-link');\n var column = $('.e-book-column-lookup .content-action--column-text');\n var validation = $('.e-book-column-lookup .content-action--validation-text');\n var errorMessageForInvalidColumn = validation.data(\"column-invalid-error-message\");\n var errorMessageForColumnNotFound = validation.data(\"column-not-found-error-message\");\n var baseLayoutClasses = $('body').attr(\"class\");\n var fullpageTrigger = $('.ebook__fullpage');\n session.change(function (event) {\n event.preventDefault();\n $.getJSON(ebookColumnLookupServiceUrl, {\n method: \"GetAppendices\",\n session: session.val()\n }).done(function (data) {\
1n var items = [];\n $.each(data, function (index, item) {\n var isSelected = \"\";\n if (item.IsDefault) isSelected = \" selected\";\n items.push(\"<option value='\" + item.Value + \"'\" + isSelected + \">\" + item.Name + \"</option>\");\n });\n var selectedValue = appendices.val();\n appendices.find('option').remove().end().append(items.join(\"\"));\n var selectedValueExist = appendices.find(\"option[value='\" + selectedValue + \"']\").length > 0;\n\n if (selectedValueExist) {\n appendices.val(selectedValue).change();\n }\n\n appendices.trigger(\"chosen:updated\");\n }).fail(function (jqxhr, textStatus, error) {\n appendices.find('option').remove().end().trigger(\"chosen:updated\");\n });\n });\n appendices.change(function () {\n column.val(\"\");\n });\n\n function toogleFilters() {\n $(fullpageTrigger).toggleClass(\"is-open\");\n filterSelection.slideToggle('fast');\n $('.ebook').toggleClass('has-filter');\n\n if ($(fullpageTrigger).hasClass('is-open')) {\n title = 'Luk søgning';\n } else {\n title = 'Ã
bn Søgning';\n }\n\n $(fullpageTrigger).attr('title', title);\n }\n\n function getHostName() {\n return location.protocol + '//' + location.hostname;\n }\n\n function isColumnValid() {\n var value = column.val();\n if (value === \"\") return true;\n return value.match(/^[a-z0-9]+$/i);\n }\n\n function ebookSearch() {\n validation.html('');\n\n if (!isColumnValid()) {\n validation.html(errorMessageForInvalidColumn);\n return;\n }\n\n var isIpaperPage = typeof ebpEbookId !== 'undefined';\n\n if (!isIpaperPage) {\n var newWindow = window.open(\"/Presentation/searching.htm?bc=\" + baseLayoutClasses);\n }\n\n $.getJSON(ebookColumnLookupServiceUrl, {\n method: \"search\",\n session: session.val(),\n appendix: appendices.val(),\n column: column.val()\n }
1).done(function (data) {\n if (data.Error === \"COLUMN-INVALID\") {\n validation.html(errorMessageForInvalidColumn);\n\n if (!isIpaperPage) {\n newWindow.close();\n }\n\n return;\n }\n\n if (data.Error === \"NOT-FOUND\") {\n validation.html(errorMessageForColumnNotFound);\n\n if (!isIpaperPage) {\n newWindow.close();\n }\n\n return;\n }\n\n var url = getHostName() + \"/\" + ebookPages + \"/\" + data.EbookId + \"?s=\" + column.val();\n\n if (!isIpaperPage) {\n newWindow.location.href = url;\n return;\n }\n\n if (ebpEbookId === data.EbookId) {\n iPaperInstance.paging.goToPage(data.Page);\n return;\n }\n\n window.location.href = url;\n }).fail(function (jqxhr, textStatus, error) {\n console.log(error);\n });\n\n if (isColumnValid()) {\n validation.html('');\n } else {\n validation.html(errorMessageForInvalidColumn);\n }\n }\n\n fullpageTrigger.on('keydown', function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n toogleFilters();\n }\n });\n column.on('keydown', function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n search.trigger(\"click\");\n }\n });\n $('.tab-pane').on('keydown', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault(); // Trigger different submit if this tab is active\n\n if ($(this).hasClass('spalte') && $(this).hasClass('active')) {\n event.stopPropagation();\n ebookSearch();\n } else if ($(event.target).hasClass(\"search-in-label\") || $(event.target).hasClass(\"search-input\") || $(event.target).hasClass(\"btn-search\")) {// Do nothing\n } else {\n // Clicks last element of .find() with class 'input'\n $(this).find('input').trigger('click');\n }\n }\n });\n $(document).on('keydown', function (event) {\n if (event.key === 'Enter') {\n if ($('.e-book-column-lookup').length) {\n event.preventDefault();\n ebookSearch();\n }\n }\n });\n search.click(function (e) {\n e.preventDefault();\n ebookSearch();\n });\n search.on('keydown', function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n ebookSearch();\n }\n }); // Initialize with pre-selected edp values if provided\n\n if (typeof edpSession === 'undefined') return;\n if (typeof edpApendix === 'undefined') return;\n edpApendix = edpApendix.toUpperCase();\n var edpApendixExist = appendices.find(\"option[value='\" + edpApendix + \"']\").length > 0;\n\n if (!edpApendixExist) {\n appendices.append(\"<option value='\" + edpApendix + \"'></option>\");\n }\n\n appendices.val(edpApendix).change();\n session.val(edpSession);\n session.trigger(\"chosen:updated\");\n session.trigger(\"change\");\n});"},9642:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Europakort\r\n===================================\r\n*/\n\nPT.Europakort = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.select a', '.js-europamap').on('click', function (e) {\n e.preventDefault();\n PT.Europakort.ClickList(jQuery(this));\n });\n jQuery('.map .countries g', '.js-europamap').on('click', function (e) {\n e.preventDefault();\n PT.Europakort.ClickCountry(jQuery(this));\n });\n PT.Europakort.ClickList(jQuery('.select li:first-child a', '.js-europamap'));\n },\n\n /*\r\n ===================================\r\n Click list\r\n ===================================\r\n */\n ClickList: function ClickList(elem) {\n jQuery('.select a', '.js-europamap').attr('class', '');\n elem.addClass(elem.data('tag'));\n\n if (!jQuery('html').hasClass('ie8')) {\n jQuery('.js-europamap').attr('class', 'europe-map-container js-europamap ' + elem.data('tag'));\n }\n\n jQuery('.info div', '.js-europamap').hide();\n jQuery('.info div[class=\"' + elem.data('tag') + '\"]', '.js-europamap').show();\n },\n\n /*\r\n ===================================\r\n Click country\r\n ===================================\r\n */\n ClickCountry: function ClickCountry(elem) {\n jQuery('.info div', '.js-europamap').hide();\n jQuery('.info div[class=\"' + elem.attr('id') + '\"]', '.js-europamap').show();\n elem.attr('class', elem.attr('mydata:tag') + ' selected');\n },\n LoadMap: function LoadMap() {\n if (jQuery('.js-load-europemap').length) {\n var foundin = jQuery('.js-load-europemap:contains(\"##-\")');\n var re = /##-([^}]+)-##/g;\n var tt = re.exec(foundin.text());\n var svgUrl = '/dist/Images/Global/' + tt[1]; //var svgUrl = 'Global/Images/' + tt[1];\n\n if (jQuery('html').hasClass('ie8')) {\n var img = document.createElement(\"img\");\n var svg2image = '/dist/Images/Global/europemap.png';\n img.src = svg2image;\n jQuery(\".js-load-europemap\").empty().append(img).show();\n PT.Europakort.Setup();\n } else {\n jQuery(\".js-load-europemap\").load(svgUrl, function () {\n jQuery(\".js-load-europemap\").show();\n PT.Europakort.Setup();\n });\n }\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Europakort.LoadMap();\n }\n});"},3443:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.ExchangeRateCalculator\r\n===================================\r\n*/\n\nPT.ExchangeRateCalculator = {\n Variables: {\n rate: 0\n },\n Setup: function Setup() {\n PT.ExchangeRateCalculator.rate = jQuery('#calculateExchangeButton').closest('.exchange-rate-calculator').data('rate') || 1;\n jQuery('#euroInput').on('blur', function () {\n var inp = jQuery(this),\n opposite = jQuery('#dkkInput');\n opposite.val(PT.ExchangeRateCalculator.toDKK(inp.val()));\n });\n jQuery('#dkkInput').on('blur', function () {\n var inp = jQuery(this),\n opposite = jQuery('#euroInput');\n opposite.val(PT.ExchangeRateCalculator.toEURO(inp.val()));\n });\n },\n toEURO: function toEURO(s) {\n var f = parseFloat(s);\n if (isNaN(f)) return 0;\n return Math.round(10000 * f / PT.ExchangeRateCalculator.rate) / 10000;\n },\n toDKK: function toDKK(s) {\n var f = parseFloat(s);\n if (isNaN(f)) return 0;\n return Math.round(10000 * f * PT.ExchangeRateCalculator.rate) / 10000;\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.ExchangeRateCalculator.Setup();\n }\n});"},2634:e=>{e.exports='$icon = $(".header-tabs__trigger a");\n$triggerLink = $(".mobile-nav .header-tabs__trigger-link");\n$desktopClose = $(".header-tabs__trigger__close-desktop");\n$mobileClose = $(".header-tabs__trigger-link--close");\n$icon.on("click", function () {\n if ($(window).width() >= 992) {\n $(this).parent().parent().animate({\n marginTop: "-=50px"\n }, 200);\n $(\'.header-tabs__trigger-link--open\').attr(\'tabindex\', -1).attr("aria-hidden", "true");\n } else {\n $(".header-tabs .tab-spot-a__tabs").animate({\n scrollLeft: $(".tab-spot-a__tabs__item.active").position().left\n }, 100);\n }\n});\n$desktopClose.on("click", function () {\n if ($(window).width() >= 992) {\n $(".header-tabs__trigger").parent().animate({\n marginTop: "0px"\n }, 200);\n $(\'.header-tabs__trigger-link--open\').attr(\'tabindex\', 0).attr("aria-hidden", "false");\n $icon.attr("aria-expanded", "false");\n }\n});\n$triggerLink.on("click", function () {\n if ($(window).width() <= 991) {\n if ($(".header-tabs").hasClass("in")) {\n $(".mobile-nav .header-tabs__trigger-link--open").css("display", "inline-block");\n $(".mobile-nav .header-tabs__trigger-link--close").hide();\n } else {\n $(".mobile-nav .header-tabs__trigger-link--open").hide();\n $(".mobile-nav .header-tabs__trigger-link--close").show();\n }\n }\n});\n$(window).load(function () {\n if ($(window).width() <= 991 && $(".tab-spot-a__wrapper").length) {\n $(".tab-spot-a__tabs").animate({\n scrollLeft: $(".tab-spot-a__tabs__item.active").position().left\n }, 100);\n }\n\n if ($(".header-tabs").hasClass("in")) {\n $icon.attr("aria-expanded", "true");\n $(".result-list-spot-accordion__heading").addClass("is-folded");\n $(".mobile-nav .header-tabs__trigger-link--open").hide();\n $(".mobile-nav .header-tabs__trigger-link--close").css("display", "inline-block");\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "-50px"\n }, 200);\n } else {\n $icon.attr("aria-expanded", "false");\n $(".result-list-spot-accordion__heading").removeClass("is-folded");\n $(".mobile-nav .header-tabs__trigger-link--open").css("display", "inline-block");\n $(".mobile-nav .header-tabs__trigger-link--close").hide();\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "0px"\n }, 200);\n }\n});\n$(window).resize(function () {\n if ($(".header-tabs").hasClass("in")) {\n $(".result-list-spot-accordion__heading").addClass("is-folded");\n $(".mobile-nav .header-tabs__trigger-link--open").hide();\n $(".mobile-nav .header-tabs__trigger-link--close").css("display", "inline-block");\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "-50px"\n }, 200);\n } else {\n $(".result-list-spot-accordion__heading").removeClass("is-folded");\n $(".mobile-nav .header-tabs__trigger-link--open").css("display", "inline-block");\n $(".mobile-nav .header-tabs__trigger-link--close").hide();\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "0px"\n }, 200);\n }\n}); // Wrapping accordion trigger around the global search\n\nif ($(".site-folketingstidende").length) {\n $(".wrapper.header-container .toggle-search").wrap(\'<a data-toggle="collapse" data-parent="#accordionFilter" href="#accordion-tab" class="header-tabs__trigger-link header-tabs__trigger-link--open is-intercept-search" title="Ã
bn søgning"></a>\');\n $(".wrapper.header-container .toggle-search").attr("tabindex", "-1"); // Trigger event for the wrap element around the global search\n\n $(".is-intercept-search, .mobile-nav .header-tabs__trigger-link").click(function () {\n if ($(".header-tabs").hasClass("in")) {\n $(".result-list-spot-accordion__heading").addClass("is-folded");\n $(".header-tabs-wrapper").addClass("is-folded");\n setTimeout(function () {\n $(".mobile-nav .header-tabs__trigger-link--open").hide();\n $(".mobile-nav .header-tabs__trigger-link--close").hide();\n }, 30);\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "-50px"\n }, 200);\n } else {\n $(".result-list-spot-accordion__heading").removeClass("is-folded");\n $(".header-tabs-wrapper").removeClass("is-folded");\n setTimeout(function () {\n $(".mobile-nav .header-tabs__trigger-link--open").hide();\n }, 300);\n $(".mobile-nav .header-tabs__trigger-link--close").css("display", "inline-block");\n $(".desktop-nav .header-tabs__trigger").parent().animate({\n marginTop: "0px"\n }, 200);\n }\n }); // Add tabindex -1 and aria hidden to .header-tabs__trigger-link--open if .header-tabs has class in \n\n if ($(".header-tabs").hasClass("in")) {\n $(".header-tabs__trigger-link--open").attr("tabindex", "-1");\n $(".header-tabs__trigger-link--open").attr("aria-hidden", "true");\n } else {\n $(".header-tabs__trigger-link--open").attr("tabindex", "0");\n $(".header-tabs__trigger-link--open").attr("aria-hidden", "false");\n }\n}'},6:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\nvar Snap = Snap || {};\n/*\r\n===================================\r\nPT.FakeForm\r\n===================================\r\n*/\n\nPT.FakeForm = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n formSelector: '.js-fake-form',\n buttonSelector: '.js-fake-form-get',\n fieldsSelector: 'input, select',\n urlDataAttribute: 'searchpage-url',\n isStickyFacets: '',\n CheckFacet: {\n checkfacetFormSelector: '.js-fake-form-checkfacet-navigation',\n checkFacetWrapper: '.search-checkfacets-wrapper',\n checkBoxFacetItem: '.list-facets__items'\n }\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery(PT.FakeForm.Variables.buttonSelector).click(PT.FakeForm.FakeFormGet);\n\n if (jQuery(PT.FakeForm.Variables.CheckFacet.checkFacetWrapper).length) {\n jQuery(document).on('change', PT.FakeForm.Variables.CheckFacet.checkBoxFacetItem, function () {\n if (PT.Utils.Url.QueryString.Get('as') == \"1\") {\n jQuery(\"button#searchbutton.js-fake-form-get\").trigger('click');\n } else {\n PT.FakeForm.CheckFacetClickOnInactiveSearch();\n }\n });\n }
1\n\n this.Variables.isStickyFacets = parseInt(jQuery(\"input#stickyFacets\").val());\n },\n FakeFormGet: function FakeFormGet(event) {\n PT.OverlayOnSearch.Show();\n var $fakeForm = jQuery(event.target).closest(PT.FakeForm.Variables.formSelector);\n var $fields = jQuery.unique($fakeForm.find(PT.FakeForm.Variables.fieldsSelector));\n var $fakeCheckfacetForm = jQuery(PT.FakeForm.Variables.CheckFacet.checkFacetWrapper).find(PT.FakeForm.Variables.CheckFacet.checkfacetFormSelector);\n var $checkfacetFields = jQuery.unique($fakeCheckfacetForm.find(PT.FakeForm.Variables.fieldsSelector));\n jQuery.merge($fields, $checkfacetFields);\n var values = [];\n var selectedCheckFacetValues = {};\n $fields.each(function (index, element) {\n var $field = jQuery(element);\n var $form = $field.closest(PT.FakeForm.Variables.formSelector);\n var $mainSearchTextField = $form.find('input.tt-input');\n var advancedFields = document.querySelector(\".advanced-fields-panel\");\n if (!element.name) return;\n\n if (!!advancedFields && !!element) {\n if (advancedFields.contains(element)) {\n var inputContainer = PT.FakeForm.Helpers.GetInputContainer(element);\n\n if (inputContainer != null && inputContainer.style.display === \"none\") {\n console.log(\"Skipping: \" + element.id + \" pNode: \" + inputContainer.getAttribute(\"data-group\"));\n return;\n }\n }\n }\n\n switch (element.type) {\n case 'radio':\n if (element.checked) {\n values.push(element.name + '=' + encodeURIComponent(element.value));\n }\n\n break;\n\n case 'select-multiple':\n case 'select-one':\n if (!$field.hasClass('js-data-selected-facet-updater')) {\n var selectionValues = [];\n $field.find(':selected').each(function (selectedElementIndex, selectedElement) {\n var fieldValue = encodeURIComponent(selectedElement.value);\n selectionValues.push(fieldValue);\n });\n\n if (selectionValues.length > 0) {\n values.push(element.name + '=' + selectionValues.join(','));\n }\n }\n\n break;\n\n case 'submit':\n case 'button':\n log('skipping submit or button named ' + element.value);\n break;\n\n case 'text':\n case 'hidden':\n // skipHiddenFields is a result of: Bug 3944: Tom søgning fra det globale søgefelt fejler i den videre navigation på søgesiderne.\n var skipHiddenFields = $form.data('support-empty-string-search') == false && $mainSearchTextField.val() == '';\n var fieldValue = $field.val();\n\n if (fieldValue && $field.hasClass('datepicker')) {\n fieldValue = fieldValue.substring(6, 10) + '-' + fieldValue.substring(3, 5) + '-' + fieldValue.substring(0, 2);\n log('DateField - ' + element.name + '=' + fieldValue);\n }\n\n if (!skipHiddenFields) {\n var fieldValue = PT.FakeForm.Helpers.EncodeSearchString(fieldValue);\n values.push(element.name + '=' + fieldValue);\n }\n\n break;\n\n case 'checkbox':\n if (!$field.prop('checked')) break;\n selectedCheckFacetValues = PT.FakeForm.Helpers.AddCheckFacetValueToMap($field, selectedCheckFacetValues);\n break;\n\n default:\n log('Found a field');\n log(element);\n log('element.type');\n log(element.type);\n log('element.name');\n log(element.name);\n break;\n }\n }); // if sticky search\n\n if (PT.FakeForm.Variables.isStickyFacets === 1) {\n var urlParams = PT.FakeForm.Helpers.UrlParam();\n var facetList = [\"facet1\", \"facet2\", \"facet3\", \"facet4\", \"facet5\", \"facet6\", \"facet7\", \"facet8\"];\n Object.getOwnPropertyNames(urlParams).forEach(function (key) {\n var param = urlParams[key];\n\n if (facetList.indexOf(key.toLowerCase()) > -1) {\n values.push(key + \"=\" + param[0]);\n }\n });\n }\n\n jQuery.each(selectedCheckFacetValues, function (facetField, facetValue) {\n values.push(facetField + '=' + facetValue);\n });\n var searchPageUrl = $fakeForm.data(PT.FakeForm.Variables.urlDataAttribute);\n var parameters = values.join('&');\n\n if (searchPageUrl) {\n if (values.length) {\n if (searchPageUrl.indexOf('?') == -1) {\n searchPageUrl = searchPageUrl + '?';\n } else {\n searchPageUrl = searchPageUrl + '&';\n }\n }\n\n location.href = searchPageUrl + parameters;\n } else {\n var url = location.protocol + '//' + location.hostname + location.pathname + '?';\n location.href = url + parameters;\n }\n },\n //This function handles clicking on a checkfacet when there is no search performed, and basically just appends the selected check facets to the URL without making a search\n CheckFacetClickOnInactiveSearch: function CheckFacetClickOnInactiveSearch() {\n var $fakeCheckfacetForm = jQuery(PT.FakeForm.Variables.CheckFacet.checkFacetWrapper).find(PT.FakeForm.Variables.CheckFacet.checkfacetFormSelector);\n var $checkfacetFields = jQuery.unique($fakeCheckfacetForm.find(PT.FakeForm.Variables.fieldsSelector));\n var selectedCheckFacetValues = {};\n var facetFields = [];\n $checkfacetFields.each(function (index, element) {\n if (element.type != 'checkbox') return true;\n var $field = jQuery(element);\n facetFields.push($field.parent().parent().data('facet-field'));\n if (!$field.prop('checked')) return true;\n selectedCheckFacetValues = PT.FakeForm.Helpers.AddCheckFacetValueToMap($field, selectedCheckFacetValues);\n });\n var url = PT.Utils.Url.FullUrl();\n url = url.indexOf('?') == -1 ? url : url.substring(0, url.indexOf('?'));
1\n var queryString = PT.FakeForm.Helpers.BuildQueryString(jQuery.unique(facetFields), selectedCheckFacetValues);\n location.href = url + '?' + queryString;\n }\n};\n/*\r\n===================================\r\nPT.FakeForm.Helpers\r\n===================================\r\n*/\n\nPT.FakeForm.Helpers = {\n AddCheckFacetValueToMap: function AddCheckFacetValueToMap(field, checkFacetValues) {\n var facetField = field.parent().parent().data('facet-field');\n var facetValue = field.parent().parent().data('facet-value');\n var facetFieldValues = checkFacetValues[facetField];\n\n if (facetFieldValues) {\n var facetValues = facetFieldValues.split(',');\n facetValues.push(facetValue);\n checkFacetValues[facetField] = facetValues.join(',');\n } else {\n checkFacetValues[facetField] = facetValue;\n }\n\n return checkFacetValues;\n },\n BuildQueryString: function BuildQueryString(facetFields, checkFacetValues) {\n var queryStringMap = PT.Utils.Url.QueryString.All();\n jQuery.each(facetFields, function (index, facetField) {\n var facetValues = checkFacetValues[facetField];\n\n if (facetValues) {\n queryStringMap[facetField] = facetValues;\n } else {\n delete queryStringMap[facetField];\n }\n });\n var queryString = jQuery.map(Object.getOwnPropertyNames(queryStringMap), function (key) {\n return [key, queryStringMap[key]].join('=');\n }).join('&');\n return queryString;\n },\n UrlParam: function UrlParam() {\n var qd = {};\n\n if (location.search) {\n location.search.substr(1).split(\"&\").forEach(function (item) {\n var s = item.split(\"=\"),\n k = s[0],\n v = s[1] && decodeURIComponent(s[1]);\n (qd[k] = qd[k] || []).push(v);\n });\n }\n\n return qd;\n },\n EncodeSearchString: function EncodeSearchString(searchStr) {\n var patternPlus = /^\\+/;\n var patternQuote = /^\".*\"$/;\n\n if (searchStr.match(patternPlus)) {\n searchStr = searchStr.substr(1);\n searchStr = encodeURIComponent(searchStr);\n searchStr = \"+\" + searchStr;\n }\n\n if (searchStr.match(patternQuote)) {\n searchStr = searchStr.substr(1, searchStr.length - 2);\n searchStr = encodeURIComponent(searchStr);\n searchStr = \"\\\"\" + searchStr + \"\\\"\";\n }\n\n searchStr = searchStr.replace(/\\(/g, '%28');\n searchStr = searchStr.replace(/\\)/g, '%29');\n return searchStr;\n },\n GetInputContainer: function GetInputContainer(element) {\n var pattern = /input-data-group/;\n\n for (var i = 0; i < 6; i++) {\n element = element.parentNode;\n if (pattern.test(element.className)) return element;\n }\n\n return null;\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n PT.FakeForm.Setup();\n});"},4948:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.FormInterceptEnter\r\n===================================\r\n*/\n\nPT.FormInterceptEnter = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n textboxes: jQuery('.js-intercept-enter')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.FormInterceptEnter.Variables.textboxes.keydown(function (e) {\n var elem = jQuery(this);\n var clickElem = jQuery('#' + elem.data('button-id'));\n var code = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; //var KeyID = (e.which) ? e.which : e.keyCode;\n\n if (code === 13 && clickElem.length > 0) {\n e.preventDefault();\n\n if ($('.tt-dataset-1 .tt-cursor, .tt-dataset-2 .tt-cursor').children().length > 0) {\n return false;\n }\n\n if (clickElem.is('a')) {\n clickElem[0].click();\n } else {\n clickElem.trigger('click');\n }\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.FormInterceptEnter.Setup();\n }\n});"},9039:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Forms\r\n===================================\r\n*/\n\nPT.Forms = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {},\n\n /*\r\n ===================================\r\n CustomInputs\r\n ===================================\r\n */\n CustomInputs: function CustomInputs(e, elem) {\n var inputs = $('input[type=radio], input[type=checkbox]');\n inputs.each(function (index, item) {\n if (item.parentElement.classList.contains(\"custom-checkbox\")) return;\n $(item).wrap($('<span class=\"custom-' + item.type + '\" />'));\n $(item).after('<span class=\"icon\" />');\n }); //Custom field\n\n if ($('.scfForm .scfSectionContent').children('div.customHfield').length > 0) {\n $('.customHfield').closest('.scfForm').addClass('customHform');\n jQuery('.scfForm .customHfield .scfSingleLineGeneralPanel .scfValidator').remove();\n }\n }
1,\n Accessibility: function Accessibility() {\n var formCheckbox = $('.form-checkbox .icon');\n $('.form-checkbox .icon').attr('tabindex', '0');\n\n if ($(formCheckbox).is(\":focus\")) {\n if (e.which == 13) {\n $(\".form-checkbox input[type='checkbox']\").trigger(\"click\");\n }\n }\n },\n\n /*\r\n ===================================\r\n Webforms for Marketeers\r\n ===================================\r\n */\n wffmPlaceholders: function wffmPlaceholders(e, elem) {\n var placeholdertexts = jQuery('.scfSingleLineTextUsefulInfo', '.scfForm');\n placeholdertexts.each(function () {\n var text = jQuery(this).html();\n jQuery(this).prev().attr('placeholder', text);\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && $('html').hasClass('site-ft') || 'site-thedanishparliamentdk') {\n PT.Forms.CustomInputs();\n\n if (jQuery('.scfForm').length > 0) {\n PT.Forms.wffmPlaceholders();\n }\n }\n});\njQuery(document).keyup(function (e) {\n var formCheckbox = $('.form-checkbox .icon');\n $('.form-checkbox .icon').attr('tabindex', '0');\n $('.form-checkbox input').attr('tabindex', '-1'); //Intecepting Bot detect injected style\n\n setTimeout(function () {\n $('div.BDC_CaptchaDiv a').attr('tabindex', '0');\n $('.BDC_CaptchaDiv a img').attr('tabindex', '-1');\n }, 300);\n\n if ($(formCheckbox).is(\":focus\")) {\n if (e.which == 13) {\n $(\".form-checkbox input[type='checkbox']\").trigger(\"click\");\n }\n }\n});"},4819:e=>{e.exports="/**\r\n * Hiding fouc\r\n*/\nvar PT = PT || {};\nPT.Fouc = {\n hide: function hide() {\n jQuery('.js-prevent-fouc').addClass('prevent-fouc');\n },\n show: function show() {\n jQuery('.js-prevent-fouc').removeClass('prevent-fouc');\n }\n};\n/**\r\n * Init\r\n */\n\njQuery(window).load(function () {\n PT.Fouc.show();\n});"},4457:e=>{e.exports='var PT = PT || {};\nPT.CalendarMap = {\n markers: [],\n labels: \'ABCDEFGHIJKLMNOPQRSTUVWXYZ\',\n labelIndex: 0,\n map: {},\n\n /**\r\n * Inittializes the google map component and kicks of the creating of map makers based on data from sitecore.\r\n */\n initialize: function initialize() {\n var mapCanvas = document.getElementById(\'calendarMap\');\n var mapOptions = {\n mapTypeId: google.maps.MapTypeId.ROADMAP\n };\n this.bounds = new google.maps.LatLngBounds();\n this.map = new google.maps.Map(mapCanvas, mapOptions);\n this.initializeMarkers();\n },\n\n /**\r\n * Creates event markers for each event data item provided by sitecore (which are stored in global \'calendarEventData\' )\r\n */\n initializeMarkers: function initializeMarkers() {\n var self = this;\n\n if (googleMapData.length < 1) {\n self.map.setCenter({\n lat: 55.7030868,\n lng: 12.586656\n });\n } else {\n $.each(googleMapData, function (index, item) {\n var latLan = new google.maps.LatLng(item.lanLat.lat, item.lanLat.lng);\n self.bounds.extend(latLan);\n var startDate = new Date(item.startDate);\n var endDate = new Date(item.endDate);\n self.createMarker({\n name: item.title,\n coordinates: item.lanLat,\n location: item.location,\n organizer: item.organizer,\n url: item.url,\n startDate: startDate.format("dd-MM-yyyy"),\n endDate: item.endDate ? endDate.format("dd-MM-yyyy") : ""\n });\n });\n self.map.fitBounds(self.bounds);\n }\n\n var listener = google.maps.event.addListener(self.map, "idle", function () {\n if (googleMapData.length <= 1) self.map.setZoom(11);\n google.maps.event.removeListener(listener);\n });\n },\n\n /**\r\n * Function for creating a single event marker. Stores the event in the \'markers\' array.\r\n */\n createMarker: function createMarker(event) {\n var keepOpen = false;\n var contentString = "<div id=\'content\'><p><a href=\'" + event.url + "\'><h4>" + event.name + "</h4></a><div>
1" + event.startDate + " " + event.endDate + "</div><div><strong>Arrangør:</strong> <span>" + event.organizer + "</span></div><div><strong>Sted:</strong> <span>" + event.location + "</span></div></p></div>";\n var infowindow = new google.maps.InfoWindow({\n content: contentString,\n maxWidth: 300\n });\n var marker = new google.maps.Marker({\n position: event.coordinates,\n map: this.map,\n title: event.name,\n label: this.labels[this.labelIndex++ % this.labels.length]\n });\n marker.addListener("mouseover", function () {\n infowindow.open(this.map, marker);\n });\n marker.addListener("mouseout", function () {\n if (!keepOpen) infowindow.close(this.map, marker);\n });\n marker.addListener("click", function () {\n keepOpen = true;\n });\n infowindow.addListener("closeclick", function () {\n keepOpen = false;\n });\n this.markers.push(marker);\n },\n\n /**\r\n * Removes the given marker from the map and deletes it from the \'markers\' array.\r\n */\n removeMarker: function removeMarker(marker) {\n marker.setMap(null);\n }\n /*\r\n * Initialize google map if calendar element exists.\r\n */\n\n};\nif (document.getElementById(\'calendarMap\')) google.maps.event.addDomListener(window, \'load\', PT.CalendarMap.initialize());'},4503:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.ImageCaptions\r\n===================================\r\n*/\n\nPT.ImageCaptions = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n Images: jQuery('img.billede-med-alternativ-tekst')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.ImageCaptions.Variables.Images.each(function () {\n var elem = $(this);\n var img_width = elem.width();\n var figure = jQuery('<figure style=\"width:' + img_width + 'px;\"/>');\n var figureClass = elem.hasClass('pull-left') || elem.css('float') === 'left' ? 'pull-left' : elem.hasClass('pull-right') || elem.css('float') === 'right' ? 'pull-right' : '';\n figure.addClass(figureClass);\n elem.wrap(figure);\n var figcaption = jQuery('<figcaption class=\"caption\" />');\n figcaption.text(elem.attr('alt'));\n figcaption.insertAfter(elem);\n });\n $('.is-iframe').click(function (e) {\n var current, size;\n e.preventDefault(); // find out if #lightbox exists\n\n if ($('#lightbox').length > 0) {\n $('#lightbox').fadeIn(300);\n } else {\n // create HTML markup for lightbox window\n var lightbox = '<div id=\"lightbox\">' + '<div id=\"slideshow\">' + '<div class=\"iframe-items\"><a class=\"close-iframe\" title=\"Luk\"></a></div>' + '</div>' + '</div>';\n $('body').append(lightbox); // create and build iframe and fill lightbox\n\n $('.image-text-spot').find('.is-iframe').each(function () {\n var $href = $(this).attr('href');\n $('#slideshow .iframe-items').append('<div class=\"iframe-wrapper\">' + '<iframe src=\"' + $href + '\">' + '</div>');\n });\n } // set current to selected slide\n\n\n current = slideNum;\n }); // Get rid of it\n\n $('body').on('click', '#lightbox', function () {\n // using .on() instead of .live(). more modern, and fixes event bubbling issues\n $('#lightbox').fadeOut(300);\n $('#lightbox').remove();\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.ImageCaptions.Setup();\n }\n});"},4570:e=>{e.exports="(function () {\n function Infograph(el) {\n var animationData = window[jQuery(el).data(\"animation\")];\n var params = {\n container: el,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: animationData\n };\n\n if (typeof bodymovin !== 'undefined') {\n this.anim = bodymovin.loadAnimation(params);\n }\n }\n /* Initialize */\n\n\n jQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.info-graph').length > 0) {\n jQuery('.info-graph__animation').each(function (i, el) {\n new Infograph(el);\n });\n }\n });\n})();"},3016:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.InformationSpotE\r\n===================================\r\n*/\n\nPT.InformationSpotE = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n slider: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var counter = 0;\n jQuery('.informations-spot-e').each(function () {\n if (jQuery('.informations-spot-e__images__image-group', jQuery(this)).length === 1) {\n PT.InformationSpotE.NonCarousel(jQuery(this));\n jQuery(this).addClass(\"no-carousel\");\n } else {\n counter++;\n jQuery(this).addClass(\"has-carousel\");\n }\n\n jQuery('.informations-spot-e__images__image-group__popup', jQuery(this)).on('click', function () {\n PT.InformationSpotE.Lightbox_open(jQuery(this));\n });\n\n if (jQuery('.informations-spot-e__images__image-group__bottom-container', this).length) // use this if you are using id to check\n {\n jQuery(this).addClass(\"has-bottom\");\n } else {\n jQuery(this).addClass(\"no-bottom\");\n }\n });\n var allSliders = document.querySelectorAll('.swiper');\n\n for (i = 0; i < allSliders.length;
1 i++) {\n var sliderId = allSliders[i].dataset.id;\n PT.InformationSpotE.Variables.slider = new Swiper(\".\".concat(sliderId), {\n checkInView: true,\n preloadImages: false,\n speed: 500,\n lazy: true,\n direction: 'horizontal',\n loop: false,\n autoHeight: false,\n pagination: {\n el: \".swiper-pagination-\".concat(sliderId) // Pagination container\n\n },\n navigation: {\n nextEl: \".swiper-next-\".concat(sliderId),\n prevEl: \".swiper-prev-\".concat(sliderId)\n },\n on: {\n init: function init(swiper) {\n console.log(this.wrapperEl);\n var numOfSlides = this.wrapperEl.querySelectorAll(\".swiper-slide:not(.swiper-slide-duplicate\").length;\n var slides = this.wrapperEl.parentElement.parentElement.querySelector('.numberOfSlides'); // jQuery(slides).text((swiper.realIndex + 1) + '/' + numOfSlides);\n\n slides.innerHTML = swiper.realIndex + 1 + '/' + numOfSlides;\n },\n afterInit: function afterInit() {\n // set aria-hidden false on the active slide\n var activeSlide = this.slides[this.activeIndex];\n activeSlide.setAttribute('aria-hidden', 'false');\n },\n slideChange: function slideChange(swiper) {\n var numOfSlides = this.wrapperEl.querySelectorAll(\".swiper-slide:not(.swiper-slide-duplicate\").length;\n var slides = this.wrapperEl.parentElement.parentElement.querySelector('.numberOfSlides');\n slides.innerHTML = swiper.realIndex + 1 + '/' + numOfSlides; // Update aria-hidden on active slide change\n\n var activeSlide = this.slides[this.activeIndex];\n var allSlides = this.slides;\n allSlides.forEach(function (slide) {\n slide.setAttribute('aria-hidden', 'true');\n });\n activeSlide.setAttribute('aria-hidden', 'false');\n }\n }\n });\n }\n },\n\n /*\r\n ===================================\r\n Load images and hide sliders on single carousels\r\n ===================================\r\n */\n NonCarousel: function NonCarousel(elem) {\n $(\".informations-spot-e\").css({\n \"visibility\": \"visible\",\n // Stacking issue fixed by hiding and showing the slider onLoad \n \"max-height\": \"none\",\n \"overflow\": \"visible\"\n });\n PT.InformationSpotE.MakeCompact(jQuery(this));\n },\n // If there's no carousel element, and no title and content area below the image, \n // we should be able to provide more bottom margin form clean integration with below components.\n // We'll add the class for that here.\n MakeCompact: function MakeCompact(elem) {\n jQuery('.informations-spot-e', elem).addClass('informations-spot-e--compact');\n },\n\n /*\r\n ===================================\r\n Lightbox\r\n ===================================\r\n */\n Lightbox_open: function Lightbox_open(elem) {\n //This element gets appended before lightbox is faded in so that\n //elements with high z-index don't cover lightbox during fade.\n this.lightboxWrapper = document.createElement('div');\n this.lightboxWrapper.className = 'lightbox-wrapper';\n this.lightbox = document.createElement('div');\n var overlayDiv = document.createElement('div');\n overlayDiv.className = 'overlay';\n var image = document.createElement('img');\n image.className = 'expanded';\n image.src = elem.data('image');\n var columnWrapper = jQuery('body');\n this.lightbox.appendChild(overlayDiv);\n this.lightbox.appendChild(image); //Fade in lightbox overlay and image.\n\n columnWrapper.append(this.lightboxWrapper);\n this.lightbox.style.opacity = 0;\n this.lightboxWrapper.appendChild(this.lightbox); //Appended first for z-index fix (see comment above).\n\n var counter = 0;\n var lightBox = this.lightbox; //Otherwise \"this\" in callback function would refer to call function rather than FullPic property.\n\n var fadeInt = setInterval(function () {\n if (counter < 1.05) {\n lightBox.style.opacity = counter;\n counter += 0.05;\n } else {\n clearInterval(fadeInt);\n }\n }, 15); //Without passing \"this\" to \"self\", \"this\" would refer to\n //event listener in callback function.\n\n var self = this;\n overlayDiv.addEventListener('click', function () {\n PT.InformationSpotE.Lightbox_close();\n });\n image.addEventListener('click', function () {\n PT.InformationSpotE.Lightbox_close();\n });\n },\n Lightbox_close: function Lightbox_close() {\n var counter = 1;\n var lightBox = this.lightbox;\n var lightWrap = this.lightboxWrapper;\n var fadeInt = setInterval(function () {\n if (counter > 0) {\n lightBox.style.opacity = counter;\n counter -= 0.05;\n } else {\n clearInterval(fadeInt);\n jQuery('.lightbox-wrapper').remove();\n }\n }, 15);\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.informations-spot-e').length > 0) {\n PT.InformationSpotE.Setup();\n }\n});"},5086:e=>{e.exports='jQuery(function () {\n if (jQuery.fn.tooltip) {\n jQuery(\'[data-toggle="tooltip"]\').tooltip();\n }\n}); // Accesibility fix in Bootstrap in order to show the title attr\n\n$(".content-action-links .content-action a").each(function () {\n var dataOriginalTitle = $(this).attr(\'title\'); // Using proxy setTimeOut to keep "this" closure\n\n setTimeout($.proxy(function () {\n $(".content-action-links .content-action a").each(function () {\n var dataOriginalTitle = $(this).attr(\'data-original-title\');\n $(this).attr(\'title\', dataOriginalTitle);\n });\n }), 150);\n $(this).mouseenter(function () {\n $(this).attr("title", "");\n });\n $(this).mouseleave(function () {\n $(this).attr("title", dataOriginalTitle);\n });\n});'},2629:e=>
1{e.exports="var InstagramFeed = function InstagramFeed() {\n /*\r\n // Define variables\r\n var wrapper = document.querySelector('.instagram-feed-list');\r\n var items = wrapper.querySelectorAll('.instagram-feed-item');\r\n var itemsPerSlide = 6;\r\n var timeout;\r\n \n // Wrap itemsPerSlide number of items\r\n for (var i = 0; i < items.length; i++) {\r\n \n var modulus = i%itemsPerSlide;\r\n \n if (modulus === 0) {\r\n var slide = document.createElement('div');\r\n slide.className = 'instagram-feed-slide';\r\n }\r\n \n slide.appendChild(items[i]);\r\n \n if (modulus === 0) wrapper.appendChild(slide);\r\n };\r\n \n // Handle the scrolling and make it snap\r\n wrapper.addEventListener('scroll', function(e){\r\n clearTimeout(timeout);\r\n timeout = setTimeout(snap, 500);\r\n });\r\n \n // Snap to closest slide\r\n function snap() {\r\n var slidesOffset = [];\r\n var closestOffset = [];\r\n var slides = wrapper.getElementsByClassName('instagram-feed-slide');\r\n var indexOfClosestSlide;\r\n \n for (var i = 0; i < slides.length; i++) {\r\n slidesOffset.push(slides[i].offsetLeft);\r\n closestOffset.push(Math.abs(slides[i].offsetLeft - wrapper.scrollLeft));\r\n }\r\n \n indexOfClosestSlide = closestOffset.indexOf(Math.min.apply(null, closestOffset));\r\n $(wrapper).animate({'scrollLeft': slidesOffset[indexOfClosestSlide] + 'px'}, 300);\r\n }\r\n \n window.addEventListener('resize', snap);\r\n \n */\n};\n\nnew InstagramFeed();"},53:e=>{e.exports="// iPaper documentation https://docs.ipaper.io/flipbook-javascript-api/getting-started\nvar fullpageTrigger = $('.ebook__fullpage');\nvar filterSelection = $('.ebook__filter-selection');\nvar contentLinks = $('.ebook__content-links');\nvar sendToMail = $('.ebook .content-action--send-link');\nvar download = $('.ebook .content-action--download-link');\nvar ebookPrint = $('.ebook .content-action--print-link'); // Remove custome tooltip on ipaper in order to use native title\n\n$('.ebook .content-action-links .content-action a').removeAttr('data-toggle');\n$(document).ready(function () {\n triggerOnSpreadChange();\n});\nsendToMail.click(function () {\n var email = \"\";\n var locationHref = window.location.href;\n var body = locationHref;\n var url = 'mailto:' + email + '?body=' + body;\n $(this).attr(\"href\", url);\n});\nsetTimeout(function () {\n $('.ebook__fullpage-list').fadeIn(100);\n}, 1000);\nfullpageTrigger.click(function () {\n $(this).toggleClass(\"is-open\");\n filterSelection.slideToggle('fast');\n $('.ebook').toggleClass('has-filter');\n\n if ($(this).hasClass('is-open')) {\n title = 'Luk søgning';\n } else {\n title = 'Ã
bn Søgning';\n }\n\n $(this).attr('title', title);\n});\nvar currentSpreadPages = ['1'];\n\nif (typeof iPaperInstance !== 'undefined') {\n iPaperInstance.paging.getState(function (result) {\n if (result.currentSpread === '') {\n return;\n }\n\n currentSpreadPages = result.currentSpread;\n });\n}\n\nfunction getEbookPageName(page) {\n if (typeof ebp === 'undefined') {\n return \"\";\n }\n\n var column = ebp[page];\n\n if (typeof column === 'undefined') {\n return \"\";\n }\n\n return column;\n}\n\nfunction getFirstColumnNameOfPageName(columnSplit, pageName) {\n var index = pageName.indexOf(columnSplit);\n\n if (index < 0) {\n return pageName;\n }\n\n return pageName.substring(0, index);\n}\n\nfunction getPageSplit() {\n if (typeof ebpPageSplit === 'undefined') {\n return \" - \";\n }\n\n return ebpPageSplit;\n}\n\nfunction getColumnSplit() {\n if (typeof ebpColumnSplit === 'undefined') {\n return \"/\";\n }\n\n return ebpColumnSplit;\n}\n\nfunction getEbookId() {\n if (typeof ebpEbookId === 'undefined') {\n return \"\";\n }\n\n return ebpEbookId;\n}\n\nfunction getDownloadUrl(forPrinting) {\n var url = \"/Presentation/DownloadEBookPage.ashx?\";\n var eBookId = getEbookId();\n if (eBookId === \"\") return;\n url = url + \"id=\" + eBookId;\n var page1Columns = \"\";\n var page2Columns = \"\";\n\n if (typeof currentSpreadPages === 'undefined') {\n return;\n }\n\n if (currentSpreadPages.length < 1) return;\n url = url + \"&s1=\" + currentSpreadPages[0].toString();\n page1Columns = ebp[currentSpreadPages[0]];\n\n if (currentSpreadPages.length > 1) {\n url = url + \"&s2=\" + currentSpreadPages[1].toString();\n page2Columns = ebp[currentSpreadPages[1]];\n }\n\n if (forPrinting) {\n url = url + \"&p=1\";\n }\n\n url += \"&p1Col=\" + page1Columns;\n url += \"&p2Col=\" + page2Columns;\n return url;\n}\n\nfunction triggerOnSpreadChange() {\n if (typeof ebpSelectedPage === 'undefined') {\n return;\n }\n\n if (typeof ebpLastPage === 'undefined') {\n return;\n }\n\n if (typeof iPaperInstance === 'undefined') {\n return;\n } //Force onSpreadChanged to trigger\n\n\n if (ebpSelectedPage === ebpLastPage) {\n iPaperInstance.paging.gotoPage(1);\n } else {\n iPaperInstance.paging.goToPage(ebpLastPage);\n }\n\n iPaperInstance.paging.goToPage(ebpSelectedPage);\n}\n\ndownload.click(function () {\n var url = getDownloadUrl(false);\n if (!url) return;\n window.open(url);\n});\nebookPrint.click(function () {\n var url = getDownloadUrl(true);\n if (!url) return;\n window.open(url);\n});\n\nif (typeof iPaperInstance !== 'undefined') {\n iPaperInstance.paging.onChange(function (result) {\n currentSpreadPages = result.currentSpread;\n var currentSpread = result.currentSpread;\n var text = \"\";\n var allColumnNames = \"\";\n var pageSplit = getPageSplit();\n var columnSplit = getColumnSplit();\n\n for (var i = 0; i < currentSpread.length;
1 i++) {\n text += pageSplit + getEbookPageName(currentSpread[i].toString());\n allColumnNames += columnSplit + getEbookPageName(currentSpread[i].toString());\n }\n\n text = text.slice(pageSplit.length);\n allColumnNames = allColumnNames + columnSplit;\n jQuery(\"#ebookCurrentpage\").html(text);\n jQuery(\".ebook__page-display\").fadeIn(300);\n var columnNameFromQueryString = PT.Utils.Url.QueryString.Get('s');\n columnNameFromQueryString = columnSplit + columnNameFromQueryString + columnSplit;\n\n if (allColumnNames.indexOf(columnNameFromQueryString) >= 0) {\n return;\n }\n\n if (currentSpread.length < 1) {\n return;\n }\n\n var firstPageIndexOfTheDisplayedPages = currentSpread[0].toString();\n var pageNameOfTheFirstPage = getEbookPageName(firstPageIndexOfTheDisplayedPages);\n var firstColumnNameOnPage = getFirstColumnNameOfPageName(columnSplit, pageNameOfTheFirstPage);\n window.history.pushState('', '', '?s=' + firstColumnNameOnPage);\n });\n}"},9792:e=>{e.exports="// call jRespond and add breakpoints\nvar PT = PT || {};\nvar jRespond = jRespond || {};\n\nif (!jQuery('html').hasClass('ie8')) {\n var jRes = jRespond([{\n label: 'screen-xs',\n enter: 0,\n exit: 767\n }, {\n label: 'screen-sm',\n enter: 768,\n exit: 991\n }, {\n label: 'screen-md',\n enter: 992,\n exit: 1199\n }, {\n label: 'screen-lg',\n enter: 1200,\n exit: 10000\n }]);\n jRes.addFunc([{\n breakpoint: 'screen-xs',\n enter: function enter() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-xs',\n direction: 'enter'\n });\n },\n exit: function exit() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-xs',\n direction: 'exit'\n });\n }\n }, {\n breakpoint: 'screen-sm',\n enter: function enter() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-sm',\n direction: 'enter'\n });\n },\n exit: function exit() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-sm',\n direction: 'exit'\n });\n }\n }, {\n breakpoint: 'screen-md',\n enter: function enter() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-md',\n direction: 'enter'\n });\n },\n exit: function exit() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-md',\n direction: 'exit'\n });\n }\n }, {\n breakpoint: 'screen-lg',\n enter: function enter() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-lg',\n direction: 'enter'\n });\n },\n exit: function exit() {\n PT.Utils.Event.Trigger('responsive', {\n media: 'screen-lg',\n direction: 'exit'\n });\n }\n }]);\n}\n\njQuery(document).ready(function () {\n if (!jQuery('html').hasClass('ie8')) {\n PT.Utils.Event.Trigger('responsive', {\n media: jRes.getBreakpoint(),\n direction: 'initial'\n });\n }\n});"},1674:e=>{e.exports="function kalturaVideoSetup() {\n console.log('%c Kaltura setup! ', 'background: #222; color: #bada55');\n var videoElements = document.querySelectorAll(\".kaltura-video-thumb-wrapper\");\n videoElements.forEach(function (videoElement, index) {\n isThumbnailOnly = videoElement.getAttribute(\"data-isthumbnailonly\");\n playerUniqueId = videoElement.getAttribute(\"data-playeruniqueid\");\n videoId = videoElement.getAttribute(\"data-videoid\");\n\n if (isThumbnailOnly == \"True\") {\n getThumbnail(\"kaltura-thumbnail-\" + playerUniqueId, videoId);\n } else {\n showThumbnail(\"kaltura-video-\" + playerUniqueId, videoId);\n }\n });\n var captionContainer = document.querySelectorAll('.kaltura-video__caption');\n\n for (var i = 0; i < captionContainer.length; i++) {\n var content = this.captionContainer[i].querySelector('.caption');\n var captionHeight = content.offsetHeight / 2;\n this.captionContainer[i].style.height = captionHeight + 'px';\n }\n\n kWidget.addReadyCallback(function (elementId) {\n var videoId = getDataAttrByElementId(elementId, \"data-vi
1deoid\");\n document.getElementById(elementId).kBind(\"playerPlayEnd\", function () {\n showThumbnail(elementId, videoId);\n document.getElementById(elementId.replace(\"kaltura-video\", \"caption\")).classList.remove('playerPlayed');\n });\n document.getElementById(elementId).kBind('playerPlayed', function () {\n document.getElementById(elementId.replace(\"kaltura-video\", \"caption\")).classList.add('playerPlayed');\n });\n });\n\n function showThumbnail(elementId, videoId) {\n var playerId = getDataAttrByElementId(elementId, \"data-playerid\");\n kWidget.thumbEmbed({\n 'targetId': elementId,\n 'wid': '_2158211',\n 'uiconf_id': playerId,\n 'entry_id': videoId\n });\n }\n\n function getThumbnail(elementId, videoId) {\n var playerId = getDataAttrByElementId(elementId, \"data-playerid\");\n document.getElementById(elementId).src = kWidget.getKalturaThumbUrl({\n 'wid': '_2158211',\n 'uiconf_id': playerId,\n 'entry_id': videoId\n });\n }\n\n function getDataAttrByElementId(elementId, dataAttrName) {\n var currentElement = document.getElementById(elementId);\n return currentElement.parentElement.getAttribute(dataAttrName);\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', function () {\n if (document.querySelector(\".kaltura-video-thumb-wrapper\") && !document.querySelector(\".pageedit\")) {\n kalturaVideoSetup();\n }\n}, false);"},1708:e=>{e.exports='/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Accordion\r\n===================================\r\n*/\n\nPT.Leseweb = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var pafToolbar = document.querySelector(".paf-toolbar");\n var trigger = document.querySelector("#leseweb-container");\n var isShown = false;\n\n if (trigger) {\n trigger.addEventListener("click", function () {\n if (!isShown) {\n isShown = true;\n trigger.classList.add("leseweb-container--show");\n document.querySelector(".paf-toolbar").classList.add("paf-toolbar--show");\n document.querySelector(\'.paf-buttons\').setAttribute(\'tabindex\', 0);\n document.querySelector(\'.paf-buttons\').focus();\n } else {\n isShown = false;\n trigger.classList.remove("leseweb-container--show");\n document.querySelector(".paf-toolbar").classList.remove("paf-toolbar--show");\n\n if (vFact_dostop) {\n vFact_dostop();\n }\n }\n });\n trigger.addEventListener("keyup", function (e) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n\n if (keycode == "13") {\n if (!isShown) {\n isShown = true;\n trigger.classList.add("leseweb-container--show");\n document.querySelector(".paf-toolbar").classList.add("paf-toolbar--show");\n document.querySelector(\'.paf-buttons\').setAttribute(\'tabindex\', 0);\n document.querySelector(\'.paf-buttons\').focus();\n } else {\n isShown = false;\n trigger.classList.remove("leseweb-container--show");\n document.querySelector(".paf-toolbar").classList.remove("paf-toolbar--show");\n\n if (vFact_dostop) {\n vFact_dostop();\n }\n }\n }\n });\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery("body").hasClass("pageedit")) {\n PT.Leseweb.Setup();\n }\n});'},6997:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.ListeSpotTable\r\n===================================\r\n*/\n\nPT.ListeSpotTable = {\n /*\r\n ===================================\r\n V
1ariables\r\n ===================================\r\n */\n Variables: {\n table: jQuery('table tbody', '.js-row-click'),\n tableAccordion: jQuery('table tbody', '.js-row-click-accordion'),\n linkList: jQuery(\"a.link-list\")\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n //Sitecore bug/Does't set class in RTE for single link\n jQuery('a.link-list, a.front-arrow').closest('ul').addClass('link-list');\n jQuery('tr', PT.ListeSpotTable.Variables.table).each(function () {\n var rowLink = jQuery('td:nth-child(1) a', this);\n var rowLinkUrl = '';\n\n if (typeof rowLink.attr('href') !== 'undefined') {\n rowLinkUrl = rowLink.attr('href');\n }\n\n var rowTargetBlank = false;\n\n if (typeof rowLink.attr('target') !== 'undefined') {\n rowTargetBlank = rowLink.attr('target') === '_blank';\n } // If the table has class members-groups, make tr clickable instead of td\n\n\n if (PT.ListeSpotTable.Variables.table.parent().hasClass('click-on-row')) {\n jQuery(this).each(function () {\n var cellLink = jQuery('td:not(.not-clickable) a', this);\n var cellLinkUrl = '';\n\n if (typeof cellLink.attr('href') !== 'undefined') {\n cellLinkUrl = cellLink.attr('href');\n }\n\n var cellTargetBlank = false;\n\n if (typeof cellLink.attr('target') !== 'undefined') {\n cellTargetBlank = cellLink.attr('target') === '_blank';\n }\n\n if (rowLinkUrl !== '' || cellLinkUrl !== '') {\n jQuery(this).addClass('has-url'); // Add class to cell if it has link\n\n jQuery(this).css('cursor', 'pointer'); // Add cursor pointer to row\n\n jQuery(this).attr('tabindex', '0'); // Make row with link focusable\n\n jQuery(this).find('a').attr('tabindex', '-1'); // Add tabindex -1 to the link inside the cell to avoid double tab stops\n\n var linkUrl = rowLinkUrl;\n var targetBlank = rowTargetBlank;\n\n if (cellLinkUrl !== '') {\n linkUrl = cellLinkUrl;\n targetBlank = cellTargetBlank;\n }\n\n jQuery(this).click(function () {\n if (targetBlank) {\n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n });\n jQuery(this).keydown(function (e) {\n if (e.which === 13) {\n // Enter key\n e.preventDefault();\n\n if (targetBlank) {\n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n }\n });\n }\n });\n } else {\n jQuery('td', this).not('.not-clickable').each(function () {\n var cellLink = jQuery('a', this);\n var cellLinkUrl = '';\n\n if (typeof cellLink.attr('href') !== 'undefined') {\n cellLinkUrl = cellLink.attr('href');\n }\n\n var cellTargetBlank = false;\n\n if (typeof cellLink.attr('target') !== 'undefined') {\n cellTargetBlank = cellLink.attr('target') === '_blank';\n }\n\n if (rowLinkUrl !== '' || cellLinkUrl !== '') {\n jQuery(this).addClass('has-url'); // Add class to cell if it has link\n\n jQuery(this).css('cursor', 'pointer'); // Add cursor pointer to row\n\n jQuery(this).attr('tabindex', '0'); // Make cell with link focusable\n\n jQuery(this).find('a').attr('tabindex', '-1'); // Add tabindex -1 to the link inside the cell to avoid double tab stops\n\n var linkUrl = rowLinkUrl;\n var targetBlank = rowTargetBlank;\n\n if (cellLinkUrl !== '') {\n linkUrl = cellLinkUrl;\n targetBlank = cellTargetBlank;\n }\n\n jQuery(this).click(function () {\n if (targetBlank) {\
1n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n });\n jQuery(this).keydown(function (e) {\n if (e.which === 13) {\n // Enter key\n e.preventDefault();\n\n if (targetBlank) {\n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n }\n });\n }\n });\n }\n });\n jQuery('tr', PT.ListeSpotTable.Variables.tableAccordion).each(function () {\n var rowLink = jQuery('td:nth-child(1) .js-row-link', this);\n var rowLinkUrl = '';\n\n if (typeof rowLink.attr('href') !== 'undefined') {\n rowLinkUrl = rowLink.attr('href');\n }\n\n var rowTargetBlank = false;\n\n if (typeof rowLink.attr('target') !== 'undefined') {\n rowTargetBlank = rowLink.attr('target') === '_blank';\n }\n\n jQuery('td', this).each(function () {\n var cellLink = jQuery('a', this);\n var cellLinkUrl = '';\n\n if (typeof cellLink.attr('href') !== 'undefined') {\n cellLinkUrl = cellLink.attr('href');\n }\n\n var cellTargetBlank = false;\n\n if (typeof cellLink.attr('target') !== 'undefined') {\n cellTargetBlank = cellLink.attr('target') === '_blank';\n }\n\n if (rowLinkUrl !== '' || cellLinkUrl !== '') {\n jQuery(this).not('.not-clickable').addClass('has-url');\n jQuery(this).not('.not-clickable').css('cursor', 'pointer'); // Add cursor pointer to row\n\n jQuery(this).attr('tabindex', '0'); // Make cell focusable\n\n jQuery(this).find('a').attr('tabindex', '-1'); // Add tabindex -1 to the link inside the cell to avoid double tab stops\n\n var linkUrl = rowLinkUrl;\n var targetBlank = rowTargetBlank;\n\n if (cellLinkUrl !== '') {\n linkUrl = cellLinkUrl;\n targetBlank = cellTargetBlank;\n }\n\n jQuery(this).click(function () {\n if (targetBlank) {\n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n });\n jQuery(this).keydown(function (e) {\n if (e.which === 13) {\n // Enter key\n e.preventDefault();\n\n if (targetBlank) {\n window.location(linkUrl, '_blank');\n return;\n }\n\n window.location.assign(linkUrl);\n }\n });\n }\n });\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.ListeSpotTable.Setup();\n }\n});"},757:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.FormInterceptEnter\r\n===================================\r\n*/\n\nPT.EuLookUp = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n formSubmit: jQuery('.js-eulookup-submit')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.EuLookUp.Variables.formSubmit.keypress(function (e) {\n var elem = jQuery(this);\n var code = e.keyCode ? e.keyCode : e.which;\n\n if (code === 13 && elem.length > 0) {\n elem.trigger('click');\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('html').hasClass('site-eu')) {\n PT.EuLookUp.Setup();\n }\n});"},618:e=>{e.exports='/*\r\n* Maps\r\n*/\njQuery(document).ready(function () {\n if (jQuery("#mapImage").length > 0) {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n jQuery("#nord").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_noth_hover.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_noth_hover.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_noth_hover.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#ost").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_ost_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_ost_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_ost_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });
1\n jQuery("#vest").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_vest_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_vest_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_vest_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#syd").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_syd_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_syd_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_syd_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#fyn").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_fyn_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_fyn_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_fyn_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#sja").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_sja_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_sja_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_sja_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#nords").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_nords_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_nords_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_nords_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#stork").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_stork_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_stork_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_stork_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n jQuery("#kobe").mouseover(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk_kobe_over.gif"\n });\n jQuery(".statsrevisorer .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/statsrevisorer/stats_map_dk_kobe_over.gif"\n });\n jQuery(".sprogbasen .map-image").attr({\n src: "/dist/Images/Global/legacy/maps/sprogbasen/sprogbasen_map_dk_kobe_over.gif"\n });\n }).mouseout(function () {\n jQuery("#mapImage").attr({\n src: "/dist/Images/Global/legacy/maps/map_dk.gif"\n });\n });\n }\n});'},774:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.InformationPageSpotA\r\n===================================\r\n*/\n\nPT.MedlemmersidespotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n Slider: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n //Custome code for memeber slider\n var memeberSlider = jQuery('.medlemmersidespot-a-carousel .slide');\n var sliderContainer = $('.medlemmersidespot-a');\n var nextPlaceholder = $('.medlemmersidespot-a__carousel-container').attr('data-title-next');\n var prevPlaceholder = $('.medlemmersidespot-a__carousel-container').attr('data-title-prev');\n var options_euo = {\n nextText: nextPlaceholder,\n prevText: prevPlaceholder,\n pager: false,\n slideWidth: jQuery('.medlemmersidespot-a-carousel').data('width'),\n minSlides: 1,\n maxSlides: jQuery('.medlemmersidespot-a-carousel').data('max-slides'),\n slideMargin: 10,\n adaptiveHeight: true\n };\n var options_ft = {\n nextText: nextPlaceholder,\n prevText: prevPlaceholder,\n touchEnabled: true,\n pager: memeberSlider.length > 1 ? true : false,\n controls: memeberSlider.length > 1 ? true : false,\n slideWidth: 315,\n minSlides: 1,\n maxSlides: 3,\n slideMargin: 1,\n infiniteLoop: false,\n adaptiveHeight: true\n };\n var options = jQuery('body').hasClass('baseskin-ft') ? options_ft : options_euo;\n var slider = jQuery('.medlemmersidespot-a-carousel').bxSlider(options);\n PT.MedlemmersidespotA.Variables.Slider = slider;\n setTimeout(function () {\n if (typeof slider.redrawSlider != \"undefined\") {\n slider.redrawSlider();\n }\n }, 100); // setup click handler for slides\n\n jQuery('.medlemmersidespot-a-carousel').on('click', '.slide', function (e) {\n var slide = jQuery(e.currentTarget),\n link = slide.find('a'),\n url = link.attr('href');\n\n if (url) {\n window.location.href = url;\n }\n\n e.preventDefault();\n }); // Submit on enter after selection\n //$('.member-form').each(function () {\n // $('select', this).blur(function () {\n // $(this).addClass('blured');\n // }).focus(function () {\n // $(this).next().focus();\n // });\n //});\n\n sliderContainer.each(function () {\n if ($('.slide', this).length <= 3) {\n $(this).addClass(\"has-no-nav\");\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(window).load(function () {\n var pageTitle = $(\".biography-page-title\").attr('data-page-title');\n $(document).attr(\"title\", pageTitle);\n\n if (!jQuery('body').hasClass('pageedit')) {\n PT.MedlemmersidespotA.Setup();\n }\n});"},6029:e=>{e.exports='/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\nvar Snap = Snap || {};\n/*\r\n===================================\r\nPT.Offcanvas\r\n===================================\r\n*/\n\nPT.Offcanvas = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n snapper: null,\n clonedMenu: null,\n searchInitContainer: jQuery(".primary-servicemenu-search-container"),\n search: jQuery(".primary-servicemenu-search"),\n filter: jQuery(".filter-left-menu:not(.content-area .filter-left-menu), #quick-lookup:not(.site-ft #quick-lookup)"),\n offcanvasMenu: null,\n desktopRightMenu: document.querySelector(\'.right-tab\') === null ? null : document.querySelector(\'.right-tab\').cloneNode(true)\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.Offcanvas.Variables.filter = jQuery(".filter-left-menu:not(.content-area .filter-left-menu), #quick-lookup:not(.site-ft #quick-lookup)"); //if (PT.Offcanvas.Variables.snapper === null) {\n\n PT.Offcanvas.Variables.snapper = new Snap({\n touchToDrag: false,\n element: jQuery(".js-main-content")[0]\n }); //}\n\n if (!jQuery(".top-searchbar").length) {\n if (!jQuery(".primary-menu-container").data("search-placement") == "bottom") {\n jQuery(\'<div class="wrapper visible-xs top-searchbar" />\').append(PT.Offcanvas.Variables.search.clone()).prependTo(jQuery(".js-main-content"));\n } else {\n jQuery(\'<div class="wrapper visible-xs top-searchbar" />\').append(PT.Offcanvas.Variables.search.clone()).appendTo(jQuery(".header-container .container"));\n }\n }\n\n if (!jQuery("html").hasClass("site-ft")) {\n if (PT.Offcanvas.Variables.filter.length && !jQuery(".filter-left-menu, #quick-lookup:not(.site-ft #quick-lookup)", ".offcanvas-menu-container").length) {\n PT.Offcanvas.Variables.filter.wrap("<div class=\'quicklookupplaceholder\'></div>");\n jQuery(".offcanvas-menu-container").append(PT.Offcanvas.Variables.filter.detach());\n }\n }\n\n PT.Offcanvas.Variables.snapper.on("animated", function () {\n jQuery("#content").hide().show();\n });\n\n if (jQuery(\'[data-component="switcher"]\').length) {\n PT.Offcanvas.RearrangeSwitcher(); //PBI: 61963\n\n jQuery(".container .secondary-navigation-menu-switcher-b").detach();\n }\n },\n Destroy: function Destroy() {\n if (PT.Offcanvas.Variables.snapper) {\n PT.Offcanvas.Variables.snapper.close();\n } //PBI: 61963\n\n\n jQuery(".secondary-navigation-menu-switcher-b").appendTo(".left-menu-wrapper");\n jQuery(".quicklookupplaceholder").append(jQuery(".filter-left-menu, #quick-lookup:not(.site-ft #quick-lookup)", ".offcanvas-menu-container").detach());\n var event = new CustomEvent("offCanvasMenuRearranged");\n window.dispatchEvent(event);\n\n if (PT.Offcanvas.Variables.filter.parent().is(".quicklookupplaceholder")) {\n PT.Offcanvas.Variables.filter.unwrap(".offcanvas-menu-container");\n }\n },\n\n /*\r\n ===================================\r\n Toggle\r\n ===================================\r\n */\n ToggleMenu: function ToggleMenu() {\n if (PT.Offcanvas.Variables.snapper.state().state === "closed") {\n PT.Offcanvas.Variables.snapper.open("left");\n jQuery(".offcanvas-menu-container").attr("aria-hidden", "false");\n jQuery(".offcanvas-menu-container").find("a[href]").first().focus();\n jQuery(".offcanvas-menu-container").find("a[href]").attr("tabindex", "0");\n } else {\n PT.Offcanvas.Variables.snapper.close();\n jQuery(".offcanvas-menu-container").attr("aria-hidden", "true");\n jQuery(\'[data-toggle="offcanvas-menu"]\').focus();\n jQuery(".offcanvas-menu-container").find("a[href]").attr("tabindex", "-1");\n }\n },\n ToggleSearch: function ToggleSearch() {\n //Preventing the search to show on site-folketingstidende sites\n jQuery(".site-folketingstidendedev .top-searchbar, .site-folketingstidende .top-searchbar, .site-folketingstidendebeta .top-searchbar").remove();\n\n if (jQuery(".primary-menu-container").data("search-placement") != "bottom") {\n if (jQuery(".top-searchbar").css("marginTop") === "0px") {\n jQuery(".top-searchbar").animate({\n marginTop: -46\n }, 200);\n jQuery(".top-searchbar").addClass("is-open");\n } else {\n jQuery(".top-searchbar").animate({\n marginTop: 0\n }, 200);\n jQuery(".top-searchbar").removeClass("is-open");\n }\n } else {\n if (jQuery(".top-searchbar").css("height") === "0px") {\n jQuery(".top-searchbar").animate({\n height: 75\n }, 200);\n jQuery(".top-searchbar").addClass("is-open");\n jQuery("#search2").attr("tabindex", "0");\n jQuery(".top-searchbar input#search2").focus();\n jQuery("#secondSearchButton").attr("tabindex", "0");\n jQuery("#search2").attr("aria-hidden", "false");\n } else {\n jQuery(".top-searchbar").animate({\n height: 0\n }, 200);\n jQuery(".top-searchbar").removeClass("is-open");\n jQuery("#search2").attr("tabindex", "-1");\n jQuery("#secondSearchButton").attr("tabindex", "-1");\n jQuery("#search2").attr("aria-hidden", "true");\n }\n }\n },\n\n /*\r\n ===================================\r\n Switcher\r\n ===================================\r\n */\n RearrangeSwitcher: function RearrangeSwitcher() {\n if (PT.Offcanvas.Variables.offcanvasMenu === null) {\n PT.Offcanvas.Variables.offcanvasMenu = jQuery(".offcanvas-menu-container").detach();\n }\n\n if (PT.Offcanvas.Variables.clonedMenu === null) {\n PT.Offcanvas.Variables.clonedMenu = jQuery(\'[data-component="switcher"]\').clone();\n }\n\n var drawerLeft = jQuery(".snap-drawer-left");\n var switcherMenuTab = PT.Offcanvas.Variables.clonedMenu.find(".right-tab");\n switcherMenuTab.empty().append(PT.Offcanvas.Variables.offcanvasMenu);\n new Sagsforloeb(PT.Offcanvas.Variables.clonedMenu, true);\n drawerLeft.append(PT.Offcanvas.Variables.clonedMenu);\n PT.SecondaryNavigationMenuSwitcher.Setup();\n var event = new CustomEvent("offCanvasMenuRearranged");\n window.dispatchEvent(event);\n },\n\n /*\r\n ===================================\r\n Responsive\r\n ===================================\r\n */\n Responsive: function Responsive(e) {\n if (e.state.media === "screen-xs" || e.state.media === "screen-sm") {\n if (e.state.direction !== "exit") {\n PT.Offcanvas.Setup();\n } else {\n PT.Offcanvas.Destroy();\n }\n }\n\n if (PT.Offcanvas.Variables.desktopRightMenu && (e.state.media === \'screen-md\' || e.state.media === \'screen-lg\') && e.state.direction === \'enter\') {\n var menuToInsert = PT.Offcanvas.Variables.desktopRightMenu.cloneNode(true);\n var rightTab = document.querySelector(\'[data-tabtarget="right-tab"]\');\n\n if (rightTab && rightTab.classList.contains(\'in\')) {\n menuToInsert.classList.add(\'in\');\n }\n\n var menuTab = document.querySelector(\'.secondary-navigation-menu-switcher-b .right-tab\');\n menuTab.innerHTML = \'\';\n menuTab.replaceWith(menuToInsert);\n jQuery(\'.left-menu-wrapper .icon-link-wrapper\').appendTo(\'.left-menu-wrapper\');\n PT.SecondaryNavigationMenuSwitcher.Setup();\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(".has-children i").keyup(function (e) {\n if (e.keyCode === 13) {\n if (jQuery(this).closest(".has-children").hasClass("active")) {\n jQuery(this).closest(".has-children").removeClass("active");\n } else {\n jQuery(this).closest(".has-children").addClass("active");\n }\n }\n});\njQuery(".has-children i").click(function () {\n if (jQuery(this).closest(".has-children").hasClass("active")) {\n jQuery(this).closest(".has-children").removeClass("active");\n } else {\n jQuery(this).closest(".has-children").addClass("active");\n }\n});\njQuery(".offcanvas-menu-container").find("a[href]").attr("tabindex", "-1");\njQuery(\'[data-toggle="offcanvas-menu"]\').click(function () {\n PT.Offcanvas.ToggleMenu();\n});\njQuery(\'[data-toggle="offcanvas-menu"]\').on("keypress", function (e) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n\n if (keycode == 13) {\n PT.Offcanvas.ToggleMenu();\n }\n});\njQuery(\'[data-toggle="offcanvas-search"]\').click(function () {\n PT.Offcanvas.ToggleSearch();\n});\njQuery(\'[data-toggle="offcanvas-search"]\').on("keypress", function (e) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n\n if (keycode == 13) {\n PT.Offcanvas.ToggleSearch();\n }\n});\njQuery
1(\'.full-width-page .toggle-search[data-toggle="offcanvas-search"]\').click(function (e) {\n e.preventDefault();\n $(".ebook__filter-selection").slideToggle("fast");\n});\njQuery(window).on("responsive", function (e) {\n PT.Offcanvas.Responsive(e);\n});\n/* Prevent Safari opening links when viewing as a Mobile App */\n\n(function (a, b, c) {\n if (c in b && b[c]) {\n var d,\n e = a.location,\n f = /^(a|html)$/i;\n a.addEventListener("click", function (a) {\n d = a.target;\n\n while (!f.test(d.nodeName)) {\n d = d.parentNode;\n }\n\n "href" in d && (d.href.indexOf("http") || ~d.href.indexOf(e.host)) && (a.preventDefault(), e.href = d.href);\n }, !1);\n }\n})(document, window.navigator, "standalone");'},3395:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.OverlayOnSearch\r\n===================================\r\n*/\n\nPT.OverlayOnSearch = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n overlay: ['<div class=\"search-overlay--wrapper\">', '<div class=\"search-overlay--inner\">', '<img src=\"/dist/Images/Global/loading-blue.gif\" class=\"spinner-img--ft\" alt=\"Søger, vent venligst\" />', '<img src=\"/dist/Images/Global/loading-gray.gif\" class=\"spinner-img--gray\" alt=\"Søger, vent venligst\" />', '<img src=\"/dist/Images/Global/loading-green.gif\" class=\"spinner-img--green\" alt=\"Søger, vent venligst\" />', '<img src=\"/dist/Images/Global/loading-red.gif\" class=\"spinner-img--red\" alt=\"Søger, vent venligst\" />', '<img src=\"/dist/Images/Global/loading-euo.gif\" class=\"spinner-img--euo\" alt=\"Søger, vent venligst\" />', '<p class=\"search-overlay--text\">', 'Søger, vent venligst...', '</p>', '<p class=\"cancel\"><a href=\"#\">', 'Afbryd', '</a>', '</p>', '</div>', '</div>'].join(''),\n showDelay: 3000\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.js-fake-form-get, .ankiro-facets, [data-show-search-overlay], .loading-overlay').on('click', function () {\n PT.OverlayOnSearch.Show();\n }); // PBI #31554 - Adding the preloader on date picker interval\n // Note: Intercepting the submit event is not possible (at the moment). This would have been a better implementation\n\n jQuery('.js-period_filter_daterange_section .js-submit-on-validate').on('change', function (args, e) {});\n jQuery('.js-period_filter_daterange_section .js-submit-on-validate').on('hide', function (args) {\n var submitLink = document.querySelector(\".js-submit-date-range\");\n\n if (args.target.name == \"perodFilterToDate\" && submitLink != null) {\n submitLink.tabIndex = 0;\n }\n });\n jQuery('.js-submit-date-range').on('keydown', function (event) {\n if (event.keyCode === 13) {\n // Cancel the default action, if needed\n event.preventDefault();\n jQuery('.js-submit-date-range').click();\n }\n });\n jQuery('.js-drpPeriodSelect').on('change', PT.OverlayOnSearch.debounce(function () {\n if (jQuery(this).val() !== 'useDateRange') {\n PT.OverlayOnSearch.Show();\n }\n }, 1000));\n jQuery('select', '#cases-filter').on('change', function () {\n if (typeof jQuery(this).attr('onchange') !== 'undefined') {\n PT.OverlayOnSearch.Show();\n }\n });\n jQuery(document).on('click', '.search-overlay--wrapper .cancel', function () {\n if (typeof window.stop !== 'undefined') {\n window.stop();\n } else {\n document.execCommand(\"Stop\");\n }\n\n PT.OverlayOnSearch.Reset();\n });\n jQuery(window).unload(function () {\n var overlay = jQuery('.search-overlay--wrapper');\n\n if (overlay.length) {\n PT.OverlayOnSearch.Reset();\n }\n });\n },\n\n /*\r\n ===================================\r\n Show\r\n ===================================\r\n */\n Show: function Show(delay) {\n _delay
1= typeof delay !== 'undefined' ? delay : PT.OverlayOnSearch.Variables.showDelay;\n window.setTimeout(function () {\n var overlay = jQuery('.search-overlay--wrapper');\n\n if (!overlay.length) {\n jQuery('select,input').blur();\n overlay = jQuery(PT.OverlayOnSearch.Variables.overlay);\n jQuery('body').prepend(overlay);\n }\n }, _delay);\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {\n var overlay = jQuery('.search-overlay--wrapper'); // Clear the timeout\n\n window.clearTimeout(this.timeout);\n\n if (overlay.length) {\n overlay.remove();\n }\n },\n\n /*\r\n ===================================\r\n Debounce \r\n ===================================\r\n */\n debounce: function debounce(callback, interval) {\n var debounceTimeoutId;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(debounceTimeoutId);\n debounceTimeoutId = setTimeout(function () {\n return callback.apply(_this, args);\n }, interval);\n };\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.OverlayOnSearch.Setup();\n }\n});"},8732:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Print\r\n===================================\r\n*/\n\nPT.Print = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n PrintLinks: jQuery('.js-print-page')\n },\n\n /*\r\n =================================== \r\n Setup\r\n =================================== \r\n */\n Setup: function Setup() {\n PT.Print.Variables.PrintLinks.click(function (e) {\n e.preventDefault();\n window.print();\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Print.Setup();\n }\n});"},5989:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.QuickLookupD\r\n===================================\r\n*/\n\nPT.QuickLookupD = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n ctrlDoctype: null,\n ctrlCommittee: null,\n containerCommittee: null,\n containerParagraph: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.QuickLookupD.Variables.ctrlDoctype = jQuery('.js-doctype-selector');\n PT.QuickLookupD.Variables.ctrlCommittee = jQuery('.js-committee-selector');\n PT.QuickLookupD.Variables.ctrlParagraph = jQuery('.js-paragraph-selector');\n PT.QuickLookupD.Variables.containerCommittee = jQuery('.js-committee-container');\n PT.QuickLookupD.Variables.containerParagraph = jQuery('.js-paragraph-container'); // Doctype\n\n PT.QuickLookupD.Variables.ctrlDoctype.on('change', function () {\n PT.QuickLookupD.Doctype();\n }); // Committee\n\n PT.QuickLookupD.Variables.ctrlCommittee.on('change', function () {\n PT.QuickLookupD.Committee();\n });\n PT.QuickLookupD.Reset();\n },\n\n /*\r\n ===================================\r\n Doctype\r\n ===================================\r\n */\n Doctype: function Doctype(elem) {\n var associatedDocTypeId = jQuery('.js-doctype-selector option:selected').attr('data-associated');\n\n if (typeof associatedDocTypeId !== 'undefined') {\n PT.QuickLookupD.Variables.containerCommittee.show();\n PT.QuickLookupD.Variables.containerCommittee.addClass('is-new');\n } else {\n PT.QuickLookupD.Variables.containerCommittee.hide();\n PT.QuickLookupD.Variables.containerCommittee.removeClass('is-new');\n }\n\n PT.QuickLookupD.Committee(elem);\n },\n\n /*\r\n ===================================\r\n Committee\r\n ===================================\r\n */\n Committee: function Committee(elem) {\n var associatedCommitteeId = jQuery('.js-committee-selector option:selected').attr('data-associated');\n var associatedDocTypeId = jQuery('option:selected', elem).data('associated');\n\n if (typeof associatedCommitteeId !== 'undefined' && typeof associatedDocTypeId !== 'undefined') {\n PT.QuickLookupD.Variables.containerParagraph.show();\n PT.QuickLookupD.Variables.containerParagraph.addClass('is-new');\n } else {\n PT.QuickLookupD.Variables.containerParagraph.hide();\n PT.QuickLookupD.Variables.containerParagraph.removeClass('is-new');\n }\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {\n // Check doctype\n var associatedDoctypeId = jQuery('.js-doctype-selector option:selected').attr('data-associated');\n\n if (typeof associatedDoctypeId !== 'undefined') {\n PT.QuickLookupD.Variables.containerCommittee.show();\n jQuery('select', PT.QuickLookupD.Variables.containerCommittee).show().not('#' + associatedDoctypeId).hide();\n } else {\n PT.QuickLookupD.Variables.containerCommittee.hide();\n } // Check committee\n\n\n var associatedCommitteeId = jQuery('.js-committee-selector option:selected').attr('data-associated');\n\n if (typeof associatedCommitteeId !== 'undefined' && typeof associatedDoctypeId !== 'undefined') {\n PT.QuickLookupD.Variables.containerParagraph.show();\n } else {\n PT.QuickLookupD.Variables.containerParagraph.hide();\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.QuickLookupD.Setup();\n }\n});"},7591:e=>{e.exports="function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar RiddleQuiz =\n/*#__PURE__*/\nfunction () {\n function RiddleQuiz(element) {\n _classCallCheck(this, RiddleQuiz);\n\n this.el = element;
1\n this.modalId = \"riddleQuizModal_\".concat(Math.floor(Math.random() * 1e9)); // Unique ID\n\n var quizModal = this.el.querySelector('[data-quiz-type=\"quizModal\"]');\n var quizInline = this.el.querySelector('[data-quiz-type=\"quizInline\"]');\n this.quizModal = quizModal;\n this.quizInline = quizInline;\n this.init();\n }\n\n _createClass(RiddleQuiz, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n this.el.addEventListener('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n _this.handleModalType();\n });\n this.el.addEventListener('touchend', function (e) {\n e.preventDefault();\n e.stopPropagation();\n tthis.handleModalType();\n }); // Handle keyboard events (Enter key)\n\n this.el.addEventListener('keydown', function (e) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n\n _this.handleModalType();\n }\n }); // Make the element clickable and accessible\n\n this.el.style.cursor = 'pointer';\n this.el.style.webkitTapHighlightColor = 'transparent'; // Remove blue highlight on mobile\n\n this.el.setAttribute('role', 'button');\n this.el.setAttribute('tabindex', '0');\n this.el.setAttribute('aria-label', 'Ã
bn quiz');\n }\n }, {\n key: \"handleModalType\",\n value: function handleModalType() {\n if (this.quizModal) {\n this.openModal(); // remove quiz-inline-active class if present from all other quizzes\n\n document.querySelectorAll('.riddle-quiz__container.quiz-inline-active').forEach(function (container) {\n container.classList.remove('quiz-inline-active');\n });\n } else if (this.quizInline) {\n this.embedInline();\n }\n }\n }, {\n key: \"embedInline\",\n value: function embedInline() {\n var embedContainer = this.quizInline;\n\n if (!embedContainer) {\n console.warn('No embed container found');\n return;\n } // Add class to the outer div (riddle-quiz__container)\n\n\n var outerDiv = this.el.closest('.riddle-quiz__container');\n\n if (outerDiv) {\n outerDiv.classList.add('quiz-inline-active');\n } // remove quiz-inline-active class if present from all other quizzes except this one\n\n\n document.querySelectorAll('.riddle-quiz__container.quiz-inline-active').forEach(function (container) {\n if (container !== outerDiv) {\n container.classList.remove('quiz-inline-active');\n }\n });\n }\n }, {\n key: \"openModal\",\n value: function openModal() {\n var embedContainer = this.quizModal;\n\n if (!embedContainer) {\n console.warn('No embed container found');\n return;\n }\n\n var embedCode = embedContainer.innerHTML.trim();\n\n if (!embedCode) {\n console.warn('No embed code found');\n return;\n }\n\n this.createModal(embedCode);\n } // Creates and displays the modal with the Riddle quiz using Bootstrap\n\n }, {\n key: \"createModal\",\n value: function createModal(embedCode) {\n var _this2 = this;\n\n // Remove existing modal if present\n var existingModal = document.querySelector('#' + this.modalId);\n\n if (existingModal) {\n existingModal.remove();\n } // Create Bootstrap modal HTML with unique ID\n\n\n var modal = document.createElement('div');\n modal.innerHTML = \"\\n <div class=\\\"modal riddle-quiz-modal fade\\\" id=\\\"\".concat(this.modalId, \"\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"\").concat(this.modalId, \"Label\\\" aria-hidden=\\\"true\\\">\\n <div class=\\\"modal-dialog modal-lg modal-dialog-centered riddle-quiz-modal__dialog\\\" role=\\\"document\\\">\\n <div class=\\\"modal-content riddle-quiz-modal__content\\\">\\n <div class=\\\"modal-header riddle-quiz-modal__header\\\">\\n <button type=\\\"button\\\" class=\\\"close riddle-quiz-modal__close\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Luk quiz\\\">
1\\n <span aria-hidden=\\\"true\\\">\\u2716</span>\\n </button>\\n </div>\\n <div class=\\\"modal-body riddle-quiz-modal__body p-0\\\">\\n \").concat(embedCode, \"\\n </div>\\n </div>\\n </div>\\n </div>\\n \"); // Append to body\n\n document.body.appendChild(modal.firstElementChild); // Show Bootstrap modal\n\n $('#' + this.modalId).modal({\n show: true,\n backdrop: true,\n keyboard: true\n });\n $('#' + this.modalId).on('hidden.bs.modal', function () {\n var modalEl = document.querySelector('#' + _this2.modalId);\n\n if (modalEl) {\n modalEl.remove();\n }\n });\n }\n }]);\n\n return RiddleQuiz;\n}();\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var riddleQuizzes = document.querySelectorAll('.riddle-quiz');\n\n if (riddleQuizzes.length && !document.querySelector('.pageedit')) {\n riddleQuizzes.forEach(function (quiz) {\n return new RiddleQuiz(quiz);\n });\n }\n});"},1141:e=>{e.exports="var Sagsforloeb = function Sagsforloeb(element, isAccordionType) {\n this.isAccordionType = isAccordionType;\n this.list = element.find('.sagsforloeb');\n this.showAllButton = element.find('.sagsforloeb-vis-alt');\n this.showAll = element.find('.sagsforloeb-vis-alt__link');\n this.stepHeading = element.find('.sagsforloeb__step__heading');\n this.stepContent = element.find('.sagsforloeb__step__content'); //this.expander = element.find('.sagsforloeb__step__expander');\n //this.expanderShow = 'sagsforloeb__step__expander--show';\n\n this.toggleModifier = 'sagsforloeb__step__content--expanded';\n this.showAllModifier = 'sagsforloeb--showAll';\n this.sagsforloebToggle = element.find('.sagsforloeb-toggle');\n this.sagsforloebToggleSagsforloeb = element.find('.sagsforloeb-toggle__sagsforloeb');\n this.sagsforloebToggleMenu = element.find('.sagsforloeb-toggle__menu');\n this.windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; // Support for IE 5-8\n // If windowWidth is below 768, then spot shouldn't collapse content.\n // This is because user would never be able to click on the headline (since that would be intercepted as an accordion)\n // Fixes #35965 and #37859\n\n if (this.windowWidth <= 768) {\n return false;\n }\n\n this.bindings();\n};\n\nSagsforloeb.prototype.bindings = function () {\n var self = this;\n\n if (this.isAccordionType) {\n self.stepContent.addClass('collapsed-content');\n self.stepHeading.on('click', function (event) {\n self.toggleStep(event);\n });\n self.showAllButton.on('click', function (event) {\n self.toggleAllSteps(event);\n });\n }\n\n $(self.sagsforloebToggleSagsforloeb).on('click', function () {\n self.switchMenuOrSagsforloeb($(this));\n });\n $(self.sagsforloebToggleMenu).on('click', function () {\n self.switchMenuOrSagsforloeb($(this));\n });\n};\n\nSagsforloeb.prototype.enableExpand = function (expander) {\n var self = this;\n var contentToExpand = expander.siblings(self.stepContent).html().length;\n if (contentToExpand !== 0) expander.addClass(self.expanderShow);\n};\n\nSagsforloeb.prototype.toggleStep = function (event) {\n var self = this;\n var target = event.currentTarget;\n var stepContainer = jQuery(target).next();\n stepContainer.toggleClass(self.toggleModifier);\n event.preventDefault();\n};\n\nSagsforloeb.prototype.toggleAllSteps = function (event) {\n event.preventDefault();\n var self = this;\n self.showAllButton.toggleClass(self.showAllModifier);\n self.stepContent.each(function () {\n jQuery(this).toggleClass(self.toggleModifier);\n });\n};\n\nSagsforloeb.prototype.switchMenuOrSagsforloeb = function (elm) {\n var self = this;\n\n if (elm.is(self.sagsforloebToggleSagsforloeb)) {\n self.sagsforloebToggle.removeClass('menu-toggled').addClass('sagsforloeb-toggled');\n }\n\n if (elm.is(self.sagsforloebToggleMenu)) {\n self.sagsforloebToggle.removeClass('sagsforloeb-toggled').addClass('menu-toggled');\n }\n};\n\n$(\".secondary-navigation-menu-switcher-b\").each(function () {\n new Sagsforloeb($(this));\n $('.sagsforloeb__step__content__list li').each(function () {\n if ($(this).hasClass('sagsforloeb__step__content__list__item--inactive')) {\n $(this).find('a').attr('tabindex', '-1');\n }\n });\n\n if ($('.sagsforloeb__step__content__list__item--inactive').length) {}\n});"},8794:e=>{e.exports="jQuery(document).ready(function () {\n // Due to loading issue the container must be fadein\n $('.facet-menu, .ankiro-facets, .documentbasketspot-a').fadeIn(\"fast\");\n $('.facet-menu__preloader').hide();\n $('.refresh-link-wrapper').addClass('end-load');\n $('.panel-group').each(function (e) {\n var maxNumber = $('.list-facets', this).attr(\"data-max-number\");\n var visibleWrapper = $(\".list-facets .list-facets__items\", this);\n var visibleContainer = $(this).is('.is-limited-container');\n var showMore = $('.facet-menu__show-more', this);\n var showLess = $('.facet-menu__show-less', this);\n var chosenItem = $(this).is('.is-chosen');\n var checkboxSpans = $('.list-facets .list-facets__checkbox .custom-checkbox input');\n checkboxSpans.each(function () {\n $(this).attr('tabindex', '0');\n $(this).on('keyup', function (e) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n\n if (keycode == '9') {\n $(this).focus();\n $(this).focus(function () {\n $(this).parents('.list-facets__items').addClass('outline').focus();\n });\n $(this).blur(function () {\n $(this).parents('.list-facets__items').removeClass('outline').blur();\n });\n }\n\n if (keycode == '13' || keycode == '32') {\n if ($(this).is(':checked')) {\n this.removeAttribute('checked');\n } else {\n $(this).attr('checked', 'checked').trigger('click');\n }\n }\n });\n });\n\n checkIfChecked = function checkIfChecked() {\n $('.list-facets input[type=checkbox]').each(function () {\n if ($(this).is(\":checked\")) {\n $(this).closest('li').addClass('is-checked');\n $(this).closest('li').removeClass('not-checked');\n } else {\n $(this).closest('li').removeClass('is-checked');\n $(this).closest('li').addClass('not-checked');\n }\n });\n };\n\n checkIfChecked(); //Detect viewport\n\n $.fn.isInViewport = function () {\n var elementTop = $(this).offset().top;\n var elementBottom = elementTop + $(this).outerHeight();\n var viewportTop = $(window).scrollTop();\n var viewportBottom = viewportTop + $(window).height();\n return elementBottom > viewportTop && elementTop < viewportBottom;\n };
1 //Check if the field is empty\n\n\n if (visibleContainer) {\n if (visibleWrapper.length > maxNumber) {\n // Mark all the items\n visibleWrapper.addClass('is-limited'); // Pack and wrap the chosen items in a seperate container\n\n visibleWrapper.slice(0, maxNumber).wrapAll(\"<li class='list-facets__items--visible'><ul class='list-facets__items--visible-wrapper'></ul></div>\");\n $('.list-facets__items--visible ul li').removeClass('is-limited');\n showMore.show();\n $('.list-facets__items--visible-wrapper li').show(); //fold out if an element is chosen\n\n if (chosenItem) {\n $(showMore).trigger('click');\n }\n }\n\n showMore.click(function () {\n visibleWrapper.addClass('is-visible');\n showLess.show();\n showMore.hide();\n });\n showLess.click(function () {\n visibleWrapper.removeClass('is-visible'); //Scroll up to the start of the accordion\n\n if (!$(this).parent().parent().parent().isInViewport()) {\n $(\"html, body\").animate({\n scrollTop: $(this).parent().parent().parent().offset().top\n }, 60);\n }\n\n showLess.hide();\n showMore.show();\n });\n }\n });\n});"},6326:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SearchResultList\r\n===================================\r\n*/\n\nPT.SearchResultList = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n table: jQuery('table', '.listespot-wrapper')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var tbody = jQuery('tbody', PT.SearchResultList.Variables.table);\n jQuery('tr', tbody).click(function () {\n if (jQuery(this).data('href')) {\n window.location.assign(jQuery(this).data('href'));\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.SearchResultList.Setup();\n }\n});"},1230:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.CookieWarning\r\n===================================\r\n*/\n\nPT.SecondaryNavigationMenuSwitcher = {\n Variables: {\n SwitcherRoot: null,\n ContentPanels: null,\n Tabs: null\n },\n Setup: function Setup() {\n var root = jQuery(\".secondary-navigation-menu-switcher-b\");\n PT.SecondaryNavigationMenuSwitcher.Variables.SwitcherRoot = root;\n PT.SecondaryNavigationMenuSwitcher.Variables.ContentPanels = root.find(\".leftmenu-toggle-panel\");\n PT.SecondaryNavigationMenuSwitcher.Variables.Tabs = root.find(\".leftmenu-toggle\");\n PT.SecondaryNavigationMenuSwitcher.Variables.Tabs.on('click', PT.SecondaryNavigationMenuSwitcher.Toggle);\n },\n Toggle: function Toggle(event) {\n PT.SecondaryNavigationMenuSwitcher.Variables.ContentPanels.removeClass(\"in\");\n PT.SecondaryNavigationMenuSwitcher.Variables.Tabs.removeClass(\"in\").removeAttr('aria-current');\n var targetClass = jQuery(event.target).closest('.leftmenu-toggle').data('tabtarget');\n var clickedTab = jQuery('[data-tabtarget=\"' + targetClass + '\"]');\n clickedTab.addClass(\"in\").attr('aria-current', 'page');\n PT.SecondaryNavigationMenuSwitcher.Variables.SwitcherRoot.find(\".\" + targetClass).addClass(\"in\");\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.SecondaryNavigationMenuSwitcher.Setup();\n }\n});\njQuery(document).keypress(function (e) {\n $('.leftmenu-toggle').each(function () {\n if ($(this).is(\":focus\")) {\n if (e.which == 13) {\n $('.leftmenu-toggle').removeClass('in').attr('tabindex', '0');\n $(this).addClass('in').attr('tabindex', '-1');\n $('.leftmenu-toggle-panel').toggleClass('in');\n }\n }\n });\n});"},413:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.ShortcutKeys\r\n===================================\r\n*/\n\nPT.ShortcutKeys = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n accesskeys: {}\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var keys = jQuery('[accesskey]');\n keys.each(function () {\n var key = jQuery(this).attr('accesskey');\n var elem = jQuery(this);\n PT.ShortcutKeys.Variables.accesskeys[key] = elem;\n });\n jQuery(document).keypress(function (e) {\n var KeyID = e.which ? e.which : e.keyCode;\n\n if (typeof PT.ShortcutKeys.Variables.accesskeys[String.fromCharCode(KeyID)] !== 'undefined') {\n if (e.altKey === true) {\n e.preventDefault();\n e.stopPropagation();\n PT.ShortcutKeys.Variables.accesskeys[String.fromCharCode(KeyID)][0].click();\n }\n }\n });\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.ShortcutKeys.Setup();\n }\n});"},6904:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Accordion\r\n===================================\r\n*/\n\nPT.Subscription = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n //Removing empty span tags from list\n if (jQuery('.explText').is(':empty')) {\n jQuery(\".explText\").addClass(\"empty\");\n jQuery(\".panel.panel-form .panel-body.subscription-steps-container .list-text\").addClass(\"single-element\");\n }\n },\n\n /*\r\n ===================================\r\n Parlamentariske dokumenter efter medlem\r\n ===================================\r\n */\n SubscriptionDocumentsByMember: function SubscriptionDocumentsByMember() {\n jQuery('.js-choose-document-subscription-by-member').on('click', function (e) {\n e.preventDefault();\n var url = jQuery('#allMembers').val();\n\n if (url !== '') {\n window.location.assign(url);\n }\n });\n },\n HideLanguageBtn: function HideLanguageBtn() {\n var subscriptionTab = jQuery('.leftmenu-toggle-tabs .icon-ft_abonner');\n var menuTab = jQuery('.leftmenu-toggle-tabs .icon-ft_menu');\n var languageFlag = jQuery('.icon-link-wrapper');\n jQuery(languageFlag).fadeIn();\n\n if (subscriptionTab.length > 0) {\n jQuery(languageFlag).hide();\n jQuery(menuTab).click(function () {\n jQuery(languageFlag).show();\n });\n jQuery(subscriptionTab).click(function () {\n jQuery(languageFlag).hide();\n });\n }\n }
1,\n Accessibility: function Accessibility() {\n $('.subscribe-content-controls .checkbox').each(function () {\n $(this).not('.inline.secondary').attr('tabindex', '0');\n $('.checkbox--disabled').attr('tabindex', '-1');\n });\n $('.subscribe-content-controls .checkbox').on('keyup', function (e) {\n if (e.which == 13) {\n $(this).find('.custom-checkbox input').trigger('click');\n }\n });\n $('.subscriptions-next-btn').on('keyup', function (e) {\n if (e.which == 13) {\n var element = $(this);\n PT.Accessibility.runInlineJS(element);\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Subscription.HideLanguageBtn();\n PT.Subscription.Accessibility();\n jQuery(\".abline.ablineNormalLineHeight\").each(function () {\n PT.Subscription.Setup();\n });\n }\n\n if (!jQuery('body').hasClass('pageedit') && jQuery('.js-choose-document-subscription-by-member').length) {\n PT.Subscription.SubscriptionDocumentsByMember();\n }\n});"},606:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SVG2Image\r\n===================================\r\n*/\n\nPT.SVG2Image = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var images = jQuery('img');\n var re = /\\.svg/gi;\n images.each(function () {\n if (PT.Utils.Strings.Contains(jQuery(this).attr('src'), '.svg')) {\n var src = jQuery(this).attr('src');\n jQuery(this).attr('src', src.replace(re, '.png'));\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('html').hasClass('ie8')) {\n PT.SVG2Image.Setup();\n }\n});"},3164:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.SVGKort\r\n===================================\r\n*/\n\nPT.SVGKort = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n var elems = jQuery('.members', '.js-svg-kort');\n var infos = jQuery('.country-info', '.hero-content');\n elems.click(function () {\n var elem = jQuery(this);\n var isSelected = elem.attr('class') === elems.attr('mydata:tag') + ' selected' ? true : false;\n var id = !isSelected ? elem.attr('id') : 0;\n elems.attr('class', elems.attr('mydata:tag'));\n\n if (!isSelected) {\n elem.attr('class', elems.attr('mydata:tag') + ' selected');\n }\n\n infos.removeClass('selected');\n infos.filter('[data-country=\"' + id + '\"]').addClass('selected');\n });\n },\n LoadMap: function LoadMap() {\n if (jQuery('.js-load-map').length) {\n var foundin = jQuery('.js-load-map:contains(\"##-\")');\n var re = /##-([^}]+)-##/g;\n var tt = re.exec(foundin.text());\n var svgUrl = '/dist/Images/Global/' + tt[1]; //var svgUrl = 'Global/Images/' + tt[1];\n\n if (jQuery('html').hasClass('ie8')) {\n var rep = /\\.svg/gi;\n var svg2image = svgUrl.replace(rep, '.png');\n var img = document.createElement(\"img\");\n img.src = svg2image;\n jQuery(\".js-svg-kort\").empty().append(img).show();\n } else {\n jQuery(\".js-svg-kort\").load(svgUrl, function (data) {\
1n PT.SVGKort.Setup();\n });\n }\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.SVGKort.LoadMap();\n }\n});"},8825:e=>{e.exports='/* jQuery-syncHeight - v1.5.0\r\n * https://github.com/ginader/syncHeight\r\n * Copyright (c) 2013 Dirk Ginader;\r\n * Dual licensed under the MIT and GPL licenses:\r\n * https://www.opensource.org/licenses/mit-license.php\r\n * http://www.gnu.org/licenses/gpl.html */\n(function (e) {\n var t = function t() {\n var e = 0,\n t = [["min-height", "0px"], ["height", "1%"]],\n n = /(msie) ([\\w.]+)/.exec(navigator.userAgent.toLowerCase()) || [],\n i = n[1] || "",\n h = n[2] || "0";\n return "msie" === i && 7 > h && (e = 1), {\n name: t[e][0],\n autoheightVal: t[e][1]\n };\n };\n\n e.getSyncedHeight = function (n) {\n var i = 0,\n h = t();\n return e(n).each(function () {\n e(this).css(h.name, h.autoheightVal);\n var t = parseInt(e(this).css("height"), 10);\n t > i && (i = t);\n }), i;\n }, e.fn.syncHeight = function (n) {\n var i = {\n updateOnResize: !1,\n height: !1\n },\n h = e.extend(i, n),\n s = this,\n a = 0,\n c = t().name;\n return a = "number" == typeof h.height ? h.height : e.getSyncedHeight(this), e(this).each(function () {\n e(this).css(c, a + "px");\n }), h.updateOnResize === !0 && e(window).resize(function () {\n e(s).syncHeight();\n }), this;\n }, e.fn.unSyncHeight = function () {\n var n = t().name;\n e(this).each(function () {\n e(this).css(n, "");\n });\n };\n})(jQuery); // use $(window).load instead of $(document).ready to wait until all images have been loaded.\n// Otherwise common height may be calculated without taking all images into account\n\n\n$(".js-sync-height .text-spot-a-wrapper").each(function () {\n if ($(this).parent(".col-sm-6, .col-sm-4").length) {\n $(this).addClass("is-single-rte");\n }\n});\n$(window).on("load resize", function () {\n if ($("html").hasClass("subsite-wide")) {\n if ($(window).width() >= 1023) {\n $(".js-sync-height").each(function () {\n $(this).find(".social-video, .is-single-rte, .factbox, .informations-spot-e, .lexicon-spot, .question-answer-spot, .link-list-spot-a, .image-text-spot, .information-spot-a, .info-graph").syncHeight({\n updateOnResize: true\n });\n $(this).find(".social-video__title").syncHeight({\n updateOnResize: true\n });\n $(this).find(".social-video__rte").syncHeight({\n updateOnResize: true\n });\n });\n } else {\n $(this).find(".social-video, .is-single-rte, .factbox, .informations-spot-e, .lexicon-spot, .question-answer-spot, .link-list-spot-a, .image-text-spot").unSyncHeight({\n updateOnResize: true\n });\n }\n } else {\n if ($(window).width() >= 767) {\n $(".js-sync-height").each(function () {\n $(this).find(".social-video, .is-single-rte, .factbox, .informations-spot-e, .lexicon-spot, .question-answer-spot, .link-list-spot-a, .image-text-spot, .information-spot-a, .info-graph").syncHeight({\n updateOnResize: true\n });\n $(this).find(".social-video__title").syncHeight({\n updateOnResize: true\n });\n $(this).find(".social-video__rte").syncHeight({\n updateOnResize: true\n });\n });\n } else {\n $(this).find(".social-video, .is-single-rte, .factbox, .informations-spot-e, .lexicon-spot, .question-answer-spot, .link-list-spot-a, .image-text-spot").unSyncHeight({\n updateOnResize: true\n });\n }\n }\n});'},7515:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.TabSpotA\r\n===================================\r\n*/\n\nPT.TabSpotA = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n tabcontainer: null,\n tabs: null,\n tabcontent: null,\n cookie: null\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.TabSpotA.Variables.tabcontainer = jQuery('.tab-spot-a__wrapper');\n PT.TabSpotA.Variables.tabs = jQuery('li', '.tab-spot-a__tabs');\n PT.TabSpotA.Variables.tabcontent = jQuery('.tab-spot-a__content__pane', '.tab-spot-a__content');\n PT.TabSpotA.Variables.cookie = PT.Utils.Storage.Cookie.Get('tabspota_' + jQuery('.tab-spot-a__wrapper').data('id'));\n PT.TabSpotA.Init();\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Init: function Init(elem) {\n PT.TabSpotA.Reset(); //PT.TabSpotA.SetupRWD();\n\n PT.TabSpotA.Bind();\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {\n jQuery('li', '.tab-spot-a__tabs').removeClass('active');\n jQuery('li a', '.tab-spot-a__tabs').attr('aria-selected', false);\n PT.TabSpotA.Variables.tabcontent.removeClass('active');\n var tabId;\n var urlHash = window.location.hash;\n\n if (urlHash) {\n if (urlHash.indexOf('speak') >= 0) {\n tabId = PT.TabSpotA.Variables.tabcontent.first().attr('id');\n } else {\n tabId = urlHash.substring(2);\n }\n\n var spotId = jQuery('.tab-spot-a__wrapper').data('id');\n if (window.Cookiebot !== undefined && window.Cookiebot.consent.preferences) PT.Utils.Storage.Cookie.Set('tabspota_' + spotId, tabId, Infinity, '/');\n } else {\n tabId = PT.TabSpotA.Variables.cookie;\n }\n\n if (tabId) {\n setTimeout(function () {\n jQuery('a[href=\"#' + tabId + '\"]').closest('li').addClass('active');\n jQuery('a[href=\"#' + tabId + '\"]').attr('aria-selected', true);\n }, 30);\n PT.TabSpotA.Variables.tabcontent.filter('[id=\"' + tabId + '\"]').addClass('active');\n } else {\n setTimeout(function () {\n jQuery('li', '.tab-spot-a__tabs').first().addClass('active');\n PT.TabSpotA.Variables.tabcontent.first().addClass('active');\n }, 30);\n }\n },\n Bind: function Bind() {\n jQuery('li', '.tab-spot-a__tabs').on('click', function (e) {\n e.preventDefault();\n var hash = jQuery('a', this).attr('aria-controls');\n var parent = jQuery(this).closest('.tab-spot-a__wrapper');\n if (window.Cookiebot !== undefined && window.Cookiebot.consent.preferences) PT.Utils.Storage.Cookie.Set('tabspota_' + parent.data('id'), hash, Infinity, '/');\n document.location.hash = 't' + hash;\n jQuery('li', '.tab-spot-a__tabs').removeClass('active');\n jQuery('li a', '.tab-spot-a__tabs').removeClass('active').attr('aria-selected', false);\n jQuery('.tab-spot-a__content__pane', '.tab-spot-a__content').removeClass('active');\n jQuery('a[href=\"#' + hash + '\"]').closest('li').addClass('active');\n jQuery('a[href=\"#' + hash + '\"]').attr('aria-selected', true);\n jQuery('.tab-spot-a__content__pane', '.tab-spot-a__content').filter('[id=\"' + hash + '\"]').addClass('active');\n jQuery('.tab-spot-a__content__pane').focus();\n jQuery('.tab-spot-a__content__pane input.tt-input').focus();\n });\n },\n SetupRWD: function SetupRWD() {\n PT.TabSpotA.Variables.tabs.find('a').each(function () {\n var tabHeader = jQuery(this).clone().addClass('visible-xs');\n var tabContent = jQuery(tabHeader.attr('href'));\n var tbUl = jQuery('<ul/>').addClass('tab-spot-a__tabs visible-xs');\n var tbLi = jQuery('<li/>').addClass('tab-spot-a__tabs__item');\n tabHeader.appendTo(tbLi);\n tbLi.appendTo(tbUl);\n tbUl.insertBefore(tabContent);\n });\n PT.TabSpotA.Variables.tabs = jQuery('li', '.tab-spot-a__tabs');\n PT.TabSpotA.Bind();\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n var elementsCount = jQuery('.tab-spot-a__wrapper').length;\n\n if (!jQuery('body').hasClass('pageedit') && elementsCount > 0) {\n PT.TabSpotA.Setup();\n }\n});"},3836:e=>{e.exports="/****************************************\r\nPentia (PT) Namespace\r\n****************************************/\nif (typeof PT == \"undefined\") PT = {};\n/****************************************\r\nInitialize\r\n****************************************/\n\njQuery(document).ready(function () {\n PT.Table.wrapTable();\n});\nPT.Table = {\n wrapTable: function wrapTable() {\n var scrollTables = jQuery('.content-rte table, .nested-article table, .text-spot-a-wrapper table, .informationspot-d table');\n\n if (!jQuery('div.scrollable.has-scroll').length) {\n scrollTables.wrap('<div class=\"scrollable has-scroll\"><div class=\"inner-wrapper\"></div></div>');\n }\n }\n};"},9463:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.TextInputSubmit\r\n===================================\r\n*/\n\nPT.TextInputSubmit = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n textboxes: jQuery('.js-textbox-submit'),\n inputfield: jQuery('.js-input-submit')\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n PT.TextInputSubmit.Variables.textboxes.keyup(function (e) {\n var elem = jQuery(this);\n var code = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;\n\n if (code === 13) {\n e.preventDefault();\n var url = jQuery(this).data('url-template');\n var urlWithQuery = PT.Utils.Strings.Format(decodeURI(url), elem.val());\n window.location.assign(urlWithQuery);\n }\n });\n PT.TextInputSubmit.Variables.inputfield.keyup(function (e) {\n var elem = jQuery(this);\n var code = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;\n\n if (code === 13) {\n e.preventDefault();\n jQuery('#' + elem.data('button-id')).trigger('click');\n }\n });\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.TextInputSubmit.Setup();\n }\n});"},4083:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.TingdokNegotiations\r\n===================================\r\n*/\n\nPT.TingdokNegotiations = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.negotiation__control--toggle-text').on('click', function (e) {\n PT.TingdokNegotiations.ToggleText(e, jQuery(this));\n }); // Adding aria label to accordion state\n\n setTimeout(function () {\n jQuery('.negotiation__control').each(function () {\n if (jQuery(this).hasClass('is-open')) {\
1n jQuery(this).attr('aria-expanded', 'true');\n } else {\n jQuery(this).attr('aria-expanded', 'false');\n }\n });\n }, 50);\n },\n\n /*\r\n ===================================\r\n Toggle text\r\n ===================================\r\n */\n ToggleText: function ToggleText(e, elem) {\n e.preventDefault();\n\n if (elem.hasClass('is-open')) {\n elem.removeClass('is-open');\n elem.attr('aria-expanded', 'false');\n elem.text(elem.data('toggletextopen'));\n elem.closest('.negotiation__header').next().hide();\n } else {\n elem.addClass('is-open');\n elem.attr('aria-expanded', 'true');\n elem.text(elem.data('toggletextclose'));\n elem.closest('.negotiation__header').next().show();\n }\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.negotiation__item').length > 0) {\n PT.TingdokNegotiations.Setup();\n }\n});"},5786:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Tingdok__Vote\r\n===================================\r\n*/\n\nPT.Tingdok__Vote = {\n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {},\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n $('.progress-bar').viewportChecker({\n //classToAdd: 'visible', // Class to add to the elements when they are visible\n classToRemove: 'progress-bar--invisible' // Class to remove before adding 'classToAdd' to the elements\n //offset: 0, // The offset of the elements (let them appear earlier or later). This can also be percentage based by adding a '%' at the end\n //invertBottomOffset: true, // Add the offset as a negative number to the element's bottom\n //repeat: false, // Add the possibility to remove the class if the elements are not visible\n //callbackFunction: function(elem, action){}, // Callback to do after a class was added to an element. Action will return \"add\" or \"remove\", depending if the class was added or removed\n //scrollHorizontal: false // Set to true if your website scrolls horizontal instead of vertical.\n\n });\n },\n\n /*\r\n ===================================\r\n Error\r\n ===================================\r\n */\n Error: function Error(elem) {},\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {}\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.Tingdok__Vote.Setup();\n }\n});"},6612:e=>{e.exports='var items = document.querySelectorAll(".topicspot-result__first-level-item .topicspot-result__info");\nvar close = document.querySelectorAll(".topicspot-result__close-link");\nvar container = document.querySelectorAll(".topicspot-result__note-wrapper");\nvar triggers = document.querySelectorAll(".topicspot-result__icon-link");\n\nfor (var i = 0; i < items.length; i++) {\n items[i].addEventListener("click", function (event) {\n this.parentNode.classList.add("is-open");\n $(this).attr("aria-expanded", "true");\n $(this).next().slideDown("fast");\n });\n items[i].addEventListener("keypress", function (e) {\n if (e.key === "Enter") {\n this.parentNode.classList.add("is-open");\n $(this).attr("aria-expanded", "true");\n $(this).next().slideDown("fast");\n }\n });\n}\n\nfor (var i = 0; i < close.length; i++) {\n close[i].addEventListener("click", function (event) {\n this.parentNode.parentNode.parentNode.classList.remove("is-open");\n $(this).attr("aria-expanded", "false");\n $(this).parent().parent().slideUp("fast");\n });\n close[i].addEventListener("keypress", function (e) {\n if (e.key === "Enter") {\n this.parentNode.parentNode.parentNode.classList.remove("is-open");\n $(this).attr("aria-expanded", "false");\n $(this).parent().parent().slideUp("fast");\n }\n });\n}\n\n$(".topicspot-result__icon-link").click(function () {\n // set aria-expanded to fal
1se on all items\n $(triggers).attr(\'aria-expanded\', false); // removeClass needs to be queued\n\n $(this).closest(".topicspot-result__wrapper").siblings().find(".collapse.in").animate({\n height: 0\n }, 200).queue(function (nxt) {\n $(this).removeClass("in");\n nxt();\n }); //Collaps info container when accordion is collapsed\n\n $(this).closest(".topicspot-result__wrapper").siblings().find(".topicspot-result__icon-link").addClass("collapsed").attr(\'aria-expanded\', \'false\');\n $(".topicspot-result__note-wrapper").slideUp("fast").parent().removeClass("is-open"); // toggle aria-expanded on clicked item \n\n if ($(this).hasClass(\'collapsed\')) {\n $(this).attr(\'aria-expanded\', \'false\');\n } else {\n $(this).attr(\'aria-expanded\', \'true\');\n }\n});'},2658:e=>{e.exports="/*\r\n ===================================\r\n Pentia (PT) Namespace\r\n ===================================\r\n */\nvar PT = PT || {};\n/*\r\n ===================================\r\n PT.VODCalendar\r\n ===================================\r\n */\n\nPT.VodCalendar = {\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.js-vod-calendar-from').on('change', function () {\n PT.VodCalendar.DateChanged();\n });\n jQuery('.js-vod-calendar-to').on('change', function () {\n PT.VodCalendar.DateChanged();\n });\n },\n DateChanged: function DateChanged() {\n var fromDate = jQuery('.js-vod-calendar-from').val();\n var toDate = jQuery('.js-vod-calendar-to').val();\n var committeeSelect = jQuery('.js-vod-comittee-select');\n $.get('/committeesearch?startdate=' + fromDate + '&enddate=' + toDate, function (data) {\
1n committeeSelect.find('option').remove().end().append(data);\n });\n }\n};\n/*\r\n ===================================\r\n Initialize\r\n ===================================\r\n */\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.js-vod-calendar-from').length > 0 && jQuery('.js-vod-calendar-to').length > 0) {\n PT.VodCalendar.Setup();\n }\n});"},8286:e=>{e.exports="function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\r\n * Fallback for VOD component. Listen for a variable on the object embed to throw a readyState\r\n * TODO: This is not a good approach, but I'm not aware of a better approach unless we have access to Flash, that can call a javascript function on load.\r\n * Fixes Bug-29460\r\n * This will be obsolete if client wants to implement Bug-29460\r\n * @author Anders Pedersen <[email protected]>\r\n */\nvar PT = PT || {};\nPT.VodFallback = {\n timer: null,\n\n /**\r\n * @param {Object} obj jQuery object to lookup value in\r\n * @param {String} desiredValue The value of obj.context.readyState that should be matched\r\n * @param {Object} displayTarget The target that should have display none, display block toggled.\r\n */\n Setup: function Setup(obj, desiredValue, displayTarget) {\n if (_typeof(obj) == undefined || _typeof(displayTarget) == undefined) {\n return false;\n }\n\n displayTarget.css('display', 'none');\n PT.VodFallback.timer = setInterval(function () {\n PT.VodFallback.CheckVariable(obj, desiredValue, displayTarget);\n }, 1500);\n },\n CheckVariable: function CheckVariable(obj, desiredValue, displayTarget) {\n if (obj.context.readyState == desiredValue) {\n displayTarget.css('display', 'block');\n clearInterval(PT.VodFallback.timer);\n }\n }\n};\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.VodFallback.Setup(jQuery('object embed'), 'complete', jQuery('object p.message'));\n }\n});"},4086:e=>{e.exports="//Functions\ndate(); //Variables\n\nvar shareTrigger = $('.vod-container .dark_player_cntr_share_lnk.has-tools');\nvar disclaimerTrigger = $('.dark_player_cntr_share_lnk.has-disclaimer');\nvar videoTools = $('.video-tools');\nvar videoSocial = $('.video-tools__social');\nvar emailLink = $('.vod-container .video-tools__email-link');\nvar emailContainer = $('.video-tools__email__popup');\nvar emailCancel = $('.vod-container .video-tools__email__button-cancel');\nvar emailSubmit = $('.video-tools__email__button-submit');\nvar emailCopy = $('.vod-container .video-tools__copy-trigger');\n\nfunction date() {\n //current date\n var d = new Date();\n var month = d.getMonth() + 1;\n var day = d.getDate();\n var time = d.getHours() + \":\" + d.getMinutes();\n var output = (('' + day).length < 2 ? '0' : '') + day + \"-\" + (('' + month).length < 2 ? '0' : '') + month + '-' + d.getFullYear();\n $('#videoAboutDate').html(output + \" kl. \" + time);\n}\n\nshareTrigger.click(function (e) {\n e.preventDefault();\n var videoToolsBox = $('.video-tools__box');\n var videoTools = $('.video-tools'); //Setting active class on the manu \n\n $(this).parent().toggleClass('is-active');\n\n if (!$(videoTools).hasClass('is-toolbox')) {\n videoTools.toggleClass('is-open-tools');\n } else {\n $('.video-tools.is-toolbox').removeClass('is-toolbox');\n videoToolsBox.removeClass('is-toolbox');\n }\n});\n$('.dark_player_cntr_share_lnk.has-disclaimer').click(function (e) {\n e.preventDefault(); // hide the other open disclaimer\n\n $('.video-tools-edit__disclaimer').removeClass('is-shown').hide();\n var disclaimerInput = $(this).parent().parent().next().find('.video-tools__input');\n $(this).parent().toggleClass('is-active');\n\n if ($(this).parent().next().hasClass('is-active')) {\n $(this).parent().next().removeClass('is-active');\n }\n\n $(this).parent().parent().next().children(\".video-tools__disclaimer\").toggleClass('is-shown');\n disclaimerInput.change(function () {\n var thisDisclaimer = $(this).parent().parent();\n var thisToolbox = $(this).parent().parent().parent();\n var disclaimerLink = $(this).parent().parent().parent().prev().find('.dar
1k_player_cntr_share_lnk.has-disclaimer');\n setTimeout(function (e) {\n thisDisclaimer.hide();\n thisDisclaimer.removeClass('is-shown');\n thisToolbox.removeClass('is-open').addClass('is-open-tools');\n disclaimerLink.addClass('is-hidden');\n $('.dark_player_cntr_share_lnk.has-tools').show();\n }, 200);\n });\n});\n$('.dark_player_cntr_cut_lnk').click(function (e) {\n e.preventDefault();\n\n if ($(this).hasClass('has-disclaimer')) {\n // Hide the other open disclaimer\n $('.video-tools__disclaimer').removeClass('is-shown').hide();\n $('.video-tools__box').parent().removeClass('is-open-tools'); // Set active class on parent \n\n if ($(this).parent().hasClass('is-active')) {\n $(this).parent().removeClass('is-active');\n } else {\n $(this).parent().addClass('is-active');\n } // Remove active class on the other link if active\n\n\n if ($(this).parent().prev().hasClass('is-active')) {\n $(this).parent().prev().removeClass('is-active');\n }\n\n $(this).parent().parent().next().children(\".video-tools-edit__disclaimer\").toggleClass('is-shown');\n var disclaimerInput = $('.video-tools').find('.video-tools-edit__input'); // Make sure the checkbox is not already checked\n\n if (disclaimerInput.is(\":checked\")) {\n disclaimerInput.removeAttr('checked');\n } else {\n disclaimerInput.change(function () {\n var thisDisclaimer = $(this).parent().parent();\n var disclaimerLink = $(this).parent().parent().parent().prev().find('.dark_player_cntr_cut_lnk.has-disclaimer'); // Hide disclaimer and adjust link visibility\n\n thisDisclaimer.hide();\n thisDisclaimer.removeClass('is-shown');\n disclaimerLink.addClass('is-hidden');\n $('.dark_player_cntr_cut_lnk.has-tools').show();\n console.log(\"Preparing to show modal...\"); // Clear any existing 'shown.bs.modal' event handlers to avoid duplicate events\n\n $('#vodCuttingTool').off('shown.bs.modal'); // Attach the event handler for when the modal is fully shown\n\n $('#vodCuttingTool').on('shown.bs.modal', function () {\n console.log(\"Modal shown - waiting for iframe to load\"); // Append modal to body\n\n $('#vodCuttingTool').appendTo(\"body\");\n console.log(\"Waiting for iframe to load...\"); // Set up iframe load event\n\n $('#vodCuttingTool iframe').on('load', function () {\n console.log(\"Iframe loaded successfully.\");\n sendMessageToFrames('vodcuttingtool open');\n });\n }); // Trigger modal to show (this triggers the 'shown.bs.modal' event)\n\n $('#vodCuttingTool').modal();\n });\n }\n }
1 else if ($(this).hasClass('has-tools')) {\n // if terms and conditions are accepted once, open modal directly\n // hide the other open disclaimer\n $('.video-tools__disclaimer').removeClass('is-shown').hide();\n $('.video-tools__box').parent().removeClass('is-open-tools'); // Append modal to body and show it\n\n $('#vodCuttingTool').modal().appendTo(\"body\");\n }\n}); // Video spot that uses kaltura\n\n$('.social-video').each(function (element) {\n var hasDiclaimerLink = $(this).find('.dark_player_cntr_share_lnk.has-disclaimer');\n var hasToolsLink = $(this).find('.dark_player_cntr_share_lnk.has-tools');\n var popUpTrigger = $(this).find('.video-popup');\n var copyEmailTrigger = $(this).find('.video-tools__copy-trigger');\n var copyEmbedTrigger = $(this).find('.video-tools__copy-embed');\n var iframeContent = $(this).find('.dark_player.dark_player_tingdok-wrapper');\n var sendThisEmail = $(this).find('.video-tools__email-link');\n var cancelThisEmail = $(this).find('.video-tools__email__button-cancel');\n var submitThisEmail = $(this).find('.video-tools__email__button-submit');\n var thisEmailContainer = $(this).find('.video-tools__email__popup');\n var thisVideoTools = $(this).find('.video-tools');\n var thisVideoDate = $(this).find('.video_date');\n var thisVideoType = $(this).find('.video_title').text();\n var thisMessage = $(this).find('.video-tools__email__message');\n $('#sendLinkToFriendArea').show();\n hasToolsLink.click(function (e) {\n e.preventDefault(); //var videoToolsBox = $('.video-tools__box');\n\n var videoToolsBox = $(this).parent().parent().next().children(\":first\"); //var videoTools = $('.video-tools');\n\n var videoTools = $(this).parent().parent().next(); //Setting active class on the manu \n\n $(this).parent().toggleClass('is-active');\n\n if (!$(videoTools).hasClass('is-toolbox')) {\n videoTools.toggleClass('is-open-tools');\n } else {\n $('.video-tools.is-toolbox').removeClass('is-toolbox');\n videoToolsBox.removeClass('is-toolbox');\n }\n });\n $('.dark_player_cntr_share_lnk.has-disclaimer').click(function (e) {\n e.preventDefault();\n var disclaimerInput = $(this).parent().parent().next().find('.video-tools__input');\n $(this).parent().toggleClass('is-active');\n $(this).parent().parent().next().children(\":first\").toggleClass('is-shown');\n disclaimerInput.change(function () {\n var thisDisclaimer = $(this).parent().parent();\n var thisToolbox = $(this).parent().parent().parent();\n var disclaimerLink = $(this).parent().parent().parent().prev().find('.dark_player_cntr_share_lnk.has-disclaimer');\n setTimeout(function (e) {\n thisDisclaimer.hide();\n thisDisclaimer.removeClass('is-shown');\n thisToolbox.removeClass('is-open').addClass('is-open-tools'); // change link on all videos when terms and conditions are accepted once\n\n hasDiclaimerLink.addClass('is-hidden');\n $('.dark_player_cntr_share_lnk.has-tools').show();\n }, 200);\n });\n });\n popUpTrigger.click(function () {\n if (!$('html').hasClass('site-euo')) {\n stopVideoPlayer();\n }\n\n var thisLocation = $(this).parent().next().find('.video-player-iframe').attr('src');\n window.open(thisLocation, '_blank', 'width=720, height=468');\n return false;\n }); // Copy link\n\n copyEmailTrigger.click(function (e) {\n e.preventDefault();\n var textarea = document.createElement(\"input\");\n $(textarea).css({\n \"position\": \"absolute\",\n \"left\": \"-999999999px\"\n });\n var successMessage = copyEmailTrigger.data(\"success-message\");\n textarea.value = this.getAttribute(\"data-vid-url\");\n $('body').prepend(textarea);\n $(textarea).select();\n document.execCommand('copy');\n $(textarea).hide();\n copyEmailTrigger.hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore(copyEmailTrigger).delay(900).fadeOut(function () {\n $(this).remove();\n copyEmailTrigger.show();\n });\n }, 90);\n }); // Copy embed\n\n copyEmbedTrigger.click(function (e) {\n e.preventDefault();\n var textareaContainer = $(this).parent().next()[0];\n var textarea = textareaContainer;\n var successMessage = $(this).data(\"success-message\");\n $(textarea).text($(iframeContent).html());\n $(textarea).select();\n document.execCommand('copy');\n $(this).hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore(copyEmbedTrigger).delay(900).fadeOut(function () {\n $(this).remove();\n $(copyEmbedTrigger).show();\n });\n }, 90);\n }); // Copy Email\n\n sendThisEmail.click(function (e) {\n e.preventDefault();
1\n var url = this.getAttribute(\"data-vid-url\");\n var videoDate = $(thisVideoDate).text();\n var videoType = $(thisVideoType).text();\n $(thisEmailContainer).toggleClass('is-active');\n $(thisVideoTools).toggleClass('has-email-popup');\n $(thisMessage).text(videoDate + '\\n' + videoType + '\\n' + url);\n });\n cancelThisEmail.click(function (e) {\n e.preventDefault();\n thisEmailContainer.removeClass('is-active');\n thisVideoTools.removeClass('has-email-popup');\n });\n submitThisEmail.click(function () {\n thisEmailContainer.removeClass('is-active');\n thisVideoTools.removeClass('has-email-popup');\n });\n});\nemailLink.click(function (e) {\n e.preventDefault();\n var url = '';\n var iframeElement = document.getElementById('mobilVideoPlayer1');\n if (iframeElement) url = iframeElement.src;\n var videoDate = $('.video_date').text();\n var videoType = $('.video_title').text();\n emailContainer.toggleClass('is-active');\n videoTools.toggleClass('has-email-popup');\n $('.video-tools__email__message').text(videoDate + '\\n' + videoType + '\\n' + url);\n});\nemailCancel.click(function () {\n emailContainer.removeClass('is-active');\n videoTools.removeClass('has-email-popup');\n});\nemailSubmit.click(function () {\n emailContainer.removeClass('is-active');\n videoTools.removeClass('has-email-popup');\n}); // Copy link\n\nemailCopy.click(function (e) {\n e.preventDefault();\n var textarea = document.createElement(\"input\");\n $(textarea).css({\n \"position\": \"absolute\",\n \"left\": \"-999999999px\"\n });\n var successMessage = emailCopy.data(\"success-message\");\n var iframeElement = document.getElementById('mobilVideoPlayer1');\n if (!iframeElement) return false;\n textarea.value = iframeElement.src;\n $('body').prepend(textarea);\n $(textarea).select();\n document.execCommand('copy');\n $(textarea).hide();\n emailCopy.hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore('.video-tools__copy-trigger').delay(900).fadeOut(function () {\n $(this).remove();\n emailCopy.show();\n });\n }, 90);\n});\n$('.vod-container .video-tools__copy-embed').click(function (e) {\n e.preventDefault();\n var textarea = document.getElementById(\"embedContainer\");\n var successMessage = $('.video-tools__copy-embed').data(\"success-message\");\n $('#embedContainer').text($('.video-wrapper-fluid').html() || $('.dark_player.dark_player_tingdok-wrapper').html());\n $(textarea).select();\n document.execCommand('copy');\n $('.video-tools__copy-embed').hide();\n setTimeout(function (e) {\n $('<p class=\"copy-success\">' + successMessage + '</p>').fadeIn().insertBefore('.video-tools__copy-embed').delay(900).fadeOut(function () {\n $(this).remove();\n $('.video-tools__copy-embed').show();\n });\n }, 90);\n});\n$('.video-list-spot').each(function () {\n if ($(this).length > 0) {\n $(this).closest('.panel').addClass('video-accordion');\n }\n});\n$('#NewWindow').click(function () {\n if (!$('html').hasClass('site-euo')) {\n stopVideoPlayer();\n }\n\n var iframElement = document.getElementById('mobilVideoPlayer1');\n if (iframElement == null) return false;\n var location = iframElement.src;\n window.open(location, '_blank', 'width=720, height=468');\n return false;\n}); // iframe in Conent pages\n\nif (parseInt($(window).width()) < 668) {\n $('.site-ft .text-spot-a-wrapper iframe').wrap('<div class=\"iframe-container\" style=\"max-width:450px\"><div clas=\"video-wrapper-fluid\" style=\"position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; background-size: cover;\"></div></div>');\n $('.site-euo .text-spot-a-wrapper iframe').wrap('<div class=\"iframe-container\"><div clas=\"video-wrapper-fluid\" style=\"position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; background-size: cover;\"></div></div>');\n} else {\n $('.site-ft .text-spot-a-wrapper iframe').wrap('<div class=\"iframe-container\" style=\"max-width:450px\"><div clas=\"video-wrapper-fluid\" style=\"position: relative; padding-bottom: 56.25%; padding-top: 38px; height: 0; background-size: cover;\"></div></div>');\n $('.site-euo .text-spot-a-wrapper iframe').wrap('<div class=\"iframe-container\"><div clas=\"video-wrapper-fluid\" style=\"position: relative; padding-bottom: 56.25%; padding-top: 38px; height: 0; background-size: cover;\"></div></div>');\n}\n\n$('#iframevideo').closest('.tingdok-normal').css('max-width', '450px');\n\nfunction sendMessageToFrames(message) {\n Array.prototype.forEach.call(window.frames, function (frame) {\n try {\n if (frame !== window) {\
1n frame.postMessage(message, '*');\n }\n } catch (error) {}\n });\n}\n\n$('#vodCuttingTool').on('hidden.bs.modal', function (e) {\n sendMessageToFrames('vodcuttingtool close');\n});"},5107:e=>{e.exports='function IVPMessageController(callbackObject) {\n var self = this;\n var callbackObj = callbackObject;\n\n this.ReceiveMessage = function (event) {\n if (event === undefined) {\n return;\n }\n\n if (event.data === null) {\n return;\n }\n\n var type = event.data.messageType;\n var data = event.data.messageData;\n\n switch (type) {\n case IVPMessage.PLAYER_READY:\n callbackObj.PlayerReady(data);\n break;\n\n case IVPMessage.VIDEO_PLAYHEAD_UPDATE:\n callbackObj.UpdatePlayhead(data);\n break;\n\n case IVPMessage.VIDEO_SEEKED:\n callbackObj.VideoSeeked(data);\n break;\n }\n };\n\n window.addEventListener("message", self.ReceiveMessage, false);\n}\n\nfunction IVPMessage() {}\n\nIVPMessage.VIDEO_PLAYHEAD_UPDATE = "VIDEO_PLAYHEAD_UPDATE";\nIVPMessage.VIDEO_SEEKTO = "VIDEO_SEEKTO";\nIVPMessage.VIDEO_PLAY = "VIDEO_PLAY";\nIVPMessage.VIDEO_PAUSE = "VIDEO_PAUSE";\nIVPMessage.VIDEO_SEEKED = "VIDEO_SEEKED";\nIVPMessage.PLAYER_READY = "PLAYER_READY";\n\nfunction TestCallbackObj() {}\n/* Hook up our test object to receive messages */\n\n\nwindow.playerController = new IVPMessageController(TestCallbackObj);
1\n\nTestCallbackObj.PlayerReady = function (data) {\n if (typeof OnVideoSeeked === \'undefined\') {\n return;\n }\n\n OnPlayerReady();\n};\n\nfunction StartPlayer() {\n var player = document.getElementById("mobilVideoPlayer1");\n\n if (!player) {\n return;\n }\n\n var msg = {\n "messageType": IVPMessage.VIDEO_PLAY,\n "messageData": ""\n };\n var remoteUrl = player.getAttribute(\'data-player-url\');\n\n if (!remoteUrl) {\n return;\n }\n\n player.contentWindow.postMessage(msg, remoteUrl);\n}\n\nTestCallbackObj.VideoSeeked = function (data) {\n //Always start player after seek\n StartPlayer();\n\n if (typeof OnVideoSeeked === \'undefined\') {\n return;\n }\n\n OnVideoSeeked(data);\n};\n\nTestCallbackObj.UpdatePlayhead = function (data) {\n var offsetTime = data.offsetTime;\n var realStartDate = new Date(data.startTime * 1000);\n var realNowDate = new Date((data.startTime + offsetTime) * 1000);\n\n if (typeof OnPlayHeadUpdated === \'undefined\') {\n return;\n }\n\n OnPlayHeadUpdated(realNowDate);\n};'},9164:e=>{e.exports='function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\n//Version 0.95: 2011 - Peter R. Bojesen\n//Version 1.0: 2011 - Peter R. Bojesen\n//Version 1.1: 2011 - Peter R. Bojesen\n//Dependencies:\n//VideoCommon.js\nvar title = $(\'.video_title\').text();\nvar date = $(\'.video_date\').text();\nvar topBarInfo = title + " - " + date;\nvar shareVideoId;\nvar shareVideoDate;\nvar shareVideoLength;\nvar shareTitle = topBarInfo;\nvar shareDescription = "";\nvar shareUrl = "";\nvar playStateBeforePreview;\nvar playStateBeforePopup;\nvar sharePlayState = \'\';\nvar sharePreviewPlayState = \'\';\nvar shareType = "VOD"; //VOD, LIVE, FUTURE, SPECIAL\n\nvar videoEditMode = 0; //"Range slider": 0=NONE. 1=From time in range. 2=From and to times in range\n\nvar sharingNegotiation = false;\nvar defWidth = \'350\';\nvar defHeight = \'255\';\nvar facebookWidth = \'350\';\nvar facebookHeight = \'255\';\nvar minWidth = 350;\nvar maxWidth = 768;\nvar sharePlayerCode = "";\nvar playerSizeVar = "small";\nvar playerSizeWidth;\nvar playerSizeHeight;\nvar sharePlayerId = "sharePlayerId";\nvar sharePreviewPlayerId = "sharePreviewPlayer";\nvar playerUrl = "http://ft.arkena.tv/flash/ftplayer.swf"; //var playerUrl = "http://www.looper.dk/clients/arkena/ft_videoplayer/release/FTplayer.1.1.75.swf";\n//var playerUrl = "http://folketingetap.ms-serv.com/liveplayer/FTplayer.swf";\n\nvar currentShareVideoTime;\nvar shareVideoStartTime = null;\nvar shareVideoEndTime = null;\nvar shareMeetingStartTime = null;\nvar shareMeetingEndTime = null;\nvar shareClipInTime = null;\nvar shareClipOutTime = null;\nvar sharePlayerLink = "";\nvar sharePlayerEmbedCode = "";\nvar sharePopupIsOpen = false;\nvar currentTab = -1; //-----------------------------------\n//Video edit variables\n//-----------------------------------\n\nvar shareInTimeEdited;\nvar shareOutTimeEdited; //var selectedTab = 0;\n//**********************************************\n// Main Settings\n//**********************************************\n\nvar trimToVideoClipOnPopup = true;\nvar bufferSecondsToAddToClip = 10;\nvar continuePlayingAfterPopup = true;\nvar endTimeIsOverMidnight = false; //Logging\n\nvar debug = false;\nif (debug && (typeof console === "undefined" ? "undefined" : _typeof(console)) == "object") log = console.log;else log = function log() {}; //-----------------------------------\n//Event handler helper methods\n//-----------------------------------\n\nfunction addSecs(datetime, secs) {\n return new Date(datetime.getTime() + secs * 1000);\n}\n\nfunction formatTime(datetime) {\n var temp = String(datetime.getHours());\n temp = \'00\'.slice(0, 2 - temp.length) + temp;\n var time = temp + \':\';\n temp = String(datetime.getMinutes());\n temp = \'00\'.slice(0, 2 - temp.length) + temp;\n time += temp + \':\';\n temp = String(datetime.getSeconds());\n temp = \'00\'.slice(0, 2 - temp.length) + temp;\n time += temp;\n return time; //return datetime.getHours()+\':\'+datetime.getMinutes()+\':\'+datetime.getSeconds();\n}\n\nfunction formatDate(datetime) {\n var temp = String(datetime.getFullYear());\n var date = temp + \'/\';\n temp = String(datetime.getMonth() + 1);\n temp = \'00\'.slice(0, 2 - temp.length) + temp;\n date += temp + \'/\';\n temp = String(datetime.getDate());\n temp = \'00\'.slice(0, 2 - temp.length) + temp;\n date += temp;\n return date;\n}\n\nfunction secondsToHms(d) {\n d = Number(d);
1\n var h = Math.floor(d / 3600);\n var m = Math.floor(d % 3600 / 60);\n var s = Math.floor(d % 3600 % 60);\n return (h < 10 ? "0" + h + ":" : h) + (m > 0 ? (m < 10 ? "0" : "") + m + ":" : "00:") + (s < 10 ? "0" : "") + s;\n}\n\nfunction getTimePart(isoDatetimeString) {\n return isoDatetimeString != null && isoDatetimeString.indexOf(\'T\') > 0 ? isoDatetimeString.substring(isoDatetimeString.indexOf(\'T\') + 1) : isoDatetimeString;\n}\n\nfunction getDatePart(isoDatetimeString) {\n return isoDatetimeString != null && isoDatetimeString.indexOf(\'T\') > 0 ? isoDatetimeString.substring(0, isoDatetimeString.indexOf(\'T\')) : isoDatetimeString;\n}\n\nfunction formatDateAsIso(jsDatetimeString) {\n return jsDatetimeString != null && jsDatetimeString.indexOf(\'/\') > 0 ? jsDatetimeString.replace(/\\//g, \'-\') : jsDatetimeString;\n}\n\nfunction calculateTimespan(date1, date2) {\n return date2.getTime() - date1.getTime();\n}\n\nfunction getIntervalInSeconds(date1, date2) {\n date1 = validateVideoDate(date1, date2);\n date2 = validateVideoDate(date2, date1);\n return calculateTimespan(date1, date2) / 1000;\n}\n\nfunction getIntervalInFormattedTime(date1, date2) {\n date1 = validateVideoDate(date1, date2);\n date2 = validateVideoDate(date2, date1);\n var timespan = calculateTimespan(date1, date2);\n var timeString = secondsToHms(timespan / 1000);\n return formatTime(new Date(formatDate(date1) + " " + timeString));\n}\n\nfunction validateVideoDate(date1, date2) {\n if (date1 == null || isNaN(date1)) {\n if (date2 == null || isNaN(date2)) return new Date("1970/01/01 00:00:00");else return date2;\n }\n\n return date1;\n} //Global: Open share popup\n\n\nfunction openSharePopup(videoId, videoUrl, videoStartTime, videoEndTime, theShareTitle, theShareDescription, theShareType, inTime, outTime, isNegotiation) {\n var playingClipOnly = false; //Semaphore\n\n sharePopupIsOpen = true; //Pause player on main page if it is playing\n\n playStateBeforePopup = playState;\n setPlayerAction(videoPlayerId, getPlayState, "pause", true);\n sharingNegotiation = typeof isNegotiation != "undefined" && isNegotiation; //sharingNegotiation = true;\n //----------------------------------------------------------\n //HandleInOutTime\n //Make sure there is no milliseconds in start/end times\n\n videoStartTime = videoStartTime.indexOf(\'.\') > 0 ? videoStartTime.substring(0, videoStartTime.indexOf(\'.\')) : videoStartTime;\n videoEndTime = videoEndTime.indexOf(\'.\') > 0 ? videoEndTime.substring(0, videoEndTime.indexOf(\'.\')) : videoEndTime;\n inTime = inTime.indexOf(\'.\') > 0 ? inTime.substring(0, inTime.indexOf(\'.\')) : inTime;\n outTime = outTime.indexOf(\'.\') > 0 ? outTime.substring(0, outTime.indexOf(\'.\')) : outTime;\n\n if (getDatePart(videoStartTime) != getDatePart(videoEndTime)) {\n videoEndTime = getDatePart(videoStartTime) + \'T23:59:59\';\n endTimeIsOverMidnight = true;\n }\n\n shareMeetingStartTime = getTimePart(videoStartTime);\n shareMeetingEndTime = getTimePart(videoEndTime); //----------------------------------------------------------\n\n var title = document.querySelector(\'.video_title\').innerText;\n ;\n var date = document.querySelector(\'.video_date\').innerText;\n ;\n var topBarInfo = title + " - " + date; //Set variables\n\n shareVideoId = videoId;\n shareVideoDate = getDatePart(videoStartTime).replace(/-/g, "/");\n shareUrl = videoUrl;\n shareTitle = theShareTitle;\n shareDescription = theShareDescription;\n playingClipOnly = inTime != null && inTime !== \'\' && outTime != null && outTime !== \'\';\n shareType = theShareType;\n sharePlayState = "";\n var autoPlay = false,\n preplayImage = false,\n isLive = false,\n width = 580,\n height = 326; //isLive = (shareType === \'LIVE\' || shareType === \'FUTURE\')\n //Update UI\n\n setUIValue("shareBoxHeaderText", truncateTitle(shareTitle), "html");\n setUIValue("playerSizeCustomWidthField", defWidth, "value");\n setUIValue("playerSizeCustomHeightField", defHeight, "value"); //Initialize edit area\n\n editAreaVisible(true); //Set slider ranges\n\n if (shareType !== \'FUTURE\') {\n //In times for VOD/LIVE/SPECIAL\n shareClipInTime = trimToVideoClipOnPopup && playingClipOnly ? getTimePart(inTime) : getTimePart(videoStartTime);\n shareInTimeEdited = shareClipInTime;\n shareVideoStartTime = trimToVideoClipOnPopup ? formatTime(addSecs(new Date(shareVideoDate + " " + shareInTimeEdited), -1 * bufferSecondsToAddToClip)) : getTimePart(videoStartTime);\n\n if (shareType === \'VOD\') {\n //Out times for VOD\n shareClipOutTime = trimToVideoClipOnPopup && playingClipOnly ? getTimePart(outTime) : getTimePart(videoEndTime);\n shareOutTimeEdited = shareClipOutTime;\n shareVideoEndTime = trimToVideoClipOnPopup ? formatTime(addSecs(new Date(shareVideoDate + " " + shareOutTimeEdited), bufferSecondsToAddToClip > 0 ? bufferSecondsToAddToClip : 1)) : getTimePart(videoEndTime);\n videoEditMode = 2; //Init slider\n\n var sliderMax = getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + (endTimeIsOverMidnight ? \'23:59:59\' : shareVideoEndTime)));\n jqLegacy151("#embedRangeSlider").slider("option", "min", 0);\n jqLegacy151("#embedRangeSlider").slider("option", "max", sliderMax);\n jqLegacy151("#embedRangeSlider").slider("option", "step", 1);\n jqLegacy151("#embedRangeSlider").bind("slide", function (event, ui) {\n videoSliderSlided(ui.values[0], ui.values[1]);\n });\n jqLegacy151("#embedRangeSlider").bind("slidestop", function (event, ui) {\n videoSlideChanged();\n });\n jqLegacy151("#embedRangeSlider").slider("values", 0, getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareClipInTime)));\n jqLegacy151("#embedRangeSlider").slider("values", 1, getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareClipOutTime)));\n } else {\n //Out times for LIVE/SPECIAL\n shareClipOutTime = null;\n shareOutTimeEdited = null;\n shareVideoEndTime = null;\n videoEditMode = 0; //Hide edit area\n\n editAreaVisible(false);\n }\n } else {\n //For FUTURE in/out times and editing are disabled all together\n videoEditMode = 0;\n shareClipInTime = null;\n shareInTimeEdited = null;\n shareVideoStartTime = null;\n shareClipOutTime = null;\n shareOutTimeEdited = null;\n shareVideoEndTime = null; //Hide edit area\n\n editAreaVisible(false);\n } //Init player size\n\n\n jqLegacy151(\'.size-\' + playerSizeVar).click();\n setPlayerSize(playerSizeVar); //Setup share player\n\n sharePlayerCode = drawPlayer(shareVideoId, shareVideoStartTime, shareVideoEndTime, autoPlay, preplayImage, false, true, isLive, true, width, height, \'&progress_callback=shareSecondWentByHandler&
1playstate_callback=sharePlayStateHandler\', sharePlayerId);\n setUIValue("sharePlayerCurrentTimeLabel", shareClipInTime, "text"); //Set clip length\n\n updateEmbedEditVideoLabels(); //Select embed tab\n\n jqLegacy151(\'.button-share\').click(); //Reset forms and choices\n\n jqLegacy151(\'#copyCodeArea\').hide();\n jqLegacy151(\'#sendLinkToFriendArea\').hide();\n $terms.attr(\'disabled\', false);\n jqLegacy151("#sendLinkToFriendFieldFromName").removeClass("alertError");\n jqLegacy151("#sendLinkToFriendFieldFromMail").removeClass("alertError");\n jqLegacy151("#sendLinkToFriendFieldToName").removeClass("alertError");\n jqLegacy151("#sendLinkToFriendFieldToMail").removeClass("alertError");\n jqLegacy151("#sendLinkToFriendFieldMessage").removeClass("alertError");\n setUIValue("sendLinkToFriendFieldFromName", "", "value");\n setUIValue("sendLinkToFriendFieldFromMail", "", "value");\n setUIValue("sendLinkToFriendFieldToName", "", "value");\n setUIValue("sendLinkToFriendFieldToMail", "", "value");\n setUIValue("sendLinkToFriendFieldMessage", shareTitle + "\\n\\n" + getShareDescription(\'\\n\') + "\\n\\n" + shareUrl, "value"); //Reset terms accept checkbox\n\n if (jqLegacy151(\'#accept\').is(\':checked\')) {\n jqLegacy151(\'#accept\').attr(\'checked\', false);\n jqLegacy151(\'.share-area a\').addClass(\'disabled\');\n } //!!! insert playrange slider\n // jqLegacy151(".slider").append(\'<div id="playheadSlider"></div>\');\n //Open the fancybox \n\n\n jqLegacy151.fancybox({\n href: \'#share\',\n type: \'inline\',\n centerOnScroll: true,\n padding: 0,\n hideOnOverlayClick: false,\n width: 790,\n height: 590,\n scrolling: \'no\',\n onStart: function onStart() {\n jqLegacy151(\'#share\').show();\n init_scroll();\n },\n onClosed: function onClosed() {\n closeSharePopup();\n jqLegacy151(\'#share\').hide();\n }\n }); //Draw player (MUST BE LAST LINE IN FUNCTION - DO NOT MOVE!)\n //document.getElementById(\'sharePlayerArea\').innerHTML = drawPlayer(shareVideoId, shareVideoStartTime, shareVideoEndTime, autoPlay, preplayImage, false, true, isLive, true, width, height, \'&progress_callback=shareSecondWentByHandler&playstate_callback=sharePlayStateHandler\', sharePlayerId);\n}\n\nfunction truncateTitle(title) {\n var maxChars = 85;\n if (title.indexOf(\'(\') > 0 && title.indexOf(\'(\') <= maxChars) return title.substring(0, title.indexOf(\'(\'));else return title.substring(0, maxChars) + \'...\';\n}\n\nfunction editAreaVisible(show) {\n if (!show) {\n jqLegacy151("#embedEditVideoTitle").hide();\n jqLegacy151(".s-buttons").hide();\n jqLegacy151(".video-length").hide();\n jqLegacy151(".slider").hide(); //jqLegacy151(".custom-buttons").hide();\n } else {\n jqLegacy151("#embedEditVideoTitle").show();\n jqLegacy151(".slider").show();\n jqLegacy151(".custom-buttons").show();\n jqLegacy151(".s-buttons").show(); //jqLegacy151(".video-length").show();\n }\n}\n\nfunction initSlider(sliderMax, isRange) {\n jqLegacy151("#embedRangeSlider").slider("option", "min", 0);\n jqLegacy151("#embedRangeSlider").slider("option", "max", sliderMax);\n jqLegacy151("#embedRangeSlider").slider("option", "step", 1);\n jqLegacy151("#embedRangeSlider").bind("slidestop", function (event, ui) {\n videoSlideChanged();\n });\n jqLegacy151("#embedRangeSlider").slider("option", "range", true);\n jqLegacy151("#embedRangeSlider").bind("slide", function (event, ui) {\n videoSliderSlided(ui.values[0], ui.values[1]);\n });\n jqLegacy151("#embedRangeSlider").slider("values", 0, getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareClipInTime)));\n jqLegacy151("#embedRangeSlider").slider("values", 1, getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareClipOutTime)));\n} //Return code for embedded player\n\n\nfunction getEmbedCode() {\n var autoPlay = false,\n preplayImage = true,\n isVod = false,\n isLive = false;
1 //isLive = (shareType === \'LIVE\' || shareType === \'FUTURE\');\n\n var outTime = null;\n var inTime = null;\n if (shareOutTimeEdited != shareMeetingEndTime) outTime = shareOutTimeEdited != null ? formatTime(addSecs(new Date(shareVideoDate + " " + shareOutTimeEdited), 1)) : null;\n if (shareInTimeEdited != shareMeetingStartTime) inTime = shareInTimeEdited;\n return getPlayerEmbed(shareVideoId, inTime, outTime, autoPlay, preplayImage, true, isVod, isLive, false, playerSizeWidth, playerSizeHeight, \'\', \'FT_VideoPlayer\');\n} //-----------------------------------\n//Slider control\t\n//-----------------------------------\n\n\nvar selectedInPoint, selectedOutPoint;\nvar lastSlideAction = "intime";\n\nfunction videoSliderSlided(inPoint, outPoint) {\n var endTime = shareVideoEndTime == null ? shareClipOutTime : endTimeIsOverMidnight ? \'23:59:59\' : shareVideoEndTime;\n\n if (inPoint !== selectedInPoint) {\n shareInTimeEdited = formatTime(addSecs(new Date(shareVideoDate + " " + shareVideoStartTime), inPoint));\n\n if (shareInTimeEdited > endTime) {\n shareInTimeEdited = endTime;\n }\n\n setUIValue("embedInTimeSlideField", shareInTimeEdited, "value");\n lastSlideAction = "intime";\n selectedInPoint = inPoint;\n updateEmbedEditVideoLabels();\n } else if (outPoint != null && outPoint !== selectedOutPoint) {\n shareOutTimeEdited = formatTime(addSecs(new Date(shareVideoDate + " " + shareVideoStartTime), outPoint));\n\n if (shareInTimeEdited > endTime) {\n shareInTimeEdited = endTime;\n }\n\n setUIValue("embedOutTimeSlideField", shareOutTimeEdited, "value");\n lastSlideAction = "outtime";\n selectedOutPoint = outPoint;\n updateEmbedEditVideoLabels();\n }\n}\n\nfunction videoSlideChanged() {\n jqLegacy151("#embedRangeSlider").stop();\n\n if (lastSlideAction === "intime") {\n jumpToEmbedInTime();\n } else if (lastSlideAction === "outtime") {\n jumpToEmbedOutTime();\n }\n} //**********************************************\n// VIDEO PLAYER\n//**********************************************\n//-----------------------------------\n//Video player handlers\n//-----------------------------------\n//Function for returning the player status\n\n\nfunction getSharePlayState() {\n return sharePlayState;\n}\n\nfunction getSharePreviewPlayState() {\n return sharePreviewPlayState;\n}\n\nfunction sharePlayStateHandler(state) {\n log(state);\n sharePlayState = state;\n\n if (state === \'stop\') {\n log(\'pressing ctrl-play button\');\n jqLegacy151(\'#ctrl-play\').click();\n }\n}\n\nfunction sharePreviewPlayStateHandler(state) {\n sharePreviewPlayState = state;\n}\n\nfunction shareSecondWentByHandler(time) {\n currentShareVideoTime = time;\n setUIValue("sharePlayerCurrentTimeLabel", currentShareVideoTime, "text");\n} //-----------------------------------\n//Video player commands\n//-----------------------------------\n\n\nfunction jumpToTime(videoTime) {\n if (videoTime != null) {\n log(\'JumpToTime: \' + videoTime);\n setPlayerAction(sharePlayerId, getSharePlayState, "jump", true, videoTime); //Set play icon under player to "playing" (pause icon)\n\n if (getSharePlayState() !== \'play\') {\n log(\'pressing ctrl-play button\');\n jqLegacy151(\'#ctrl-play\').click();\n }\n }\n}\n\nfunction showVideoClip(videoTime, playerId, state) {\n setPlayerAction(playerId, state, "jump", true, videoTime);\n} //-----------------------------------\n//Button event handlers\n//-----------------------------------\n//**********************************************\n// Tab buttons\n//**********************************************\n//Indlejring\n\n\nfunction showEditTabpage() {\n if (currentTab != 1) {\n tabSwitched();\n sharePlayState = \'\';\n clearTimerRetry(sharePlayerId); //Print share player\n\n document.getElementById(\'sharePlayerArea\').innerHTML = sharePlayerCode;\n log(\'showEditTabpage(). videoEditMode=\' + videoEditMode);\n\n if (videoEditMode > 0) {\n setUIValue("sharePlayerCurrentTimeLabel", shareInTimeEdited, "text");\n jumpToTime(shareInTimeEdited);\n }\n\n currentTab = 1;\n }\n} //Example\n\n\nfunction showExampleTabpage() {\n if (currentTab != 2) {\n tabSwitched(); //!!!Remove this if player stays on popup during tab shift:\n\n sharePreviewPlayState = \'\';\n clearTimerRetry(sharePreviewPlayerId);\n showEmbedPlayerPreview();\n setUIValue("exampleStartLabel", shareInTimeEdited, "text");\n\n if (videoEditMode === 2) {\n setUIValue("exampleEndLabel", shareOutTimeEdited, "text");\n setUIValue("exampleDurationLabel", getIntervalInFormattedTime(new Date(shareVideoDate + " " + shareInTimeEdited), new Date(shareVideoDate + " " + shareOutTimeEdited)), "text");\n } else {\n setUIValue("exampleEndLabel", "--:--:--", "text");\n setUIValue("exampleDurationLabel", "--:--:--", "text");\n }\n\n setUIValue("examplePlayerSizeLabel", playerSizeWidth + " x " + playerSizeHeight, "text");\n currentTab = 2;\n }\n}\n\nfunction showShareTabpage() {\n if (currentTab != 0) {\n tabSwitched();\n currentTab = 0;\n }\n}\n\nfunction tabSwitched() {\n if (currentTab === 2) {\n if (getSharePreviewPlayState() === "play" || getSharePreviewPlayState() === "ready") setPlayerAction(sharePreviewPlayerId, getSharePreviewPlayState, "stop", true, null, removePreviewPlayer);\n }\n\n if (currentTab === 1) {\n if (getSharePlayState() === "play" || getSharePlayState() === "ready") setPlayerAction(sharePlayerId, getSharePlayState, "stop", true, null, removeSharePlayer);\n }\n}\n\nfunction showEmbedPlayerPreview() {\n //Show video player\n var _inTime, _outTime;\n\n _inTime = shareInTimeEdited;\n _outTime = shareOutTimeEdited != null ? formatTime(addSecs(new Date(shareVideoDate + " " + shareOutTimeEdited), 1)) : null;\n document.getElementById(\'embeddedPlayerPreviewArea\').innerHTML = drawPlayer(shareVideoId, _inTime, _outTime, false, true, false, false, shareType === \'
1LIVE\' || shareType === \'FUTURE\', false, playerSizeWidth, playerSizeHeight, \'&playstate_callback=sharePreviewPlayStateHandler\', sharePreviewPlayerId);\n}\n\nfunction removePreviewPlayer() {\n document.getElementById(\'embeddedPlayerPreviewArea\').innerHTML = \'\';\n log(\'Preview player removed!\');\n}\n\nfunction removeSharePlayer() {\n document.getElementById(\'sharePlayerArea\').innerHTML = \'\';\n log(\'Share player removed!\');\n} //**********************************************\n// Close window button\n//**********************************************\n\n\nfunction closeSharePopup() {\n tabSwitched();\n currentTab = -1;\n sharePopupIsOpen = false;\n\n if (continuePlayingAfterPopup && playStateBeforePopup === \'play\') {\n setPlayerAction(videoPlayerId, getPlayState, "play", false);\n }\n\n clearTimerRetry(sharePlayerId);\n clearTimerRetry(sharePreviewPlayerId);\n setTimeout(function () {\n cleanUpPlayers();\n }, 1000);\n}\n\nfunction cleanUpPlayers() {\n removeSharePlayer();\n removePreviewPlayer();\n} //**********************************************\n// Edit video clip\n//**********************************************\n////Intime field - leave field\n\n\nfunction enterRangeStart(inTime) {\n shareInTimeEdited = inTime;\n rangeHasChanged();\n jumpToEmbedInTime();\n} ////Outtime field - leave field\n\n\nfunction enterRangeEnd(outTime) {\n shareOutTimeEdited = outTime;\n rangeHasChanged();\n jumpToEmbedOutTime();\n} ////Button:\tEdit video - Saet Start\n\n\nfunction setEmbedRangeStart() {\n shareInTimeEdited = currentShareVideoTime != null ? currentShareVideoTime : shareVideoStartTime;\n rangeHasChanged();\n} //Button:\tEdit video - Saet Slut\n\n\nfunction setEmbedRangeEnd() {\n shareOutTimeEdited = currentShareVideoTime != null ? currentShareVideoTime : shareVideoEndTime;\n rangeHasChanged();\n}\n\nfunction rangeHasChanged() {\n //If inTime > outTime then set inTime = outTime\n if (shareInTimeEdited > shareOutTimeEdited) shareInTimeEdited = shareOutTimeEdited;\n updateEmbedEditVideoLabels();\n} //Button: Share on Facebook\n\n\nfunction shareEmbedOnFacebook(videoUrl) {\n if (videoUrl === undefined) {\n videoUrl = location.href;\n }\n\n var url = \'https://www.facebook.com/sharer/sharer.php?u=\';\n url += encodeURIComponent(videoUrl);\n window.open(url, \'shareOnFacebook\', \'width=640,height=320\'); //var t = shareTitle;\n //var dsc = getShareDescription(\' - \');\n //var u = getLinkToSharedVideo(\'ti=\' + encodeURIComponent(t) + \'&dsc=\' + encodeURIComponent(dsc) + \'&h=\' + facebookHeight + \'&w=\' + facebookWidth, true);\n //window.open(\'http://www.facebook.com/sharer.php?u=\' + encodeURIComponent(u) + \'&t=\' + encodeURIComponent(t), \'shareOnFacebook\', \'scrollbars=1,toolbar=0,status=0,width=626,height=436\');\n //console.log("damn", u);\n} //Label: Embed In Time\n\n\nfunction jumpToEmbedInTime() {\n jumpToTime(shareInTimeEdited);\n} //Label: Embed Out Time\n\n\nfunction jumpToEmbedOutTime() {\n jumpToTime(shareOutTimeEdited);\n} //Update Embed edit video labels\n\n\nfunction updateEmbedEditVideoLabels() {\n setUIValue("embedInTimeSlideField", shareInTimeEdited != null ? shareInTimeEdited : "--:--:--", "value");\n setUIValue("embedOutTimeSlideField", shareOutTimeEdited != null ? shareOutTimeEdited : "--:--:--", "value");\n\n if (shareType === \'VOD\') {\n jqLegacy151("#embedRangeSlider").slider("values", 0, shareInTimeEdited != null ? getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareInTimeEdited)) : 0);\n\n if (videoEditMode === 2) {\n jqLegacy151("#embedRangeSlider").slider("values", 1, shareOutTimeEdited != null ? getIntervalInSeconds(new Date(shareVideoDate + " " + shareVideoStartTime), new Date(shareVideoDate + " " + shareOutTimeEdited)) : 0);\n }\n } //Set clip length\n\n\n setUIValue("embedClipLengthLabel", getIntervalInFormattedTime(new Date(shareVideoDate + " " + shareInTimeEdited), new Date(shareVideoDate + " " + shareOutTimeEdited)), "text");\n setUIValue("copyLinkTextBoxField", getLinkToSharedVideo("", false), "value");\n setUIValue("embedPlayerCodeField", getEmbedCode(), "value");\n}\n\nfunction getShareDescription(newlineChar) {\n return shareDescription.replace(/<br\\s*\\/>
1/g, newlineChar);\n} //Button: Share on Twitter\n\n\nfunction shareLinkTwitter(videoUrl) {\n var u = getLinkToSharedVideo(null, false);\n var t = shareTitle + getShareDescription();\n\n if (videoUrl !== undefined) {\n window.open(\'http://twitter.com/share?url=\' + videoUrl, \'shareOnTwitter\', \'toolbar=0,status=0,width=550,height=450\');\n } else {\n if (u.length < 1) {\n u = location.href;\n }\n\n window.open(\'http://twitter.com/share?url=\' + encodeURIComponent(u) + \'&text=\' + encodeURIComponent(t), \'shareOnTwitter\', \'toolbar=0,status=0,width=550,height=450\');\n }\n} //Get link to video\n\n\nfunction getLinkToSharedVideo(params, includeOutTime) {\n var link = shareUrl.replace(\'webmaster01\', \'www.ft.dk\');\n link = link.replace(\'http://ft631.sc-test2.ft.dk\', \'www.ft.dk\');\n link = link.replace(\'http://ft631.sc-test.ft.dk\', \'www.ft.dk\');\n link += sharingNegotiation || shareInTimeEdited != null && shareInTimeEdited != shareMeetingStartTime ? \'?i=\' + formatDateAsIso(shareVideoDate) + \'T\' + shareInTimeEdited : \'\';\n link += sharingNegotiation || includeOutTime && shareOutTimeEdited != null && shareOutTimeEdited != shareMeetingEndTime ? (link.indexOf(\'?\') > 0 ? "&" : "?") + "o=" + formatDateAsIso(shareVideoDate) + \'T\' + formatTime(addSecs(new Date(shareVideoDate + " " + shareOutTimeEdited), 1)) : \'\';\n return link + (params != null && params.length > 0 ? (link.indexOf(\'?\') > 0 ? "&" : "?") + params : \'\');\n} //-----------------------------------\n//Video player insert\n//-----------------------------------\n\n\nfunction getPlayerEmbed(videoId, inTime, outTime, autoPlay, preplayImage, allowFullscreen, isVod, isLive, noToolbar, width, height, eventHandlers, thePlayerId) {\n //Build xml\n var xml = buildPlayerXml(videoId, inTime, outTime, autoPlay, preplayImage, allowFullscreen, isVod, isLive, noToolbar, width, height, eventHandlers, thePlayerId);\n\n var _allowFullscreen = allowFullscreen ? \'true\' : \'false\';\n\n var _isVod = isVod ? \'true\' : \'false\';\n\n var hideControlsObject = noToolbar ? \'&hideControls=true\' : \'\';\n var hideControlsEmbed = noToolbar ? \'flashvars="hideControls=true"\' : \'\';\n return \'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" \' + \'width="\' + width + \'" height="\' + height + \'" id="\' + thePlayerId + \'" wmode="transparent">\' + \'<param name="wmode" value="opaque" /><param name="allowScriptAccess" value="always" /><param name="allowFullscreen" value="\' + _allowFullscreen + \'" /><param name="movie" value="\' + playerUrl + \'" />\' + \'<param name="bgcolor" value="#000000" /><param name="flashvars" value="xml=\' + xml + hideControlsObject + \'" />\' + \'<embed src="\' + playerUrl + \'?xml=\' + xml + \'" bgcolor="#000000" width="\' + width + \'" height="\' + height + \'" wmode="transparent" name="\' + thePlayerId + \'" menu="false" scale="noscale" align="middle" swliveconnect="true" \' + \'allowScriptAccess="always" allowFullscreen="\' + _allowFullscreen + \'" \' + hideControlsEmbed + \' type="application/x-shockwave-flash" \' + \'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>\';\n}\n\nfunction buildPlayerXml(videoId, inTime, outTime, autoPlay, preplayImage, allowFullscreen, isVod, isLive, noToolbar, width, height, eventHandlers, thePlayerId) {\n //Build xml\n var _autoPlay = autoPlay ? \'1\' : \'0\';\n\n var _preplayImage = preplayImage ? \'1\' : \'0\'; //var events = (eventHandlers) ? \'&progress_callback=shareSecondWentByHandler&playstate_callback=sharePlayStateHandler\' : \'\';\n\n\n var events = eventHandlers;\n\n var _inTime = inTime != null && inTime.length > 0 ? \'%26i%3D\' + formatDateAsIso(shareVideoDate) + \'T\' + inTime.substring(0, 2) + \'%253A\' + inTime.substring(3, 5) + \'%253A\' + inTime.substring(6, 8) : \'\';\n\n var _outTime = outTime != null && outTime.length > 0 ? \'%26o%3D\' + formatDateAsIso(shareVideoDate) + \'T\' + outTime.substring(0, 2) + \'%253A\' + outTime.substring(3, 5) + \'%253A\' + outTime.substring(6, 8) : \'\';\n\n var _allowFullscreen = allowFullscreen ? \'true\' : \'false\'; //var _isVod = (isVod) ? \'true\' : \'false\';\n\n\n var template = shareType !== \'SPECIAL\' ? \'360\' : \'361\'; //"%26pti%3D326%20";\n\n var videoIdTag = shareType !== \'SPECIAL\' ? \'xid%3D\' : \'wtvk%3D\';\n var mediatekPlayer = shareType === \'SPECIAL\' ? \'&isVOD2=true&isLive=false\' : \'\';\n var titleAndDescription = \'%26ti%3D\' + encodeURIComponent(shareTitle) + \'%26dsc%3D\' + encodeURIComponent(getShareDescription(\' - \'));\n return \'http%3A%2F%2Fft.arkena.tv%2Fxml%2Fcore_player_clip_data_v2_REAL.php%3F\' + videoIdTag + videoId + \'%26wtve%3D298%26wtvl%3D2\' + \'%26as%3D\' + _autoPlay + \'%26pi%3D\' + _preplayImage + \'%26pti%3D\' + template + _inTime + _outTime + titleAndDescription + events + mediatekPlayer;\n}\n\nfunction drawPlayer(videoId, inTime, outTime, autoPlay, preplayImage, allowFullscreen, isVod, isLive, noToolbar, width, height, eventHandlers, thePlayerId) {\n return getPlayerEmbed(videoId, inTime, outTime, autoPlay, preplayImage, allowFullscreen, isVod, isLive, noToolbar, width, height, eventHandlers, thePlayerId);\n} //-----------------------------------\n//Helper methods\n//-----------------------------------\n\n\nfunction setPlayerSize(size) {\n playerSizeVar = size;\n calcPlayerSize(); //Update embed code\n\n setUIValue("embedPlayerCodeField", getEmbedCode(), "value");\n}\n\nfunction setIsVod(value) {\n isVodVar = value;\n calcPlayerSize();\n}\n\nfunction calcPlayerSize() {\n var ratio = 512 / 288;\n var tempPlayerSizeWidth;\n\n switch (playerSizeVar) {\n case "small":\n playerSizeWidth = 350;\n playerSizeHeight = 196 + getPlayerHeightAddition();\n break;\n\n case "medium":\n playerSizeWidth = 512;\n playerSizeHeight = 287 + getPlayerHeightAddition();\n break;\n\n case "large":\n playerSizeWidth = 768;\n playerSizeHeight = 431 + getPlayerHeightAddition();\n break;
1\n\n case "custom":\n playerSizeWidth = jqLegacy151("#playerSizeCustomWidthField").val();\n playerSizeHeight = jqLegacy151("#playerSizeCustomHeightField").val();\n break;\n\n case "customWidth":\n if (jqLegacy151("#playerSizeCustomWidthField").val() == playerSizeWidth) return;\n\n if (isNaN(jqLegacy151("#playerSizeCustomWidthField").val())) {\n setUIValue("playerSizeCustomWidthField", playerSizeWidth, "value");\n return;\n }\n\n tempPlayerSizeWidth = jqLegacy151("#playerSizeCustomWidthField").val();\n playerSizeWidth = tempPlayerSizeWidth;\n if (playerSizeWidth < minWidth) playerSizeWidth = minWidth;\n if (playerSizeWidth > maxWidth) playerSizeWidth = maxWidth;\n\n if (playerSizeWidth !== tempPlayerSizeWidth) {\n //Width set to min or max - set new value\n setUIValue("playerSizeCustomWidthField", playerSizeWidth, "value");\n }\n\n playerSizeHeight = Math.floor(playerSizeWidth / ratio) + getPlayerHeightAddition();\n setUIValue("playerSizeCustomHeightField", playerSizeHeight, "value");\n break;\n\n case "customHeight":\n if (jqLegacy151("#playerSizeCustomHeightField").val() == playerSizeHeight) return;\n\n if (isNaN(jqLegacy151("#playerSizeCustomHeightField").val())) {\n setUIValue("playerSizeCustomHeightField", playerSizeHeight, "value");\n return;\n }\n\n playerSizeHeight = jqLegacy151("#playerSizeCustomHeightField").val();\n tempPlayerSizeWidth = Math.floor((playerSizeHeight - getPlayerHeightAddition()) * ratio);\n playerSizeWidth = tempPlayerSizeWidth;\n playerSizeWidth = tempPlayerSizeWidth < minWidth ? minWidth : playerSizeWidth;\n playerSizeWidth = tempPlayerSizeWidth > maxWidth ? maxWidth : playerSizeWidth;\n\n if (playerSizeWidth !== tempPlayerSizeWidth) {\n //Recalculate height - set new value\n playerSizeHeight = Math.floor(playerSizeWidth / ratio) + getPlayerHeightAddition();\n setUIValue("playerSizeCustomHeightField", playerSizeHeight, "value");\n }\n\n setUIValue("playerSizeCustomWidthField", playerSizeWidth, "value");\n break;\n }\n}\n\nfunction getPlayerHeightAddition(height) {\n return shareType !== "SPECIAL" ? 59 : 0;\n}'},9347:e=>{e.exports="// Web TV\nvar maxHeight = 0;\nvar maxHeightColumn = 0; //Sync column height\n\njQuery('.toVideoBox').each(function () {\n if ($(this).height() > maxHeight) {\n maxHeight = $(this).height();\n }\n});\njQuery('.toVideoBox').height(maxHeight);\njQuery('.js-video-wrapper-fluid-expander').on('click', function () {\n if (jQuery(this).hasClass('video-wrapper-fluid-expander--expanded')) {\n jQuery(this).closest('.video_top_panel').removeClass('is-expanded');\n jQuery(this).closest('.video-list-spot').removeClass('is-expanded');\n jQuery(this).closest('.ftWebTvLive').removeClass('is-expanded');\n jQuery(this).closest('.video-intro').removeClass('is-expanded');\n jQuery(this).closest('.video_top_panel').next().removeClass('is-expanded');\n jQuery(this).removeClass('video-wrapper-fluid-expander--expanded');\n jQuery(this).closest('.twoColumns').addClass('col-sm-6').removeClass('col-sm-12');\n jQuery('.ftWebTvLive__info').addClass('col-sm-6').removeClass('col-sm-12');\n } else {\n jQuery(this).closest('.video_top_panel').addClass('is-expanded');\n jQuery(this).closest('.video-list-spot').addClass('is-expanded');\n jQuery(this).closest('.ftWebTvLive').addClass('is-expanded');\n jQuery(this).closest('.video-intro').addClass('is-expanded');\n jQuery(this).addClass('video-wrapper-fluid-expander--expanded');\n jQuery(this).closest('.twoColumns').removeClass('col-sm-6').addClass('col-sm-12');\n jQuery('.ftWebTvLive__info').removeClass('col-sm-6').addClass('col-sm-12');\n jQuery(this).closest('.video_top_panel').next().addClass('is-expanded');\n }\n}); // make whole video card clickable\n\nvar videoBoxContainer = jQuery('.js-box-click');\njQuery('.video-box').each(function () {\n var videoLink = jQuery('a.js-video-url', this);\n var videoLinkUrl = '';\n\n if (typeof videoLink.attr('href') !== 'undefined') {\n videoLinkUrl = videoLink.attr('href');\n }\n\n if (videoLinkUrl !== '') {\n jQuery(this).addClass('has-url'); // Add class to box if it has link\n\n jQuery(this).css('cursor', 'pointer'); // Add cursor pointer to box\n\n jQuery(this).attr('tabindex', '0'); // Make box with link focusable\n\n jQuery(this).find('a').attr('tabindex', '-1'); // Add tabindex -1 to the link inside the box to avoid double tab stops\n\n jQuery(this).click(function () {\n window.location.href = videoLinkUrl;\n });\n jQuery(this).on('keydown', function (e) {\n if (e.key === 'Enter' || e.keyCode === 13) {\n e.preventDefault();\n window.location.href = videoLinkUrl;\n }\n });\n }\n});"},9533:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.Flertalsberegner\r\n===================================\r\n*/\n\nPT.Flertalsberegner = {\
1n /*\r\n ===================================\r\n Variables\r\n ===================================\r\n */\n Variables: {\n map: null,\n voteBox: null,\n voteBody: jQuery('.country-list tbody', '.stemmeseddel'),\n voteRows: null,\n countryData: null,\n tooltip: jQuery('.flertalsberegner-tooltip')\n },\n Init: function Init() {\n PT.Flertalsberegner.LoadCountryData();\n },\n\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n /*Build voteboxes*/\n var countryRowTempl = '<tr data-country=\"{0}\" data-size=\"{1}\" data-percent=\"{2}\"><td><div data-vote=\"for\" class=\"vote vote-for js-vote-for\"></div></td><td><div data-vote=\"against\" class=\"vote vote-against js-vote-against\"></div></td><td><div data-vote=\"abstain\" class=\"vote vote-abstain js-vote-abstain\"></div></td><td>{0}</td></tr>';\n\n for (var country = 0; country < PT.Flertalsberegner.Variables.countryData.countries.length; country++) {\n var tmpCountry = PT.Flertalsberegner.Variables.countryData.countries[country];\n var mapCountry = PT.Flertalsberegner.Variables.map.filter('[mydata\\\\:country=\"' + tmpCountry.name + '\"]');\n mapCountry.attr('mydata:flag', tmpCountry.data.flag);\n mapCountry.attr('mydata:size', tmpCountry.data.size);\n var newCountryRow = PT.Utils.Strings.Format(countryRowTempl, tmpCountry.name, tmpCountry.data.size, tmpCountry.data.size / PT.Flertalsberegner.Variables.countryData.total * 100);\n PT.Flertalsberegner.Variables.voteBody.append(newCountryRow);\n }\n\n PT.Flertalsberegner.Variables.voteBox = jQuery('.vote');\n PT.Flertalsberegner.Variables.voteRows = jQuery('tbody tr', '.stemmeseddel');\n /*Setup events*/\n\n jQuery('.js-vote-reset').on('click', function () {\n PT.Flertalsberegner.Reset();\n });\n jQuery('.js-vote-all').on('click', function () {\n var func = jQuery(this).data('vote-all');\n PT.Flertalsberegner.Variables.voteBox.removeClass('selected');\n PT.Flertalsberegner.Variables.voteBox.filter('[class~=\"js-vote-' + func + '\"]').trigger('click');\n });\n PT.Flertalsberegner.Variables.voteBox.on('click', function () {\n var elem = jQuery(this);\n var parent = elem.closest('tr');\n PT.Flertalsberegner.ToggleVoteBoxes(parent.data('country'), 'vote-' + elem.data('vote'), elem.hasClass('selected'));\n });\n jQuery('svg .countries g', '.flertalsberegner').on('click', function (e) {\n e.preventDefault();\n var elem = jQuery(this);\n PT.Flertalsberegner.ToggleCountry(elem);\n });\n jQuery('svg .countries g', '.flertalsberegner').on('mousemove ', function (e) {\n var country = jQuery(e.target).closest('.members');\n var countryData = PT.Flertalsberegner.FindCountryData(country.attr('mydata:country'));\n\n if (country.length === 1) {\n var countryPopupValue = '<img src=\"{0}\" width=\"20\" height=\"20\" /> {1}, {2} indbyggere, {3} procent af EU';\n var flag = '/dist/images/Global/flags/' + countryData.data.flag; //var flag = 'Global/images/flags/' + countryData.data.flag;\n\n var size = PT.Utils.Strings.FormatMoney(countryData.data.size, 0, '', '.');\n var procent = (countryData.data.size / PT.Flertalsberegner.Variables.countryData.total * 100).toFixed(2);\n PT.Flertalsberegner.TooltipShow(PT.Utils.Strings.Format(countryPopupValue, flag, country.attr('mydata:country'), size, procent), e.clientX, e.clientY);\n }\n });\n jQuery('svg .countries g', '.flertalsberegner').on('mouseout', function () {\n PT.Flertalsberegner.TooltipHide();\n });\n },\n TooltipShow: function TooltipShow(countryPopupValue, x, y) {\n PT.Flertalsberegner.Variables.tooltip.addClass(\"active\");\n PT.Flertalsberegner.Variables.tooltip.css({\n \"left\": x - 30,\n \"top\": y - 30\n });\n PT.Flertalsberegner.Variables.tooltip.html(countryPopupValue);\n },\n TooltipHide: function TooltipHide() {\n PT.Flertalsberegner.Variables.tooltip.removeClass(\"active\");\n },\n ToggleVoteBoxes: function ToggleVoteBoxes(country, state, reset) {\n var parent = PT.Flertalsberegner.Variables.voteRows.filter('[data-country=\"' + country + '\"]');\n var mapCountry = PT.Flertalsberegner.Variables.map.filter('[mydata\\\\:country=\"' + parent.data('country') + '\"]');\n PT.Flertalsberegner.MapToBox(country, state, reset);\n PT.Flertalsberegner.BoxToMap(mapCountry, state, reset);\n },\n ToggleCountry: function ToggleCountry(elem) {\n var countryName = elem.attr('mydata:country');\n var countryCurrentState = elem.attr('class');\n var countryNewState = null;\n var defaultState = elem.attr('mydata:tag');\n\n if (countryCurrentState === defaultState) {\n countryNewState = 'vote-for';\n elem.attr('class', defaultState + ' vote-for');\n } else if (countryCurrentState.indexOf('vote-for') !== -1) {\n countryNewState = 'vote-against';\n elem.attr('class', defaultState + ' vote-against');\n } else if (countryCurrentState.indexOf('vote-against') !== -1) {\n countryNewState = 'vote-abstain';\n elem.attr('class', defaultState + ' vote-abstain');\n } else if (countryCurrentState.indexOf('vote-abstain') !== -1) {\n countryNewState = null;\n elem.attr('class', defaultState);\n }\n\n PT.Flertalsberegner.MapToBox(countryName, countryNewState);\n },\n MapToBox: function MapToBox(country, state, reset) {\n var parent = PT.Flertalsberegner.Variables.voteRows.filter('[data-country=\"' + country + '\"]');\n var votes = parent.find('.vote');\n votes.removeClass('selected');
1\n\n if (!reset) {\n votes.filter('[class~=\"' + state + '\"]').addClass('selected');\n }\n\n PT.Utils.Event.Trigger('flertalsberegner-count', true);\n },\n BoxToMap: function BoxToMap(country, state, reset) {\n var defaultState = country.attr('mydata:tag');\n\n if (reset) {\n country.attr('class', defaultState);\n } else {\n country.attr('class', defaultState + ' ' + state);\n }\n },\n LoadCountryData: function LoadCountryData() {\n var jqxhr = $.getJSON('/scripts/flertalsberegner.json') //var jqxhr = $.getJSON('Global/scripts/components/flertalsberegner.json')\n .done(function (data) {\n data.countries.sort(PT.Utils.Array.SortByProperty('name'));\n PT.Flertalsberegner.Variables.countryData = data;\n PT.Flertalsberegner.Setup();\n }).fail(function (data) {}).always(function (data) {});\n },\n FindCountryData: function FindCountryData(countryName) {\n // iterate over each element in the array\n for (var i = 0; i < PT.Flertalsberegner.Variables.countryData.countries.length; i++) {\n // look for the entry with a matching `code` value\n if (PT.Flertalsberegner.Variables.countryData.countries[i].name === countryName) {\n // we found it\n // obj[i].name is the matched result\n return PT.Flertalsberegner.Variables.countryData.countries[i];\n }\n }\n },\n CountVotes: function CountVotes() {\n var votesFor = jQuery('.js-vote-for.selected').length;\n var votesForPercent = 0;\n jQuery('.js-vote-for.selected').each(function () {\n votesForPercent += parseFloat(jQuery(this).closest('tr').data('percent'));\n });\n var votesForCountryPercent = votesFor / PT.Flertalsberegner.Variables.countryData.countries.length * 100;\n var votesAgainst = jQuery('.js-vote-against.selected').length;\n var votesAgainstPercent = 0;\n jQuery('.js-vote-against.selected').each(function () {\n votesAgainstPercent += parseFloat(jQuery(this).closest('tr').data('percent'));\n });\n var votesAgainstCountryPercent = votesAgainst / PT.Flertalsberegner.Variables.countryData.countries.length * 100;\n var votesAbstain = jQuery('.js-vote-abstain.selected').length;\n jQuery('.countries', '.js-flertal-table').html(votesFor);\n jQuery('.population', '.js-flertal-table').html(votesForPercent.toFixed(2) + '%');\n jQuery('.countries', '.js-mindretal-table').html(votesAgainst);\n jQuery('.population', '.js-mindretal-table').html(votesAgainstPercent.toFixed(2) + '%');\n\n if (votesForCountryPercent > 55) {\n jQuery('.countries-label', '.js-flertal-table').addClass('active');\n } else {\n jQuery('.countries-label', '.js-flertal-table').removeClass('active');\n }\n\n if (votesForPercent > 65) {\n jQuery('.population-label', '.js-flertal-table').addClass('active');\n } else {\n jQuery('.population-label', '.js-flertal-table').removeClass('active');\n }\n\n if (votesForPercent > 65 && votesForCountryPercent > 55) {\n jQuery('.js-flertal-table-header').addClass('active');\n } else {\n jQuery('.js-flertal-table-header').removeClass('active');\n }\n\n if (votesAgainst >= 4) {\n jQuery('.countries-label', '.js-mindretal-table').addClass('active');\n } else {\n jQuery('.countries-label', '.js-mindretal-table').removeClass('active');\n }\n\n if (votesAgainstPercent > 35) {\n jQuery('.population-label', '.js-mindretal-table').addClass('active');\n } else {\n jQuery('.population-label', '.js-mindretal-table').removeClass('active');\n }\n\n if (votesAgainst >= 4 && votesAgainstPercent > 35) {\n jQuery('.js-mindretal-table-header').addClass('active');\n } else {\n jQuery('.js-mindretal-table-header').removeClass('active');\n }\n },\n\n /*\r\n ===================================\r\n Reset\r\n ===================================\r\n */\n Reset: function Reset() {\n PT.Flertalsberegner.Variables.voteBox.removeClass('selected');\n PT.Flertalsberegner.Variables.map.each(function () {\n var elem = jQuery(this);\n elem.attr('class', elem.attr('mydata:tag'));\n });\n PT.Flertalsberegner.CountVotes();\n },\n LoadMap: function LoadMap() {\n if (jQuery('.js-load-flertalsberegner').length) {\n var foundin = jQuery('.js-load-flertalsberegner:contains(\"##-\")');\n var re = /##-([^}]+)-##/g;\n var tt = re.exec(foundin.text());\n var svgUrl = '/dist/Images/Global/' + tt[1]; //var svgUrl = 'Global/Images/' + tt[1];\n\n jQuery(\".js-load-flertalsberegner\").load(svgUrl, function () {\n jQuery(\".js-load-flertalsberegner\").show();\n PT.Flertalsberegner.Variables.map = jQuery('svg .countries g', '.flertalsberegner');\n PT.Flertalsberegner.Init();\n });\n }\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit') && jQuery('.flertalsberegner').length) {\n PT.Flertalsberegner.LoadMap();\n }\n});\njQuery(window).on('flertalsberegner-count', function () {\n PT.Flertalsberegner.CountVotes();\n});"},7231:e=>{e.exports="/**\r\n * @description This small module looks for all Webforms for Marketers required div
1s and find their siblings and adds a .required class.\r\n \tThis is because there is no CSS connection between the input field and the .scfRequired class (and we can't change the DOM).\r\n\tHopefully this will be deprecated as soon as possible.\r\n\tI was told by numerous backenders that \"you do not want to mess with Webforms for Markerters DOM\" (that's why it's built this horrible way).\r\n\r\n * @author Anders Pedersen <[email protected]>\r\n */\njQuery('.scfRequired, .scfValidatorRequired').each(function () {\n jQuery(this).text().replace('*', ''); // Remove asterix from required field\n\n jQuery(this).prev().addClass('form-field__required');\n});"},5450:e=>{e.exports="/*\r\n===================================\r\nPentia (PT) Namespace\r\n===================================\r\n*/\nvar PT = PT || {};\n/*\r\n===================================\r\nPT.YearCalendar\r\n===================================\r\n*/\n\nPT.YearCalendar = {\n /*\r\n ===================================\r\n Setup\r\n ===================================\r\n */\n Setup: function Setup() {\n jQuery('.js-yearcalendar__day-target[data-state^=\"state\"]').popover({\n html: true,\n title: 'Møder',\n placement: 'top',\n content: function content() {\n return jQuery(this).siblings('.popup-content').html();\n }\n }).on('click', function (e) {\n jQuery('.js-yearcalendar__day-target').not(this).popover('hide');\n e.preventDefault();\n }); // close the popover, when we click outside the popover\n\n jQuery('body').on('click', function (e) {\n if (!jQuery(e.target).closest('a').hasClass('js-yearcalendar__day-target') && jQuery(e.target).parents('.popover.in').length === 0) {\n jQuery('.js-yearcalendar__day-target').popover('hide');\n }\n });\n var kalendarTrigger = $('.state2 .js-yearcalendar__day-target, .state1 .js-yearcalendar__day-target, .state3 .js-yearcalendar__day-target');\n $(kalendarTrigger).attr(\"tabindex\", \"0\");\n }\n};\n/*\r\n===================================\r\nInitialize\r\n===================================\r\n*/\n\njQuery(document).ready(function () {\n if (!jQuery('body').hasClass('pageedit')) {\n PT.YearCalendar.Setup();\n }\n});"},9685:e=>{e.exports=function(e){function n(e){"undefined"!=typeof console&&(console.error||console.log)("[Script Loader]",e)}try{"undefined"!=typeof execScript&&"undefined"!=typeof attachEvent&&"undefined"==typeof addEventListener?execScript(e):"undefined"!=typeof eval?eval.call(null,e):n("EvalError: No eval function available")}catch(e){n(e)}}},5758:(e,n,t)=>{t(9685)(t(5784))},2389:(e,n,t)=>{t(9685)(t(7885))},7785:(e,n,t)=>{t(9685)(t(1261))},1994:(e,n,t)=>{t(9685)(t(5918))},701:(e,n,t)=>{t(9685)(t(1149))},8134:(e,n,t)=>{t(9685)(t(6603))},2057:(e,n,t)=>{t(9685)(t(7429))},4493:(e,n,t)=>{t(9685)(t(3194))},8307:(e,n,t)=>{t(9685)(t(9448))},9891:(e,n,t)=>{t(9685)(t(4737))},6376:(e,n,t)=>{t(9685)(t(9634))},7330:(e,n,t)=>{t(9685)(t(8358))},6204:(e,n,t)=>{t(9685)(t(895))},3095:(e,n,t)=>{t(9685)(t(5177))},8442:(e,n,t)=>{t(9685)(t(9))},2668:(e,n,t)=>{t(9685)(t(7875))},3738:(e,n,t)=>{t(9685)(t(4512))},1134:(e,n,t)=>{t(9685)(t(5e3))},280:(e,n,t)=>{t(9685)(t(7934))},9781:(e,n,t)=>{t(9685)(t(1109))},6979:(e,n,t)=>{t(9685)(t(107))},5921:(e,n,t)=>{t(9685)(t(7589))},1876:(e,n,t)=>{t(9685)(t(1683))},3635:(e,n,t)=>{t(9685)(t(3162))},9415:(e,n,t)=>{t(9685)(t(3942))},6995:(e,n,t)=>{t(9685)(t(9978))},7840:(e,n,t)=>{t(9685)(t(8861))},5433:(e,n,t)=>{t(9685)(t(9642))},6952:(e,n,t)=>{t(9685)(t(3443))},8477:(e,n,t)=>{t(9685)(t(2634))},5685:(e,n,t)=>{t(9685)(t(6))},1789:(e,n,t)=>{t(9685)(t(4948))},2245:(e,n,t)=>{t(9685)(t(9039))},877:(e,n,t)=>{t(9685)(t(4819))},1726:(e,n,t)=>{t(9685)(t(4457))},2874:(e,n,t)=>{t(9685)(t(4503))},554:(e,n,t)=>{t(9685)(t(4570))},2371:(e,n,t)=>{t(9685)(t(3016))},6800:(e,n,t)=>{t(9685)(t(5086))},8829:(e,n,t)=>{t(9685)(t(2629))},946:(e,n,t)=>{t(9685)(t(53))},7882:(e,n,t)=>{t(9685)(t(9792))},4876:(e,n,t)=>{t(9685)(t(1674))},5158:(e,n,t)=>{t(9685)(t(1708))},4194:(e,n,t)=>{t(9685)(t(6997))},8297:(e,n,t)=>{t(9685)(t(757))},5755:(e,n,t)=>{t(9685)(t(618))},481:(e,n,t)=>{t(9685)(t(774))},3176:(e,n,t)=>{t(9685)(t(6029))},9964:(e,n,t)=>{t(9685)(t(3395))},2707:(e,n,t)=>{t(9685)(t(8732))},8560:(e,n,t)=>{t(9685)(t(5989))},6205:(e,n,t)=>{t(9685)(t(7591))},5073:(e,n,t)=>{t(9685)(t(1141))},795:(e,n,t)=>{t(9685)(t(8794))},498:(e,n,t)=>{t(9685)(t(6326))},4059:(e,n,t)=>{t(9685)(t(1230))},1386:(e,n,t)=>{t(9685)(t(413))},7075:(e,n,t)=>{t(9685)(t(6904))},3528:(e,n,t)=>{t(9685)(t(606))},4877:(e,n,t)=>{t(9685)(t(3164))},7155:(e,n,t)=>{t(9685)(t(8825))},5986:(e,n,t)=>{t(9685)(t(7515))},7362:(e,n,t)=>
1{t(9685)(t(3836))},8139:(e,n,t)=>{t(9685)(t(9463))},3734:(e,n,t)=>{t(9685)(t(4083))},7501:(e,n,t)=>{t(9685)(t(5786))},9601:(e,n,t)=>{t(9685)(t(6612))},3627:(e,n,t)=>{t(9685)(t(2658))},617:(e,n,t)=>{t(9685)(t(8286))},3822:(e,n,t)=>{t(9685)(t(4086))},1699:(e,n,t)=>{t(9685)(t(5107))},8258:(e,n,t)=>{t(9685)(t(9164))},2251:(e,n,t)=>{t(9685)(t(9347))},9620:(e,n,t)=>{t(9685)(t(9533))},395:(e,n,t)=>{t(9685)(t(7231))},1915:(e,n,t)=>{t(9685)(t(5450))},5383:(e,n,t)=>{var i={"./DatePicker.js":5758,"./DateSubmitOnValidate.js":2389,"./Filters.js":7785,"./InformationPageSpotA.js":1994,"./InformationSpotB.js":701,"./KvikopslagSpotA.js":8134,"./PeriodeFilter.js":2057,"./PublikationsKurv.js":4493,"./SecondaryServiceMenuA.js":8307,"./SiteWideMessageSpotA.js":9891,"./SlideInSpotA.js":6376,"./TextSpotA.js":7330,"./Twitter.js":6204,"./VideoListSpot.js":3095,"./accessibility.js":8442,"./accordion.js":2668,"./ankiro.js":3738,"./arkena.js":1134,"./booking-form.js":280,"./booking-infopage.js":9781,"./booking-my-page.js":6979,"./booking.js":5921,"./caseInfoConfigurableSpot.js":1876,"./committee.js":3635,"./customfileinput.js":9415,"./documents.js":6995,"./e-book-column-lookup.js":7840,"./europakort.js":5433,"./exchangeRateCalculator.js":6952,"./expandable-tab-spot.js":8477,"./fake-form.js":5685,"./form-intercept-enter.js":1789,"./forms.js":2245,"./fouc.js":877,"./goolge-map-setting.js":1726,"./image-captions.js":2874,"./infograph.js":554,"./informations-spot-e.js":2371,"./init.tooltip.js":6800,"./instagram-feed.js":8829,"./ipaper.js":946,"./jRespond-breakpoints.js":7882,"./kalturavideo.js":4876,"./leseweb.js":5158,"./listespot-table.js":4194,"./lookup-eu.js":8297,"./mapImage.js":5755,"./medlemmersidespot-a.js":481,"./offcanvas.js":3176,"./overlayonsearch.js":9964,"./print.js":2707,"./quick-lookup-d.js":8560,"./riddle-quiz.js":6205,"./sagsforloeb.js":5073,"./search-facet.js":795,"./search-results-list.js":498,"./secondarynavigationmenuswitcher.js":4059,"./shortcutkeys.js":1386,"./subscription.js":7075,"./svg2image.js":3528,"./svgkort.js":4877,"./sync-height.js":7155,"./tab-spot-a.js":5986,"./table.js":7362,"./text-input-submit.js":8139,"./tingdok-negotiootiations.js":3734,"./tingdok__vote.js":7501,"./topic-result.js":9601,"./vod-calendar.js":3627,"./vod-fallback.js":617,"./vod-kaltura.js":3822,"./vod-player.js":1699,"./vod-share.js":8258,"./web-tv.js":2251,"./webapp-flertalsberegner.js":9620,"./webforms-for-marketers.js":395,"./yearcalendar.js":1915};function a(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id=5383}},t={};function i(e){var a=t[e];if(void 0!==a)return a.exports;var r=t[e]={exports:{}};return n[e](r,r.exports,i),r.exports}i.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(e=i(5383)).keys().forEach(e)})();
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.