{"version":3,"sources":["novicell.js","novicell.cookieinfo.js","novicell.map.js","master.js","novicell.debounce.js","novicell.visible.js","novicell.lazyloadResponsive.js","novicell.embed.js","novicell.overlay.js","novicell.cookiebot.js","novicell.font.js","NovicellCorporate.navigationMenu.js","NovicellCorporate.rowsBackgrounds.js","NovicellCorporate.carousel.js","NovicellCorporate.animatedNumber.js","NovicellCorporate.videoGridOverlay.js","NovicellCorporate.rteImageOverlay.js","NovicellCorporate.iframeLinkOverlay.js","NovicellCorporate.iframeFullVideo.js","NovicellCorporate.forms.js","NovicellCorporate.htmlVideoControls.js","NovicellCorporate.copymail.js","NovicellCorporate.detectIE.js","novicell.chatbotLauncher.js"],"names":["cl","d","console","log","getCookie","cname","name","ca","document","cookie","split","i","length","c","charAt","substring","indexOf","setCookie","cvalue","exdays","Date","setTime","getTime","expires","toUTCString","path","initialize","mapElement","getElementById","lat","parseFloat","getAttribute","replace","lng","zoomLevel","parseInt","coordinates","google","maps","LatLng","mapStyles","featureType","elementType","stylers","color","visibility","weight","lightness","saturation","gamma","hue","mapOptions","zoom","disableDefaultUI","draggable","scrollwheel","center","styles","icon","url","scaledSize","Size","map","Map","marker","Marker","position","title","contentString","infowindow","InfoWindow","content","event","addListener","open","addDomListener","window","getCenter","trigger","setCenter","isScrolledIntoView","el","elemTop","getBoundingClientRect","top","elemBottom","bottom","innerHeight","verifyCheckboxesOnSubmit","forms","getElementsByTagName","Array","prototype","slice","call","forEach","form","onsubmit","e","mandatoryCheckboxHandler","this","preventDefault","showMessage","blockSubmit","blockSubmitFlag","checkboxes","querySelectorAll","checkbox","parentNode","className","checked","children","innerHTML","error","info","debug","warn","trace","dir","dirxml","group","groupEnd","time","timeEnd","assert","profile","novicell","$","projectName","prepend","deBouncer","cf","of","interval","debounce","func","threshold","execAsap","timeout","delayed","apply","obj","args","arguments","clearTimeout","setTimeout","jQuery","fn","bind","visible","partial","$t","$w","viewTop","scrollTop","viewBottom","height","_top","offset","_bottom","compareTop","compareBottom","responsiveLazyloadImage","onScroll","each","loadImage","fixBrokenImages","dataImgfix","image","naturalWidth","src","setAttribute","onLoad","$figure","parent","data","constructPlaceholder","onResize","callback","innerWidth","lastRefreshWidth","refreshWidth","constructImage","$element","isVisible","$this","first","remove","addClass","forceLoad","hasClass","figure","width","maxWidth","heightRatio","focalPoint","mode","filter","quality","$image","Image","isBackgroundImage","forceHeight","imageFullWidth","$parent","closest","outerHeight","newImageSrc","nextQuerySign","webpSupport","find","bgSrc","css","on","attr","$el","browserIsIE","navigator","userAgent","embed","loadEmbeds","has","click","lazyEmbed","ratio","$embed","backofficeEmbeds","updateQueryStringParameter","uri","key","value","re","RegExp","separator","match","overlay","set","btnClose","append","overlayInnerScroll","overlayInner","body","querySelector","ncOverlay","createElement","id","appendChild","ncOverlayContent","get","fadeIn","callbackOpen","undefined","margin-top","documentElement","stop","fadeOut","callbackClose","keyup","keyCode","cookieInfo","init","$cookieInfo","$cookieClose","$cookieOpen","$body","showCookie","hideCookie","removeClass","cookieBot","cookiebotBox","style","display","newDiv","classList","add","allowSelected","allowAll","newlyAddedDiv","addEventListener","onscroll","element","isLoaded","script","type","WebFontConfig","font","webfont","fontObj","wf","async","s","insertBefore","typekit","NovicellCorporate","navigationMenu","menuLoaded","nodeId","val","always","done","html","target","slideUp","closeAllOpenTabs","slideToggle","topBarColor","setBackgrounds","elements","item","haveGradientElement","getPropertyValue","includes","imageUrlArray","push","BackgroundCheck","targets","images","bgInitialized","headlineElements","getElementsByClassName","rowbackgroundsElements","coverGradientImage","colourBrightness","secondaryTopBarStyleCheck","secondaryTopBarColorCheck","$desktopTopBar","secondaryTopBar","contains","handleSecondaryTopBarPosition","$desktopTopBarElement","priorityPlusNavigation","nav","priorityPlusNavContainer","btn","vlinks","hlinks","topNavBreadcrumb","navChilds","linksSpace","offsetWidth","childsWidth","childElementCount","lastElementChild","previousElementSibling","firstElementChild","desktopBurgerMenu","desktopBurgerNavOpenButton","desktopBurgerNavCloseButton","onclick","rowsBackgrounds","backgroundImages","imageHeight","imageWidth","linearGradient","urlArray","imageList","offsetHeight","coverGradientImageArray","oldValues","x","regex","background","urlIncludesPNG","bgImageWithGradient","backgroundImage","themes","carousel","carouselClass","numberPosts","owlCarousel","margin","dots","responsive","0","items","600","1000","loop","navText","slider","sliderClass","smartscroll","lazyLoad","autoplay","autoplayTimeout","autoplayHoverPause","autoHeight","onInitialize","MathHelper","onPositiveReturnZero","number","animateNumber","animate","numberSelector","$animation_elements","$window","window_height","window_top_position","window_bottom_position","element_height","element_top_position","element_bottom_position","originalText","text","isUsingComma","isDecimal","numberStringWithoutSymbol","clearNumberString","numberOfDecimals","countDecimals","numberElement","after","prop","Counter","duration","easing","step","now","numberString","toFixed","Math","ceil","toString","complete","next","videoGridOverlay","showOverlayBox","selector","isOpen","video","doOverlayOpen","opacity","backgroundColor","doOverlayClose","hide","rteImageOverlay","baseSelectors","imageBaseSrcRaw","imageBaseSrc","newImg","calcOverlaySizeX","originalImg","maxOverlaySizeX","maxOverlaySizeY","overlaySizeX","newImageSize","calcNewImageSize","imageAspectRatio","calcImageY","iframeLinkOverlay","triggerLinks","triggerClass","from","triggerLink","loadIframeOverlay","href","dataset","iframeEl","maxHeight","forceIDesktopHeight","portraitMode","overlayInnerTop","forceIMobileHeight","iframeFullVideo","iframeList","iframeClass","iframe","rowContainer","parentElement","grandparent","niceSelect","change","$label","$actualCheckbox","isChecked","keydown","$allMandatoryCheckbox","$allMandatoryList","$allMandatoryListInput","is","mouseover","show","helpTipHeight","mouseout","fashionDeviceHtmlVideoControls","videoContainerClassSelector","videoClassNameSelector","videos","videoHasAudio","mozVideoHasAudio","playButton","nextElementSibling","muteButton","playIcon","pauseIcon","muteIcon","unmuteIcon","webkitAudioDecodedByteCount","mozHasAudio","muted","showIcon","hideIcon","paused","play","pause","copymail","setToolTips","footerEmailTips","tipItem","mail","tip","prevSelect","getSelection","rangeCount","removeAllRanges","range","createRange","selectNode","addRange","successful","execCommand","msg","tipClass","err","detectIE","isIE","ua","msie","trident","rv","edge","chatbotLauncher","hashHandler","initGASender","hubspotIframe","sendGAEvent","hubspot","location","hash","HubSpotConversations","widget","ga","getContextFeatures","weekday","getDay","dayMoment","getDayMoment","getHours","dayHour","refUrl","referrer","browser","os","platform","device","dimension-x","screen","dimension-y","getActionById","actions","action","hour","filterItemList","container","filterClass","selected","allItems","masonry","columnWidth","itemSelector","gutter","svg4everybody","footerOffices","ctaBanners","ctaBanner","$macroHubspotForm","$dataForm","hbspt","create","portalId","formId","$team","$cases","clicked","optionSet","parents","cases","filterValue","features","tagline","buttonText","buttonLink","taglines","buttons","actionGuid","button","xhr","XMLHttpRequest","setRequestHeader","onreadystatechange","readyState","status","responseJson","JSON","parse","responseText","rewardActionId","bestAction","newTagline","newButtonLink","newButtonText","ev","send","stringify","contextFeatures","eventId","deferActivation","videoBackground","clientWidth","sourceEl","mp4Source","$searchButton","focus","smartresize","onresize","$carouselItems","$carouselFigureItems","carouselItemsHeightsArray","max","cardHeight","refresh","scroll","onload"],"mappings":"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","file":"master.min.js","sourcesContent":["'use strict';\r\n/*global console:true */\r\n\r\n/*!\r\n *\r\n * Novicell JavaScript Library v0.5\r\n * http://www.novicell.dk\r\n *\r\n * Copyright Novicell\r\n *\r\n */\r\n\r\n// Prevent console errors in IE\r\nif (typeof (console) === 'undefined') {\r\n\tvar console = {};\r\n\tconsole.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function () { };\r\n}\r\n// Shorthand for console.log\r\nfunction cl(d) {\r\n\treturn console.log(d);\r\n}\r\n\r\n// Init the novicell js lib\r\n\r\nvar novicell = novicell || {};\r\n\r\n$(function () {\r\n\tif (typeof projectName !== 'undefined') {\r\n\t\t$('body').prepend('
Hi there. Remember to rename the \"projectName\" object in master.js file :)
');\r\n\t}\r\n});\r\n\r\n","'use strict';\r\n/**\r\n* @desc Cookie info dialog plugin\r\n* examples novicell.cookieInfo.init();\r\n* @author Danni Larsen - DLA\r\n* @requires jquery\r\n*/\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.cookieInfo = novicell.cookieInfo || function(){\r\n\tvar $body = $('body');\r\n\r\n\tfunction init() {\r\n\t\tvar $cookieInfo = $('#cookie-info');\r\n\t\tvar $cookieClose = $('#cookie-info-close');\r\n\t\tvar $cookieOpen = $('#cookie-info-open');\r\n\r\n\t\tif ($cookieInfo.length) {\r\n\r\n\t\t\t// Check if the cookie info has been displayed, if not set session cookie\r\n\t\t\tif (getCookie(\"cookieAccept\") === \"\") {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$body.addClass('cookie-info-show');\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\r\n\t\t\t// Button eventlisteners\r\n\t\t\t$cookieOpen.click(function() {\r\n\t\t\t\tshowCookie();\r\n\t\t\t});\r\n\r\n\t\t\t$cookieClose.click(function() {\r\n\t\t\t\thideCookie();\r\n\t\t\t\tsetCookie(\"cookieAccept\", \"accepted\", 365);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// Functions for opening an closing the cookie-info\r\n\tfunction showCookie(){\r\n\t\t$body.addClass('cookie-info-show');\r\n\t}\r\n\r\n\tfunction hideCookie(){\r\n\t\t$body.removeClass('cookie-info-show');\r\n\t}\r\n\r\n\treturn {\r\n\t\tinit: init\r\n\t};\r\n}();\r\n\r\n/* Cookie helper functions\r\n*******************************/\r\n\r\n// Get cookie\r\nfunction getCookie(cname) {\r\n\tvar name = cname + \"=\";\r\n\tvar ca = document.cookie.split(';');\r\n\tfor(var i=0; i\r\n* js example: novicell.map.init();\r\n* @author Danni Larsen - DLA, Martin Haun - MHA\r\n* @requires: It also requires something to get the LAT, LNG and ZOOMLEVEL, and append it to the map-canvas element, as data-attibutes\r\n(umbraco 7: https://our.umbraco.org/projects/backoffice-extensions/angulargooglemaps) - remember to set a height for the map-canvas element!\r\n*/\r\n\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.map = novicell.map || function () {\r\n\tvar isLoaded = false;\r\n\r\n\tfunction init() {\r\n\t\tdocument.onscroll = function () {\r\n\t\t\tvar element = document.getElementById('map-canvas');\r\n\t\t\tif (!isLoaded && element && isScrolledIntoView(element)) {\r\n\t\t\t\tisLoaded = true;\r\n\t\t\t\t// Async load the GMaps API and run \"initialize\"\r\n\t\t\t\tvar script = document.createElement('script');\r\n\t\t\t\tscript.type = 'text/javascript';\r\n\t\t\t\tscript.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=initialize';\r\n\t\t\t\tdocument.body.appendChild(script);\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tinit: init\r\n\t};\r\n} ();\r\n\r\n\r\nfunction initialize() {\r\n\t// Get map element from HTML\r\n\tvar mapElement = document.getElementById('map-canvas');\r\n\t// Get lat / lng form the map element's attributes\r\n\tvar lat = parseFloat(mapElement.getAttribute('data-lat').replace(',', '.')),\r\n\t\tlng = parseFloat(mapElement.getAttribute('data-lng').replace(',', '.'));\r\n\r\n\t//Get zoom level\r\n\tvar zoomLevel = parseInt(mapElement.getAttribute('data-zoom'));\r\n\r\n\t// Set cordinates of the map\r\n\tvar coordinates = new google.maps.LatLng(lat, lng);\r\n\r\n\t// Snazzymaps styles\r\n\t// https://snazzymaps.com/style/28228/simply-transport\r\n\tvar mapStyles = [{ \"featureType\": \"administrative\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#444444\" }] }, { \"featureType\": \"landscape\", \"elementType\": \"all\", \"stylers\": [{ \"color\": \"#f2f2f2\" }] }, { \"featureType\": \"landscape.man_made\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"landscape.natural.landcover\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"landscape.natural.terrain\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"poi\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"poi.attraction\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"on\" }, { \"weight\": \"0.64\" }] }, { \"featureType\": \"poi.park\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"simplified\" }, { \"lightness\": \"19\" }, { \"saturation\": \"0\" }] }, { \"featureType\": \"poi.place_of_worship\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"road\", \"elementType\": \"all\", \"stylers\": [{ \"saturation\": -100 }, { \"lightness\": 45 }, { \"visibility\": \"on\" }] }, { \"featureType\": \"road.highway\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"simplified\" }] }, { \"featureType\": \"road.arterial\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"simplified\" }] }, { \"featureType\": \"road.arterial\", \"elementType\": \"labels.icon\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"road.local\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"on\" }] }, { \"featureType\": \"transit\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"transit.line\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"simplified\" }, { \"saturation\": \"0\" }, { \"lightness\": \"41\" }, { \"gamma\": \"1.27\" }] }, { \"featureType\": \"transit.station.airport\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"on\" }] }, { \"featureType\": \"transit.station.bus\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"on\" }, { \"hue\": \"#ff0000\" }] }, { \"featureType\": \"transit.station.rail\", \"elementType\": \"all\", \"stylers\": [{ \"visibility\": \"on\" }, { \"saturation\": \"23\" }, { \"lightness\": \"0\" }] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [{ \"color\": \"#d3f3f4\" }, { \"visibility\": \"on\" }] }, { \"featureType\": \"water\", \"elementType\": \"labels\", \"stylers\": [{ \"visibility\": \"off\" }] }, { \"featureType\": \"water\", \"elementType\": \"labels.text\", \"stylers\": [{ \"color\": \"#ffffff\" }, { \"weight\": \"0.01\" }, { \"visibility\": \"off\" }] }];\r\n\r\n\t// Set map options\r\n\tvar mapOptions = {\r\n\t\tzoom: zoomLevel,\r\n\t\tdisableDefaultUI: false,\r\n\t\tdraggable: false,\r\n\t\tscrollwheel: false,\r\n\t\tcenter: coordinates,\r\n\t\tstyles: mapStyles // outcomment for default styles\r\n\t};\r\n\r\n\t// Set icon\r\n\tvar icon = {\r\n\t\turl: \"dist/images/map-pin.png\", // customize the icon here\r\n\t\tscaledSize: new google.maps.Size(30, 40) // and set size here\r\n\t};\r\n\r\n\t// Set the google maps element\r\n\tvar map = new google.maps.Map(mapElement, mapOptions);\r\n\r\n\t// Set marker\r\n\tvar marker = new google.maps.Marker({\r\n\t\tposition: coordinates,\r\n\t\tmap: map,\r\n\t\ticon: icon,\r\n\t\ttitle: 'Novicell'\r\n\t});\r\n\r\n\t/******* Infowindow ************************************/\r\n\t// Set HTML content for info window\r\n\tvar contentString = '
' +\r\n\t\t'
' +\r\n\t\t'
' +\r\n\t\t'

Novicell DP

' +\r\n\t\t'
' +\r\n\t\t'

Office hours:
8.00am – 4.00pm

' +\r\n\t\t'

Phone
+45 8619 0550

' +\r\n\t\t'

Email
ncdp@novicell.dk

' +\r\n\t\t'

Novicell Aarhus
Søren Nymarks Vej 6
8270 Højbjerg

' +\r\n\t\t'
' +\r\n\t\t'
';\r\n\r\n\t// Set info window content\r\n\tvar infowindow = new google.maps.InfoWindow({\r\n\t\tcontent: contentString\r\n\t});\r\n\r\n\t//Add eventlistner for click on marker\r\n\tgoogle.maps.event.addListener(marker, 'click', function () {\r\n\t\tinfowindow.open(map, marker);\r\n\t});\r\n\r\n\t/******* / Infowindow ************************************/\r\n\r\n\r\n\t// Recalculate center on resize\r\n\tgoogle.maps.event.addDomListener(window, \"resize\", function () {\r\n\t\tvar center = map.getCenter();\r\n\t\tgoogle.maps.event.trigger(map, \"resize\");\r\n\t\tmap.setCenter(center);\r\n\t});\r\n}\r\n\r\nfunction isScrolledIntoView(el) {\r\n\tvar elemTop = el.getBoundingClientRect().top;\r\n\tvar elemBottom = el.getBoundingClientRect().bottom;\r\n\r\n\treturn (elemBottom >= 0) && (elemTop <= window.innerHeight);\r\n}\r\n","'use strict';\r\n/*\r\n* Novicell master\r\n* Author: APN modified by DLA\r\n* Use this file to call functions in other files, on document ready, window.resize etc.\r\n* ------\r\n* Dependencies: jquery, novicell.js, other files with awesome functions.\r\n* Usage: $(function () {\r\n* NovicellCorporate.slider.heroSlider($('.owl-carousel'));\r\n* }); // Document ready end\r\n*/\r\nvar browserIsIE = false;\r\nvar novicell = novicell || {};\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\n// Document ready\r\n$(function () {\r\n // Only include Novicell functions that you use!\r\n novicell.map.init();\r\n novicell.embed.loadEmbeds();\r\n novicell.cookieInfo.init();\r\n novicell.cookieBot.init();\r\n NovicellCorporate.navigationMenu.init();\r\n NovicellCorporate.navigationMenu.priorityPlusNavigation();\r\n NovicellCorporate.navigationMenu.desktopBurgerMenu();\r\n NovicellCorporate.rowsBackgrounds.backgroundImages();\r\n NovicellCorporate.rowsBackgrounds.themes();\r\n NovicellCorporate.fashionDeviceHtmlVideoControls.init();\r\n //Media carousel\r\n NovicellCorporate.carousel.init($('.nc-grid-slideshowinline'));\r\n //Last news carousel\r\n NovicellCorporate.carousel.init($('.nc-grid-newslist'));\r\n //Image Slider\r\n NovicellCorporate.carousel.slider($('.nc-grid-imageSlider'));\r\n //Style and better check of fields on forms\r\n NovicellCorporate.forms.init();\r\n browserIsIE = NovicellCorporate.detectIE.isIE();\r\n novicell.responsiveLazyloadImage.onLoad();\r\n svg4everybody(); // Fix SVG spritemap in IE/Edge\r\n var footerOffices = document.querySelector(\".footer-offices\");\r\n\r\n if (browserIsIE && footerOffices) {\r\n footerOffices.classList.add(\"ie\");\r\n } else {\r\n footerOffices.classList.remove(\"ie\");\r\n }\r\n NovicellCorporate.iframeLinkOverlay.init();\r\n NovicellCorporate.iframeFullVideo.init();\r\n novicell.chatbotLauncher.init();\r\n\r\n\r\n\r\n var ctaBanners = document.querySelectorAll(\".ncgrid-cta-banner\");\r\n if (ctaBanners) {\r\n Array.from(ctaBanners).map(function (ctaBanner) {\r\n ctaBanner.closest(\".container\").classList.add(\"container-fluid\");\r\n ctaBanner.closest(\".container\").classList.remove(\"container\");\r\n //Set color title the same color as color text\r\n ctaBanner.querySelector(\".ncgrid-cta-banner__title\").style.color = ctaBanner.querySelector(\"span\").style.color;\r\n });\r\n }\r\n\r\n var $macroHubspotForm = $('.macro-hbsptform');\r\n if ($macroHubspotForm) {\r\n $macroHubspotForm.each(function () {\r\n var $dataForm = $(this).children(\".hpstotform-data\").first();\r\n hbspt.forms.create({\r\n portalId: $dataForm.attr(\"data-portalId\"),\r\n formId: $dataForm.attr(\"data-formId\"),\r\n target: $dataForm.attr(\"data-id\"),\r\n css: \"\"\r\n });\r\n $dataForm.remove();\r\n });\r\n }\r\n\r\n var $team = $('.team__container');\r\n if ($team) {\r\n $team.masonry({\r\n itemSelector: '.team__card',\r\n gutter: 0\r\n });\r\n }\r\n\r\n var $cases = $('#cases');\r\n if ($cases) {\r\n $cases.masonry({\r\n itemSelector: '.case',\r\n gutter: 0\r\n });\r\n }\r\n if ($('.case-filters a')) {\r\n $('.case-filters a').click(function () {\r\n var clicked = $(this);\r\n if (clicked.hasClass(\"selected\")) return;\r\n\r\n var optionSet = clicked.parents(\".case-filters\");\r\n\r\n optionSet.find(\".selected\").removeClass(\"selected\");\r\n clicked.addClass(\"selected\");\r\n\r\n var cases = $('#case-list').children().find('.item, .case');\r\n if (cases.length > 0) {\r\n var filterClass = clicked.attr('data-filter-value');\r\n if (filterClass != null) {\r\n filterClass = '.' + filterClass;\r\n filterItemList($('#cases'), filterClass);\r\n }\r\n }\r\n });\r\n }\r\n\r\n if ($(\".list-filters a\")) {\r\n $(\".list-filters a\").click(function () {\r\n var clicked = $(this);\r\n if (clicked.hasClass(\"selected\")) return;\r\n\r\n var optionSet = clicked.parents(\".list-filters\");\r\n\r\n optionSet.find(\".selected\").removeClass(\"selected\");\r\n clicked.addClass(\"selected\");\r\n\r\n var filterClass = null;\r\n var filterValue = clicked.attr(\"data-filter-value\");\r\n\r\n if (filterValue) filterClass = '.' + filterValue;\r\n filterItemList($(\".team__container\"), filterClass);\r\n\r\n return false;\r\n });\r\n }\r\n\r\n /* BEGIN: PROOF OF CONCEPT, DELETE ME!!!!!! */\r\n\r\n var actions = [\r\n {\r\n \"id\": \"Learner\",\r\n \"features\": [\r\n {\r\n \"type\": \"Learner\",\r\n \"tagline\": \"Aceleramos tu conocimiento digital\",\r\n \"buttonText\": \"Descubre nuestro blog\",\r\n \"buttonLink\": \"https://www.novicell.es/es/blog/\",\r\n }\r\n ]\r\n },\r\n {\r\n \"id\": \"PotentialClient\",\r\n \"features\": [\r\n {\r\n \"type\": \"PotentialClient\",\r\n \"tagline\": \"Soluciones prácticas para retos digitales\",\r\n \"buttonText\": \"Cómo lo hacemos\",\r\n \"buttonLink\": \"https://www.novicell.es/es/como-ayudarte/\",\r\n }\r\n ]\r\n },\r\n {\r\n \"id\": \"JobSeeker\",\r\n \"features\": [\r\n {\r\n \"type\": \"JobSeeker\",\r\n \"tagline\": \"Agencia de expertos digitales en constante crecimiento\",\r\n \"buttonText\": \"Trabaja con Nosotros\",\r\n \"buttonLink\": \"https://www.novicell.es/es/nosotros/trabaja-con-nosotros/\",\r\n }\r\n ]\r\n },\r\n ];\r\n var taglines = document.getElementsByClassName(\"percon-tagline\");\r\n var buttons = document.getElementsByClassName(\"percon-button\");\r\n if (taglines.length === 1 && buttons.length === 1) {\r\n var actionGuid = \"75269AD0-BFEE-4598-8196-C57383D38E19\";\r\n var tagline = taglines[0];\r\n var button = buttons[0];\r\n\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(\"POST\", \"https://westeurope.api.cognitive.microsoft.com/personalizer/v1.0/rank\", true);\r\n xhr.setRequestHeader(\"content-type\", \"application/json\");\r\n xhr.setRequestHeader(\"ocp-apim-subscription-key\", \"7fba5def3ba9441fa3d932cc88ce5582\");\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n var responseJson = JSON.parse(xhr.responseText);\r\n if (responseJson.rewardActionId) {\r\n var bestAction = getActionById(responseJson.rewardActionId);\r\n\r\n var newTagline = bestAction.features[0].tagline;\r\n if (newTagline) tagline.innerHTML = newTagline;\r\n var newButtonLink = bestAction.features[0].buttonLink;\r\n if (newButtonLink) button.href = newButtonLink;\r\n var newButtonText = bestAction.features[0].buttonText;\r\n if (newButtonText) button.innerHTML = newButtonText;\r\n\r\n button.onclick = function (ev) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(\"POST\", \"https://westeurope.api.cognitive.microsoft.com/personalizer/v1.0/events/\" + actionGuid + \"/reward\", false);\r\n xhr.setRequestHeader(\"content-type\", \"application/json\");\r\n xhr.setRequestHeader(\"ocp-apim-subscription-key\", \"7fba5def3ba9441fa3d932cc88ce5582\");\r\n xhr.send(JSON.stringify({ \"value\": 1 }));\r\n };\r\n }\r\n\r\n } else {\r\n console.error(\"Error loading custom content!\");\r\n }\r\n }\r\n };\r\n\r\n xhr.send(JSON.stringify({\r\n \"contextFeatures\": getContextFeatures(),\r\n \"actions\": actions,\r\n \"eventId\": actionGuid,\r\n \"deferActivation\": false,\r\n }));\r\n }\r\n\r\n function getContextFeatures() {\r\n var now = new Date();\r\n\r\n return [{\r\n \"weekday\": now.getDay(),\r\n \"dayMoment\": getDayMoment(now.getHours()),\r\n \"dayHour\": now.getHours(),\r\n \"refUrl\": document.referrer,\r\n \"browser\": navigator.userAgent,\r\n \"os\": navigator.platform,\r\n \"device\": \"\",\r\n \"dimension-x\": screen.width,\r\n \"dimension-y\": screen.height,\r\n /*\"firstVisit\": \r\n \"daysFromLastVisit\":\r\n \"totalVisits\":\r\n \"browserLanguage\":\r\n \"spider\":\r\n \"pageTime\":*/\r\n }];\r\n }\r\n\r\n function getActionById(id) {\r\n if (!id) return undefined;\r\n\r\n for (var i = 0; i < actions.length; i++) {\r\n var action = actions[i];\r\n\r\n if (action.id === id) return action;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n function getPerconCookie() {\r\n if (!document.cookie) {\r\n document.cookie = \"\";\r\n }\r\n }\r\n\r\n function getDayMoment(hour) {\r\n if (hour >= 6 && hour < 11) return \"Morning\";\r\n else if (hour >= 11 && hour < 15) return \"Midday\";\r\n else if (hour >= 15 && hour < 20) return \"Afternoon\";\r\n else return \"Night\";\r\n }\r\n /* END: PROOF OF CONCEPT, DELETE ME!!!!!! */\r\n\r\n var videoBackground = document.querySelector(\".nc-grid-richtexteditor .video-background\");\r\n\r\n if (videoBackground != null && document.body.clientWidth > 480) {\r\n videoBackground.setAttribute(\"autoplay\", \"\");\r\n\r\n const sourceEl = document.createElement('source');\r\n sourceEl.src = videoBackground.dataset.mp4Source;\r\n sourceEl.type = \"video/mp4\";\r\n videoBackground.appendChild(sourceEl);\r\n }\r\n\r\n function filterItemList(container, filterClass) {\r\n var allItems = container.find('.item'), selected;\r\n\r\n allItems.hide();\r\n if (!filterClass) selected = allItems;\r\n else selected = allItems.filter(filterClass);\r\n selected.show();\r\n\r\n container.masonry({\r\n columnWidth: 1,\r\n itemSelector: '.item',\r\n gutter: 0\r\n });\r\n\r\n novicell.responsiveLazyloadImage.forceLoad();\r\n }\r\n\r\n var $searchButton = $('.flex-menu-container .desktop-searchform button#search-button');\r\n\r\n $searchButton.click(function (e) {\r\n e.preventDefault();\r\n $(\"#nav-main-desktop__check\").trigger(\"click\");\r\n //Wait css effect ends\r\n setTimeout(function () {\r\n $(\".nav-main-desktop__offcanvas__search .desktop-searchform__input\").focus();\r\n }, 300);\r\n });\r\n\r\n NovicellCorporate.videoGridOverlay.init();\r\n NovicellCorporate.rteImageOverlay.init();\r\n\r\n NovicellCorporate.copymail.setToolTips();\r\n\r\n}); // Document ready end\r\n\r\n\r\n/*\r\n* Use the following if needed\r\n*/\r\n\r\n\r\n\r\n\r\n// Window load\r\n$(window).on('load', function () {\r\n NovicellCorporate.navigationMenu.topBarColor();\r\n NovicellCorporate.navigationMenu.secondaryTopBarStyleCheck();\r\n});\r\n\r\n// Window resize (debounced)\r\n$(window).smartresize(function (e) {\r\n novicell.responsiveLazyloadImage.onResize();\r\n novicell.embed.onResize();\r\n //Load the mobile menu if need's when the user resize the screen\r\n NovicellCorporate.navigationMenu.init();\r\n //Recalculate top and check styles for secondary top bar\r\n NovicellCorporate.navigationMenu.topBarColor();\r\n NovicellCorporate.navigationMenu.secondaryTopBarStyleCheck();\r\n}); // Window resize\r\n\r\n//Window resize (not debounced)\r\nwindow.onresize = function (event) {\r\n NovicellCorporate.navigationMenu.priorityPlusNavigation();\r\n};\r\n\r\n// Window scroll (debounced)\r\n$(window).smartscroll(function (e) {\r\n // call functions here\r\n if ($('.embed-media-item').length) {\r\n novicell.embed.loadEmbeds();\r\n }\r\n // Animated numbers\r\n if ($('.animated__number').length) {\r\n NovicellCorporate.animateNumber.animate($('.animated__number'));\r\n }\r\n // Control height of items on the carousel\r\n if ($('.owl-carousel').length && $('.owl-carousel').find('.lazyResizeReload').length) {\r\n var $carouselItems = $('.owl-item').find('.item');\r\n var $carouselFigureItems = $carouselItems.find('figure');\r\n var carouselItemsHeightsArray = [];\r\n $.each($carouselFigureItems, function () {\r\n carouselItemsHeightsArray.push($(this).height());\r\n });\r\n $carouselItems.css('height', Math.max.apply(Math, carouselItemsHeightsArray));\r\n }\r\n //Control height of contact cards\r\n if ($('.contact-card').length) {\r\n var cardHeight = $('.contact-card').height();\r\n $('.contact-card').css('height', cardHeight);\r\n }\r\n BackgroundCheck.refresh();\r\n setTimeout(function () { novicell.responsiveLazyloadImage.fixBrokenImages(); }, 400);\r\n}); // Window scroll\r\n\r\n$(window).scroll(function (e) {\r\n // Use this scroll function if you want check when the user is scrolling\r\n // not when the scroll is finished\r\n if ($('.responsiveLazyload').length) {\r\n novicell.responsiveLazyloadImage.onScroll();\r\n }\r\n NovicellCorporate.navigationMenu.topBarColor();\r\n NovicellCorporate.navigationMenu.secondaryTopBarStyleCheck();\r\n});\r\n\r\n// // Window mousemove (debounced)\r\n// $(window).smartmousemove(function(e){\r\n// // do stuff as soon as the user stops moving his mouse for longer than 100ms\r\n// }); // Window mousemove\r\n\r\n\r\nfunction verifyCheckboxesOnSubmit() {\r\n var forms = document.getElementsByTagName('form');\r\n if (forms) {\r\n forms = Array.prototype.slice.call(forms);\r\n forms.forEach(function (form) {\r\n form.onsubmit = function (e) {\r\n\r\n if (mandatoryCheckboxHandler(true, this)) {\r\n e.preventDefault();\r\n }\r\n };\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction mandatoryCheckboxHandler(showMessage, form) {\r\n\r\n\r\n var blockSubmit = false;\r\n var blockSubmitFlag = false;\r\n var checkboxes = form.querySelectorAll('input[type=checkbox]');\r\n if (checkboxes) {\r\n checkboxes = Array.prototype.slice.call(checkboxes);\r\n\r\n checkboxes.forEach(function (checkbox) {\r\n if (checkbox.parentNode.parentNode.className.indexOf('mandatory') != -1 && !checkbox.checked) {\r\n blockSubmit = true;\r\n blockSubmitFlag = true;\r\n\r\n if (showMessage) {\r\n checkbox.parentNode.children[1].innerHTML = checkbox.getAttribute('data-val-requiredcb');\r\n }\r\n }\r\n else if (checkbox.parentNode.parentNode.className.indexOf('mandatory') != -1 && !checkbox.checked && !blockSubmitFlag) {\r\n blockSubmit = false;\r\n if (showMessage) {\r\n checkbox.parentNode.children[1].innerHTML = '';\r\n }\r\n }\r\n });\r\n }\r\n return blockSubmit;\r\n}\r\n\r\nwindow.onload = function () {\r\n verifyCheckboxesOnSubmit();\r\n};\r\n","'use strict';\r\n/**\r\n * @desc Debouncing wrapper script\r\n * Credit: http://www.hnldesign.nl/work/code/debouncing-events-with-jquery/\r\n * examples:\r\n * $(window).smartresize(function(e){\r\n * // do stuff as soon as the user stops resizing his browser for longer than 100ms\r\n * })\r\n *\r\n * $(window).smartscroll(function(e){\r\n * // do stuff as soon as the user stops scrolling for longer than 100ms\r\n * })\r\n *\r\n * $(window).smartmousemove(function(e){\r\n * // do stuff as soon as the user stops moving his mouse for longer than 100ms\r\n * })\r\n * @author Danni Larsen - DLA\r\n * @param e - the event\r\n * @requires jquery\r\n*/\r\n\r\nvar deBouncer = function ($, cf, of, interval) {\r\n\t// deBouncer by hnldesign.nl\r\n\t// based on code by Paul Irish and the original debouncing function from John Hann\r\n\t// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/\r\n\tvar debounce = function (func, threshold, execAsap) {\r\n\t\tvar timeout;\r\n\t\treturn function debounced() {\r\n\t\t\tvar obj = this, args = arguments;\r\n\t\t\tfunction delayed() {\r\n\t\t\t\tif (!execAsap){\r\n\t\t\t\t\tfunc.apply(obj, args);\r\n\t\t\t\t}\r\n\t\t\t\ttimeout = null;\r\n\t\t\t}\r\n\t\t\tif (timeout){\r\n\t\t\t\tclearTimeout(timeout);\r\n\t\t\t}\r\n\t\t\telse if (execAsap){\r\n\t\t\t\tfunc.apply(obj, args);\r\n\t\t\t}\r\n\t\t\ttimeout = setTimeout(delayed, threshold || interval);\r\n\t\t};\r\n\t};\r\n\tjQuery.fn[cf] = function (fn) { return fn ? this.bind(of, debounce(fn)) : this.trigger(cf); };\r\n};\r\n\r\n//register debouncing functions\r\n//deBouncer(jQuery,'new eventname', 'original eventname', timeout);\r\n//Note: keep the jQuery namespace in mind, don't overwrite existing functions!\r\ndeBouncer(jQuery, 'smartresize', 'resize', 150);\r\ndeBouncer(jQuery, 'smartscroll', 'scroll', 250);\r\ndeBouncer(jQuery,'smartmousemove', 'mousemove', 250);","'use strict';\r\n\r\n(function ($) {\r\n/**\r\n* Copyright 2012, Digital Fusion\r\n* Licensed under the MIT license.\r\n* http://teamdf.com/jquery-plugins/license/\r\n*\r\n* @author Sam Sehnert\r\n* @desc A small plugin that checks whether elements are within\r\n* the user visible viewport of a web browser.\r\n* only accounts for vertical position, not horizontal.\r\n*/\r\n\r\n$.fn.visible = function (partial) {\r\n\tvar $t = $(this),\r\n\t$w = $(window),\r\n\tviewTop = $w.scrollTop(),\r\n\tviewBottom = viewTop + $w.height(),\r\n\t_top = $t.offset().top,\r\n\t_bottom = _top + $t.height(),\r\n\tcompareTop = partial === true ? _bottom : _top,\r\n\tcompareBottom = partial === true ? _top : _bottom;\r\n\r\n\treturn ((compareBottom <= viewBottom) && (compareTop >= viewTop));\r\n};\r\n\r\n})(jQuery);","'use strict';\r\n\r\n/**\r\n * @desc new responsive lazyload image script, servering the image depending on parent-wrapper width and aspect-ratio parameter\r\n * html example \"Random\r\n * js init example: novicell.responsiveLazyloadImage.image();\r\n * js resize example: novicell.responsiveLazyloadImage.onResize();\r\n * js scroll example:\r\n * if($('.responsiveLazyload').length)\r\n * novicell.responsiveLazyloadImage.image();\r\n * @author Tommy Pedersen - TPE, DLA & JHA\r\n * @return generates img and removes noscript image\r\n * @requires jquery > 1.11.0\r\n *\r\n For pretty loading of the image you can use this snippet of less\r\n .nc-grid-focalpointimagelink figure {\r\n background-position: center center;\r\n background-size: cover;\r\n\r\n img {\r\n opacity: 0;\r\n transition: opacity 0.2s ease-in;\r\n }\r\n }\r\n\r\nUsecase:\r\n
\r\n
\r\n >\r\n \r\n
\r\n
\r\n\r\n */\r\n\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.responsiveLazyloadImage = novicell.responsiveLazyloadImage || function (){\r\n\tvar lastRefreshWidth = 0;\r\n\tvar refreshWidth = 50;\r\n var webpSupport = false;\r\n if (browserIsIE || window.navigator.userAgent.indexOf('iPhone') != -1 || window.navigator.userAgent.indexOf('iPad') != -1){\r\n webpSupport = false;\r\n }\r\n\tfunction onScroll(){\r\n\t\t$('.responsiveLazyload').each(function () {\r\n\t\t\tloadImage($(this));\r\n });\r\n }\r\n\r\n function fixBrokenImages() {\r\n var dataImgfix = null;\r\n document.querySelectorAll('.lazyResizeReload img').forEach(function (image) {\r\n if (image.naturalWidth === 0) {\r\n dataImgfix = image.getAttribute(\"data-imgfix\");\r\n if (dataImgfix === null) {\r\n image.src = image.src;\r\n image.setAttribute(\"data-imgfix\", \"1\");\r\n }\r\n else if (parseInt(dataImgfix) < 10) {\r\n image.src = image.src;\r\n image.setAttribute(\"data-imgfix\", (parseInt(dataImgfix) + 1));\r\n }\r\n }\r\n });\r\n }\r\n\r\n\tfunction onLoad() {\r\n\t\t$('.responsiveLazyload').each(function () {\r\n\t\t\tvar $figure = $(this).parent();\r\n\r\n\t\t\tif ($figure.visible(true) || $(this).data(\"load\") === \"always\") {\r\n\t\t\t\tloadImage($(this), true);\r\n\t\t\t} else {\r\n\t\t\t\tconstructPlaceholder($figure);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction onResize(callback) {\r\n\t\tif (window.innerWidth > lastRefreshWidth + refreshWidth || window.innerWidth < lastRefreshWidth - refreshWidth) {\r\n\t\t\t$('.lazyResizeReload').each(function () {\r\n\t\t\t\tconstructImage($(this));\r\n\t\t\t\tconstructPlaceholder($(this));\r\n\t\t\t\tif (typeof callback == 'function') {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tlastRefreshWidth = window.innerWidth;\r\n\t\t}\r\n\t}\r\n\r\n\t// Loads the image.\r\n\tfunction loadImage($element, isVisible) {\r\n\t\tvar $this = $element;\r\n\t\tvar $figure = $this.parent();\r\n if ($figure) {\r\n if (isVisible || $figure.visible(true) || $this.data(\"load\") === \"always\") {\r\n if ($this.first()) {\r\n $this.remove();\r\n constructImage($figure);\r\n lastRefreshWidth = window.innerWidth;\r\n $figure.addClass('lazyResizeReload');\r\n }\r\n }\r\n }\r\n\t}\r\n\r\n\tfunction forceLoad() {\r\n\t\t\t$('.forceLoad').each(function () {\r\n\t\t\t\tif(!$(this).hasClass('lazyResizeReload')) {\r\n\t\t\t\t\tconstructImage($(this));\r\n\t\t\t\t\tconstructPlaceholder($(this));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tfunction constructImage(figure) {\r\n\t\tvar $image = new Image();\r\n\t\tvar $figure = $(figure);\r\n\r\n\t\t//data variables and images settings\r\n\t\tvar width, maxWidth, heightRatio, focalPoint, mode, filter, quality, height, isBackgroundImage = false, forceHeight = false, imageFullWidth = false;\r\n\r\n\t\tvar $parent = $figure.data('parent') ? $figure.closest($figure.data('parent')) : null;\r\n\t\tisBackgroundImage = $figure.data('is-background') ? true : false;\r\n\t\twidth = $figure.width() !== 0 ? figure.width() : $figure.parent().width();\r\n\t\t//This value is usefull if you want to force the height\r\n\t\t// of the image but get all the width of the container\r\n\t\timageFullWidth = $figure.data('image-full-width');\r\n\t\theightRatio = $figure.data('height-ratio') !== 0 ? $figure.data('height-ratio') : null;\r\n\t\theight = $parent ? $parent.outerHeight() : null;\r\n\t\tforceHeight = $figure.data('force-height') !== 0 ? $figure.data('force-height') : null;\r\n\t\tfocalPoint = $figure.data('focalpoint');\r\n\t\tmode = $figure.data('mode');\r\n\t\tfilter = $figure.data('filter');\r\n\t\tquality = $figure.data('quality') || 80;\r\n\r\n\t\tvar newImageSrc = $figure.data('src');\r\n\t\tnewImageSrc += focalPoint ? nextQuerySign(newImageSrc) + \"center=\" + focalPoint : \"\";\r\n\t\tnewImageSrc += mode ? nextQuerySign(newImageSrc) + \"mode=\" + mode : \"\";\r\n\t\tnewImageSrc += filter ? nextQuerySign(newImageSrc) + \"filter=\" + filter : \"\";\r\n\t\tnewImageSrc += nextQuerySign(newImageSrc) + \"quality=\" + quality;\r\n if (webpSupport){\r\n \tnewImageSrc += nextQuerySign(newImageSrc) + \"format=webp\";\r\n }\r\n\r\n\t\t$figure.find('img').remove();\r\n\r\n\t\t// Append the image as a background or as a \r\n\t\tif(isBackgroundImage && $parent) {\r\n\t\t\tvar bgSrc = newImageSrc;\r\n\t\t\tbgSrc += height ? nextQuerySign(bgSrc) + \"height=\" + height : \"\";\r\n\t\t\tbgSrc += mode ? nextQuerySign(bgSrc) + \"width=\" + width : \"\";\r\n\t\t\t$parent.css('background-image', 'url(\"'+ bgSrc +'\")');\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// Add attributes only needed when pretending an image\r\n\t\t\tmaxWidth = $figure.data('original-width');\r\n\t\t\tif(width > maxWidth) {\r\n\t\t\t\twidth = maxWidth;\r\n\t\t\t\t$figure.addClass('contain-width');\r\n\t\t\t}\r\n\r\n\t\t\tif(forceHeight) {\r\n\t\t\t\t\tnewImageSrc += imageFullWidth && mode ? nextQuerySign(newImageSrc) + \"width=\" + width + \"&height=\" + forceHeight :\r\n\t\t\t\t\tnextQuerySign(newImageSrc) + \"height=\" + forceHeight;\r\n\t\t\t} else {\r\n\t\t\t\t\tnewImageSrc += mode ? nextQuerySign(newImageSrc) + \"width=\" + width : \"\";\r\n\t\t\t\t\tnewImageSrc += height && !heightRatio ? nextQuerySign(newImageSrc) + \"height=\" + height : \"\";\r\n\t\t\t\t\tnewImageSrc += heightRatio ? nextQuerySign(newImageSrc) + \"height=\" + heightRatio * width : \"\";\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\t$image.src = newImageSrc;\r\n\t\t\t$figure.prepend($image);\r\n\t\t\t$image = $figure.find('img');\r\n\t\t\tif(forceHeight && !imageFullWidth) $image.css(\"width\", \"auto\");\r\n\t\t\t$image.css('opacity', '0');\r\n\t\t\t// Fade the image\r\n\t\t\t$image.on('load', function(event) {\r\n\t\t\t\t$image.css('opacity', '1');\r\n\t\t\t});\r\n\r\n\t\t\t$image.attr('class', $figure.data('class'));\r\n\t\t\t$image.attr('alt', $figure.data('alt'));\r\n\t\t\t$image.attr('title', $figure.data('title'));\r\n\t\t\t$image.attr('property', 'contentUrl');\r\n\t\t}\r\n\t}\r\n\r\n\tfunction nextQuerySign(url) {\r\n\t\treturn url.indexOf(\"?\") > -1 ? \"&\" : \"?\";\r\n\t}\r\n\r\n\tfunction constructPlaceholder(figure) {\r\n\t\tvar $el = figure;\r\n\t\tvar width, heightRatio, maxWidth;\r\n\t\tvar height = 0;\r\n\r\n\t\t// Calc the height\r\n\t\tmaxWidth = figure.data('original-width');\r\n\t\twidth = figure.width() !== 0 ? figure.width() : $(figure).parent().width();\r\n\t\twidth = width > maxWidth ? maxWidth : width;\r\n\t\theightRatio = $el.data('height-ratio');\r\n\r\n\t\tif(width && heightRatio) {\r\n\t\t\theight = heightRatio * width;\r\n\t\t}\r\n\t\t// Set the height\r\n\t\tif(height > 0 && !$el.data('no-initial-height')) {\r\n\t\t\t$el.css('minHeight', height);\r\n\t\t}\r\n\t}\r\n\r\n\t// public functions:\r\n\treturn {\r\n\t\tonScroll: onScroll,\r\n\t\tonResize: onResize,\r\n\t\tonLoad: onLoad,\r\n forceLoad: forceLoad,\r\n fixBrokenImages: fixBrokenImages\r\n\t};\r\n}();\r\n","'use strict';\r\n\r\n/**\r\n* @desc new load embedded media script, it lazyloads embedded media\r\n* html example\r\n* js init example: novicell.embed.loadEmbeds();\r\n* js scroll example:\r\n* if ($('.embed-media-item').length > 0) {\r\n* novicell.embed.loadEmbeds();\r\n* }\r\n* @author Tommy Pedersen - TPE\r\n* @return generates preplay image\r\n* @requires jquery@1.11.3\r\n* @note: Just beautiful!\r\n*/\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.embed = novicell.embed || function () {\r\n\tvar lastRefreshWidth = 0;\r\n\tvar refreshWidth = 50;\r\n\r\n\tfunction loadEmbeds(callback) {\r\n\t\t$(\".nc-grid-embedmedia\").each(function () {\r\n\t\t\tif ($(this).visible(true) || $(this).data(\"load\") === \"always\") {\r\n\t\t\t\tif ($(this).has(\".embed-preview-image\")) {\r\n\t\t\t\t\t$(this).find(\".embed-preview-image\").click(function () {\r\n\t\t\t\t\t\t$(this).attr(\"style\", \"display: none!important\");\r\n\t\t\t\t\t\tlazyEmbed($(this).parent().find(\".embed-media-item\"));\r\n\t\t\t\t\t\tif (typeof callback == 'function') {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlazyEmbed($(this).find(\".embed-media-item\"));\r\n\t\t\t\t\tif (typeof callback == 'function') {\r\n\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction onResize(callback) {\r\n\t\tif (window.innerWidth > lastRefreshWidth + refreshWidth || window.innerWidth < lastRefreshWidth - refreshWidth) {\r\n\t\t\t$('.nc-grid-embedmedia').each(function () {\r\n\t\t\t\tlazyEmbed($(this).find(\".embed-media-item\"));\r\n\t\t\t\tif (typeof callback == 'function') {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tlastRefreshWidth = window.innerWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction lazyEmbed(figure) {\r\n\t\tfigure.attr(\"style\", \"display: block!important\");\r\n\t\tfigure.addClass('loaded');\r\n\t\tvar $embed = figure.find(\".embed\");\r\n\t\tvar ratio, src, width;\r\n\t\twidth = figure.width() !== 0 ? figure.width() : $(figure).parent().width();\r\n\t\tratio = $embed.data(\"ratio\");\r\n\t\tsrc = $embed.data(\"src\");\r\n\t\t$embed.attr(\"src\", src);\r\n\t\t$embed.attr(\"width\", width);\r\n\t\t$embed.attr(\"height\", width * ratio);\r\n\t}\r\n\r\n\tfunction backofficeEmbeds(callback) {\r\n\t\t$(\".nc-grid-embedmedia\").each(function () {\r\n\t\t\t$(this).find(\".embed-preview-image\").remove();\r\n\t\t\tlazyEmbed($(this).find(\".embed-media-item\"));\r\n\t\t\t$(this).find(\".embed\").attr(\"src\", updateQueryStringParameter($(this).find(\".embed\").data(\"src\"), \"autoplay\", \"false\"));\r\n\t\t\tif (typeof callback == 'function') {\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction updateQueryStringParameter(uri, key, value) {\r\n\t\tvar re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\r\n\t\tvar separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\r\n\t\tif (uri.match(re)) {\r\n\t\t\treturn uri.replace(re, '$1' + key + \"=\" + value + '$2');\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn uri + separator + key + \"=\" + value;\r\n\t\t}\r\n\t}\r\n\r\n\t// public functions:\r\n\treturn {\r\n\t\tloadEmbeds: loadEmbeds,\r\n\t\tbackofficeEmbeds: backofficeEmbeds,\r\n\t\tonResize: onResize\r\n\t};\r\n}();\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\n/* Novicell overlay\r\n* Original author: Adam Peter Nielsen\r\n* Load content into an overlay. Style overlay via the optional class\r\n* ------\r\n* Dependencies: none\r\n* Usage: novicell.overlay.set({'content':contents,'class':'foo'});\r\n* Optional callback functions: novicell.overlay.set({ 'content': html, 'callbackOpen': FUNCTIONNAME, 'callbackClose': FUNCTIONNAME});\r\n\r\n* Required LESS:\r\n* - LESS:\r\n\t#ncOverlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3300;background:rgba(0,0,0,0.5);display:none;cursor:pointer;}\r\n\t#ncOverlay-content{position:absolute;top:0;right:0;bottom:0;left:0;width:50%;height:50%;margin:auto;z-index:3301;display:none;}\r\n\t.ncOverlay-inner{background:@white;height:100%;overflow:hidden;padding:15px 0;.border-radius(3px);.box-shadow(0 0 8px @grayLighter);}\r\n\t.ncOverlay-inner-scroll{overflow-y:auto;height:100%;padding:0 20px;}\r\n\t.ncOverlay-close{margin:-15px 5px -20px -20px;.box-shadow(0 0 8px @grayLight);cursor:pointer;}\r\n*/\r\n\r\nnovicell.overlay = novicell.overlay || function () {\r\n\tfunction set(data) {\r\n\t\t// reset overlay the hard way\r\n\t\tif (0 < $('#ncOverlay').length) {\r\n\t\t\t$('#ncOverlay,#ncOverlay-content').remove();\r\n\t\t}\r\n\r\n\t\tvar btnClose = $('').attr('href', '#closeOverlay').addClass('ncOverlay-close btn btn-small btn-inverse pull-right').append($(''));\r\n\t\tvar overlayInnerScroll = $('
').addClass('ncOverlay-inner').append($('
').addClass('ncOverlay-inner-scroll'));\r\n\t\toverlayInnerScroll.append(btnClose);\r\n\t\tvar overlayInner = overlayInnerScroll.append(data.content);\r\n\r\n\t\tvar body = document.querySelector('body');\r\n\r\n\t\tvar ncOverlay = document.createElement(\"div\");\r\n\t\tncOverlay.id = 'ncOverlay';\r\n\t\tbody.appendChild(ncOverlay);\r\n\r\n\t\tvar ncOverlayContent = document.createElement(\"div\");\r\n\t\tncOverlayContent.id = 'ncOverlay-content';\r\n\t\tncOverlayContent.appendChild(overlayInner.get(0));\r\n\t\tbody.appendChild(ncOverlayContent);\r\n\r\n\t\t$(ncOverlay).fadeIn(\"fast\");\r\n\t\t$(ncOverlayContent).fadeIn(\"fast\", function () {\r\n\t\t\tif (typeof data.callbackOpen == 'function') {\r\n\t\t\t\tdata.callbackOpen();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$('#ncOverlay').height($('body').height());\r\n\r\n\t\tif (data['class'] !== undefined) {\r\n\t\t\t$('#ncOverlay-content').addClass(data['class']);\r\n\t\t}\r\n\r\n\t\t$('#ncOverlay-content').css({ 'margin-top': ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop) + 40 });\r\n\r\n\t\t$('#ncOverlay,.ncOverlay-close').on(\"click\", function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t$('#ncOverlay-content').stop().fadeOut(\"fast\", function () {\r\n\t\t\t\t$(this).remove();\r\n\t\t\t});\r\n\r\n\t\t\t$('#ncOverlay').stop().fadeOut(\"fast\", function () {\r\n\t\t\t\t$(this).remove();\r\n\t\t\t\tif (typeof data.callbackClose == 'function') {\r\n\t\t\t\t\tdata.callbackClose();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// escape click bind on close button\r\n\t\t$(document).keyup(function (e) {\r\n\t\t\tif (e.keyCode == 27) {\r\n\t\t\t\t$('.ncOverlay-close').click();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\treturn {\r\n\t\tset: set\r\n\t};\r\n}();\r\n","'use strict';\r\n/**\r\n* @desc Cookie info dialog plugin\r\n* examples novicell.cookieInfo.init();\r\n* @author Danni Larsen - DLA\r\n* @requires jquery\r\n*/\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.cookieBot = novicell.cookieBot || function(){\r\n\r\n function init() {\r\n var cookiebotBox = document.querySelector(\"#CybotCookiebotDialog\");\r\n\r\n if(cookiebotBox) {\r\n \r\n if(cookiebotBox.style.display === \"block\") {\r\n \r\n var newDiv = document.createElement(\"div\"); \r\n newDiv.classList.add(\"nc-cookiebot-overlay\");\r\n document.body.prepend(newDiv);\r\n \r\n document.body.classList.add(\"nc-cookie-overlay-no-scroll\");\r\n \r\n setTimeout(function() {\r\n var allowSelected = document.querySelector(\"#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection\");\r\n var allowAll = document.querySelector(\"#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll\");\r\n var newlyAddedDiv = document.querySelector(\".nc-cookiebot-overlay\");\r\n \r\n allowSelected.addEventListener(\"click\", function() {\r\n document.body.classList.remove(\"nc-cookie-overlay-no-scroll\");\r\n newlyAddedDiv.classList.remove(\"nc-cookiebot-overlay\");\r\n });\r\n allowAll.addEventListener(\"click\", function() {\r\n document.body.classList.remove(\"nc-cookie-overlay-no-scroll\");\r\n newlyAddedDiv.classList.remove(\"nc-cookiebot-overlay\");\r\n });\r\n }, 150);\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n return {\r\n\t\tinit: init\r\n\t};\r\n}();","'use strict';\r\n\r\n/**\r\n* @desc Load fonts async with webfontloader\r\n* less example: \r\n* js example:\r\n\tnovicell.font.webfont({\r\n\t\tgoogle: { families: ['Roboto:400,700italic:latin'] },\r\n\t\ttypekit: { id: ['rzx0prp'] },\r\n\t\tcustom: { families: ['SkipLegDay'], urls: ['/dist/css/webfont.min.css'] }\r\n\t});\r\n* @author Jonas Havmøller\r\n*/\r\n\r\n\r\nvar novicell = novicell || {};\r\nvar WebFontConfig = WebFontConfig || {};\r\n\r\nnovicell.font = novicell.font || function () {\r\n\r\n\t// https://github.com/typekit/webfontloader\r\n\tfunction webfont(fontObj) {\r\n\r\n\t\t// Set the font Obj to the WebFontConfig\r\n\t\tif(typeof fontObj !== undefined && fontObj !== null) {\r\n\t\t\tWebFontConfig = fontObj;\r\n\t\t\tWebFontConfig.timeout = 2000;\r\n\t\t}\r\n\t\t\r\n\t\t(function() {\r\n\t\t\tvar wf = document.createElement('script');\r\n\t\t\twf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';\r\n\t\t\twf.type = 'text/javascript';\r\n\t\t\twf.async = 'true';\r\n\t\t\tvar s = document.getElementsByTagName('script')[0];\r\n\t\t\ts.parentNode.insertBefore(wf, s);\r\n\t\t})();\r\n\r\n\r\n\r\n\r\n\t\t// DEBUG ALERT\r\n\t\tif (typeof WebFontConfig.typekit !== 'undefined' && WebFontConfig.typekit.id[0] === \"rzx0prp\") {\r\n\t\t\t$('body').prepend('
Please load your own typekit
');\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\twebfont: webfont\r\n\t};\r\n} ();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.navigationMenu = NovicellCorporate.navigationMenu || function() {\r\n var menuLoaded = false;\r\n function init() {\r\n //Load only in mobile or tablet\r\n if($(window).width() < 993 && !menuLoaded) {\r\n var nodeId = $(\"#nodeid\").val();\r\n $.get(\"/umbraco/surface/MobileMenu/RenderMobileMenu/\" + nodeId)\r\n .always(function () {\r\n })\r\n .done(function (data) {\r\n\r\n $(\".menuplave\").html(data);\r\n\r\n // Closes the sidebar menu\r\n $(\"#menu-close\").click(function (e) {\r\n e.preventDefault();\r\n $(\"#sidebar-wrapper\").removeClass(\"active\");\r\n });\r\n // Opens the sidebar menu\r\n $(\"#menu-toggle\").click(function (e) {\r\n e.preventDefault();\r\n $(\"#sidebar-wrapper\").addClass(\"active\");\r\n });\r\n\r\n $(document).click(function (e) {\r\n if (!$(e.target).closest('.header-mobile').length) {\r\n // Hide the menu.\r\n $(\"#sidebar-wrapper\").removeClass(\"active\");\r\n }\r\n });\r\n $('.has-submenu').each(function() {\r\n if($(this).find(\".sidebar-nav__submenu\")) {\r\n $(this).append('
');\r\n }\r\n });\r\n $('.clickable-element').click(function (e) {\r\n e.preventDefault();\r\n var className = ' ' + this.className + ' ';\r\n this.className = ~className.indexOf(' active ') ?\r\n className.replace(' active ', ' ') :\r\n this.className + ' active ';\r\n var $parent = $(this).parent();\r\n if ($parent.hasClass(\"submenu-open\")) {\r\n if ($parent.find(\".level-3\").length &&\r\n $parent.find(\".level-2\").length === 0) {\r\n $parent.find('.level-3').slideUp(300);\r\n $parent.removeClass(\"submenu-open\");\r\n } else {\r\n closeAllOpenTabs();\r\n }\r\n } else {\r\n if ($(this).parent().find(\".level-3\").length &&\r\n $(this).parent().find(\".level-2\").length === 0) {\r\n $(\".sidebar-nav\").find(\".sidebar-nav__submenu.level-2 .has-submenu\").each(function() {\r\n if($(this).hasClass(\"submenu-open\")) {\r\n $(this).find('.level-3').slideUp(300);\r\n $(this).removeClass(\"submenu-open\");\r\n $(this).find(\".clickable-element\").removeClass(\"active\");\r\n }\r\n });\r\n $(this).parent().find('.level-3').slideToggle(300);\r\n $(this).parent().addClass(\"submenu-open\");\r\n } else {\r\n closeAllOpenTabs();\r\n $(this).parent().find('.level-2').slideToggle(300);\r\n $(this).parent().addClass(\"submenu-open\");\r\n }\r\n }\r\n });\r\n menuLoaded = true;\r\n });\r\n }\r\n }\r\n\r\n function closeAllOpenTabs() {\r\n $(\".sidebar-nav\").find(\".has-submenu\").each(function() {\r\n if($(this).hasClass(\"submenu-open\")) {\r\n $(this).find('.level-2').each(function() {\r\n $(this).find('.level-3').slideUp(300);\r\n });\r\n $(this).find('.level-2').slideUp(300);\r\n $(this).removeClass(\"submenu-open\");\r\n $(this).find(\".clickable-element\").removeClass(\"active\");\r\n }\r\n });\r\n }\r\n\r\n function topBarColor() {\r\n //Control background color for top bar navigation\r\n var headlineElements = document.getElementById('header').getElementsByClassName('headline');\r\n var rowbackgroundsElements = document.getElementById('content').getElementsByClassName('background-row');\r\n var imageUrlArray = [];\r\n var haveGradientElement = false;\r\n var bgInitialized = false;\r\n\r\n if(headlineElements.length && !bgInitialized) {\r\n setBackgrounds(headlineElements);\r\n }\r\n if(rowbackgroundsElements.length && !bgInitialized) {\r\n setBackgrounds(rowbackgroundsElements);\r\n }\r\n function setBackgrounds(elements) {\r\n [].forEach.call(elements, function(item) {\r\n haveGradientElement = item.style.getPropertyValue(\"background-image\").includes(\"linear-gradient\");\r\n if(!haveGradientElement) {\r\n imageUrlArray.push(item);\r\n }\r\n });\r\n if(imageUrlArray.length > 0 && imageUrlArray[0] != \"\") {\r\n BackgroundCheck.init({\r\n targets: '.desktop-top-bar',\r\n images: imageUrlArray\r\n });\r\n bgInitialized = true;\r\n }\r\n }\r\n var coverGradientImage = $('#content').children().find('[data-cover-background]').first().data('cover-background') ||\r\n $('#header').children().find('[data-cover-background]').first().data('cover-background');\r\n if(!bgInitialized && !coverGradientImage) {\r\n $('#content').colourBrightness();\r\n if($('#content').hasClass('light')) {\r\n $('.desktop-top-bar').addClass('background--contentLight');\r\n $('.top-bar').addClass('background--contentLight');\r\n $('.secondary-top-bar').addClass('background--contentLight');\r\n bgInitialized = true;\r\n }\r\n } else if(coverGradientImage && coverGradientImage.includes('black')) {\r\n $('.desktop-top-bar').addClass('background--dark');\r\n $('.top-bar').addClass('background--dark');\r\n $('.secondary-top-bar').addClass('background--dark');\r\n }\r\n }\r\n\r\n function secondaryTopBarStyleCheck() {\r\n //Control style's for secondary top-bar\r\n if(document.getElementById('header').getElementsByClassName('secondary-top-bar').length) {\r\n var secondaryTopBar = document.getElementById('header').getElementsByClassName('secondary-top-bar');\r\n var $desktopTopBar = $('#header .desktop-top-bar');\r\n handleSecondaryTopBarPosition(secondaryTopBar, $desktopTopBar);\r\n secondaryTopBarColorCheck();\r\n function secondaryTopBarColorCheck() {\r\n if($desktopTopBar.hasClass('background--dark')) {\r\n [].forEach.call(secondaryTopBar, function(item) {\r\n if(!(item.classList.contains('background--dark'))) {\r\n item.className += \" background--dark \";\r\n }\r\n if(item.classList.contains('background--light')) {\r\n item.classList.remove('background--light');\r\n }\r\n });\r\n } else if($desktopTopBar.hasClass('background--light')){\r\n [].forEach.call(secondaryTopBar, function(item) {\r\n if(!(item.classList.contains('background--light'))) {\r\n item.className += \" background--light \";\r\n }\r\n if(item.classList.contains('background--dark')) {\r\n item.classList.remove('background--dark');\r\n }\r\n });\r\n }\r\n }\r\n function handleSecondaryTopBarPosition(element, $desktopTopBarElement) {\r\n setTimeout(function(){\r\n [].forEach.call(element, function(item) {\r\n item.style.top = $desktopTopBarElement.outerHeight() - 1 + \"px\";\r\n });\r\n }, 100);\r\n }\r\n }\r\n }\r\n\r\n function priorityPlusNavigation() {\r\n var nav = document.getElementById('desktop-nav'),\r\n priorityPlusNavContainer = document.getElementById('priority-plus-nav'),\r\n btn = document.getElementById('show-all-items'),\r\n vlinks = document.getElementById('desktop-nav'),\r\n hlinks = document.getElementById('last-items-menu'),\r\n topNavBreadcrumb = document.getElementById('top-navigation-breadcrumb');\r\n\r\n var navChilds = nav.children;\r\n var linksSpace = topNavBreadcrumb ? nav.offsetWidth - btn.offsetWidth - topNavBreadcrumb.offsetWidth\r\n : nav.offsetWidth - btn.offsetWidth - 120; //the btn total space\r\n\r\n var childsWidth = 0;\r\n for (var i = 0; i < nav.childElementCount; i++) {\r\n childsWidth = childsWidth + navChilds[i].offsetWidth + 20; //Add some margin\r\n }\r\n\r\n if(childsWidth > linksSpace) {\r\n // Move item to the hidden list\r\n if(vlinks.lastElementChild.previousElementSibling && vlinks.childElementCount > 1)\r\n hlinks.prepend(vlinks.lastElementChild);\r\n\r\n if(priorityPlusNavContainer && priorityPlusNavContainer.classList.contains(\"hidden\"))\r\n priorityPlusNavContainer.classList.remove('hidden');\r\n // The visible list is not overflowing\r\n } else {\r\n // Move the item to the visible list\r\n if(hlinks.childElementCount > 0) {\r\n vlinks.append(hlinks.firstElementChild);\r\n }\r\n // Hide the three points btn if hidden list is empty\r\n if(hlinks.childElementCount === 0) {\r\n priorityPlusNavContainer.classList.add(\"hidden\");\r\n }\r\n }\r\n\r\n // Recur if the visible list is still overflowing the nav\r\n if((linksSpace > 0) && (childsWidth > linksSpace)) priorityPlusNavigation();\r\n }\r\n\r\n function desktopBurgerMenu() {\r\n \tvar desktopBurgerNavOpenButton = document.getElementById(\"nav-main-burger-desktop\");\r\n \tvar desktopBurgerNavCloseButton = document.getElementById(\"nav-main-desktop__close-offcanvas\");\r\n\r\n \tdesktopBurgerNavOpenButton.onclick = function () {\r\n \t\tdocument.getElementById(\"site\").classList.add(\"burger-menu-open\");\r\n \t};\r\n \tdesktopBurgerNavCloseButton.onclick = function () {\r\n \t\tdocument.getElementById(\"site\").classList.remove(\"burger-menu-open\");\r\n \t};\r\n }\r\n\r\n return {\r\n init: init,\r\n topBarColor: topBarColor,\r\n secondaryTopBarStyleCheck: secondaryTopBarStyleCheck,\r\n priorityPlusNavigation: priorityPlusNavigation,\r\n desktopBurgerMenu : desktopBurgerMenu\r\n };\r\n\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.rowsBackgrounds = NovicellCorporate.rowsBackgrounds || function() {\r\n\r\n var webpSupport = false;\r\n if (browserIsIE || window.navigator.userAgent.indexOf('iPhone') != -1 || window.navigator.userAgent.indexOf('iPad') != -1){\r\n webpSupport = false;\r\n }\r\n\r\n function backgroundImages() {\r\n var url =\"\", imageHeight, imageWidth, coverGradientImage;\r\n var linearGradient = \"\";\r\n var urlArray = [], coverGradientImageOptions = [];\r\n var haveGradientElement = false;\r\n var imageList = document.querySelectorAll(\"div[data-background-image]\");\r\n\r\n for (var i = 0; i < imageList.length; i++) {\r\n imageHeight = imageList[i].offsetHeight;\r\n imageWidth = imageList[i].offsetWidth;\r\n haveGradientElement = imageList[i].getAttribute('data-background-image').includes(\"linear-gradient\");\r\n coverGradientImage = imageList[i].getAttribute('data-cover-background');\r\n var coverGradientImageArray = coverGradientImage ? coverGradientImage.split(',') : [];\r\n //Fix with old values to avoid not load images\r\n var oldValues = [\"red\", \"white\", \"black\", \"none\"];\r\n\r\n if(oldValues.indexOf(coverGradientImageArray[0]) > -1) {\r\n //Fix for \"Digital Strategi\" Red pages\r\n if(coverGradientImageArray[0] === \"red\" && coverGradientImageArray[1] === 1) {\r\n coverGradientImage = \"rgba(200, 0, 70, 1)\";\r\n //Fix for actual black covers\r\n } else if(coverGradientImageArray[0] === \"black\") {\r\n coverGradientImage = \"rgba(0, 0, 0, 0.3)\";\r\n } else {\r\n coverGradientImage = \"none\";\r\n }\r\n }\r\n\r\n if(!haveGradientElement) {\r\n if(imageList[i].getAttribute('data-background-image')!=\"\"){\r\n var quality = 75;\r\n if(imageList[i].getAttribute('data-quality')!=null){\r\n quality =imageList[i].getAttribute('data-quality');\r\n }\r\n url = imageList[i].getAttribute('data-background-image') + \"?width=\" + imageWidth + \"&height=\" + imageHeight\r\n + \"&mode=crop¢er=0.5,0.5&quality=\"+quality;\r\n var urlIncludesPNG = url.includes(\".png\");\r\n if (webpSupport && !urlIncludesPNG){\r\n \turl += \"&format=webp\";\r\n }\r\n if(url.includes(\".png\")) {\r\n url += \"&format=png8\";\r\n }}\r\n if(coverGradientImage && coverGradientImage !== \"none\") {\r\n\r\n var bgImageWithGradient = \"linear-gradient(\"+ coverGradientImage + \",\"\r\n + coverGradientImage +\"), url('\" + url + \"')\";\r\n imageList[i].style.backgroundImage=bgImageWithGradient;\r\n\r\n if(coverGradientImageArray[1] === \" 255\" && coverGradientImageArray[2] === \" 255\") {\r\n imageList[i].style.color = \"#333\";\r\n } else {\r\n imageList[i].style.color = \"white\";\r\n }\r\n\r\n } else {\r\n imageList[i].style.backgroundImage=\"url('\" + url + \"')\";\r\n }\r\n } else {\r\n urlArray = imageList[i].getAttribute('data-background-image').split(',');\r\n //construct the linear gradient\r\n for(var x = 0; x < 8; x++) {\r\n linearGradient += urlArray[x] + ',';\r\n }\r\n //get the cropped url\r\n var regex = new RegExp('\\\\b' + \"url\" + '\\\\b');\r\n url = urlArray[8].replace(/[()]/g,'').replace(regex, '') + \"?width=\" + imageWidth + \"&height=\" + imageHeight\r\n + \"&mode=crop¢er=0.5,0.5&quality=80\";\r\n imageList[i].style.background = linearGradient + \"url('\" + url.replace(\" \", \"\") + \"')\";\r\n }\r\n imageList[i].classList.add(\"background-row\");\r\n }\r\n }\r\n\r\n function themes() {\r\n /*var themeList = document.querySelectorAll(\"div[data-theme]\");\r\n for (var i = 0; i < themeList.length; i++) {\r\n var themeClass = themeList[i].getAttribute('data-theme');\r\n themeList[i].className += \" \" + themeClass;\r\n }*/\r\n //Bad practice & bad performance (Cumulative Layout Shift)\r\n }\r\n\r\n return {\r\n backgroundImages: backgroundImages,\r\n themes: themes\r\n };\r\n\r\n}();\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.carousel = NovicellCorporate.carousel || function() {\r\n function init(carouselClass) {\r\n carouselClass.addClass('owl-carousel');\r\n var numberPosts = carouselClass.data('number-posts') > 0 ? carouselClass.data('number-posts') : undefined;\r\n carouselClass.owlCarousel({\r\n margin: 30,\r\n nav: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: false,\r\n dots: true\r\n },\r\n 600: {\r\n items: numberPosts < 3 ? numberPosts : 3,\r\n nav: false,\r\n dots: true\r\n },\r\n 1000: {\r\n items: numberPosts < 4 ? numberPosts : 4,\r\n dots: false\r\n }\r\n },\r\n loop: false,\r\n navText: [\r\n \"\" +\r\n \"\"+\r\n \"\",\r\n \"\" +\r\n \"\"+\r\n \"\"\r\n ]\r\n });\r\n }\r\n\r\n function slider(sliderClass) {\r\n sliderClass.addClass('owl-carousel');\r\n sliderClass.owlCarousel({\r\n loop: true,\r\n margin: 0,\r\n nav: false,\r\n dots: true,\r\n items: 1,\r\n lazyLoad:true,\r\n autoplay: true,\r\n autoplayTimeout: 7000,\r\n autoplayHoverPause: true,\r\n autoHeight:true,\r\n onInitialize: callback\r\n });\r\n function callback(event) {\r\n $(window).smartscroll(function (e) {\r\n if(sliderClass.children().find('.lazyResizeReload')) {\r\n var $figure = sliderClass.children().find('figure');\r\n if(!$figure.first().data('force-height')) {\r\n sliderClass.trigger('refresh.owl.carousel');\r\n }\r\n if($(window).height() > 720) {\r\n $.each($figure, function () {\r\n if($(this).data('force-height')) {\r\n $(this).find('img').css('height' , $(this).data('force-height'));\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n return {\r\n init: init,\r\n slider: slider\r\n };\r\n\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\nvar MathHelper = {\r\n onPositiveReturnZero: function (number) {\r\n return (number > -1) ? 0 : number;\r\n }\r\n}\r\nNovicellCorporate.animateNumber = NovicellCorporate.animateNumber || function () {\r\n function animate(numberSelector) {\r\n var $animation_elements = numberSelector;\r\n var $window = $(window);\r\n var window_height = $window.height();\r\n var window_top_position = $window.scrollTop();\r\n var window_bottom_position = (window_top_position + window_height);\r\n\r\n $.each($animation_elements, function () {\r\n var $element = $(this);\r\n var element_height = $element.outerHeight();\r\n var element_top_position = $element.offset().top;\r\n var element_bottom_position = (element_top_position + element_height);\r\n\r\n //check to see if this current container is within viewport\r\n if ((element_bottom_position >= window_top_position) &&\r\n (element_top_position <= window_bottom_position) &&\r\n !($element.hasClass('in-view'))) {\r\n var originalText = $element.text();\r\n\r\n var isUsingComma = originalText.includes(\",\");\r\n var isDecimal = originalText.match(/[.,]/g) != null;\r\n\r\n var numberStringWithoutSymbol = originalText.replace(/[%_€$krd+-]/g, '');\r\n var clearNumberString = numberStringWithoutSymbol.replace(',', '.');\r\n var numberOfDecimals = countDecimals(clearNumberString);\r\n var numberElement = originalText.match(/[%€$krd+-]/g) || \"\";\r\n\r\n $element.after(\"\" + numberElement + \"\");\r\n\r\n $element.prop('Counter', 0).animate({\r\n Counter: $element.text().replace(',', '.').replace(/[%_€$krd+-]/g,'')\r\n }, {\r\n duration: 2000,\r\n easing: 'swing',\r\n step: function (now) {\r\n var numberString = \"\";\r\n if (!isDecimal) {\r\n numberString = Math.ceil(now).toString();\r\n numberString = numberString.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n } else {\r\n numberString = now.toFixed(numberOfDecimals);\r\n if (isUsingComma) {\r\n numberString = numberString.replace('.', ',');\r\n }\r\n }\r\n\r\n $element.text(numberString);\r\n $element.addClass('in-view')\r\n },\r\n complete: function() {\r\n $element.next('.number-element').remove();\r\n if(!isDecimal){\r\n $element.text(numberStringWithoutSymbol.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\") + numberElement);\r\n }else{\r\n $element.text(numberStringWithoutSymbol + numberElement);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n \r\n function countDecimals (numberString) {\r\n if (!numberString.includes(\".\")) return 0;\r\n \r\n return numberString.split(\".\")[1].length;\r\n }\r\n\r\n return {\r\n animate: animate\r\n };\r\n\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.videoGridOverlay = NovicellCorporate.videoGridOverlay || function() {\r\n\r\n function init() {\r\n //Lets make an overlay for video on new case grid\r\n //the status of overlay box\r\n var isOpen = false;\r\n var video; //$('#youtube-container iframe').attr(\"src\");\r\n //function to display the box\r\n function showOverlayBox(selector) {\r\n //if box is not set to open then don't do anything\r\n if (isOpen === false) return;\r\n // set the properties of the overlay box, the left and top positions\r\n selector.closest('#case-grid-video').find(\".overlayBox\").css({\r\n display: \"block\",\r\n // left: ($(window).width() - $(\".overlayBox\").width()) / 2,\r\n // top: ($(window).height() - $(\".overlayBox\").height()) / 2 - 20,\r\n });\r\n // set the window background for the overlay. i.e the body becomes darker\r\n selector.closest('#case-grid-video').find(\".bgCover\").css({\r\n display: \"block\",\r\n width: $(window).width(),\r\n height: $(window).height(),\r\n });\r\n selector.closest('#case-grid-video').find('#youtube-container iframe').attr(\"src\",video);\r\n }\r\n\r\n function doOverlayOpen(selector) {\r\n //set status to open\r\n isOpen = true;\r\n console.log('entra');\r\n showOverlayBox(selector);\r\n selector.closest('#case-grid-video').find(\".bgCover\").css({ opacity: 0 }).animate({ opacity: 0.5, backgroundColor: \"#000\" });\r\n video = selector.closest('#case-grid-video').find('#youtube-container').attr(\"data-src\");\r\n selector.closest('#case-grid-video').find('#youtube-container iframe').attr(\"src\",video);\r\n // dont follow the link : so return false.\r\n return false;\r\n }\r\n\r\n function doOverlayClose(selector) {\r\n //set status to closed\r\n isOpen = false;\r\n selector.closest('#case-grid-video').find(\".overlayBox\").css(\"display\", \"none\");\r\n // now animate the background to fade out to opacity 0\r\n // and then hide it after the animation is complete.\r\n selector.closest('#case-grid-video').find(\".bgCover\").animate({ opacity: 0 }, null, null, function () { $(this).hide(); });\r\n selector.closest('#case-grid-video').find('#youtube-container iframe').attr(\"src\",\"\");\r\n }\r\n\r\n // if window is resized then reposition the overlay box\r\n $(window).bind(\"resize\", showOverlayBox);\r\n // activate when the link with class launchLink is clicked\r\n $(\"a.launchLink\").click(function() {\r\n doOverlayOpen($(this))\r\n });\r\n // close it when closeLink is clicked\r\n $(\"a.closeLink\").click(function() {\r\n doOverlayClose($(this))\r\n });\r\n }\r\n\r\n return {\r\n init: init\r\n };\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.rteImageOverlay = NovicellCorporate.rteImageOverlay || function () {\r\n\r\n function init() {\r\n\r\n var baseSelectors = [\".rte\", \".nc-grid-richtexteditor\"];\r\n\r\n baseSelectors.forEach(function (selector) {\r\n $(selector + \" img\").each(function () {\r\n var $image = $(this);\r\n var $parent = $image.closest(\"a[href]\");\r\n\r\n const imageBaseSrcRaw = $image.attr(\"data-src\") || $image.attr(\"src\");\r\n if (!imageBaseSrcRaw) {\r\n console.error(\"Source url of image cannot be found\");\r\n return;\r\n }\r\n \r\n const imageBaseSrc = imageBaseSrcRaw.split('?')[0];\r\n\r\n if (!$parent.length ||\r\n ($parent && $parent.attr(\"href\").split('?')[0] === imageBaseSrc)) {\r\n $(this).css(\"cursor\", \"pointer\");\r\n\r\n\r\n $(this).click(function (event) {\r\n event.preventDefault();\r\n if (window.innerHeight < window.innerWidth) {\r\n var newImg = document.createElement(\"img\");\r\n newImg.src = imageBaseSrc;\r\n newImg.style.width = '100%';\r\n novicell.overlay.set({ 'content': newImg });\r\n document.querySelector('.ncOverlay-inner').style.maxWidth = calcOverlaySizeX(this) + 'px';\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n function calcOverlaySizeX(originalImg) {\r\n var maxOverlaySizeX = window.innerWidth * 0.7;\r\n var maxOverlaySizeY = window.innerHeight * 0.9;\r\n var overlaySizeX = maxOverlaySizeX;\r\n var newImageSize = calcNewImageSize(originalImg, overlaySizeX);\r\n\r\n while (newImageSize.height > maxOverlaySizeY){\r\n overlaySizeX /= 1.1;\r\n newImageSize = calcNewImageSize(originalImg, overlaySizeX);\r\n }\r\n return overlaySizeX;\r\n\r\n }\r\n function calcNewImageSize(originalImg, overlaySizeX) {\r\n var imageAspectRatio = originalImg.width/originalImg.height;\r\n var calcImageY = overlaySizeX / imageAspectRatio;\r\n\r\n return {\r\n width: overlaySizeX,\r\n height: calcImageY\r\n }\r\n }\r\n return {\r\n init: init\r\n };\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.iframeLinkOverlay = NovicellCorporate.iframeLinkOverlay || function () {\r\n var triggerLinks = null;\r\n var triggerClass = 'iframe-overlay-opener';\r\n function init() {\r\n triggerLinks = document.querySelectorAll('.' + triggerClass);\r\n if (triggerLinks) {\r\n Array.from(triggerLinks).map(function (triggerLink) {\r\n triggerLink.addEventListener(\"click\", function (e) {\r\n e.preventDefault();\r\n loadIframeOverlay(this.href, this.dataset);\r\n }, false);\r\n\r\n });\r\n }\r\n\r\n }\r\n function loadIframeOverlay(href, dataset) {\r\n var iframeEl = document.createElement(\"iframe\");\r\n var innerWidth = (window.innerHeight < window.innerWidth) ? window.innerWidth * 0.9 : window.innerWidth;\r\n var maxHeight = (dataset.forceIDesktopHeight != null) ? dataset.forceIDesktopHeight : window.innerHeight;\r\n var portraitMode = (window.innerHeight > window.innerWidth);\r\n iframeEl.src = href;\r\n iframeEl.style.width = '100%';\r\n iframeEl.style.maxHeight = maxHeight + 'px';\r\n novicell.overlay.set({ 'content': iframeEl });\r\n var overlayInner = document.querySelector('.ncOverlay-inner')\r\n overlayInner.style.maxWidth = innerWidth + 'px';\r\n var overlayInnerTop = overlayInner.getBoundingClientRect().top;\r\n var innerHeight = (window.innerHeight - overlayInnerTop);\r\n if (dataset.forceIDesktopHeight != null && !portraitMode) {\r\n iframeEl.style.height = maxHeight + 'px';\r\n overlayInner.style.position = 'relative';\r\n }\r\n else if (dataset.forceIMobileHeight != null && portraitMode) {\r\n iframeEl.style.height = maxHeight + 'px';\r\n overlayInner.style.position = 'relative';\r\n }\r\n else {\r\n iframeEl.style.height = innerHeight + 'px';\r\n }\r\n\r\n\r\n\r\n }\r\n return {\r\n init: init\r\n };\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.iframeFullVideo = NovicellCorporate.iframeFullVideo || function () {\r\n var iframeList = null;\r\n var iframeClass = 'iframe-full-video';\r\n function init() {\r\n iframeList = document.querySelectorAll('.' + iframeClass);\r\n if (iframeList) {\r\n Array.from(iframeList).map(function (iframe) {\r\n\r\n var rowContainer = iframe.closest(\".row\");\r\n if (rowContainer) {\r\n if (rowContainer.childElementCount > 1) {\r\n iframe.style.height = \"100%\";\r\n iframe.style.width = \"100%\";\r\n\r\n var parent = iframe.parentElement;\r\n if (parent) {\r\n parent.style.height = \"100%\";\r\n parent.style.width = \"100%\";\r\n\r\n var grandparent = parent.parentElement;\r\n if (grandparent) {\r\n grandparent.style.height = \"100%\";\r\n grandparent.style.width = \"100%\";\r\n }\r\n }\r\n\r\n rowContainer.style.display = \"flex\";\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n return {\r\n init: init\r\n };\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.forms = NovicellCorporate.forms || function() {\r\n function init() {\r\n //Nice select, necessary to style selects (require nice select plugin)\r\n //http://hernansartorio.com/jquery-nice-select/\r\n $('select').niceSelect();\r\n\r\n //Control changes when click outside the input\r\n $(\".contourFieldSet\").change(function() {\r\n if($(this).find(\".input-validation-error\")) {\r\n setTimeout(function(){\r\n $(\".input-validation-error\").parent().removeClass(\"correct\");\r\n $(\".input-validation-error\").parent().addClass(\"error\");\r\n }, 0);\r\n }\r\n if($(this).find(\".valid\")) {\r\n setTimeout(function(){\r\n $(\".valid\").parent().removeClass(\"error\");\r\n $(\".valid\").parent().addClass(\"correct\");\r\n }, 0);\r\n }\r\n });\r\n\r\n // Checkboxes are customised through css and users only see the label.\r\n // To show the correct checkbox status, the label class should be updated.\r\n $(\".umbraco-forms-field.checkbox\").click(function(e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n var $label = $this.children('.fieldLabel:first');\r\n var $actualCheckbox = $this.find(\"input[type='checkbox']\");\r\n\r\n if ($actualCheckbox) {\r\n var isChecked = $actualCheckbox.prop('checked');\r\n $actualCheckbox.prop('checked', !isChecked);\r\n if (isChecked) {\r\n $label.removeClass('checked');\r\n } else {\r\n $label.addClass('checked');\r\n }\r\n }\r\n });\r\n\r\n //Control changes when tiping on the input\r\n $(\".contourFieldSet input, .contourFieldSet textarea\").keydown(function() {\r\n if($(this).hasClass(\"input-validation-error\")) {\r\n $(\".input-validation-error\").parent().removeClass(\"correct\");\r\n $(\".input-validation-error\").parent().addClass(\"error\");\r\n }\r\n if($(this).hasClass(\"valid\")) {\r\n $(\".valid\").parent().removeClass(\"error\");\r\n $(\".valid\").parent().addClass(\"correct\");\r\n }\r\n });\r\n //Check elements when click the submit button\r\n $(\".contourNavigation .button\").click(function(e){\r\n e.preventDefault();\r\n if($(\".contourFieldSet\").find(\".input-validation-error\")) {\r\n setTimeout(function(){\r\n $(\".input-validation-error\").parent().removeClass(\"correct\");\r\n $(\".input-validation-error\").parent().addClass(\"error\");\r\n }, 0);\r\n }\r\n if($(\".contourFieldSet\").find(\".valid\")) {\r\n setTimeout(function(){\r\n $(\".valid\").parent().removeClass(\"error\");\r\n $(\".valid\").parent().addClass(\"correct\");\r\n }, 0);\r\n }\r\n if($(\".contourFieldSet\").find(\".checkbox.mandatory\") ||\r\n $(\".contourFieldSet\").find(\".multiplechoice.mandatory\")) {\r\n var $allMandatoryCheckbox = $(\".contourFieldSet .checkbox.mandatory input\");\r\n var $allMandatoryList = $(\".contourFieldSet .multiplechoice.mandatory .checkboxlist,\" +\r\n \".contourFieldSet .singlechoice.mandatory .radiobuttonlist\");\r\n var $allMandatoryListInput = $(\".contourFieldSet .multiplechoice.mandatory .checkboxlist input,\" +\r\n \".contourFieldSet .singlechoice.mandatory .radiobuttonlist input\");\r\n $.each($allMandatoryCheckbox, function() {\r\n if(!$(this).is(\":checked\")) {\r\n $(this).parent().addClass(\"not-checked\");\r\n } else {\r\n $(this).parent().removeClass(\"not-checked\");\r\n }\r\n });\r\n $.each($allMandatoryListInput, function() {\r\n if($(this).is(\":checked\")) {\r\n $(this).addClass(\"checked\");\r\n } else {\r\n $(this).removeClass(\"checked\");\r\n }\r\n });\r\n $.each($allMandatoryList, function() {\r\n if($(this).find(\".checked\").length > 0) {\r\n $(this).removeClass(\"list-not-checked\");\r\n } else {\r\n $(this).addClass(\"list-not-checked\");\r\n }\r\n });\r\n }\r\n });\r\n $(\".get-help, .help-tip\").mouseover(function() {\r\n if($(this).hasClass(\"get-help\")) {\r\n $(this).parent().find(\".help-tip\").show();\r\n var helpTipHeight = $(this).parent().find(\".help-tip\").outerHeight();\r\n $(this).parent().find(\".help-tip\").css(\"top\", (helpTipHeight * -1) - 15);\r\n } else if($(this).hasClass(\"help-tip\")) {\r\n $(this).show();\r\n }\r\n }).mouseout(function() {\r\n $(\".help-tip\").hide();\r\n });\r\n }\r\n return {\r\n init: init\r\n };\r\n}();\r\n","'use strict';\r\n/**\r\n* @desc Custom video controls for HTML5 videos inside a custom device\r\n* examples novicell.htmlVideoControls.init();\r\n* @author Sergi Mulà - SMJ\r\n*/\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\n\r\nNovicellCorporate.fashionDeviceHtmlVideoControls = NovicellCorporate.fashionDeviceHtmlVideoControls || function(){\r\n\r\n\tfunction init() {\r\n var videoContainerClassSelector = \".video-fashiondevice-container\";\r\n\r\n var videoClassNameSelector = videoContainerClassSelector + \" .video-background\";\r\n\r\n var videos = document.querySelectorAll(videoClassNameSelector);\r\n\r\n [].forEach.call(videos, function(video) {\r\n\r\n var playButton = video.parentNode.nextElementSibling.getElementsByClassName(\"play-pause\")[0],\r\n\t\t\t\t\tmuteButton = video.parentNode.nextElementSibling.getElementsByClassName(\"mute\")[0];\r\n\r\n var playIcon = playButton.getElementsByClassName(\"play-icon\")[0],\r\n\t\t\t\t\tpauseIcon = playButton.getElementsByClassName(\"pause-icon\")[0],\r\n\t\t\t\t\tmuteIcon = muteButton.getElementsByClassName(\"mute-icon\")[0],\r\n\t\t\t\t\tunmuteIcon = muteButton.getElementsByClassName(\"unmute-icon\")[0];\r\n\r\n var deviceVideoContainer = video.parentNode.parentNode;\r\n\t\t\t\t\tvar videoHasAudio;\r\n\t\t\t\t\tvar mozVideoHasAudio;\r\n\r\n\t\t\t\t\tvideo.addEventListener(\"loadeddata\", function() {\r\n\t\t\t\t\t if (typeof this.webkitAudioDecodedByteCount !== \"undefined\") {\r\n\t\t\t\t\t // non-zero if video has audio track\r\n\t\t\t\t\t if (this.webkitAudioDecodedByteCount > 0) videoHasAudio = true;\r\n\t\t\t\t\t else videoHasAudio = false;\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else if (typeof this.mozHasAudio !== \"undefined\") {\r\n\t\t\t\t\t // true if video has audio track\r\n\t\t\t\t\t if (this.mozHasAudio) mozVideoHasAudio = true;\r\n\t\t\t\t\t else mozVideoHasAudio = false;\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else videoHasAudio = true;\r\n\r\n\t\t\t\t\t\tif(videoHasAudio || mozVideoHasAudio) {\r\n\t\t\t\t\t\t\tmuteButton.addEventListener(\"click\", function(e) {\r\n\t\t e.preventDefault();\r\n\t\t if (video.muted == false) {\r\n\t\t video.muted = true;\r\n\t\t showIcon(unmuteIcon);\r\n\t\t hideIcon(muteIcon);\r\n\t\t } else {\r\n\t\t video.muted = false;\r\n\t\t showIcon(muteIcon);\r\n\t\t hideIcon(unmuteIcon);\r\n\t\t }\r\n\t\t });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tmuteButton.style.display = \"none\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n video.addEventListener(\"click\", function(e) {\r\n e.preventDefault();\r\n if (video.paused == true) {\r\n video.play();\r\n showIcon(pauseIcon);\r\n hideIcon(playIcon);\r\n } else {\r\n video.pause();\r\n showIcon(playIcon);\r\n hideIcon(pauseIcon);\r\n }\r\n });\r\n\r\n });\r\n\t}\r\n\r\n function showIcon(icon) {\r\n icon.style.width = \"40px\";\r\n icon.style.height = \"40px\";\r\n icon.style.opacity = \"1\";\r\n }\r\n\r\n function hideIcon(icon) {\r\n icon.style.width = \"0\";\r\n icon.style.height = \"0\";\r\n icon.style.opacity = \"0\";\r\n }\r\n\r\n\treturn {\r\n\t\tinit: init\r\n\t};\r\n}();\r\n","'use strict';\r\n\r\nvar NovicellCorporate = NovicellCorporate || {};\r\nNovicellCorporate.copymail = NovicellCorporate.copymail || function() {\r\n var footerEmailTips = document.querySelectorAll('#footer .footer-mail-desk');\r\n function setToolTips() {\r\n if (footerEmailTips.length > 0) {\r\n [].forEach.call(footerEmailTips, function(tipItem){\r\n\t\t\ttipItem.addEventListener('click', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t\r\n\t\t\t\tvar mail = tipItem.getAttribute('data-copy-clipboard');\r\n\t\t\t\tvar tip = \tdocument.querySelector('.footer-mail-tip[data-copy-clipboard=\"' + mail + '\"]');\r\n\t\t\t\tvar prevSelect = document.getSelection();\r\n\t\t\t\tif (prevSelect.rangeCount > 0) prevSelect.removeAllRanges();\r\n\t\t\t\t\r\n\t\t\t\tvar range = document.createRange();\r\n\t\t\t\trange.selectNode(tipItem);\t\t\t\t\r\n\t\t\t\twindow.getSelection().addRange(range);\r\n\t\t\t\ttry {\r\n\t\t\t\t var successful = document.execCommand('copy'); \r\n\t\t\t\t var msg = successful ? 'successful' : 'unsuccessful'; \r\n\t\t\t\t console.log('Copy email command was ' + msg);\r\n\t\t\t\t if (tip != null) {\r\n\t\t\t\t\t var tipClass = tip.getAttribute('class');\r\n\t\t\t\t\t if (tipClass.indexOf('footer-mail-tip--active') == -1) {\r\n\t\t\t\t\t\t console.log('class');\r\n\t\t\t\t\t\t tip.setAttribute('class', tipClass + ' ' + 'footer-mail-tip--active');\r\n\t\t\t\t\t\t setTimeout(function() {\r\n\t\t\t\t\t\t\t tip.setAttribute('class', tipClass);\r\n\t\t\t\t\t\t }, 1500);\r\n\t\t\t\t\t }\r\n\t\t\t\t\t} \r\n\t\t\t\t} catch(err) { \r\n\t\t\t\t console.log('Oops, unable to copy'); \r\n\t\t\t\t}\r\n\t\t\t\twindow.getSelection().removeAllRanges();\r\n\t\t });\r\n\t\t});\r\n\t}\r\n }\r\n return {\r\n\t setToolTips: setToolTips\r\n }\r\n}();","'use strict';\r\n\r\n////**\r\n//* detect IE\r\n//* returns version of IE or false, if browser is not Internet Explorer\r\n//*//\r\nvar NovicellCorporate = NovicellCorporate || {};\r\nNovicellCorporate.detectIE = NovicellCorporate.detectIE || function () {\r\n\r\n function isIE() {\r\n var ua = window.navigator.userAgent;\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n return false;\r\n }\r\n return {\r\n isIE: isIE\r\n }\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.chatbotLauncher = novicell.chatbotLauncher || function () {\r\n\tfunction init() {\r\n\t\twindow.addEventListener('hashchange', hashHandler, false);\r\n\t}\r\n\r\n\tfunction initGASender(){\r\n\t\tvar hubspotIframe = document.getElementById('hubspot-messages-iframe-container');\r\n\t\tif (hubspotIframe){\r\n\t\t\thubspotIframe.addEventListener('mouseenter', sendGAEvent, false);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction hashHandler() {\r\n\t\tif (window.hubspot) {\r\n\t\t\tif (location.hash === '#open-chat') {\r\n\t\t\t\ttry {\r\n\t\t\t\t\twindow.HubSpotConversations.widget.open();\r\n\t\t\t\t}\r\n\t\t\t\tcatch (e) {\r\n\t\t\t\t\tconsole.log(\"Chatbot could not be opened.\")\r\n\t\t\t\t}\r\n\t\t\t\tlocation.hash = '';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction sendGAEvent(event) {\r\n\t\tvar id = (event.target.id)? event.target.id : 'no-id';\r\n\t\tga('send', 'event', 'Chatbot', 'mouseenter', id);\r\n\t}\r\n\r\n\treturn {\r\n\t\tinit: init,\r\n\t\tinitGASender: initGASender\r\n\t};\r\n}();\r\n\r\n"]}