{"version":3,"sources":["components/dataTable.js","components/gallery.js","base/responsive-images.js","base/validation.js","components/accordion.js","components/calendar.js","components/cookie.js","components/datepicker.js","components/login.js","components/navigation.js","components/newsletter.js","components/search.js","components/shooting-lanes.js","components/signupForm.js","components/slider.js","components/tabbar.js","components/video-slider.js","views/page.js"],"names":["calenderDetails","d","details","imgURL","desc","time","place","signupURL","indexOf","price","priceNonMember","signup","readmoreURL","openForRegistration","eventType","localDetails","treasurer","name","chairman","jfk","phone1","phone2","number","email","website","reloadWithQueryStringVars","queryStringVars","existingQueryVars","location","search","substring","split","currentUrl","href","replace","newQueryVars","newUrl","length","i","pair","queryStringVar","newQueryVar","window","novicell","$","responsiveImages","init","smartresize","e","this","el","forEach","call","document","querySelectorAll","ratio","attr","dataW","getAttribute","dataH","w","parent","width","h","alt","hString","src","wRnd","Math","ceil","ratioRnd","round","hasClass","height","closest","html","validator","setDefaults","ignore","djf","accordion","hide","on","preventDefault","self","parents","selfContent","find","accordionContents","removeClass","slideUp","addClass","slideDown","shootingCalendar","shelterCalendar","calendarDiv","shootingTimesDiv","calendarDate","eventSelectedDiv","shootingIdInput","timeStringInput","emailToInput","priceInput","validationErrors","shootingModal","selectedDate","orderNumberInput","submitButton","hideFromEmail","selectEvent","id","ajax","done","data","val","date","moment","format","instructor","notes","empty","append","Option","each","shootingTimes","index","item","show","emailTo","modal","fullCalendar","events","url","type","className","eventClick","calEvent","jsEvent","view","weekNumberCalculation","weekNumbers","c","Date","getTime","isInt","n","Number","shelterTimeModal","addShelterTimeButton","numPersonsInput","selectedEventsInput","selectedEventsPrettyInput","selectedEvent","selectedEvents","continueButton","Event","title","startDate","numPersons","element","calElement","start","toDate","focus","deselectEvent","event","get","text","splice","sync","JSON","stringify","map","ev","toLocaleString","addShelterTime","push","displayEventTime","displayEventEnd","code","which","cookieinfo","args","elm","options","undefined","cookie","expires","path","render","mode","toggle","btn","markup","cookieInfoText","cookieInfoPath","cookieInfoOptions","autohide","btnhide","btnshow","extend","jQuery","fn","dataTableExt","oSort","date-uk-pre","a","x","dateA","day","parseInt","month","year","getDatetime","isNaN","err","console","log","date-uk-asc","b","date-uk-desc","dataTable","defaults","bLengthChange","dom","pagingType","language","processing","searchPlaceholder","lengthMenu","emptyTable","zeroRecords","info","infoEmpty","paginate","next","previous","infoCallback","settings","end","max","total","pre","api","pageInfo","page","pages","locale","types","ext","detect","unshift","isValid","order","unix","table","initGridTables","dataTableCalender","dataTableEventCalender","endpoint","isRegionContacts","dataTableContactKreds","dataTableContactUdvalg","dataTableDefaults","body","DataTable","tableWrapper","mobileFilter","customFilters","sortFilters","not","filterContent","sortContent","filterModal","customRegionFilterId","filterName","remove","join","dataFilter","trigger","prepend","keyup","keyCode","click","change","columns","draw","t","dataSrc","region","newApi","hasType","organizerWidth","isByTag","bVisible","orderable","defaultContent","filterContainer","customFilter","siblings","yadcf","column_number","filter_type","filter_default_label","filter_container_id","filter_match_mode","date_format","tr","row","child","isShown","selectVal","children","load","initRegionFilter","$selectWrapper","selectID","dataTableHjorteVildt","before","dataTableUdvalg","onSearch","newVal","committeeFilterSelect","currentVal","tableElement","fnSort","dataTableKredse","dataTableLokal","dataTableAdmin","pageLength","columnDefs","image","position","phone","linkedin","workFunction","targets","fnDrawCallback","o","after","dataTableHovedBestyrelse","bSort","dataTableGrupper","dataTableJaegerraad","encodeURIComponent","datepicker","datetimepicker","gallery","items","swipebox","removeBarsOnMobile","useSVG","hideBarsDelay","useCSS","login","modalTrigger","popup","$button","modalContent","navigation","menu","menuList","menuUl","menuUlWithChild","menuTrigger","subnavTrigger","activeItem","languageTrigger","languagePicker","moveTheMenu","triggerMenu","openSubMenu","SetDataHeight","stickyMenu","hoverIntent","moveTheTopNav","appendTo","stopPropagation","siteHeight","toggleClass","css","SetMaxHeight","selector","activeSubs","subUl","first","minHeight","ulHeights","Array","apply","$this","$openItem","$topLevel","$parentLi","$parentOpenItem","filter","$menu","$listItems","$movedItems","sensitivity","interval","timeout","over","out","pxToTop","outerHeight","scroll","scrollTop","fadeToggle","newsletter","button","toggleShow","sendForm","$toggleWrapper","contentUrl","$checkboxes","$response","listArray","formData","listVal","cache","success","msg","fadeIn","setTimeout","fadeOut","error","jqXHR","textStatus","errorThrown","form","triggerInput","shootinglanes","$moduleForm","$selects","triggerForm","clearForm","submit","$clearTrigger","birthDate","getElementById","Pikaday","field","yearRange","i18n","previousMonth","nextMonth","months","weekdays","weekdaysShort","stageSlider","flexslider","animation","animationLoop","slideshow","namespace","pauseOnAction","pauseOnHover","touch","directionNav","controlNav","controlsContainer","tabbar","barItems","scrollBar","tabbarShowTab","tabSlider","tabbarScroll","onInit","selectorItem","hashID","hash","owlCarousel","stagePadding","loop","center","margin","nav","navText","autoWidth","URLhashListener","startPosition","dotsEach","onInitialize","responsive","0","600","768","1024","mouseDrag","1300","initActiveTab","selectorClass","tabId","tabContent","videoSlider","list","thumbnails","videoContainer","navSlider","slidePlayer","videoWidth","innerWidth","videoHeight","videoSrc","videoKode","frameborder","autoplay","1000","responsiveVids","shareWrapper","fitVids","hideshare","initAds","equalPage","$sidebar","$maincontent","decription","facebook","twitter","pinterest","googleplus","speed","adText","adContainer","bind"],"mappings":"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","file":"master.min.js","sourcesContent":["/*\r\ndataTables for Danmarks Jægerforbund\r\n\r\n1. Render Functions for Additional Info\r\n2. Default Settings for DataTables\r\n3. Init of DataTable\r\n4. Calender DataTable\r\n5. HjorteVildt DataTable\r\n6. Udvalg DataTable\r\n7. Kredse DataTable\r\n8. Lokalforening DataTable\r\n8. Adminstrator DataTable\r\n\r\n*/\r\n\r\n\r\nvar djf = djf || {};\r\n\r\n//New code\r\n$.extend(jQuery.fn.dataTableExt.oSort, {\r\n \"date-uk-pre\": function (a) {\r\n var x;\r\n try {\r\n var dateA = a.replace(/ /g, '').split(\"-\");\r\n var day = parseInt(dateA[0], 10);\r\n var month = parseInt(dateA[1], 10);\r\n var year = parseInt(dateA[2], 10);\r\n var date = new Date(year, month - 1, day);\r\n var getDatetime = date.getTime();\r\n x = !isNaN(getDatetime) ? getDatetime : 10000000000000000000; // Kinda of hacky but its works\r\n }\r\n catch (err) {\r\n console.log(\"error\" + err);\r\n x = new Date().getTime();\r\n }\r\n\r\n return x;\r\n },\r\n\r\n \"date-uk-asc\": function (a, b) {\r\n return a - b;\r\n },\r\n\r\n \"date-uk-desc\": function (a, b) {\r\n return b - a;\r\n }\r\n});\r\n\r\n// 1. Render Functions for Additional Info\r\nfunction calenderDetails(d) {\r\n if (!d.details) { return ''; }\r\n // `d` is the original data object for the row\r\n return ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n '
'+\r\n '
'+\r\n '
'+\r\n '
'+\r\n (d.details.imgURL ? '
' : '')+\r\n '

'+d.details.desc+'

'+\r\n '
'+\r\n '
'+\r\n '
'+\r\n ''+\r\n (d.details.time ? '' : '')+\r\n (d.details.place ? '' : '') +\r\n (d.details.signupURL.indexOf('flexbillet') == -1 && d.details.price ? '' : \r\n (d.details.price ? '' : '') +\r\n (d.details.priceNonMember ? '' : '')) +\r\n (d.details.signup ? '' : '')+\r\n/* ''+\r\n ''+\r\n ''+\r\n ''+*/\r\n '
Tid'+d.details.time+'
Sted' + d.details.place + '
Pris' + d.details.price + '
Pris (medlem)' + d.details.price + '
Pris (ikke-medlem)' + d.details.priceNonMember + '
Tilmeldingsfrist'+d.details.signup+'
Kontaktperson'+\r\n '

'+d.details.contact.name+'

'+\r\n '

'+d.details.contact.mail+'

'+\r\n '

Tlf. '+d.details.contact.phone+'

'+\r\n '
'+\r\n '
'+\r\n '
'+\r\n 'Læs mere'+\r\n (d.details.signupURL && d.details.openForRegistration ? '' + (d.details.eventType == 'EVENT' ? 'Tilmeld' : 'Jeg er interesseret') + '' : '') +\r\n '
'+\r\n '
'+\r\n '
';\r\n}\r\n\r\nfunction localDetails ( d ) {\r\n // `d` is the original data object for the row\r\n return ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n '
'+\r\n '
'+\r\n '
'+\r\n ''+\r\n ''+ \r\n ''+\r\n ''+\r\n ''+\r\n '' +\r\n ''+\r\n ''+ \r\n ''+ \r\n ''+\r\n ''+\r\n '' +\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n '' +\r\n '' +\r\n ''+\r\n ''+\r\n ''+\r\n '' +\r\n '' +\r\n ''+\r\n ''+\r\n ''+\r\n '' +\r\n '' +\r\n ''+\r\n ''+ \r\n '
Jægerråd' + (d.details.treasurer && d.details.treasurer.name ? 'Jagtforeningskasserer' : '') + '' + (d.details.chairman && d.details.chairman.name ? 'Jagtforeningsformand' : '') + '
'+d.details.jfk+'' + (d.details.treasurer && d.details.treasurer.name ? d.details.treasurer.name : '') + ''+ (d.details.chairman && d.details.chairman.name ? d.details.chairman.name : '') + '
' + (d.details.treasurer && d.details.treasurer.phone1 ? d.details.treasurer.phone1 : '') + '' + (d.details.chairman && d.details.chairman.phone1 ? d.details.chairman.phone1 : '') + '
Jagtforenings nr.' + (d.details.treasurer && d.details.treasurer.phone2 ? d.details.treasurer.phone2 : '') + '' + (d.details.chairman && d.details.chairman.phone2 ? d.details.chairman.phone2 : '') + '
'+d.number+'' + (d.details.treasurer && d.details.treasurer.email ? d.details.treasurer.email : '') + '' + (d.details.chairman && d.details.chairman.email ? d.details.chairman.email : '') + '
'+\r\n '
' +\r\n (d.details.website ?\r\n '
'+\r\n 'Besøg website'+\r\n '
' : '') +\r\n '
'+\r\n '
';\r\n}\r\n\r\n// 2. Default Settings for DataTables\r\n//$.datepicker.setDefaults($.datepicker.regional[\"da\"]);\r\n$.extend( $.fn.dataTable.defaults, {\r\n \"bLengthChange\": false, // Hide lenght menu\r\n \"dom\": '<\"mobile-filter\"<\"button-wrapper\"<\"#open-filter\"><\"#open-sorter\">><\"clear-all\">><\"sorter-Outerwrapper\"<\"custom-sorter\">><\"filter-Outerwrapper\"<\"custom-filter\"><\"brush-divider\"><\"clear-all\">f><\"bottom-pagination\" irp>',\r\n //\"dom\": '<\"mobile-filter\"><\"sorter-Outerwrapper\"<\"custom-sorter\">><\"filter-Outerwrapper\"<\"custom-filter\">f><\"bottom-pagination\" irp>',\r\n \"pagingType\": \"simple\", // Only show the prev/next button\r\n \"language\": {\r\n \"processing\": \"Indlæser..\",\r\n \"search\": \"\",\r\n \"searchPlaceholder\": \"Søg...\",\r\n \"lengthMenu\": \"Vis _MENU_ per side\",\r\n \"emptyTable\": \"Der blev desværre ikke fundet nogle opslag\",\r\n \"zeroRecords\": \"Der blev desværre ikke fundet nogle opslag\",\r\n \"info\": \"Side _PAGE_ af _PAGES_\",\r\n \"infoEmpty\": \"\",\r\n \"paginate\": {\r\n \"next\": \"Næste\",\r\n \"previous\": \"Forrige\"\r\n }\r\n },\r\n \"infoCallback\": function( settings, start, end, max, total, pre ) {\r\n var api = this.api();\r\n var pageInfo = api.page.info();\r\n \r\n return 'Side '+ (pageInfo.page+1) +' af '+ pageInfo.pages;\r\n }\r\n} );\r\n\r\n// 3. Init of DataTable\r\n$(function () {\r\n \r\n $.fn.dataTable.moment = function ( format, locale ) {\r\n var types = $.fn.dataTable.ext.type;\r\n \r\n // Add type detection\r\n types.detect.unshift( function ( d ) {\r\n return moment( d, format, locale, true ).isValid() ?\r\n 'moment-'+format :\r\n null;\r\n } );\r\n \r\n // Add sorting method - use an integer for the sorting\r\n types.order[ 'moment-'+format+'-pre' ] = function ( d ) {\r\n return moment( d, format, locale, true ).unix();\r\n };\r\n };\r\n\r\n\r\n djf.table.init();\r\n djf.table.initGridTables();\r\n});\r\n\r\ndjf.table = new function () {\r\n var self = this,\r\n tabbar = $('.tab-bar li');\r\n\r\n\r\n this.init = function () {\r\n if( $('.dataTable#all-table').length )\r\n {\r\n self.dataTableCalender(\"all-table\", \"alle\");\r\n }\r\n\r\n if( $('.dataTable#all-event-table').length )\r\n {\r\n self.dataTableEventCalender(\"all-event-table\", \"alle\");\r\n }\r\n\r\n // Add readonly to datepicker\r\n $('.hasDatepicker').attr('readonly','readonly');\r\n };\r\n\r\n this.initGridTables = function () {\r\n\r\n // Init eventTables\r\n/* $('.eventTable').each(function() {\r\n var id = $(this).attr('id'),\r\n endpoint = $(this).attr('data-url');\r\n\r\n self.dataTableCalender(id, endpoint);\r\n });*/\r\n\r\n $('.contactpersonTable').each(function() {\r\n var id = $(this).attr('id'),\r\n endpoint = $(this).attr('data-url'),\r\n isRegionContacts = $(this).attr('data-is-region-contacts') === 'true';\r\n\r\n if (isRegionContacts) {\r\n self.dataTableContactKreds(id, endpoint);\r\n } else {\r\n self.dataTableContactUdvalg(id, endpoint);\r\n }\r\n });\r\n }\r\n\r\n\r\n this.dataTableDefaults = function (d) {\r\n var el = $('#'+d+''),\r\n body = $('body, html'),\r\n table = el.DataTable(),\r\n tableWrapper = $('#'+d+'_wrapper'),\r\n mobileFilter = tableWrapper.find('.mobile-filter'),\r\n customSorter = tableWrapper.find('.custom-sorter'),\r\n customFilters = tableWrapper.find('.filter-wrapper'),\r\n sortFilters = el.find('thead th').not('.sorting_disabled'),\r\n filterContent = tableWrapper.find('.filter-Outerwrapper').get(),\r\n sortContent = [],\r\n filterModal = $('#filterModal'),\r\n customRegionFilterId = '#'+d+'-custom-region-filter';\r\n\r\n // Get the sort content\r\n if( sortContent.length == 0 )\r\n {\r\n sortFilters.each(function() {\r\n var filterName = $(this).html();\r\n $(this).attr('data-filter', filterName);\r\n\r\n sortContent.push('
  • '+filterName+'
  • ');\r\n });\r\n }\r\n\r\n // Remove sort-button if no columns has filter\r\n if (sortFilters.length == 0) {\r\n tableWrapper.find('#open-sorter').hide();\r\n }\r\n\r\n // Hide clear-all if custom filters is 0 \r\n if (customFilters.length == 0) {\r\n tableWrapper.find('.clear-all').addClass('hidden-desktop');\r\n }\r\n\r\n // Append overlay triggers to mobileFilter\r\n mobileFilter.find('#open-filter').html(\"Filtrer\");\r\n mobileFilter.find('#open-sorter').html(\"Sorter\");\r\n tableWrapper.find('.clear-all').html('Ryd filter');\r\n\r\n \r\n // Remove filter buttons if no-filter\r\n if( customFilters.length == 0 ) {\r\n mobileFilter.find('#open-filter, .clear-all').remove();\r\n }\r\n\r\n // Open sorter\r\n tableWrapper.find('#open-sorter').on('click', function(event) {\r\n event.preventDefault();\r\n\r\n filterModal.find('.modal-body').html('');\r\n filterModal.find('.filter-header span').html('Sorter visning');\r\n filterModal.find('.button-wrapper').hide();\r\n filterModal.modal('show');\r\n });\r\n\r\n // Filter the table and close the sorter\r\n filterModal.on('click','.sort-filter', function() {\r\n var dataFilter = $(this).attr('data-filter');\r\n el.find('thead th[data-filter='+dataFilter+']').trigger('click');\r\n filterModal.modal('hide');\r\n });\r\n\r\n // Open filter\r\n tableWrapper.find('#open-filter').on('click', function(event) {\r\n event.preventDefault();\r\n filterModal.find('.modal-body').html(filterContent);\r\n filterModal.find('.filter-header span').html('Filtrer visning');\r\n filterModal.find('.button-wrapper').show();\r\n filterModal.modal('show');\r\n });\r\n\r\n\r\n // Close the filter\r\n filterModal.find('#close-filter').on('click', function(event) {\r\n event.preventDefault();\r\n tableWrapper.prepend(filterContent);\r\n filterModal.modal('hide');\r\n });\r\n\r\n // Close filters on keyup\r\n $(document).keyup(function(e) {\r\n if (e.keyCode == 13 || e.keyCode == 27) {\r\n $('.filter-Outerwrapper, .sorter-Outerwrapper').removeClass('open');\r\n body.removeClass('overlay-open');\r\n } \r\n });\r\n\r\n // Clear all filters\r\n tableWrapper.find('.clear-all').on('click', function(event) {\r\n event.preventDefault();\r\n tableWrapper.find('.yadcf-filter-reset-button').click();\r\n filterModal.find('.yadcf-filter-reset-button').click();\r\n $(customRegionFilterId).val(0).change();\r\n table\r\n .search( '' )\r\n .columns().search( '' )\r\n .draw();\r\n\r\n });\r\n\r\n }\r\n\r\n // 4. Calender DataTable\r\n this.dataTableCalender = function (t, dataSrc, region) {\r\n var el = $('#'+t+'');\r\n var api = '/umbraco/api/EventApi/All';\r\n var hasType = true;\r\n var organizerWidth = 30;\r\n var isByTag = (dataSrc != '' && dataSrc != 'alle');\r\n var region = region || \"\";\r\n var newApi;\r\n var table;\r\n\r\n if (dataSrc != '' && dataSrc != 'alle') {\r\n api += \"By?tag=\" + dataSrc;\r\n hasType = false;\r\n organizerWidth = 60;\r\n }\r\n\r\n if (region != '') {\r\n api += (isByTag ? \"&\" : \"?\") + \"region=\" + region;\r\n }\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n table = el.DataTable( {\r\n \"ajax\": api,\r\n \"columns\": [\r\n { \"title\": \"Region\", \"data\": \"regionName\", \"bVisible\": false},\r\n { \"title\": \"Lokalforening\", \"data\": \"local\", \"bVisible\": false},\r\n { \"title\": \"Aktivitet\", \"data\": \"name\", \"className\": \"mobile-full col-sm-3 col-md-5 activity\" },\r\n { \"title\": \"Arrangør\", \"data\": \"organizerName\", \"className\": \"mobile-\"+organizerWidth+\" border\" },\r\n { \"title\": \"Type\", \"data\": \"type\", \"className\": \"mobile-30 border\", \"bVisible\": hasType, \"orderable\": hasType },\r\n { \"title\": \"Dato\", \"data\": \"dateStart\", \"type\": \"date-uk\", \"className\": \"mobile-40 border\"},\r\n { \"title\": \"Mere info\", \"orderable\": false, \"defaultContent\": \"\", \"data\": null, \"className\": \"details-control\" }\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 5, \"asc\" ]]\r\n } );\r\n\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n/*\r\n filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n // {column_number : 0, filter_type: \"select\", filter_default_label: \"Alle kredse\", filter_container_id: \"regionFilter-\"+t},\r\n {column_number : 1, filter_type: \"select\", filter_default_label: \"Alle lokalforeninger\", filter_container_id: \"localFilter-\"+t, filter_match_mode: \"exact\"},\r\n {column_number : 5, filter_type: \"range_date\", date_format: \"dd-mm-yyyy\", filter_default_label: [\"Fra\", \"Til\"], filter_container_id: \"dateFilter-\"+t}\r\n ]);\r\n\r\n\r\n\r\n // Add event listener for opening and closing details\r\n el.find('tbody').on('click', 'td.details-control', function () {\r\n var tr = $(this).closest('tr');\r\n var row = table.row( tr );\r\n\r\n if ( row.child.isShown() ) {\r\n $(this).removeClass('open');\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n $(this).addClass('open');\r\n // Open this row\r\n row.child( calenderDetails(row.data()) ).show();\r\n tr.addClass('shown');\r\n }\r\n } );\r\n\r\n // Onchange function on region filter\r\n $('body').on('change', '#'+t+'-custom-region-filter', function(event) {\r\n var selectVal = $(this).children('option:selected').val();\r\n newApi = api + (isByTag ? \"&\" : \"?\") + \"region=\" + selectVal;\r\n\r\n if (selectVal != 0) {\r\n table.ajax.url(newApi).load();\r\n } else {\r\n table.ajax.url(api).load();\r\n }\r\n\r\n // Reset the local-filter\r\n $('#yadcf-filter-wrapper-localFilter-'+t+' select').val(-1).change();\r\n \r\n });\r\n \r\n } else {\r\n table = table || {};\r\n }\r\n\r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n self.initRegionFilter(t, dataSrc);\r\n\r\n\r\n };\r\n\r\n this.initRegionFilter = function(d, dataSrc) {\r\n var $selectWrapper = $('#regionFilter-'+d),\r\n selectID = '#'+d+'-custom-region-filter',\r\n options = \"\";\r\n\r\n if (!$(selectID).length) {\r\n\r\n $selectWrapper.append('');\r\n\r\n for (i = 1; i < 9; i++) {\r\n options += \"\";\r\n }\r\n options += \"\";\r\n \r\n $(selectID).prepend(options);\r\n }\r\n\r\n }\r\n\r\n\r\n // 4. Calender DataTable\r\n this.dataTableEventCalender = function (t, dataSrc, region) {\r\n var el = $('#' + t + '');\r\n\r\n if (!region) {\r\n region = el.data('regionid');\r\n }\r\n\r\n var api = '/umbraco/api/EventApi/All';\r\n var hasType = true;\r\n var organizerWidth = 30;\r\n\r\n var isByTag = (dataSrc != '' && dataSrc != 'alle');\r\n\r\n if (isByTag) {\r\n api += \"By?tag=\" + dataSrc;\r\n hasType = false;\r\n organizerWidth = 60;\r\n }\r\n\r\n if (region != '') {\r\n api += (isByTag ? \"&\" : \"?\") + \"region=\" + region;\r\n }\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": api,\r\n \"columns\": [\r\n { \"title\": \"Region\", \"data\": \"regionName\", \"bVisible\": false},\r\n { \"title\": \"Lokalforening\", \"data\": \"local\", \"bVisible\": false},\r\n { \"title\": \"Aktivitet\", \"data\": \"name\", \"className\": \"mobile-full col-sm-3 col-md-5 activity\" },\r\n { \"title\": \"Arrangør\", \"data\": \"organizerName\", \"className\": \"mobile-\"+organizerWidth+\" border\" },\r\n { \"title\": \"Type\", \"data\": \"type\", \"className\": \"mobile-30 border\", \"bVisible\": hasType, \"orderable\": hasType },\r\n { \"title\": \"Dato\", \"data\": \"dateStart\", \"type\": \"date-uk\", \"className\": \"mobile-40 border\"},\r\n { \"title\": \"Mere info\", \"orderable\": false, \"defaultContent\": \"\", \"data\": null, \"className\": \"details-control\" }\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 5, \"asc\" ]]\r\n } );\r\n\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n/*\r\n filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n {column_number : 5, filter_type: \"range_date\", date_format: \"dd-mm-yyyy\", filter_default_label: [\"Fra\", \"Til\"], filter_container_id: \"dateFilter-\"+t}\r\n ]);\r\n\r\n // Add event listener for opening and closing details\r\n el.find('tbody').on('click', 'td.details-control', function () {\r\n var tr = $(this).closest('tr');\r\n var row = table.row( tr );\r\n\r\n if ( row.child.isShown() ) {\r\n $(this).removeClass('open');\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n $(this).addClass('open');\r\n // Open this row\r\n row.child( calenderDetails(row.data()) ).show();\r\n tr.addClass('shown');\r\n }\r\n } );\r\n }\r\n\r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 5. HjorteVildt DataTable\r\n this.dataTableHjorteVildt = function (t, dataSrc) {\r\n var el = $('#'+t+''),\r\n tableWrapper = $('#'+t+'_wrapper');\r\n\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/data/'+dataSrc+'.txt',\r\n \"columns\": [\r\n { \"title\": \"Område\", \"data\": \"area\", \"className\": \"mobile-full area\"},\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-50\" },\r\n { \"title\": \"Postnr\", \"data\": \"postal\", \"className\": \"mobile-25\" },\r\n { \"title\": \"Kreds\", \"data\": \"regionName\", \"className\": \"mobile-25\" },\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\", \"orderable\": false},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\", \"orderable\": false}\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 3, \"desc\" ]] // Pre sort on date\r\n } );\r\n \r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n customFilter.before('

    Filtrer visning

    ');\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 6. Udvalg DataTable\r\n this.dataTableUdvalg = function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var tableElement = el.dataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts' + dataSrc,\r\n \"columns\": [\r\n { \"title\": \"Udvalg\", \"data\": \"committee\", \"className\": \"mobile-full\", \"bVisible\": false },\r\n { \"title\": \"sortorder\", \"data\": \"sortorder\", \"className\": \"mobile-50\", \"bVisible\": false },\r\n { \"title\": \"Titel\", \"data\": \"titel\", \"className\": \"mobile-full\" },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-50\" },\r\n { \"title\": \"Postnr\", \"data\": \"postal\", \"className\": \"mobile-25\" },\r\n { \"title\": \"By\", \"data\": \"town\", \"className\": \"mobile-25\"},\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\", \"orderable\": false},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\", \"orderable\": false}\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 3, \"asc\" ]]\r\n } );\r\n\r\n var table = tableElement.api();\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n/*\r\n filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n {column_number : 0, filter_type: \"select\", filter_default_label: \"Alle udvalg\", filter_container_id: \"committeeFilter-\"+t}\r\n ]);\r\n\r\n\r\n // Change sorting based filtering \r\n // Sort by name if all committees is chosen (default). Sort by sortorder if one committee is chosen\r\n var currentVal = '-1';\r\n var committeeFilterSelect = $('select', '#committeeFilter-' + t);\r\n function onSearch() {\r\n var newVal = committeeFilterSelect.val();\r\n if (newVal == currentVal) { return; }\r\n\r\n currentVal = newVal;\r\n\r\n if (newVal == '-1') {\r\n tableElement.fnSort([[3, 'asc']]);\r\n } else {\r\n tableElement.fnSort([[1, 'asc']]);\r\n }\r\n }\r\n tableElement.on('search.dt', function () { onSearch(); });\r\n }\r\n\r\n/* // Clear all filters\r\n $('#clear-all').on('click', function() {\r\n $('.yadcf-filter-reset-button').click();\r\n table\r\n .search( '' )\r\n .columns().search( '' )\r\n .draw();\r\n });*/\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 7. Kredse DataTable\r\n this.dataTableKredse = function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts' + dataSrc,\r\n \"columns\": [\r\n { \"title\": \"Kommune\", \"data\": \"municipality\", \"bVisible\": false},\r\n { \"title\": \"Kreds\", \"data\": \"area\", \"className\": \"mobile-40 area\" },\r\n { \"title\": \"Titel\", \"data\": \"titel\", \"className\": \"mobile-60\" },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-40\" },\r\n { \"title\": \"Postnr\", \"data\": \"postal\", \"className\": \"mobile-30\"},\r\n { \"title\": \"By\", \"data\": \"town\", \"className\": \"mobile-30\"},\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\", \"orderable\": false},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\", \"orderable\": false}\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 3, \"asc\" ]] // Pre sort on date\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n/* filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n {column_number : 1, filter_type: \"select\", filter_default_label: \"Alle kredse\", filter_container_id: \"areaFilter-\"+t},\r\n {column_number : 2, filter_type: \"select\", filter_default_label: \"Alle titler\", filter_container_id: \"titelFilter-\"+t},\r\n /*{column_number : 0, filter_type: \"select\", filter_default_label: \"Alle kommuner\", filter_container_id: \"municipalityFilter-\"+t},*/\r\n {column_number : 5, filter_type: \"select\", filter_default_label: \"Alle byer\", filter_container_id: \"townFilter-\"+t}\r\n ]);\r\n\r\n\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n // 8. Lokalforening DataTable\r\n this.dataTableLokal= function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts' + dataSrc,\r\n \"columns\": [\r\n { \"title\": \"Kreds\", \"data\": \"area\", \"className\": \"mobile-20 area border\" },\r\n { \"title\": \"Forening\", \"data\": \"name\", \"className\": \"mobile-40 border\" },\r\n { \"title\": \"Kommune\", \"data\": \"municipality\", \"className\": \"mobile-40 border\" },\r\n { \"title\": \"Mere info\", \"orderable\": false, \"defaultContent\": \"\", \"data\": null, \"className\": \"details-control\" }\r\n ],\r\n \"order\": [[ 1, \"asc\" ]]\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n {column_number : 0, filter_type: \"select\", filter_default_label: \"Alle kredse\", filter_container_id: \"areaFilter-\"+t},\r\n {column_number : 2, filter_type: \"select\", filter_default_label: \"Alle kommuner\", filter_container_id: \"municipalityFilter-\"+t}\r\n ]);\r\n\r\n // Add event listener for opening and closing details\r\n el.find('tbody').on('click', 'td.details-control', function () {\r\n var tr = $(this).closest('tr');\r\n var row = table.row( tr );\r\n \r\n if ( row.child.isShown() ) {\r\n $(this).removeClass('open')\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n $(this).addClass('open')\r\n // Open this row\r\n row.child( localDetails(row.data()) ).show();\r\n tr.addClass('shown');\r\n }\r\n } );\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 9. Admin DataTable \r\n this.dataTableAdmin = function (t, dataSrc) {\r\n var el = $('#'+t+''),\r\n tableWrapper = $('#'+t+'_wrapper');\r\n\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts?memberGroup=' + dataSrc,\r\n \"pageLength\": 8,\r\n \"columns\": [\r\n { \"title\": \"Afdeling\", \"data\": \"section\", \"bVisible\": false, \"orderable\": false },\r\n { \"title\": \"Billede\", \"data\": \"image\", \"orderable\": false },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"bVisible\": false }\r\n ],\r\n \"columnDefs\": [\r\n {\r\n \"render\": function ( data, type, row ) {\r\n var image = \"\",\r\n position = \"\",\r\n name = \"\",\r\n phone = \"\",\r\n email = \"\",\r\n linkedin = \"\",\r\n workFunction = \"\";\r\n\r\n // Check if the values are empty\r\n if(row.image) {\r\n image = '
    ';\r\n }\r\n if(row.position) {\r\n position = '

    '+row.position+'

    ';\r\n }\r\n if(row.name) {\r\n name = '

    '+row.name+'

    ';\r\n }\r\n if(row.phone) {\r\n phone = '

    Tlf: '+row.phone+'

    ';\r\n }\r\n if(row.email) {\r\n email = '';\r\n }\r\n if(row.linkedin) {\r\n linkedin = '
    ';\r\n }\r\n if(row.function) {\r\n workFunction = '
    Funktion

    '+row.function+'

    ';\r\n }\r\n\r\n\r\n return '
    '+\r\n '
    '+\r\n image+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n position+\r\n name+\r\n phone+\r\n email+\r\n linkedin+\r\n '
    '+\r\n '
    '+\r\n workFunction+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '';\r\n\r\n },\r\n \"targets\": 1\r\n }\r\n ],\r\n \"fnDrawCallback\": function( o ) {\r\n/* var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }*/\r\n el.find('tr.even').after('
    ');\r\n },\r\n \"order\": [[ 2, \"asc\" ]]\r\n } );\r\n \r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n/* filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n {column_number : 0, filter_type: \"select\", filter_default_label: \"Alle afdelinger\", filter_container_id: \"sectionFilter-\"+t}\r\n ]);\r\n\r\n }\r\n\r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 10. Hovedbestyrelse DataTable \r\n this.dataTableHovedBestyrelse = function (t, dataSrc) {\r\n var el = $('#'+t+''),\r\n tableWrapper = $('#'+t+'_wrapper');\r\n\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts?memberGroup=' + dataSrc,\r\n \"pageLength\": 8,\r\n \"bSort\" : false,\r\n \"columns\": [\r\n { \"title\": \"Billede\", \"data\": \"image\", \"orderable\": false },\r\n { \"title\": \"kreds\", \"data\": \"area\", \"bVisible\": false },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"bVisible\": false }\r\n ],\r\n \"columnDefs\": [\r\n {\r\n \"render\": function ( data, type, row ) {\r\n var image = \"\",\r\n position = \"\",\r\n name = \"\",\r\n phone = \"\",\r\n email = \"\",\r\n linkedin = \"\",\r\n workFunction = \"\";\r\n\r\n // Check if the values are empty\r\n if(row.image) {\r\n image = '
    ';\r\n }\r\n if(row.position) {\r\n position = '

    '+row.position+'

    ';\r\n }\r\n if(row.name) {\r\n name = '

    '+row.name+'

    ';\r\n }\r\n if(row.phone) {\r\n phone = '

    Tlf: '+row.phone+'

    ';\r\n }\r\n if(row.email) {\r\n email = '';\r\n }\r\n if(row.linkedin) {\r\n linkedin = '
    ';\r\n }\r\n if(row.function) {\r\n workFunction = '
    Funktion

    '+row.function+'

    ';\r\n }\r\n\r\n\r\n return '
    '+\r\n '
    '+\r\n image+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n position+\r\n name+\r\n phone+\r\n linkedin+\r\n email+\r\n '
    '+\r\n '
    '+\r\n workFunction+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '
    '+\r\n '';\r\n\r\n },\r\n \"targets\": 0\r\n }\r\n ],\r\n \"fnDrawCallback\": function( o ) {\r\n/* var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }*/\r\n el.find('tr.even').after('
    ');\r\n },\r\n \"order\": [[2, \"asc\"]]\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n/* filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n \r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n { column_number: 1, filter_type: \"select\", filter_default_label: \"Alle kredse\", filter_container_id: \"areaFilter-\" + t }\r\n ]);\r\n }\r\n\r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n // 6. Udvalg DataTable\r\n this.dataTableGrupper = function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts' + dataSrc,\r\n \"columns\": [\r\n { \"title\": \"Gruppe\", \"data\": \"committee\", \"className\": \"mobile-50\" },\r\n { \"title\": \"sortorder\", \"data\": \"sortorder\", \"className\": \"mobile-50\", \"bVisible\": false },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-50\" },\r\n { \"title\": \"By\", \"data\": \"town\", \"className\": \"mobile-75\"},\r\n { \"title\": \"Postnr\", \"data\": \"postal\", \"className\": \"mobile-25\" },\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\", \"orderable\": false},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\", \"orderable\": false}\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [[ 2, \"asc\" ]]\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n { column_number: 0, filter_type: \"select\", filter_default_label: \"Alle grupper\", filter_container_id: \"groupFilter-\" + t }\r\n ]);\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n\r\n this.dataTableJaegerraad = function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContacts' + dataSrc,\r\n \"columns\": [\r\n { \"title\": \"Kommune\", \"data\": \"municipality\", \"className\": \"mobile-50\"},\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-50\" },\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\", \"orderable\": false},\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\", \"orderable\": false}\r\n ],\r\n \"order\": [[ 0, \"asc\" ]]\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n customFilter.prepend('
    ');\r\n \r\n yadcf.init(table, [\r\n { column_number: 0, filter_type: \"select\", filter_default_label: \"Alle kommuner\", filter_container_id: \"municipalityFilter-\" + t }\r\n ]);\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n this.dataTableContactUdvalg = function (t, dataSrc) {\r\n var el = $('#'+t+'');\r\n // Init the table if it is not already\r\n if( el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable( {\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContactsUdvalg?roleName=' + encodeURIComponent(dataSrc),\r\n \"columns\": [\r\n { \"title\": \"Kreds\", \"data\": \"area\", \"className\": \"mobile-50 area\" },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-50\" },\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\"},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\"}\r\n ],\r\n/* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [ 1, \"asc\" ]\r\n } );\r\n\r\n // Custom filters\r\n var filterContainer = $('#'+t+'_filter'); \r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n/* filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n\r\n }\r\n \r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n this.dataTableContactKreds = function (t, dataSrc) {\r\n var el = $('#' + t + '');\r\n // Init the table if it is not already\r\n if (el.find('tr').length == 0) {\r\n\r\n var table = el.DataTable({\r\n \"ajax\": '/umbraco/Api/ContactApi/GetContactsKreds?regionNumber=' + encodeURIComponent(dataSrc),\r\n \"columns\": [\r\n/* { \"title\": \"Kommune\", \"data\": \"municipality\", \"bVisible\": false },*/\r\n //{ \"title\": \"Kreds\", \"data\": \"area\", \"className\": \"mobile-40\" },\r\n { \"title\": \"Titel\", \"data\": \"titel\", \"className\": \"mobile-60\" },\r\n { \"title\": \"Navn\", \"data\": \"name\", \"className\": \"mobile-40\" },\r\n { \"title\": \"Telefon\", \"data\": \"phone\", \"className\": \"mobile-40 border\"},\r\n { \"title\": \"Mail\", \"data\": \"email\", \"className\": \"mobile-60 border\"}\r\n ],\r\n /* \"fnDrawCallback\": function( o ) {\r\n var oldStart = 0;\r\n if ( o._iDisplayStart != oldStart ) {\r\n var targetOffset = el.offset().top;\r\n $('html,body').animate({scrollTop: targetOffset}, 250);\r\n oldStart = o._iDisplayStart;\r\n }\r\n },*/\r\n \"order\": [2, \"asc\"]\r\n });\r\n\r\n // Custom filters\r\n var filterContainer = $('#' + t + '_filter');\r\n var customFilter = filterContainer.siblings('.custom-filter');\r\n\r\n /* filterContainer.after('
    ');\r\n customFilter.before('

    Filtrer visning

    ');*/\r\n\r\n }\r\n\r\n // Load all the default stuff\r\n self.dataTableDefaults(t);\r\n\r\n };\r\n\r\n};\r\n","\r\nvar djf = djf || {};\r\n\r\n$(function () {\r\n djf.gallery.init();\r\n});\r\n\r\n\r\ndjf.gallery = new function () {\r\n var self = this,\r\n items = $('.gallery-list > li.media a');\r\n\r\n\r\n this.init = function () {\r\n self.swipebox(items);\r\n };\r\n this.swipebox = function (t) {\r\n \tt.swipebox({\r\n/* \t\tinitialIndexOnArray: 0, // which image index to init when a array is passed\r\n \t\thideCloseButtonOnMobile : false, // true will hide the close button on mobile devices\r\n \t\thideBarsDelay : 3000, // delay before hiding bars on desktop\r\n \t\tvideoMaxWidth : 1140, // videos max width\r\n \t\tbeforeOpen: function(){} , // called before opening\r\n \t\tafterOpen: null, // called after opening\r\n \t\tafterClose: function(){}, // called after closing\r\n \t\tloopAtEnd: false, // true will return to the first image after the last image is reached\r\n \t\tautoplayVideos: false // true will autoplay Youtube and Vimeo videos\r\n \t\tqueryStringData: {} // plain object with custom query string arguments to pass/override for video URLs,\r\n \t\ttoggleClassOnLoad: '', // CSS class that can be toggled when the slide will be loaded (like 'hidden' of Bootstrap)*/\r\n removeBarsOnMobile: false,\r\n useSVG: false,\r\n hideBarsDelay : 60000, // delay before hiding bars on desktop\r\n \t\tuseCSS : true // false will force the use of jQuery for animations\r\n \t});\r\n\r\n };\r\n\r\n};\r\n\r\n// Stolen from http://stackoverflow.com/questions/1309483/redirect-user-to-current-page-with-some-querystring-using-javascript\r\nfunction reloadWithQueryStringVars(queryStringVars) {\r\n var existingQueryVars = location.search ? location.search.substring(1).split(\"&\") : [],\r\n currentUrl = location.search ? location.href.replace(location.search, \"\") : location.href,\r\n newQueryVars = {},\r\n newUrl = currentUrl + \"?\";\r\n if (existingQueryVars.length > 0) {\r\n for (var i = 0; i < existingQueryVars.length; i++) {\r\n var pair = existingQueryVars[i].split(\"=\");\r\n newQueryVars[pair[0]] = pair[1];\r\n }\r\n }\r\n if (queryStringVars) {\r\n for (var queryStringVar in queryStringVars) {\r\n newQueryVars[queryStringVar] = queryStringVars[queryStringVar];\r\n }\r\n }\r\n if (newQueryVars) {\r\n for (var newQueryVar in newQueryVars) {\r\n newUrl += newQueryVar + \"=\" + newQueryVars[newQueryVar] + \"&\";\r\n }\r\n newUrl = newUrl.substring(0, newUrl.length - 1);\r\n window.location.href = newUrl;\r\n } else {\r\n window.location.href = location.href;\r\n }\r\n}","/**\r\n * @desc Responsive image script, servering the image depending on parent-wrapper width and aspect-ratio parameter\r\n * html example
    \r\n * js example novicell.responsiveImages.init()\r\n * @author Danni Larsen - DLA, JHA - Jonas Havmøller\r\n * @return -tag inside selector\r\n * @requires jquery@1.11.3\r\n * @note: Remember to run this on resize too and remember to add and image-tag in a no-script-tag for older browsers\r\n*/\r\n \r\n\r\nvar novicell = novicell || {};\r\n\r\n$(function () {\r\n novicell.responsiveImages.init();\r\n});\r\n\r\n$(window).smartresize(function(e){\r\n\tnovicell.responsiveImages.init();\r\n})\r\n\r\n\r\nnovicell.responsiveImages = new function(){\r\n\r\n\tthis.init = function(el) {\r\n\r\n\t [].forEach.call(document.querySelectorAll('.responsiveimg'), function(el) {\r\n\t \tvar ratio = $(el).attr('data-ratio') || \"\";\r\n\t \tif (ratio == \"\") {\r\n\t \t\tvar dataW = el.getAttribute('data-width');\r\n\t\t \tvar dataH = el.getAttribute('data-height');\r\n\t\t var w = dataW == null ? $(el).parent().width() : dataW;\r\n\t\t var h = dataH == null ? \"\" : dataH;\r\n\t\t var alt = el.getAttribute('data-alt') || \"\";\r\n\t\t var hString = h != \"\" ? '&height='+ h : \"\";\r\n\t\t var src = el.getAttribute('data-imgsrc');\r\n\t\t var wRnd = Math.ceil(w / 50) * 50;\r\n\t \t} else {\r\n\t \t\tvar w = $(el).width() != 0 ? $(el).width() : $(el).parent().width(); // If the value is null, take the width of parent container\r\n\t \t\tvar alt = $(el).attr('data-alt') || \"\";\r\n\t \t\tvar ratioRnd = Math.round(w / 100 * ratio);\r\n\t \t\tvar hString = ratio != \"\" ? '&height='+ ratioRnd : \"\";\r\n\t \t\tvar src = $(el).attr('data-imgsrc');\r\n\t \t\tvar wRnd = Math.ceil(w / 50) * 50;\r\n\r\n\t \t}\r\n\r\n\r\n\r\n\t // Init the image\r\n\t if ($(el).hasClass('bg-image')) {\r\n\r\n\t \tvar hString = hString == \"\" ? '&height='+ $(el).parent().height() : hString;\r\n\r\n\t \t// If its a background image apply the style to the parent div\r\n\t \t$(el).closest('div').attr('style', 'background: url(\"'+ src + '&width=' + wRnd + hString +'&quality=80&cropmode=crop\") center center no-repeat; background-size: cover;');\r\n\r\n\t } else {\r\n\t \t\t$(el).html('\"'+alt+'\"');\r\n\t \t}\r\n\t });\r\n\r\n\t};\r\n};\r\n","$.validator.setDefaults({\r\n ignore: \".ignore\"\r\n});","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.accordion.init();\r\n});\r\n\r\ndjf.accordion = new function () {\r\n\r\n\tthis.init = function () {\r\n\t\t$('.accordion-content:not(.active .accordion-content)').hide();\r\n\r\n\t\t$('.accordion-header', '.accordion').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar self = $(this).parents(\"li\"),\r\n\t\t\tselfContent = self.find('.accordion-content'),\r\n\t\t\taccordionContents = $('.accordion-item').find('.accordion-content');\r\n\r\n\t\t\tif (self.hasClass(\"active\"))\r\n\t\t\t{\r\n\t\t\t\tself.removeClass(\"active\");\r\n\t\t\t\tselfContent.slideUp(300);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif(!self.hasClass('multi-open')){\r\n\t\t\t\t\t$('.accordion-item').removeClass(\"active\");\r\n\t\t\t\t\taccordionContents.slideUp(300);\r\n\t\t\t\t}\r\n\t\t\t\tself.addClass(\"active\");\r\n\t\t\t\tselfContent.slideDown(300);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n\r\n\r\n\r\n","/*\r\ncalendars for Danmarks Jægerforbund\r\n\r\n1. Default Settings for Calendars\r\n2. Init calendar\r\n3. Skydetider calendar\r\n4. Bålhytte/Shelter calendar\r\n\r\n*/\r\n\r\n\r\nvar djf = djf || {};\r\n\r\n// 2. Init calendar\r\n$(function () {\r\n if ($('#shooting-calendar').length) {\r\n djf.shootingCalendar.init();\r\n }\r\n if ($('#shelter-calendar').length) {\r\n djf.shelterCalendar.init();\r\n }\r\n \r\n});\r\n\r\n// 3. Skydetider calendar / Shooting calendar\r\ndjf.shootingCalendar = new function () {\r\n\r\n var hideFromEmail = 'hidefromemail';\r\n var self = this,\r\n calendarDiv,\r\n shootingTimesDiv,\r\n calendarDate,\r\n eventSelectedDiv,\r\n shootingIdInput,\r\n timeStringInput,\r\n emailToInput,\r\n priceInput,\r\n validationErrors,\r\n shootingModal,\r\n selectedDate,\r\n orderNumberInput,\r\n submitButton;\r\n\r\n\r\n this.selectEvent = function (id) {\r\n $.ajax('/umbraco/Api/ShootingTimesApi/GetShooting?shootingId=' + id).done(function(data) {\r\n calendarDate.val('');\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n var date = data.date;\r\n selectedDate = moment(date).format('DD/MM/YYYY');\r\n var price = data.price + ' DKK';\r\n $('#shooting-event').html('Event: ' + data.place + ' - ' + selectedDate + ' ' +\r\n '
    Instruktør: ' + data.instructor +\r\n '
    Pris: ' + price +\r\n '
    Bemærkninger: ' + data.notes);\r\n\r\n shootingTimesDiv.empty().append(new Option('Vælg et tidspunkt', '', true, true));\r\n $.each(data.shootingTimes, function (index, item) {\r\n shootingTimesDiv.append(new Option(item, item));\r\n });\r\n eventSelectedDiv.show();\r\n\r\n shootingIdInput.val(data.id);\r\n priceInput.val(price);\r\n\r\n emailToInput.val(data.emailTo);\r\n\r\n shootingModal.modal();\r\n });\r\n }\r\n \r\n\r\n this.init = function () {\r\n calendarDiv = $('#shooting-calendar');\r\n shootingTimesDiv = $('#shooting-times');\r\n calendarDate = $('.dato input');\r\n eventSelectedDiv = $('#event-selected');\r\n shootingIdInput = $('.shootingid' + hideFromEmail + ' input');\r\n timeStringInput = $('.timestring' + hideFromEmail + ' input');\r\n emailToInput = $('.emailto' + hideFromEmail + ' input');\r\n orderNumberInput = $('.ordrenummer input');\r\n priceInput = $('.pris input');\r\n validationErrors = $('.validation-summary-errors');\r\n selectedDate = '';\r\n shootingModal = $('#shooting-modal');\r\n submitButton = $('input[type=submit]');\r\n\r\n // Get modal back if we have validation errors\r\n if (validationErrors.length) {\r\n if (shootingIdInput.val().length) {\r\n self.selectEvent(shootingIdInput.val());\r\n }\r\n }\r\n\r\n // Get modal back on submit\r\n if ($('.contourMessageOnSubmit').length) {\r\n shootingModal.modal();\r\n shootingModal.on('hidden.bs.modal', function () {\r\n window.location = window.location.href;\r\n });\r\n }\r\n\r\n if (calendarDiv.length/* && !$('.contourMessageOnSubmit').length*/) {\r\n calendarDiv.fullCalendar({\r\n events: {\r\n url: '/umbraco/Api/ShootingTimesApi/GetBookableShootingDates',\r\n type: 'GET',\r\n className: ['shooting-event']\r\n },\r\n\r\n eventClick: function (calEvent, jsEvent, view) {\r\n self.selectEvent(calEvent.id);\r\n },\r\n\r\n weekNumberCalculation: \"ISO\",\r\n weekNumbers: true\r\n });\r\n\r\n\r\n shootingTimesDiv.on('change', function (c) {\r\n var val = $(this).val();\r\n calendarDate.val(selectedDate + ' - ' + val);\r\n\r\n timeStringInput.val(val);\r\n });\r\n\r\n orderNumberInput.val(new Date().getTime());\r\n }\r\n };\r\n};\r\n\r\n// 3. Bålhytte/Shelter calendar\r\ndjf.shelterCalendar = new function () {\r\n\r\n var hideFromEmail = 'hidefromemail';\r\n var self = this,\r\n calendarDiv,\r\n calendarDate,\r\n eventSelectedDiv,\r\n validationErrors,\r\n modal,\r\n selectedDate,\r\n shelterTimeModal,\r\n addShelterTimeButton,\r\n numPersonsInput,\r\n selectedEventsInput,\r\n selectedEventsPrettyInput,\r\n selectedEvent,\r\n selectedEvents,\r\n continueButton;\r\n\r\n // Shelter \"event\" model\r\n var Event = (function () {\r\n function Event(title, startDate, numPersons, element) {\r\n this.title = title;\r\n this.startDate = startDate;\r\n this.numPersons = numPersons;\r\n this.element = element;\r\n }\r\n return Event;\r\n })();\r\n\r\n function isInt(n) {\r\n return Number(n) == n && n % 1 === 0;\r\n }\r\n\r\n this.selectEvent = function (calEvent, calElement) {\r\n selectedEvent = new Event(calEvent.title, calEvent.start.toDate(), 0, calElement);\r\n shelterTimeModal.modal();\r\n numPersonsInput.focus();\r\n }\r\n\r\n this.deselectEvent = function (calEvent, calElement) {\r\n for (var i = 0; i < selectedEvents.length; i++) {\r\n var event = selectedEvents[i];\r\n if (event.element.get(0) == calElement.get(0)) {\r\n event.element.find('.fc-title').text(event.title);\r\n calElement.removeClass('selected');\r\n selectedEvents.splice(i, 1);\r\n break;\r\n }\r\n }\r\n self.sync();\r\n }\r\n\r\n this.sync = function() {\r\n //selectedEventsDiv.html('');\r\n for (var i = 0; i < selectedEvents.length; i++) {\r\n var event = selectedEvents[i];\r\n //selectedEventsDiv.html(selectedEventsInput.html() + event.startDate.toLocaleString() + ' (' + event.title + '): ' + event.numPersons + ' personer
    ');\r\n event.element.find('.fc-title').text(event.title + ' (' + event.numPersons + ')');\r\n event.element.addClass('selected');\r\n }\r\n\r\n // Set form input value. We don't need the jQuery element here\r\n selectedEventsInput.val(JSON.stringify(selectedEvents.map(function(ev) {\r\n return new Event(ev.title, ev.startDate, ev.numPersons, null); \r\n })));\r\n\r\n selectedEventsPrettyInput.val(selectedEvents.map(function(ev) {\r\n return ev.startDate.toLocaleString() + ' (' + ev.title + '): ' + ev.numPersons + ' personer\\n';\r\n }));\r\n\r\n if (selectedEvents.length) {\r\n $('#next').show();\r\n } else {\r\n $('#next').hide();\r\n }\r\n \r\n }\r\n\r\n this.addShelterTime = function () {\r\n shelterTimeModal.modal('hide');\r\n var val = numPersonsInput.val();\r\n var numPersons = 0;\r\n if (val != null && isInt(val) && val > 0) {\r\n numPersons = val;\r\n }\r\n if (numPersons == 0) {\r\n return;\r\n }\r\n selectedEvent.numPersons = numPersons;\r\n selectedEvents.push(selectedEvent);\r\n\r\n self.sync();\r\n\r\n numPersonsInput.val('');\r\n selectedEvent = null;\r\n }\r\n\r\n this.init = function () {\r\n calendarDiv = $('#shelter-calendar');\r\n calendarDate = $('.calendardate input');\r\n eventSelectedDiv = $('#event-selected');\r\n validationErrors = $('.validation-summary-errors');\r\n selectedDate = '';\r\n modal = $('#shelter-modal');\r\n shelterTimeModal = $('#shelter-time-modal');\r\n addShelterTimeButton = $('#add-shelter-time');\r\n numPersonsInput = $('#numPersons');\r\n selectedEventsInput = $('.selectedevents' + hideFromEmail + ' input');\r\n selectedEventsPrettyInput = $('.tiderogpersoner input');\r\n selectedEvents = [],\r\n continueButton = $('#next');\r\n\r\n // Get modal back on submit\r\n if ($('.contourMessageOnSubmit').length) {\r\n modal.modal();\r\n modal.on('hidden.bs.modal', function () {\r\n window.location = window.location.href;\r\n });\r\n }\r\n\r\n if (calendarDiv.length) {\r\n calendarDiv.fullCalendar({\r\n events: {\r\n url: '/umbraco/Api/ShelterApi/GetBookableShelterDates',\r\n type: 'GET',\r\n className: ['shooting-event']\r\n },\r\n\r\n eventClick: function (calEvent, jsEvent, view) {\r\n var el = $(this);\r\n if (el.hasClass('selected')) {\r\n self.deselectEvent(calEvent, el);\r\n } else {\r\n self.selectEvent(calEvent, el);\r\n }\r\n },\r\n\r\n weekNumberCalculation: \"ISO\",\r\n weekNumbers: true,\r\n displayEventTime: true,\r\n displayEventEnd: true\r\n });\r\n\r\n addShelterTimeButton.on('click', self.addShelterTime);\r\n numPersonsInput.on('keyup', function (e) {\r\n var code = e.which;\r\n if (code == 13) { // 'Enter'-key\r\n self.addShelterTime();\r\n } \r\n });\r\n continueButton.on('click', function () {\r\n if (selectedEvents.length) {\r\n modal.modal();\r\n }\r\n });\r\n }\r\n };\r\n};","var novicell = novicell || {};\r\n/* Novicell cookieinfo\r\n* Original author: Adam Peter Nielsen\r\n* Add a cookie info box in the site. get cookie info from a plain HTML page using ajax\r\n* ------\r\n* Dependencies: jquery.cookie.js\r\n* Usage:\r\n\r\n var cookieInfoOptions = {\r\n 'btnhide': 'Cookies?',\r\n 'btnshow': 'OK. close box',\r\n 'cookieInfoPath': $('#cookieInfo').attr('data-cookie-info-path')\r\n }\r\n novicell.cookieinfo.init(cookieInfoOptions);\r\n\r\n\r\n* HTML example:
    \r\n* CSS example:\r\n\r\n.cookie-info-show{ width: 100%; padding: 10px 30px; border: 1px solid #cbcac7;background:lightblue}\r\n.cookie-info-show .cookie-info-text { color: #565656; font: normal 12px/19px Arial, Sans-Serif; width: 75%; padding-top:8px;}\r\n.cookie-info-show .cookie-info-toggle { display: block; float: right;margin-top: 8px; padding: 3px 6px; color: #fff; border-radius: 3px; border: 0; background: #585858; text-decoration:none;font: bold 12px/12px Helvetica,sans-serif;}\r\n.cookie-info-hide .cookie-info-toggle { display: block; float: right;margin-top: -20px; color: #fff; font: bold 12px/12px Helvetica,sans-serif;}\r\n.phone .cookie-info-show{ border-bottom: 1px solid #cbcac7; width: auto;padding:0; }\r\n.phone .cookie-info-show .cookie-info-text { width: auto; padding-top:8px;}\r\n.phone .cookie-info-hide .cookie-info-toggle {color: #ccc;}\r\n\r\n*/\r\n\r\n\r\nnovicell.cookieinfo = new function () {\r\n var self = this;\r\n this.init = function (args) {\r\n self.elm = $('#cookieInfo');\r\n self.options = args;\r\n if (self.elm.length) {\r\n if ($.cookie(\"cookieAccept\") != undefined && $.cookie(\"cookieAccept\") == \"displayed\") {\r\n $.cookie(\"cookieAccept\", \"accepted\", { expires: 365, path: '/' });\r\n }\r\n\r\n if ($.cookie(\"cookieAccept\") == undefined) {\r\n self.render({ 'mode': 'show' });\r\n } else {\r\n self.render({ 'mode': 'hide' });\r\n }\r\n\r\n if ($.cookie(\"cookieAccept\") == undefined) {\r\n $.cookie(\"cookieAccept\", \"displayed\", { path: '/' });\r\n }\r\n\r\n $('body').on('click', '#cookieInfo a.cookie-info-toggle', function (e) {\r\n e.preventDefault();\r\n if (self.elm.attr('data-mode') == 'show') {\r\n self.render({ 'mode': 'hide' });\r\n $.cookie(\"cookieAccept\", \"accepted\", { expires: 365, path: '/' });\r\n } else {\r\n self.render({ 'mode': 'show' });\r\n }\r\n });\r\n }\r\n };\r\n this.toggle = function () {\r\n\r\n };\r\n this.render = function (args) {\r\n self.elm.html('');\r\n var btn = $('').addClass('cookie-info-toggle').attr('href', '#cookieInfo' + args.mode).text(self.options['btn' + args.mode]);\r\n var markup = '';\r\n if (args.mode == 'show') {\r\n var cookieInfoText = $('
    ')//;.text('Cookie text error');\r\n $.get(self.options.cookieInfoPath, function (data) {\r\n cookieInfoText.html(data);\r\n });\r\n markup = $('
    ').addClass('cookie-info-content').append(/*btn,*/ $('
    ').addClass('cookie-info-text').append(cookieInfoText));\r\n } else {\r\n markup = $('
    ').addClass('container').append(btn); //btn;\r\n }\r\n self.elm.attr('class', 'cookie-info-' + args.mode).attr('data-mode', args.mode).html(markup);\r\n self.toggle();\r\n };\r\n};\r\n\r\n\r\n$(function(){\r\n //Cookie popup\r\n var cookieInfoOptions = {\r\n 'autohide': false,\r\n 'btnhide': 'Cookies?',\r\n 'btnshow': 'OK. close box',\r\n 'cookieInfoPath': $('#cookieInfo').attr('data-cookie-info-path')\r\n }\r\n novicell.cookieinfo.init(cookieInfoOptions);\r\n});","\r\nvar djf = djf || {};\r\n\r\n$(function () {\r\n djf.datepicker.init();\r\n});\r\n\r\n\r\ndjf.datepicker = new function () {\r\n\r\n var self = this;\r\n\r\n\r\n this.init = function () {\r\n $('.datetimepicker').datetimepicker({\r\n locale: 'da'\r\n });\r\n\r\n\r\n $('.datepicker').datetimepicker({\r\n locale: 'da',\r\n format: 'YYYY-MM-DD'\r\n });\r\n };\r\n\r\n};\r\n\r\n","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.login.init();\r\n});\r\n\r\n\r\ndjf.login = new function () {\r\n var self = this,\r\n modalTrigger = $('a.modal-trigger');\r\n\r\n\r\n this.init = function () {\r\n self.popup(modalTrigger);\r\n };\r\n this.popup = function (t) {\r\n t.click(function(e){\r\n e.preventDefault();\r\n var $button = $(this),\r\n modal = $('#modal'),\r\n modalContent = $button.attr('href');\r\n\r\n // Close the menu\r\n $('html').removeClass('menu-open');\r\n\r\n $.get(modalContent, function (data) {\r\n modal.find('.modal-content .modal-body').html(data);\r\n });\r\n\r\n // Fire modal\r\n modal.modal();\r\n });\r\n\r\n };\r\n\r\n};\r\n","var djf = djf || {};\n\n$(function () {\n\tdjf.navigation.init();\n});\n\ndjf.navigation = new function () {\n\tvar self = this,\n\tmenu = $('#nav-container'),\n\toffCanvas = $('#offcanvas-nav'),\n\tmenuList = $('#navigation-list'),\n\tmenuUl = $('#navigation-list > li'),\n\tmenuUlWithChild = $('#navigation-list > li.has-child'),\n\tmenuTrigger = $('#close-nav, #offcanvas-trigger, .close-overlay'),\n\tsubnavTrigger = $('.subnav-trigger'),\n\tnavTriggerText = $('#nav-trigger-text'),\n\tnavTriggerIcon = $('#nav-trigger-burger'),\n\tactiveItem = $(''),\n\tlanguageTrigger = $('#language-picker #trigger');\n\n\n\tthis.init = function () {\n\n\t\tself.languagePicker(languageTrigger);\n\n\t\tself.moveTheMenu();\n\n\t\t// Bind the menu-button on init.\n\t\tself.triggerMenu(menuTrigger);\n\n\t\t// Bind the submenu triggers on init.\n\t\tself.openSubMenu(subnavTrigger);\n\n\t\t// Set min data-height\n\t\tself.SetDataHeight(menuUlWithChild);\n\n\t\t// Sticky menu;\n\t\tself.stickyMenu(menu)\n\n\t\t// hoverIntentInit \n\t\tself.hoverIntent(menuUl);\n\n\t\t// In Resize event\n\t\t$( window ).smartresize(function() {\n\n\t\t\tself.moveTheTopNav();\n\n\t\t\t// Apply minheight css\n\t\t\tif($(window).width() > 1024) {\n\t\t\t\t// Bind HoverIntent actions\n\t\t\t\tself.hoverIntent(menuUl);\n\t\t\t\t// Remove menu-open class\n\t\t\t\t$('html').removeClass(\"menu-open\");\n\t\t\t}\n\t\t}).trigger('resize');\n\n\n\t\t// Check for active class\n\t\tif (activeItem.length > 0) {\n\t\t\t/*activeItem.parents('li').addClass('opened').find('ul').show();*/\n\t\t\tactiveItem.parents('li').addClass('opened');\n\t\t}\n\t};\n\n/* this.getAjaxMenu = function (t) {\n\t\tvar contentUrl = menu.attr('data-url');\n\n\t\tvar jqxhr = $.get(contentUrl, function (data) {\n\t\t\t$('#main-menu').html(data);\n\n\t\t});\n\n\t\tjqxhr.done(function() {\n\t\t\tself.init();\n\n\t\t\tsetTimeout(function() {\n\t\t\t\tself.hoverIntent(menuUl);\n\t\t\t}, 100);\n\t\t})\n\n\t};*/\n\n\tthis.moveTheMenu = function() {\n\t\tmenuList.appendTo('#main-menu');\n\t\tmenuList.show();\n\t}\n\n\tthis.triggerMenu = function (t) {\n\t\tt.on('click', function (e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tvar siteHeight = $('#site').attr('data-height');\n\t\t\t// Toggle body class\n\t\t\t$('html').toggleClass(\"menu-open\");\n\n\t\t\tif ($('html').hasClass('menu-open')) {\n\t\t\t\t$('#site').css('min-height', siteHeight + \"px\");\n\t\t\t} else {\n\t\t\t\t$('#site').css('min-height', \"auto\");\n\t\t\t}\n\n\t\t});\n\t};\n\n\tthis.SetMaxHeight = function (selector) {\n\n\t\tvar activeSubs = selector.find('ul.slideToggle'),\n\t\tsubUl = selector.find('ul').first(),\n\t\tminHeight = 0,\n\t\tulHeights = new Array();\n\n\n\t\tactiveSubs.each(function() {\n\t\t\tvar height = $(this).attr('data-height');\n\t\t\tulHeights.push(height);\n\t\t});\n\n\t\t// Get heights value of array\n\t\tminHeight = Math.max.apply(Math, ulHeights);\n\n\n\t\t// Apply minheight css\n\t\tif($(window).width() > 1024 && minHeight > 0 ) {\n\t\t\tsubUl.attr('style','min-height:'+minHeight+'px;');\n\t\t} else {\n\t\t\tsubUl.attr('style','min-height:0');\n\t\t}\n\t};\n\n\tthis.openSubMenu = function (t) {\n\t\tt.click(function (e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\n\t\t\tvar $this = $(this),\n\t\t\t$openItem = $('.opened'),\n\t\t\t$topLevel = $this.parents('#navigation-list > li');\n\t\t\t$parentLi = $this.parents('li'),\n\t\t\t$parentOpenItem = $parentLi.filter('.opened');\n\n\n\t\t\t$openItem.not($parentOpenItem).removeClass('opened').find('ul').removeClass('slideToggle');\n\t\t\t$this.parent().next().toggleClass('slideToggle');\n\t\t\t$this.closest('li').toggleClass('opened');\n\n\t\t\t// Set max-height\n\t\t\tself.SetMaxHeight($topLevel);\n\t\t});\n\n\t\t// Add opened class to active\n\t\tvar $menu = $('#sidebar-menu');\n\t\t$menu.find('.active').parents('li').addClass('opened').children('ul').addClass('slideToggle');\n\t};\n\n\tthis.SetDataHeight = function (t) {\n\t\tt.each(function() {\n\t\t\tvar subUl = $(this).find('ul');\n\n\t\t\t// Fake show the menu to measure height\n\t\t\t$(this).addClass('hover');\n\t\t\tsubUl.addClass('slideToggle');\n\n\t\t\tsubUl.each(function() {\n\t\t\t\tvar height = $(this).height() + 40;\n\t\t\t\t$(this).attr('data-height', height);\n\t\t\t});\n\n\t\t\t// Set min-height for off-canvas\n\t\t\t$('#site').attr('data-height', menuList.height());\n\n\t\t\t// Remove the fake show of menu\n\t\t\t$(this).removeClass('hover');\n\t\t\tsubUl.removeClass('slideToggle');\n\n\t\t});\n\t}\n\tthis.moveTheTopNav = function() {\n\t\tvar $listItems = $('#top-nav li'),\n\t\t$movedItems = $('#navigation-list li.has-moved')\n\n\t\tif ($(window).width() < 1024) {\n\t\t\t$listItems.addClass('has-moved');\n\t\t\t$listItems.appendTo('#navigation-list');\n\n\t\t}else{\n\t\t\t$movedItems.appendTo('#top-nav ul');\n\t\t}\n\n\t};\n\n\tthis.hoverIntent = function (t) {\n\t\tt.hoverIntent({ \n\t\t\tsensitivity: 3, // number = sensitivity threshold (must be 1 or higher) \n\t\t\tinterval: 100, // number = milliseconds for onMouseOver polling interval \n\t\t\ttimeout: 400, // number = milliseconds delay before onMouseOut \n\t\t\tover:function(){\n\t\t\t\t$(this).addClass('hover');\n\t\t\t},\n\t\t\tout: function(){\n\t\t\t\t$(this).removeClass('hover');\n\t\t\t}\n\t\t});\n\t};\n\n\tthis.stickyMenu = function (selector) {\n\t\tvar pxToTop = $('#top-container').outerHeight();\n\n\t\t$(document).scroll(function() {\n\t\t\tif( $(this).scrollTop() >= pxToTop ) {\n\t\t\t\t$('body').addClass('fixed-menu');\n\t\t\t} else {\n\t\t\t\t$('body').removeClass('fixed-menu');\n\t\t\t}\n\t\t});\n\t}\n\n\tthis.languagePicker = function(selector) {\n\t\tselector.click(function() {\n\t\t\t$('#language-list').fadeToggle('100');\n\t\t});\n\t}\n\n};","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.newsletter.init();\r\n});\r\n\r\n\r\ndjf.newsletter = new function () {\r\n var self = this,\r\n \tbutton = $('.newsletter-container .button.toggler');\r\n\r\n\r\n this.init = function () {\r\n self.toggleShow(button);\r\n self.sendForm();\r\n };\r\n this.toggleShow = function (t) {\r\n \tt.click(function() {\r\n \t\tvar $this = $(this),\r\n $toggleWrapper = $this.parent().next('.toggle-wrapper'),\r\n contentUrl = $this.attr('data-url');\r\n\r\n $.get(contentUrl, function (data) {\r\n $toggleWrapper.html(data);\r\n });\r\n\r\n \t\t$toggleWrapper.toggleClass('open');\r\n \t});\r\n\r\n };\r\n\r\n this.sendForm = function() {\r\n\r\n $('.newsletter-container').on('submit', '#cm-form', function(event) {\r\n event.preventDefault();\r\n\r\n var $this = $(this),\r\n $checkboxes = $(this).find('.options input:checked'),\r\n $response = $('#cm-response');\r\n listArray = [];\r\n formData = {};\r\n\r\n // Get values from the inputs and put them into the empty object\r\n formData.email = $this.find('#fieldEmail').val();\r\n formData.name = $this.find('#fieldName').val();\r\n formData.listArray = [];\r\n\r\n // Get the checkbox options\r\n $checkboxes.each(function() {\r\n\r\n var listVal = $(this).val();\r\n formData.listArray.push(listVal);\r\n\r\n });\r\n\r\n // Check if there is any values in the array\r\n if(!formData.listArray.length) {\r\n $response.html('Vælg venligst mindst ét emne ovenfor');\r\n $response.fadeIn();\r\n } else {\r\n\r\n // Init the form with the values\r\n $.ajax({\r\n url: \"/umbraco/Api/NewsletterApi/Subscribe\",\r\n cache: false,\r\n type: \"POST\",\r\n data: JSON.stringify(formData),\r\n success: function(data) {\r\n console.log(data);\r\n data.success ? $response.attr('class', 'success') : $response.attr('class', 'error');\r\n $response.html(data.msg);\r\n $response.fadeIn();\r\n\r\n // Reset the msg after 4s\r\n setTimeout(function() {\r\n $response.fadeOut();\r\n $response.html('');\r\n }, 8000);\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n // console.log(\"Error: \" + textStatus + \", \" + errorThrown);\r\n $response.fadeIn();\r\n $response.html('Der er sket en fejl - kontakt venligst administration').attr('class', 'error');\r\n }\r\n });\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n};\r\n ","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.search.init();\r\n});\r\n\r\n\r\ndjf.search = new function () {\r\n var self = this,\r\n \tform = $('.nav-search-form');\r\n \tsubmitButton = form.find('button.submit');\r\n\r\n\r\n this.init = function () {\r\n\r\n if ($(window).width() > 960) {\r\n self.triggerInput(submitButton);\r\n };\r\n };\r\n this.triggerInput = function (t) {\r\n\r\n // Prevent close with click on input\r\n form.find('input[type=\"text\"]').click(function(e) { //button click class name is myDiv\r\n e.stopPropagation();\r\n })\r\n\r\n // Toggle form-open if class does not exist\r\n \tt.on('click', function (e) {\r\n \t\tvar $this = $(this);\r\n \t\tif (!$this.closest(form).hasClass(\"form-open\")) {\r\n e.stopPropagation();\r\n\t \t e.preventDefault();\r\n\t \t // Toggle body class\r\n\t \t $this.closest(form).addClass(\"form-open\");\r\n $('#search').focus();\r\n \t\t};\r\n \t});\r\n\r\n // Close form\r\n $(document).click(function(){\r\n if (form.hasClass(\"form-open\")) {\r\n form.removeClass(\"form-open\"); //hide the button\r\n };\r\n });\r\n\r\n };\r\n\r\n};","\r\nvar djf = djf || {};\r\n\r\n$(function () {\r\n djf.shootinglanes.init();\r\n});\r\n\r\n\r\ndjf.shootinglanes = new function () {\r\n var self = this,\r\n $moduleForm = $('.shooting-lanes').find('form'),\r\n $selects = $moduleForm.find('select');\r\n\r\n\r\n this.init = function () {\r\n\r\n self.triggerForm($selects);\r\n self.clearForm($moduleForm);\r\n };\r\n\r\n this.triggerForm = function (selector) {\r\n\r\n \tselector.on('change', function() {\r\n \t\t$moduleForm.submit();\r\n \t});\r\n\r\n };\r\n\r\n this.clearForm = function (selector) {\r\n \tvar $clearTrigger = selector.find('.clear-all'),\r\n \t\t$inputs = selector.find('input'),\r\n \t\t$selects = selector.find('select'),\r\n url = window.location.href.split('?')[0];\r\n\r\n \t$clearTrigger.click(function() {\r\n \t\t\r\n \t\t// Clear inputs\r\n/* \t\t$inputs.val('');\r\n\r\n \t\t// Clear selects\r\n \t\t$selects.each(function() {\r\n \t\t\tvar showAllOption = $(this).find('option[value=\"0\"]');\r\n \t\t\tshowAllOption.prop('selected', true);\r\n \t\t});\r\n\r\n \t\t// Submit the form\r\n \t\tselector.submit();*/\r\n\r\n window.location = url;\r\n\r\n \t});\r\n\r\n };\r\n\r\n\r\n\r\n};\r\n","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.signup.init();\r\n});\r\n\r\ndjf.signup = new function () {\r\n\r\n this.init = function () {\r\n var birthDate = document.getElementById('birth-date');\r\n if (birthDate != null) {\r\n new Pikaday({\r\n field: document.getElementById('birth-date'),\r\n format: 'YYYY-MM-DD',\r\n yearRange: [1915, 2015],\r\n i18n: {\r\n previousMonth: 'Forrige måned',\r\n nextMonth: 'N�ste måned',\r\n months: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'],\r\n weekdays: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'],\r\n weekdaysShort: ['Søn', 'Man', 'Tirs', 'Ons', 'Tors', 'Fre', 'Lør']\r\n }\r\n });\r\n }\r\n\r\n $('#thank-you-modal').modal('show');\r\n }\r\n\r\n};","var djf = djf || {};\r\n\r\n// DocReady\r\n$(function() {\r\n\r\n djf.stageSlider.init();\r\n\r\n}); // DocReady\r\n\r\n\r\ndjf.stageSlider = new function () {\r\n var self = this;\r\n\r\n // Initialize search\r\n this.init = function() {\r\n self.flexslider('.slider');\r\n };\r\n\r\n this.flexslider = function(selector) {\r\n $(selector).flexslider({\r\n selector: \".slides > .slide\",\r\n animation: \"slide\",\r\n animationLoop: true,\r\n slideshow: true,\r\n namespace: \"slider-\",\r\n pauseOnAction: false,\r\n pauseOnHover: true,\r\n useCSS: true,\r\n touch: true,\r\n directionNav: false,\r\n controlNav: true,\r\n controlsContainer: \".slider-indicators\",\r\n });\r\n };\r\n}(); // europcar.stageSlider","var djf = djf || {};\r\n\r\n\r\n$(function () {\r\n djf.tabbar.init();\r\n});\r\n\r\ndjf.tabbar = new function () {\r\n var self = this,\r\n barItems = $('.tab-bar a'),\r\n scrollBar = $('.tab-bar');\r\n\r\n\r\n this.init = function () {\r\n // Add active menu functionality to tabbar items\r\n self.tabbarShowTab(barItems);\r\n\r\n self.tabSlider(scrollBar);\r\n\r\n };\r\n\r\n // Move the tab-bar\r\n this.tabbarScroll = function (t) {\r\n/* var $this = t,\r\n wrapper = $this.parents('.tab-bar--wrapper');\r\n parentCenter = wrapper.outerWidth(true) / 2, // Get center of the wrapper\r\n tab = $this.children('li'), // Find the active items\r\n tabCount = tab.length,\r\n tabWidth = tab.outerWidth(true), // Get the outer width including padding and margin\r\n activeTab = $this.find('li.active'), // Find the active items\r\n tabsBefore = activeTab.prevAll().length, // Find number of items before the active\r\n margin = tabWidth * tabsBefore - parentCenter + (tabWidth/2); // Center the active\r\n\r\n\r\n if ((tabWidth*tabCount) > wrapper.width()) {\r\n\r\n if (margin > 0) {\r\n t.animate({'margin-left': '-'+margin+'px'});\r\n //t.css('margin-left', '-'+margin+'px');\r\n } else {\r\n t.animate({'margin-left': '0px'});\r\n //t.css('margin-left', '0px');\r\n };\r\n\r\n }*/\r\n\r\n };\r\n\r\n this.tabSlider = function(selector) {\r\n selector.addClass('owl-carousel');\r\n\r\n selector.owlCarousel({\r\n stagePadding: 20,\r\n loop:false,\r\n center:false,\r\n margin:0,\r\n nav:true,\r\n navText:[\"\",\"\"],\r\n margin: 10,\r\n autoWidth: false,\r\n URLhashListener:true,\r\n startPosition: 'URLHash',\r\n dotsEach: true,\r\n onInitialize: onInit,\r\n responsive:{\r\n 0:{\r\n stagePadding: 20,\r\n items:2\r\n },\r\n 600:{\r\n items:3\r\n },\r\n 768:{\r\n items:3\r\n },\r\n 1024:{\r\n items:6,\r\n mouseDrag:false\r\n },\r\n 1300:{\r\n items:8,\r\n mouseDrag:false\r\n }\r\n }\r\n })\r\n\r\n \r\n function onInit() {\r\n var selectorItem = $('a[data-hash]');\r\n var hashID = window.location.hash.replace(\"#\", \"\");\r\n \r\n if (hashID!=\"\" && selectorItem.length) {\r\n $('a[data-hash='+hashID+']').click();\r\n }\r\n }\r\n\r\n };\r\n\r\n\r\n\r\n // Toggle active class\r\n this.tabbarShowTab = function (selector) {\r\n\r\n selector.on('click', function() {\r\n\r\n self.initActiveTab($(this), selector)\r\n\r\n });\r\n\r\n };\r\n\r\n this.initActiveTab = function (selector, selectorClass) {\r\n\r\n selector.parents('.tab-bar').find(selectorClass.not(selector).removeClass('active'));\r\n selector.addClass('active');\r\n\r\n var tabId = selector.attr('data-tab');\r\n var tabContent = selector.parents('.tab-bar--outer').find('.tab-content');\r\n\r\n // Check if the tab-content match with the clicked list-items\r\n $(tabContent).each(function() {\r\n if ($(this).attr('data-tab') == tabId){\r\n $(this).show().addClass('active');\r\n }else{\r\n $(this).hide().removeClass('active');\r\n }\r\n });\r\n\r\n\r\n };\r\n\r\n};\r\n","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.videoSlider.init();\r\n});\r\n\r\ndjf.videoSlider = new function () {\r\n var self = this,\r\n list = $('.video-thumbs'),\r\n controlLeft = $('.slider-controller.prev'),\r\n controlRight = $('.slider-controller.next'),\r\n thumbnails = $('#video-module .thumbnail, #video-module #video-overlay'),\r\n videoContainer = $('#video-container');\r\n\r\n\r\n this.init = function () {\r\n if( list.length )\r\n {\r\n self.navSlider(list);\r\n self.slidePlayer(thumbnails);\r\n }\r\n\r\n };\r\n\r\n this.slidePlayer = function(t) {\r\n t.on('click', function(event){\r\n //var videoWidth = videoContainer.find('iframe, img').outerWidth(),\r\n var videoWidth = videoContainer.innerWidth(),\r\n videoHeight = videoWidth / (16/9),\r\n videoSrc = $(this).attr('data-src');\r\n //etc...\r\n if ($(this).attr('data-type') == \"youtubevideo\") {\r\n var videoKode = $('\r\n });\r\n }\r\n\r\n this.navSlider = function(selector) {\r\n\r\n $(selector).owlCarousel({\r\n loop:false,\r\n center: false,\r\n margin:10,\r\n nav:true,\r\n navText:[\"\",\"\"],\r\n responsive:{\r\n 0:{\r\n items:3\r\n },\r\n 600:{\r\n items:5\r\n },\r\n 1000:{\r\n items:9\r\n }\r\n }\r\n })\r\n };\r\n\r\n\r\n};","var djf = djf || {};\r\n\r\n$(function () {\r\n djf.page.init();\r\n});\r\n\r\n\r\ndjf.page = new function () {\r\n var self = this,\r\n page = $('#page'),\r\n responsiveVids = $('.fitvids'),\r\n shareWrapper = $('.share');\r\n\r\n\r\n this.init = function () {\r\n // Bind the menu-button on init.\r\n // self.equalPage(page);\r\n self.fitVids(responsiveVids);\r\n self.hideshare(shareWrapper);\r\n self.initAds();\r\n self.defaults();\r\n\r\n };\r\n this.equalPage = function (t) {\r\n var $this = $(this),\r\n $sidebar = $('.page-sidebar'),\r\n $maincontent = $('.page-content');\r\n\r\n if ($sidebar.length > 0) {\r\n $sidebar.css('min-height', $maincontent.outerHeight(true)+'px');\r\n }\r\n };\r\n\r\n this.fitVids = function (t) {\r\n $(t).fitVids();\r\n }\r\n\r\n this.hideshare = function (t) {\r\n $(t).hideshare({\r\n/* link: \"\", // Link to URL defaults to document.URL\r\n title: \"\", // Title for social post defaults to document.title\r\n media: \"\", // Link to image file defaults to null*/\r\n decription: \"\", // Description for Facebook summary\r\n facebook: true, // Turns on Facebook sharing\r\n twitter: true, // Turns on Twitter sharing\r\n pinterest: true, // Turns on Pinterest sharing\r\n googleplus: true, // Turns on Google Plus sharing\r\n linkedin: true, // Turns on LinkedIn sharing\r\n position: \"left\", // Options: Top, Bottom, Left, Right\r\n speed: 50 // Speed of transition\r\n });\r\n }\r\n\r\n this.initAds = function () {\r\n var adText = $('.ad-text'),\r\n adContainer = adText.closest('div');\r\n\r\n adText.html('Annonce');\r\n adContainer.css('position', 'relative');\r\n }\r\n\r\n this.defaults = function () {\r\n $('body').bind('focusin focus', function(e) {\r\n e.preventDefault();\r\n });\r\n\r\n $('.focus :input:first').focus();\r\n }\r\n\r\n};"]}