var SkolonMenuButton = (function() { var cssInjected = false; var injectCss = function() { if (cssInjected) { return; } var fontFaceStyle = document.createElement("style"); fontFaceStyle.type = 'text/css'; var inlineCSS = "/* lato-regular - latin-ext_latin */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; src: url('https://skolon-public.objects.dc-sto1.glesys.net/fonts/lato-v20-latin-ext_latin-regular.woff2') format('woff2'), url('https://skolon-public.objects.dc-sto1.glesys.net/fonts/lato-v20-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */}/* lato-700 - latin-ext_latin */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; src: url('https://skolon-public.objects.dc-sto1.glesys.net/fonts/lato-v20-latin-ext_latin-700.woff2') format('woff2'), url('https://skolon-public.objects.dc-sto1.glesys.net/fonts/lato-v20-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */}.skolon-menu-button, a.skolon-menu-button { position: relative; text-align: left; color: #000; display: none; text-transform: none; line-height: normal; width: 50px; height: 50px; background-color: white; background-image: url('https://api.skolon.com//static/icons/skolon-logo.svg'); background-size: 35px; background-position: center; background-repeat: no-repeat; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; cursor: pointer; border: solid 1px #DEDEDE;}.skolon-menu-button.skolon-rendered, a.skolon-menu-button.skolon-rendered { display: inline-block;}.skolon-menu-button.skolon-whitelabel, a.skolon-menu-button.skolon-whitelabel { background-image: url('https://api.skolon.com//static/icons/skolon-icon.svg'); background-size: 24px 28px; background-position: center 12px;}.skolon-menu-button.skolon-shadow, a.skolon-menu-button.skolon-shadow { -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); -moz-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);}.skolon-menu-button.skolon-large, a.skolon-menu-button.skolon-large { width: 60px; height: 60px; background-size: 50px;}.skolon-menu-button .skolon-menu-button-dropdown, a.skolon-menu-button .skolon-menu-button-dropdown { width: 320px; display: none; position: absolute; top: 100%; left: auto; right: 0px; margin-top: 9px; font-weight: normal; background-color: #FFF; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); -moz-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);}.skolon-menu-button .skolon-menu-button-dropdown::after, a.skolon-menu-button .skolon-menu-button-dropdown::after { bottom: 100%; left: auto; right: 19px; border: solid transparent; content: ''; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(255, 255, 255, 0); border-bottom-color: #fff; border-width: 6px;}.skolon-menu-button .skolon-menu-button-dropdown.skolon-menu-button-dropdown-right, a.skolon-menu-button .skolon-menu-button-dropdown.skolon-menu-button-dropdown-right { left: 0px; right: auto;}.skolon-menu-button .skolon-menu-button-dropdown.skolon-menu-button-dropdown-right::after, a.skolon-menu-button .skolon-menu-button-dropdown.skolon-menu-button-dropdown-right::after { right: auto; left: 19px;}"; if (fontFaceStyle.styleSheet) { fontFaceStyle.styleSheet.cssText = inlineCSS; } else { fontFaceStyle.appendChild(document.createTextNode(inlineCSS)); } document.head.appendChild(fontFaceStyle); cssInjected = true; }; var render = function () { injectCss(); var skolonButtonClass = 'skolon-menu-button'; var skolonDropdownClass = "skolon-menu-button-dropdown"; var skolonDropdownRightClass = 'skolon-menu-button-dropdown-right'; var selector = '.' + skolonButtonClass; selector += '[data-always-show]'; var divWrapper = document.querySelector(selector); if (divWrapper != null) { var classNames = ['skolon-menu-button']; var addShadow = divWrapper.dataset.shadow; if (addShadow != "false") { classNames.push('skolon-shadow'); } var useWhitelabelBg = divWrapper.dataset.useWhitelabel; if (useWhitelabelBg === "true") { classNames.push('skolon-whitelabel'); } classNames.push('skolon-rendered'); var menuButton = document.createElement('div'); menuButton.className = classNames.join(' '); menuButton.innerHTML = '
'; for (var dataAttr in divWrapper.dataset) { menuButton.dataset[dataAttr] = divWrapper.dataset[dataAttr]; } if ('entityId' in menuButton.dataset) { var entityId = menuButton.dataset.entityId; var iframe = menuButton.querySelector('iframe'); var anchor = document.createElement('a'); anchor.href = iframe.src; if (anchor.search) { anchor.search += '&idp=' + entityId; } else { anchor.search += '?idp=' + entityId; } iframe.src = anchor.href; } var toggleSkolonMenu = function(e) { if (menuButton.contains(e.target)) { return; } var dropdownMenu = menuButton.getElementsByClassName(skolonDropdownClass)[0]; dropdownMenu.style.display = "none"; window.removeEventListener("click", toggleSkolonMenu); } menuButton.onclick = function(e) { var dropdownMenu = menuButton.getElementsByClassName(skolonDropdownClass)[0]; if (dropdownMenu.contains(e.target)) { return; } if (dropdownMenu.style.display === 'block') { dropdownMenu.style.display = "none"; window.removeEventListener("click", toggleSkolonMenu); } else { var rect = menuButton.getBoundingClientRect(); var onRightHalf = (rect.left + (rect.right - rect.left) / 2) > document.documentElement.clientWidth / 2; if (!onRightHalf && dropdownMenu.className.indexOf(skolonDropdownRightClass) === -1) { dropdownMenu.className += ' ' + skolonDropdownRightClass; } else if (onRightHalf && dropdownMenu.className.indexOf(skolonDropdownRightClass) !== -1) { var startIndex = dropdownMenu.className.indexOf(skolonDropdownRightClass); var endIndex = startIndex + skolonDropdownRightClass.length; var newClassName = dropdownMenu.className.substring(0, startIndex) + dropdownMenu.className.substring(endIndex); dropdownMenu.className = newClassName; } dropdownMenu.style.display = "block"; window.addEventListener("click", toggleSkolonMenu, false); } }; // divWrapper.appendChild(menuButton); divWrapper.parentNode.replaceChild(menuButton, divWrapper); } }; var scriptStatus = {"status":"NO_AUTHENTICATED_USER"}; var setupSkolonMenuButton = function() { render(); } window.addEventListener('message', function (event) { var message = event.data; if (!message) return; var endsWith = function(origin, suffix) { return origin.indexOf(suffix, origin.length - suffix.length) !== -1; }; if (message.type === 'skolon-click' && message.location && (endsWith(event.origin, '.skolon.com') || endsWith(event.origin, '://skolon.com'))) { window.location = message.location; } }); if (window.angular && angular && angular.element && angular.element(document).ready) { angular.element(document).ready(function() { setupSkolonMenuButton(); }); } else if (document.readyState === "complete") { setupSkolonMenuButton(); } else { window.addEventListener("load", setupSkolonMenuButton, false); } return { status: scriptStatus.status, render: render }; })();