$(function(){$('body').on('click','.cookie-lightbox-content .close i',function(e){closeModal();});$('body').on('click','.cookie-banner .manage-cookies-link',function(e){var $this=$(e.target);var windowWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0);var parent=$this.parents('.cookie-banner');if(windowWidth>768){parent.removeClass('close-desk');parent.addClass('open-desk');$('.cookie-lightbox').fadeIn(200);}else{parent.removeClass('close-tab');parent.addClass('open-tab');}
parent.addClass('box');});$('body').on('click','.cookie-banner .accept-all-link',function(e){var $this=$(e.target);$this.parents('.cookie-banner').fadeOut(100);$.ajax({url:'/umbraco/api/CookieConsent/AcceptAll',type:'post',success:function(response){Cookies.set('Diab.Consent',response.consent,{expires:365});console.log('consented to all cookies');consent(response.categories);},error:function(xhr){console.log(xhr);}});});$('body').on('click','#accept-all-modal',function(e){closeModal(true);$.ajax({url:'/umbraco/api/CookieConsent/AcceptAll',type:'post',success:function(response){Cookies.set('Diab.Consent',response.consent,{expires:365});console.log('consented to all cookies');consent(response.categories);},error:function(xhr){console.log(xhr);}});});$('body').on('click','#save-settings',function(e){var $this=$(e.target);closeModal(true);var preferences={};$this.parent('.cookie-lightbox-content').find('input:not(:disabled)').each(function(e){var input=$(this);preferences[input.attr('name')]=input.is(':checked');});var prefs=JSON.stringify(preferences);$.ajax({url:'/umbraco/api/CookieConsent/UpdatePreferences',type:'post',data:{preferences:prefs},success:function(response){Cookies.set('Diab.Consent',response.consent,{expires:365});console.log('update cookie preferences');consent(response.categories);},error:function(xhr){console.log(xhr);}});});});const closeModal=(fade=false)=>{var windowWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0);if(windowWidth>768){$('.cookie-lightbox').fadeOut(200);if($('.cookie-banner').length>0){$('.cookie-banner').removeClass('open-desk');$('.cookie-banner').addClass('close-desk');if(fade){$('.cookie-banner').removeClass('box');setTimeout(()=>{$('.cookie-banner').fadeOut(100);},500);}
else{setTimeout(()=>{$('.cookie-banner').removeClass('box');},100);}}}else{if($('.cookie-banner').length>0){$('.cookie-banner').removeClass('box');$('.cookie-banner').removeClass('open-tab');$('.cookie-banner').addClass('close-tab');if(fade){setTimeout(()=>{$('.cookie-banner').fadeOut(100);},500);}}}};;;
document.addEventListener('DOMContentLoaded',()=>{document.getElementsByTagName("BODY")[0].classList.remove('preload');objectFitImages();var navigationWrapper=document.getElementById('navigationWrapper');var modalNavigationWrapper=document.getElementById('modalNavigationWrapper');const hamburgerClickHandler=(event)=>{event.preventDefault();document.getElementById('hamburger').classList.toggle('is-active');navigationWrapper.classList.toggle('modal-navigation-open');if(navigationWrapper.className.indexOf('modal-navigation-open')>-1){modalNavigationWrapper.classList.add('display-modal');document.getElementsByTagName("BODY")[0].style.overflowY='hidden';document.getElementsByTagName("HTML")[0].style.overflowY='hidden';}
else{navigationWrapper.classList.add('modal-navigation-closing');modalNavigationWrapper.classList.add('modal-navigation-closing');document.getElementsByTagName("BODY")[0].style.overflowY='auto';document.getElementsByTagName("HTML")[0].style.overflowY='auto';setTimeout(()=>{modalNavigationWrapper.classList.remove('modal-navigation-closing');modalNavigationWrapper.classList.remove('display-modal')
navigationWrapper.classList.remove('modal-navigation-closing');},200);}};document.getElementById('hamburger').addEventListener('click',hamburgerClickHandler);});$(document).ready(function(){$(".search-box-holder").hide();$(".search-button, .close-search").click(function(){$(".search-box-holder").slideToggle(100);$(".language-box-holder").hide();$(".login-box-holder").hide();});});$(document).ready(function(){$(".language-box-holder").hide();$(".language-button, .close-language").click(function(){$(".language-box-holder").slideToggle(100);$(".search-box-holder").hide();$(".login-box-holder").hide();});});$(document).ready(function(){$(".login-box-holder").hide();$(".login-button, .close-login").click(function(){var $this=$(this);if($this.attr('href')=='#'){$(".login-box-holder").slideToggle(100);$(".language-box-holder").hide();$(".search-box-holder").hide();}});});$(function(){$.urlParam=function(name){var results=new RegExp('[\?&]'+name+'=([^&#]*)').exec(window.location.search);return(results!==null)?results[1]||0:false;}});$(document).ready(function(){var doc=document.documentElement;var w=window;var prevScroll=w.scrollY||doc.scrollTop;var curScroll;var direction=0;var prevDirection=0;var header=document.getElementById('navigationWrapper');var loggedInWrapper=document.getElementById('theotherone');var checkScroll=function(){curScroll=w.scrollY||doc.scrollTop;if(curScroll>prevScroll){direction=2;}
else if(curScroll<prevScroll){direction=1;}
if(direction!==prevDirection){toggleHeader(direction,curScroll);}
prevScroll=curScroll;};var toggleHeader=function(direction,curScroll){if(direction===2&&curScroll>22){header.classList.add('hide');$(".search-box-holder").hide();$(".language-box-holder").hide();$(".login-box-holder").hide();if(loggedInWrapper!=null){loggedInWrapper.classList.add('hide');}
prevDirection=direction;}
else if(direction===1){header.classList.remove('hide');if(loggedInWrapper!=null){loggedInWrapper.classList.remove('hide');}
prevDirection=direction;}};window.addEventListener('scroll',checkScroll);$('.plus').on('click',function(e){$(this).toggleClass("rotate");$(this).parent().next().slideToggle();e.preventDefault();});$('body').on('click','.filter-holder .button',function(e){e.preventDefault();var $this=$(e.target);var region=$this.data('id');var name=$this.data('name');var parent=$this.parents('.filter-holder');$(parent).find('.button.active').toggleClass('active');$(parent).find('select').prop('selectedIndex',0);$('.item-container.error').hide();$this.addClass('active');var target=$(parent).data('target');var targetItem=$(parent).data('target-item');var targetParent=$(parent).data('parent')!=undefined;var filter=$('.contact-holder input:checked');if(region==undefined){if($this.data('head')!=undefined){$(target).find(targetItem).each(function(index){var item=$(this);if(item.hasClass('head')){if(targetParent){item.parent().show();}else{item.show();}
zoomCountry(item.children('.country').text());}else{if(targetParent){item.parent().hide();}else{item.hide();}}});}else{$(target).find(targetItem).each(function(index){var item=$(this);var location=item.data('location');var pass=false;if(filter.length>0){filter.each(function(e){if($(this).data('type')==location){pass=true;}});}else pass=true;if(pass){if(targetParent){item.parent().show();}else{item.show();}}else{if(targetParent){item.parent().hide();}else{item.hide();}}});}}else{$(target).find(targetItem).each(function(index){var item=$(this);if(item.data('region')!=region){if(targetParent){item.parent().hide();}else{item.hide();}}else{var location=item.data('location');var pass=false;if(filter.length>0){filter.each(function(e){if($(this).data('type')==location){pass=true;}});}else pass=true;if(pass){if(targetParent){item.parent().show();}else{item.show();}}else{if(targetParent){item.parent().hide();}else{item.hide();}}}});}
updateMarkers($(target).find('.location:visible .item'));if(name!=undefined){zoomContinent(name);}});$('body').on('change','.filter-holder select',function(e){var $this=$(e.target);var country=$this.val();var countryName=$this.find(':selected').data('name');var error=$this.find(':selected').hasClass('substitute');if(error){$('.item-container.error').show();}else{$('.item-container.error').hide();}
var parent=$this.parents('.filter-holder');$(parent).find('.button.active').toggleClass('active');var target=$(parent).data('target');var filter=$('.contact-holder input:checked');if(country==""){$(target).find('.location .item').each(function(index){var item=$(this);var location=item.data('location');var pass=false;if(filter.length>0){filter.each(function(e){if($(this).data('type')==location){pass=true;}});}else pass=true;if(pass){item.parent().show();}else{item.parent().hide();}});}else{$(target).find('.location .item').each(function(index){var item=$(this);if(item.data('country')!=country){item.parent().hide();}else{var location=item.data('location');var pass=false;if(filter.length>0){filter.each(function(e){if($(this).data('type')==location){pass=true;}});}else pass=true;if(pass){item.parent().show();}else{item.parent().hide();}}});updateMarkers($(target).find('.location:visible .item'));zoomCountry(countryName);}});$('body').on('change','.contact-holder .switch input[type=checkbox]',function(e){var $this=$(this);var parent=$this.parents('.contact-holder');var target=$(parent).data('target');var filter=$(parent).find('input:checked');$(target).find('.location .item').each(function(index){var item=$(this);var location=item.data('location');var pass=false;if(filter.length>0){filter.each(function(e){if($(this).data('type')==location){pass=true;}});}else pass=true;if(!pass){item.parent().hide();}else{var button=$('.filter-holder .button.active');var dropdown=$('.filter-holder select');var buttonPass=false;var dropdownPass=false;if(button.length>0){var region=$(button[0]).data('id');if(region==undefined){if($(button[0]).data('head')!=undefined){if(item.hasClass('head')){buttonPass=true;}}else{buttonPass=true;}}else{if(item.data('region')==region){buttonPass=true;}}}else buttonPass=true;var dropdownVal=dropdown.val();if(dropdownVal!=""){if(item.data('country')==dropdownVal){dropdownPass=true;}}else dropdownPass=true;if(buttonPass&&dropdownPass){item.parent().show();}else{item.parent().hide();}}});updateMarkers($(target).find('.location:visible .item'));});$('body').on('click','.language-box .options a, .modal-navigation-menu .lang-option a',function(e){e.preventDefault();$('#language').val($(this).attr('data-href'));$('.language-box form').submit();});$('body').on('click','.faq-container .question',function(e){var $this=$(this);$this.toggleClass(['arrow','arrow-active']);$this.children('.answer').slideToggle().toggleClass('hide');});$('body').on('click','#search-load-more',function(e){e.preventDefault();var pageSize=10;var skipCount=$('.results').children().length;var count=$(e.target).data('count');var filter=$.urlParam('filter');if(filter==false){filter=0;}
$.ajax({url:'/umbraco/surface/search/LoadMore',type:'get',data:{searchTerm:$.urlParam('query'),pageSize:pageSize,skipCount:skipCount,filter:filter,culture:document.documentElement.lang,portal:false},success:function(response){$('.results').append(response);},error:function(xhr){console.log(xhr);}});setTimeout(()=>{if(count==$('.results').children().length){$('#search-load-more').hide();}},50);});$('body').on('click','.paginate a:not(.active)',function(e){e.preventDefault();var $this=$(e.target);var number=$this.text();$this.parent().children('.active').toggleClass('active');$this.toggleClass('active');$.ajax({url:'/umbraco/surface/news/Index',type:'get',data:{page:number,id:$this.parents('.paginate').data('id'),culture:document.documentElement.lang},success:function(response){$('.news-list .content').empty().append(response);},error:function(xhr){console.log(xhr);}});});$('body').on('click','.case-results-holder .filtering a',function(e){e.preventDefault();$('.case-results-holder .results .result').show();$('.filtering select').each(function(){var $this=$(this);$this.val($this.children('option:first').val());});});$('body').on('change','.case-results-holder .filtering select',function(e){e.preventDefault();var value=this.value;$('.case-results-holder .results .result').each(function(){var $this=$(this);var tags=$this.data('tags');if(typeof tags=="string"&&tags.includes(value)||tags==value){$this.show();}else{$this.hide();}});});$('body').on('click','#articles-load-more',function(e){console.log("articles-load-more");e.preventDefault();var pageSize=12;var skipCount=$('.news-listing').children().length;var count=$(e.target).data('count');var id=$(e.target).data('id');$.ajax({url:'/umbraco/surface/news/LoadMore',type:'get',data:{id:id,pageSize:pageSize,skipCount:skipCount,culture:document.documentElement.lang},success:function(response){console.log("articles-load-more success");console.log(response);$('.results').append(response);$('.news-listing').append(response);},error:function(xhr){console.log("articles-load-more error");console.log(xhr);}});setTimeout(()=>{if(count==$('.news-listing').children().length){console.log("articles-load-more hide-load-more");$('#articles-load-more').hide();}},50);});$('body').on('submit','.subscribe-form',function(e){e.preventDefault();var form=$(this);if(form.find('input[name=consent]').is(':checked')){$.ajax({url:'/umbraco/surface/mailchimp/Subscribe',type:'post',data:form.serialize(),success:function(response){if(response.success){form.find('.success-message').show();setTimeout(()=>form.find('.success-message').fadeOut(100),2000);form[0].reset();}else{form.find('.fail-message').show();setTimeout(()=>form.find('.fail-message').fadeOut(100),2000);}
console.log(response.message);},error:function(xhr){console.log(xhr);form.find('.fail-message').show();setTimeout(()=>form.find('.fail-message').fadeOut(100),2000);}});}});alignChildren('.item-holder','.one-item','.text p');alignChildren('.results','.result','h3');alignChildren('.items-holder .content','.location','.name');alignChildren('.items-holder .content','.location','.address');alignChildren('.items-holder .content','.location','.contact');$('body').on('click','.save-button-csg',function(e){e.preventDefault();var qs=window.location.search;$.ajax({url:'/umbraco/surface/savedcontent/SaveCSG',type:'post',data:{query:qs},success:function(request){if(request.success){$('.saved-configurations ul').append('<li><a href="'+qs+'">'+request.name+'</a><a href="#" class="delete-button-csg" data-hash="'+request.hash+'"><i class="fas fa-times"></i></a></li>');}},error:function(xhr){console.log(xhr);}});});$('body').on('click','.delete-button-csg',function(e){e.preventDefault();var $this=$(this);var hash=$this.data('hash');$.ajax({url:'/umbraco/surface/savedcontent/DeleteCSG',type:'post',data:{hash:hash},success:function(request){if(request.success){$this.parent().remove();}},error:function(xhr){console.log(xhr);}});});$('body').on('click','.save-button-favorites',function(e){e.preventDefault();var id=$(this).data('id');$.ajax({url:'/umbraco/surface/savedcontent/SaveFavorite',type:'post',data:{id:id},success:function(request){if(request.success){}},error:function(xhr){console.log(xhr);}});});$('body').on('click',"#logout-button",function(e){e.preventDefault();$('.logged-in-nav form').submit();});$('body').on('click',"#wechat-link",function(e){e.preventDefault();$('.wechat-lightbox').fadeIn(200);});$('body').on('click',".wechat-lightbox .close",function(e){e.preventDefault();$('.wechat-lightbox').fadeOut(200);});$('body').on('submit','.book-a-meeting-form',function(e){e.preventDefault();var form=$(this);if(form.find('input[name=consent]').is(':checked')){$.ajax({url:'/umbraco/surface/booking/BookMeeting',type:'post',data:form.serialize(),success:function(response){if(response.success){form.find('.success-message').show();setTimeout(()=>form.find('.success-message').fadeOut(100),2000);form[0].reset();}else{form.find('.fail-message').show();setTimeout(()=>form.find('.fail-message').fadeOut(100),2000);}
console.log(response.message);$('html, body').animate({scrollTop:form.offset().top-200},1000);},error:function(xhr){console.log(xhr);form.find('.fail-message').show();setTimeout(()=>form.find('.fail-message').fadeOut(100),2000);$('html, body').animate({scrollTop:form.offset().top-200},1000);}});}});});let map;let geocoder;let markers;function initMap(){google.maps.Map.prototype.latestInfoWindow;google.maps.Map.prototype.closeInfoWindow=function(){if(this.latestInfoWindow!=undefined)
this.latestInfoWindow.close();};var locations=new Array();markers=new Array();var orangeDot={path:'M 11, 11 m -11, 0 a 11,11 0 1,0 22,0 a 11,11 0 1,0 -22,0',strokeColor:'#ef7c00',fillColor:'#ef7c00',fillOpacity:1,};var greenDot={path:'M 11, 11 m -11, 0 a 11,11 0 1,0 22,0 a 11,11 0 1,0 -22,0',strokeColor:'#009b2a',fillColor:'#009b2a',fillOpacity:1};var blueDot={path:'M 11, 11 m -11, 0 a 11,11 0 1,0 22,0 a 11,11 0 1,0 -22,0',strokeColor:'#007ac4',fillColor:'#007ac4',fillOpacity:1};$('.items-holder .location .item').each(function(index){var item=$(this);var country=item.children('.country');var dot=blueDot;if(country.hasClass('green-dot')){dot=greenDot;}
if(country.hasClass('orange-dot')){dot=orangeDot;}
locations.push({long:item.data('long'),lat:item.data('lat'),zoom:item.data('zoom'),title:item.children('.name').text(),head:item.hasClass('head'),info:'<strong>'+item.children('.name').html()+'</strong><br/>'+item.children('.address').html()+'<br/>'+item.children('.contact').html(),id:item.data('id'),hide:item.is(':hidden'),dot:dot});});var head=locations.find(x=>x.head);if(head==undefined){head=locations[0];}
var mapDoc=document.getElementById('map');map=new google.maps.Map(mapDoc,{center:{lat:head.lat,lng:head.long},zoom:mapDoc.classList.contains('single')?9:3,disableDefaultUI:true,styles:[{"elementType":"geometry","stylers":[{"color":"#f5f5f5"}]},{"elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"elementType":"labels.text.fill","stylers":[{"color":"#616161"}]},{"elementType":"labels.text.stroke","stylers":[{"color":"#f5f5f5"}]},{"featureType":"administrative.land_parcel","elementType":"labels.text.fill","stylers":[{"color":"#bdbdbd"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#eeeeee"}]},{"featureType":"poi","elementType":"labels.text.fill","stylers":[{"color":"#757575"}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#e5e5e5"}]},{"featureType":"poi.park","elementType":"labels.text.fill","stylers":[{"color":"#9e9e9e"}]},{"featureType":"road","elementType":"geometry","stylers":[{"color":"#ffffff"}]},{"featureType":"road.arterial","elementType":"labels.text.fill","stylers":[{"color":"#757575"}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"color":"#dadada"}]},{"featureType":"road.highway","elementType":"labels.text.fill","stylers":[{"color":"#616161"}]},{"featureType":"road.local","elementType":"labels.text.fill","stylers":[{"color":"#9e9e9e"}]},{"featureType":"transit.line","elementType":"geometry","stylers":[{"color":"#e5e5e5"}]},{"featureType":"transit.station","elementType":"geometry","stylers":[{"color":"#eeeeee"}]},{"featureType":"water","elementType":"geometry","stylers":[{"color":"#6cc3f7"}]},{"featureType":"water","elementType":"labels.text.fill","stylers":[{"color":"#ffffff"}]}]});locations.forEach(element=>{var m=new google.maps.Marker({position:{lat:element.lat,lng:element.long},map:element.hide?null:map,title:element.title,location_id:element.id,icon:element.dot});m.infowindow=new google.maps.InfoWindow({content:element.info});if(element.info.length>0){google.maps.event.addListener(m,'click',function(){this.map.closeInfoWindow();this.infowindow.open(this.map,this);this.map.latestInfoWindow=this.infowindow;});}
markers.push(m);});geocoder=new google.maps.Geocoder();}
function zoomCountry(location){if(geocoder==undefined)return;geocoder.geocode({'address':location},function(results,status){if(status==google.maps.GeocoderStatus.OK){map.setCenter(results[0].geometry.location);if(results[0].geometry.viewport)
map.fitBounds(results[0].geometry.viewport);}else{alert("Could not find location: "+location);}});}
function zoomContinent(location){if(geocoder==undefined)return;geocoder.geocode({'address':location},function(results,status){if(status==google.maps.GeocoderStatus.OK){map.setCenter(results[0].geometry.location);map.setZoom(4);}else{alert("Could not find location: "+location);}});}
function updateMarkers(children){if(markers==undefined)return;var ids=new Array();children.each(function(index){var item=$(this);ids.push(item.data('id'));});markers.forEach(marker=>{if(!ids.includes(marker.location_id)){marker.setMap(null);}else{marker.setMap(map);}});}
function alignChildren(parent,child,segment){$(parent).each(function(){var tallest=0,height;$(this).children(child).each(function(){height=$(this).find(segment).height();if(height>tallest)
tallest=height;});$(this).find(child+' '+segment).height(tallest);});}
var shareButtons=document.querySelectorAll(".dreambroker-sharethis-button");for(let i=0;i<shareButtons.length;i++){shareButtons[i].addEventListener('click',function(){var shareThisButtons=shareButtons[i].nextElementSibling;shareThisButtons.classList.toggle("open");});};;
