window.isGoogleTranslate = window.location.host === "translate.googleusercontent.com";

// portaal code
jQuery(document).ready(function() {
	var oPortal = jQuery('.enableportal');
	if (oPortal.length == 0) {
		return;
	}
	if (oPortal.hasClass('fromportal')) {
		setCookie('skipportal', 'true');
		return;
	}
	if (getCookie('skipportal') == 'true') {
		return;
	}
	if (window.location.pathname != '/') {
		return;
	}
	window.location.href = '/portaal/';
});
// eind portaal code

$(document).ready(function(){
	$(" .medewerkers3 .emailImg, .medewerkers3 .telefoonImg, .medewerkers3 .mobielImg").hover(function(){
//		resetContactLabels($(this));
		$(this).children().stop().slideToggle();
	})
	
	//Jquery UI rotator
	if(window.location.search.indexOf('norandom=true') == 1){
		$(".bannerTabsList").tabs().tabs("rotate", 0, true);
		$(".bannerTabsSlider").tabs().tabs("rotate", 0, true);
	} else{
		$(".bannerTabsList").tabs().tabs("rotate", 5000, true);
		$(".bannerTabsSlider").tabs().tabs("rotate", 5000, true);
	}
	$(".contactContent").tabs({fx:{opacity: "toggle"}});
	
	
	// "Lees meer" knopjes detailpagina
	$(".readMore").click(function(){
		var href = $(this).attr("href");
		$(".tabMenuItem").find("a[href='"+href+"']").click();
		return false;
	});
	$(".inschrijvenButton").click(function() {
		jQuery('#tabItem_Inschrijven').click();
		return false;
	});
	$(".reagerenButton").click(function() {
		jQuery('#tabItem_Reageren').click();
//		return false;
	});
	
	$(".verkopendevestiging-email").click(function() {
		jQuery('#tabItem_Reageren').click();
		return false;
	});
	
	//In IE8 werken de clickhandlers op de selectbox niet clickhandlers werken ook niet met googleTranslate.
	if (navigator.userAgent.indexOf("MSIE 8.0") == -1 && getCookie("currentLang", "nl") == "nl") {
		//Hier willen we geen jquery.selectbox.
		$('select').not(
				".inschrijfformulier #cities, " +
				".inschrijfformulier #selectedCities," +
				".plaatsenselect select," +
				"select[multiple]," +
				".daycolumn," +
				".monthcolumn," +
				".yearcolumn," +
				"#cbs_type," +
				"#cbs_compare_1," +
				"#cbs_compare_2").selectBox();
	}

	setTimeout(function() {
		jQuery('.imageSliderBlok .objectFoto').each(function(){
			jQuery(this).find('.main_image').wrap(jQuery(this).children('a')[0]);
			
		});
	}, 0);
	setTimeout(gotoAnchor, 0);
	
	
	//Inschrijfformulier departmentselect
	if (jQuery(".vestigingSelect").size() > 0) {
		var vestigingSelect = jQuery(".vestigingSelect #inschrijvingDepId");
		jQuery(".inschrijfformulier input").click(function(){
			if (vestigingSelect.val() == "") {
				alert("Kies eerst een vestiging");
			}
		})
		
		vestigingSelect.change(function(){
			var departmentId = jQuery(this).val();
			if (!departmentId == "") {
				window.location.href = "?inschrijvingDepId=" + departmentId;
			} else {
				window.location.href = ".";
			}
		});
		
		jQuery(".inschrijfformulier").bind("submit", function(){
				if ($(".vestigingSelect #inschrijvingDepId").val() == '') {
					alert("Maak een keuze bij 'Vestiging'");
					return false;	
				}
		});
	}
	//Inschrijfnieuwbouwformulier departmentselect
	if (jQuery(".vestigingSelect").size() > 0) {
		var vestigingSelect = jQuery(".vestigingSelect #departmentid");
		jQuery(".nieuwbouwInschrijfForm input").click(function(){
			if (vestigingSelect.val() == "") {
				alert("Kies eerst een vestiging");
			}
		})
		jQuery(".nieuwbouwInschrijfForm").bind("submit", function(){
			if (vestigingSelect.val() == '') {
				alert("Maak een keuze bij 'Vestiging'");
				return false;
			}
		});
	}
	//Inschrijfhuurformulier departmentselect
	if (jQuery(".departmentSelect").size() > 0) {
		var vestigingSelect = jQuery(".departmentSelect #departmentid");
		jQuery(".vgmInschrijfForm input").click(function(){
			if (vestigingSelect.val() == "") {
				alert("Kies eerst een vestiging");
			}
		})
		jQuery(".vgmInschrijfForm").bind("submit", function(){
			if (vestigingSelect.val() == '') {
				alert("Maak een keuze bij 'Vestiging'");
				return false;
			}
		});
	}

	//Fancybox
	jQuery("a[rel='fotosoverzicht'],a[rel='tabbouwtypes']").fancybox({
		'type' : 'image',
		'prevEffect' : 'none',
		'nextEffect' : 'none',
		buttons : [
			'slideShow',
			'fullScreen',
			'thumbs',
			'close'
		],
		thumbs : {
			axis: 'x'
		},
	});
	jQuery("a[rel='fotos']").fancybox({
		'type' : 'image',
		'prevEffect' : 'none',
		'nextEffect' : 'none',
		buttons : [
			'slideShow',
			'fullScreen',
			'thumbs',
			'close'
		],
		thumbs : {
			axis: 'x'
		},
		onInit: function (instance) {
					/*
					 * Op objectpresentatie zit de hoofdfoto samen met de andere foto's in 1 relgroup. Hierdoor heb je
					 * 2 dezelfde foto's. Verwijder de Hoofdfoto uit de group zodat er geen dubbele hoofdfoto's meer hebt in de rel group.
					 * Zet vervolgens de index op -1 zodat de index weer klopt!
					 */
					if (instance.group.length > 1) {
						if (instance.group[0].href == instance.group[1].href) {
							this.group.splice(0, 1);
							for (image in this.group) {
								instance.group[image].index--;
							}
							if (instance.currIndex > 0) {
								instance.currIndex--;
							}
						}
					}
				}
	});
	jQuery("a[rel='plan'],a[rel='bekijkComplexTypes']").fancybox({
		'type' : 'iframe',
		'prevEffect' : 'none',
		'nextEffect' : 'none',
		buttons : [
			'slideShow',
			'fullScreen',
			'thumbs',
			'close'
		],
		thumbs : {
			axis: 'x'
		}
	});

	/*
	 * Fancy boxes initialiseren voor Helpmee media
	 */
	jQuery("a[rel='helpmeeMedia']").fancybox({
		'type' : 'image',
		'prevEffect' : 'none',
		'nextEffect' : 'none',
		buttons : [
			'slideShow',
			'fullScreen',
			'thumbs',
			'close'
		],
		thumbs : {
			axis: 'x'
		}
	});

	jQuery("a.aankomendaanbod_interesse_form").fancybox({
		type: 'iframe',
		iframe: {
			preload : false,
			css: {
				maxWidth: '950px'
			}
		},
		buttons : [
			'fullScreen',
			'close'
		]
	});
	jQuery("a[href='/privacy/']").fancybox({
		type: 'iframe',
		iframe: {
			preload : false,
			css: {
				maxWidth: '950px'
			}
		},
		buttons : [
			'fullScreen',
			'close'
		]
	});
	
	//Pas volgorde van googlemap en streetview aan in vestigingvariant3.
	jQuery('.vestiging3 .googlemapContainer').each(function(i, o) {
		var oCon = jQuery(o);oCon.children('.googlemap').remove().appendTo(oCon);
	});

	setMinHeightContactPageForm();
});


/*
 * Voorkomt dat de vestigingen op de contactpagina onder het contactformulier verdwijnen.
 * 
 * -- Wanneer men meer dan een bepaald aantal vestigingen heeft, kan de totale lengte van de
 * -- vestigingenkolom aan de rechterkant langer worden dan de lengte van het contactformulier. 
 * -- Dit heeft als gevolg dat vestigingsblokken ruimte zien om aan de linker kant in te schuiven.
 */
function setMinHeightContactPageForm() {
	if (!jQuery( "#body.page-contact " ).length) {
		return;
	}
	if (jQuery(window).width() <= 960) {
		jQuery('.contact-blokcontactform').css("min-height", '');
		return;
	}
	var requiredContactFormHeight = 0;
	var blokken = document.getElementsByClassName("contact-blokcontact");
	
	for (var i = 0; i < blokken.length; i ++) {
		requiredContactFormHeight += jQuery(blokken.item(i)).outerHeight(true);
	}
	
	requiredContactFormHeight += jQuery('.contact-blokmaps').outerHeight(true);
	
	jQuery('.contact-blokcontactform').css("min-height", requiredContactFormHeight);
}

/*
 * TODO Dit kan mogelijk efficienter
 * Zit er in om als je een window van heel small (1breed) verbreed naar bijvoorbeeld 
 * 3 breed schuiven de blokken niet meer goed aan.
 */ 
jQuery(function(){
	jQuery(window).resize(function() {
		setMinHeightContactPageForm();
		updateMasonry();
	});
})

function getResizedFancyBoxImage(url, imageMaxHeight, imageMaxWidth) {
	if (url.indexOf('width') > -1) {
		url = url.replace(/(resize=)[^\&]+/, '$1' + '1'); // update the resize
		url = url.replace(/(width=)[^\&]+/, '$1' + imageMaxWidth); // update the width
		url = url.replace(/(height=)[^\&]+/, '$1' + imageMaxHeight); // update the height
	} else {
		url = url.replace(/(resize=)[^\&]+/, '$1' + "1&width="+imageMaxWidth+"&height="+imageMaxHeight); // update the resize

	}
	
	return url;
}

function initFloorplanner() {
	var iframe = $("#floorplanner iframe");
	if (iframe.data('src')) {
		iframe.prop('src', iframe.data('src')).data('src', false);
	}
}

function initVirtueleTour(){
	var iframe = $("#virtueletour iframe");
	if (iframe.length > 1) {
		$("#virtueletour iframe").map(function() {
			$(this).prop('src', $(this).data('src')).data('src', false);
		});
	} else {
		if (iframe.data('src')) {
			iframe.prop('src', iframe.data('src')).data('src', false);
		}
	}
}
$(document).ready(function() {
	var body = jQuery("#body");
	if (body.hasClass("page-presentatie")) {
		isMediaUrlAnchored();
	}

	function isMediaUrlAnchored() {
		if (location.hash == "#3D_Plattegrond") {
			initFloorplanner();
		} else if (location.hash == "#Virtuele_Tour") {
			initVirtueleTour();
		}
	}
});

function initPanorama(){
	var iframe = $("#panorama iframe");
	iframe.remove();
	iframe.appendTo("#panorama");
		
}

function gotoAnchor() {
	var hash = window.location.hash;
	if (hash == '') {
		return;
	}
	var oElem = jQuery('*[name="' + hash.substring(1) + '"]');
	var oTab = oElem.closest('.ui-tabs-panel');
	var oTabHandler = jQuery('#tabItem_' + oTab.attr('id'));
	oTabHandler.click();
	oElem.click();
}

function videoCallBack(video){
	video.fancybox({
		width		: '90%',
		height		: '90%',
		maxWidth	: 850,
		maxHeight	: 480,
		type 		: 'iframe',
		openEffect	: 'none',
		closeEffect	: 'none',
		arrows		: false,
		buttons : [
			'slideShow',
			'thumbs',
			'close'
		],
		iframe: {
			preload : false,
		}
	});
}

//spotlight
jQuery(function() {
	
	var windowWidth = $(".spotlightBlok .absolute").outerWidth();
	var elementWidth = $(".spotlightBlok .absolute li:first-child").outerWidth(true);
	var numberOfElements = Math.round(windowWidth / elementWidth);;
	
	function toggleButtons(e, li) {
		var spotlightIdentifier = "#" + jQuery(e.target).closest(".spotlight").attr('id') + ".spotlight";
		var position = 0;
		$(spotlightIdentifier + " li").each(function(index ,element) {
			if (li == element) {
				position = index;
				return true;
			}
		});
	}
	

	//Gebruik hier de div selector. Anders pakt hij ook .spotlight van het menu omdat er een menu-item is genaamt spotlight. Dit heeft ook de
	//class spotlight.	
	jQuery('div.spotlight').each(function(i, o) {
		var id = jQuery(o).attr('id');
		
		var scrollElement = jQuery('#' + id + ' .absolute');
		var scrollInterval = 0;
		
		if (jQuery(o).hasClass('auto-cycle') && window.location.search.indexOf('norandom=true') != 1) {
			scrollInterval = 5000;
		}
		
		scrollElement.serialScroll({
			items:'li',
			prev:'#' + id + ' div.vorige',
			next:'#' + id + ' div.volgende',
			force:true,
			stop:true,
			lock:true,
			cycle:true,
			interval: scrollInterval,
			easing:'easeOutQuart',
			onBefore: toggleButtons,
			exclude: numberOfElements - 1
		});
	});
});


$(document).ready(function(){  
	
	var iOS = /iPad|iPhone|iPod/.test( navigator.userAgent );
	
	$(".boxgrid.caption").hover(function(){  
		$(".cover", this).stop().animate({top:"0px"},{queue:false,duration:250});
		$(".cover .tooltip_telefoon").css("display","none");
		$(".cover .tooltip_mobiel").css("display","none");
		$(".cover .tooltip_email_medewerker").css("display","none");
	}, function() {  
		$(".cover", this).stop().animate({top:"330px"},{queue:false,duration:250});
	}); 
	
	$(".boxgrid .tooltip_telefoon, .boxgrid .tooltip_mobiel, .boxgrid .tooltip_email_medewerker").css("display","none");
	
	if (iOS) {
		$(".boxgrid .email_medewerker", this).click(function() {
			var parent = $(this).parent();
			parent.find(".tooltip_email_medewerker").toggle();
			parent.find(".tooltip_telefoon").css("display","none");
			parent.find(".tooltip_mobiel").css("display","none");
		}); 
		$(".boxgrid .telefoon", this).click(function() {
			var parent = $(this).parent();
			parent.find(".tooltip_telefoon").toggle();
			parent.find(".tooltip_mobiel").css("display","none");
			parent.find(".tooltip_email_medewerker").css("display","none");
		}); 
		$(".boxgrid .mobiel", this).click(function() {
			var parent = $(this).parent();
			parent.find(".tooltip_mobiel").toggle();
			parent.find(".tooltip_telefoon").css("display","none");
			parent.find(".tooltip_email_medewerker").css("display","none");
		}); 
	} else {
		$(".boxgrid .email_medewerker", this).mouseenter(function() {
			$(this).parent().find(".tooltip_email_medewerker").css("display","inline-block");
		}); 
		$(".boxgrid .telefoon", this).mouseenter(function(){  
			$(this).parent().find(".tooltip_telefoon").css("display","inline-block");
		}); 
		$(".boxgrid .mobiel", this).mouseenter(function(){  
			$(this).parent().find(".tooltip_mobiel").css("display","inline-block");
		}); 
		$(".boxgrid .email_medewerker", this).mouseleave(function(){  
			$(this).parent().find(".tooltip_email_medewerker").css("display","none");
		}); 
		$(".boxgrid .telefoon", this).mouseleave(function(){  
			$(this).parent().find(".tooltip_telefoon").css("display","none");
		}); 
		$(".boxgrid .mobiel", this).mouseleave(function(){  
			$(this).parent().find(".tooltip_mobiel").css("display","none");
		});
	}

});


function addGoogleAnalyticsEvent(eventCategory, eventAction, eventLabel) {
	if (typeof ga === 'function') {
		ga(function() {
			var trackers = ga.getAll();
			trackers.forEach(function(tracker) {
				tracker.send('event',  {
					'eventCategory': eventCategory,
					'eventAction': eventAction,
					'eventLabel' : eventLabel
				});
			});
		});
	};
}

function customSuccesHandle(data, jForm) {
	var msg = "";
	if (data.resultMessage) {
		msg = data.resultMessage;
	} else if (!data.landingPage) {
		msg = "De aanvraag is succesvol verwerkt!"
	}
	
	var html = '<div class="succesmessage"> '+ msg +' </div>';
	
	$(jForm).parent().prepend(html);
	$(jForm).hide()
	
	if ($(jForm).closest('.blokLayout').length != 0) {
		eval('applyMasonry' + $(jForm).closest('.blokLayout').attr('id') + '();');
	}
	
	var label = $(jForm).attr('name');
	if (!label) {
		label = $(jForm).attr('id');
	}
	
	addGoogleAnalyticsEvent('Formulier', 'Verstuurd', label);
	
	$(jForm).resetForm();
}

function customSuccesHandleBrochureLandingspage(data, jForm) {
	var url = "bedankt-voor-uw-brochure-aanvraag/";
	customSuccesHandleForm(data, jForm, url);

}
function customSuccesHandleCommentLandingspage(data, jForm) {
	var url = "bedankt-voor-het-reageren/";
	customSuccesHandleForm(data, jForm, url);
}

function customSuccesHandleAankomendAanbod() {
	parent.jQuery.fancybox.getInstance().close();
}

function customSuccesHandleForm(data, jForm, url) {
	url = location.protocol+'//'+location.host+location.pathname + url;
	jQuery("<a href=\"" + url + "\"/>").fancybox({
		type 		: 'iframe',
		openEffect	: 'none',
		closeEffect	: 'none',
		arrows		: false,
		buttons : [
			'close'
		],
		iframe: {
			preload : false,
			css: {
				width: 900,
				height: 250,
			}
		}, 
	}).click();
	$(jForm).resetForm();
}

$(document).ready(function(){
	$(".al1 .objectblok").mouseenter(function() {
		$(this).find(".mediaiconscontent").addClass("mediaiconscontentHover");
	});
	$(".al1 .objectblok").mouseleave(function() {
		$(this).find(".mediaiconscontent").removeClass("mediaiconscontentHover");
	});
	$('.objectstatus DIV').each(function(index) {
		$(this).prepend("<span></span>");
		
	});
	
	$('.page-home .spotlight li .spotlightObject').each(function(index) {
		fixStatusOverlay(this);
	});
	
	/* Deze smerige hack is om in thema c aanbodpresentatie het flapje goed te fixen. */
	var objectstatus = $('.hoofdfotoContainer .spotlight-invisible.objectstatus.theme-c');
	if (objectstatus) {
		var hoofdfoto = $('.hoofdfotoContainer .hoofdfoto');
		var hoofdfotoimg = hoofdfoto.find('img');
		hoofdfoto.append('<div class="hoofdfoto-wrapper"></div>');
		
		var hoofdfotowrapper = hoofdfoto.find('.hoofdfoto-wrapper'); // In deze wrapper moeten alle elementen komen
		objectstatus.remove();
		hoofdfotoimg.remove();
		hoofdfotowrapper.append(objectstatus);
		hoofdfotowrapper.append(hoofdfotoimg);
	}
	/* Einde thema c flap hack */
	
	function fixStatusOverlay(elem) {
		$(elem).prepend("<div class='statuswrapper'></div>");
		var objectstatus = $(elem).find('.objectstatus');
		var wrapper = $(elem).find('.statuswrapper');
		objectstatus.appendTo(wrapper);
		
		var objectstatusdiv = $(elem).find('.objectstatus div');
		if (objectstatusdiv.hasClass('verkocht') || 
				objectstatusdiv.hasClass('verhuurd') ||
				objectstatusdiv.hasClass('verkochtov') ||
				objectstatusdiv.hasClass('verhuurdov') ||
				objectstatusdiv.hasClass('onderbod')) {
			$(elem).find('.objectstatus').removeClass('spotlight-invisible');
		};
	}
	
	$(".al3 .vakfoto").prepend( "<div class='vakfotoborderLarge'></div>" );
	$(".al3 .vakfoto").prepend( "<div class='vakfotoborderSmall'></div>" );
	
	$(".presentatie3 #3D_Plattegrond IFRAME").width(628);
	$(".presentatie3 #3D_Plattegrond IFRAME").height(685);
	
	$(".al1 .objectblok").each(function(){
		if ($(this).find(".rentprice").length > 0 && $(this).find(".saleprice").length > 0) {
			$(this).find(".rentprice").css({
				background		:	"none",
				"line-height"	:	"0px"
			});
		}
	});
	
	//Juiste koop/huur zoekformulier tabs selecteren
	setTimeout(selectKoopHuurTab, 0);
	
	if (jQuery(".zwart_balk").size() == 1) {
		var mDropDown = jQuery(".zwart_balk .menuZoekFormDropDown select");
		var koopHuurVal = mDropDown.val();
		themeCkoopHuurSelect(koopHuurVal);
		mDropDown.change(function() {
			themeCkoopHuurSelect(jQuery(this).val());
		});
	}
});

function themeCkoopHuurSelect(koopHuurVal) {
	if (koopHuurVal === "Beide") {
		jQuery(".blok_zoeken .huurContainer,.blok_zoeken .koopContainer").hide();
		jQuery(".blok_zoeken .beideContainer").show();
	} else if (koopHuurVal === "Koop") {
		jQuery(".blok_zoeken .beideContainer,.blok_zoeken .huurContainer").hide();
		jQuery(".blok_zoeken .koopContainer").show();
	} else if (koopHuurVal === "Huur") {
		jQuery(".blok_zoeken .beideContainer,.blok_zoeken .koopContainer").hide();
		jQuery(".blok_zoeken .huurContainer").show();
	}
}

/**
 * Selecteer de juiste tab voor het koop/huur formulier
 */
function selectKoopHuurTab() {
	var pathArray = window.location.pathname.split( '/' );
	for(var i in pathArray) {
		if (pathArray[i] == "koop") {
			jQuery(".ogZoekFormTabs #tabItem_Koop").click();
			break;
		} else if(pathArray[i] == "huur") {
			jQuery(".ogZoekFormTabs #tabItem_Huur").click();
			break;
		} else if(pathArray[i] == "koop-huur") {
			jQuery(".ogZoekFormTabs #tabItem_Beide").click();
			break;
		}
	}
}

function calcRoute(data, jForm){
	var routeplanner = data.routeplanner;
	var adr = "";
	if(data.street != ""){
		adr = adr + " " + data.street;
	}
	if(data.zipcode != ""){
		adr = adr + " " + data.zipcode;
	}
	if(data.city != ""){
		adr = adr + " " + data.city;
	}
	jQuery("#"+ routeplanner+ "_routeform .routefield").val(adr)
	jQuery("#"+ routeplanner+ "_routeform").submit();
	
	setTimeout(function(){
		jQuery("#"+ routeplanner + "_slide").remove().appendTo(jQuery("#"+ routeplanner).parent());
	}, 0);
	
}

function scrollToAanbodlijst() {
	if (jQuery("#body.site-theme-h").length || jQuery("#body.site-theme-i").length) {
		var body = jQuery("#body");
		if (body.hasClass("page-woningaanbod") ||
				body.hasClass("page-bedrijfsaanbod") ||
				body.hasClass("page-alvaanbod") ||
				body.hasClass("page-nieuwbouwaanbod") || 
				body.hasClass("page-presentatie")) {
			setTimeout(function() {
				var html = jQuery('html, body');
				var scrollToLoc = jQuery("#bodycontent").offset().top;
				if (html.scrollTop() < scrollToLoc) {
					html.animate({
						scrollTop : scrollToLoc
					}, 1000);
				}
			}, 0);
		};
	};
}

jQuery(document).ready(function () {
	scrollToAanbodlijst();
	jQuery('.site-theme-h #header_wrapper a.inloggen').not(jQuery('.inloggen-move')).click(function(event) {
		event.preventDefault();
		jQuery( this ).toggleClass('active');
		jQuery('#top .loginForm').toggle();
	});
	var checkWindowInnerWidth = window.innerWidth > 640
	function addScrollbarThemeH() {

		var cmsContentCSSDeclaration1hoog = {"overflow": "hidden","position": "relative", "height": "370px"}
		jQuery('.site-theme-h.fullpage-home .blok1van3breed.blok1hoog .cmsContent').css(cmsContentCSSDeclaration1hoog);
		jQuery('.site-theme-h.fullpage-home .blok2van3breed.blok1hoog .cmsContent').css(cmsContentCSSDeclaration1hoog);
		jQuery('.site-theme-h.fullpage-home .blok1van2breed.blok1hoog .cmsContent').css(cmsContentCSSDeclaration1hoog);

		var cmsContentCSSDeclaration2hoog = {"overflow": "hidden","position": "relative", "height": "759px"}
		jQuery('.site-theme-h.fullpage-home .blok1van3breed.blok2hoog .cmsContent').css(cmsContentCSSDeclaration2hoog);
		jQuery('.site-theme-h.fullpage-home .blok2van3breed.blok2hoog .cmsContent').css(cmsContentCSSDeclaration2hoog);
		jQuery('.site-theme-h.fullpage-home .blok1van2breed.blok2hoog .cmsContent').css(cmsContentCSSDeclaration2hoog);

		jQuery('.site-theme-h.fullpage-home .blok1van3breed .cmsContent').perfectScrollbar({wheelPropagation: true});
		jQuery('.site-theme-h.fullpage-home .blok2van3breed .cmsContent').perfectScrollbar({wheelPropagation: true});
		jQuery('.site-theme-h.fullpage-home .blok1van2breed .cmsContent').perfectScrollbar({wheelPropagation: true});
	}
	if(checkWindowInnerWidth){
		addScrollbarThemeH();
	}
	window.addEventListener("resize", function(){
		if(checkWindowInnerWidth){
			addScrollbarThemeH();
		} else {
			jQuery('.site-theme-h.fullpage-home .cmsBlok .cmsContent').perfectScrollbar("destroy");
			jQuery('.site-theme-h.fullpage-home .cmsBlok .cmsContent').css({"height": "auto"});
		}
	});

	// Perfect scrollbar voor op de homepage blokken
	// Laatste Video's blok
	$('.blok.rc10 .homeYoutube').css({"overflow": "hidden","position": "relative"});
	$('.blok.rc10 .homeYoutube').perfectScrollbar({wheelPropagation: true});
	
	// Acuteel blokje // Eruit gehaald, niet met ajax requests dus traag
	$('.blok.rc10 .activityFeedContainer .rc').css({"overflow": "hidden","position": "relative"});
	$('.blok.rc10 .activityFeedContainer .rc').perfectScrollbar({wheelPropagation: true});
	
	//Nieuwe RSS feed
	$('.blok.rssFeedBlok .rssFeedContainer .rc').css({"overflow": "hidden","position": "relative"});
	$('.blok.rssFeedBlok .rssFeedContainer .rc').perfectScrollbar({wheelPropagation: true});

	//Nieuws blok RSS feed
	$('.blok.nieuwsblok .rssFeedContainer .rc').css({"overflow": "hidden","position": "relative"});
	$('.blok.nieuwsblok .rssFeedContainer .rc').perfectScrollbar({wheelPropagation: true});

	//Nieuwe Twitter feed
	$('.blok.twitterBlok .twitter-feed .twitterfeed').css({"overflow": "hidden","position": "relative"});
	$('.blok.twitterBlok .twitter-feed .twitterfeed').perfectScrollbar({wheelPropagation: true});
	
	// Blog en nieuws blok
	$('.blok.blogblok .blogSection').css({"overflow": "hidden","position": "relative"});
	$('.blok.nieuwsblok .nieuwsSection').css({"overflow": "hidden","position": "relative"});
	$('.blok.blogblok .blogSection').perfectScrollbar({wheelPropagation: true});
	$('.blok.nieuwsblok .nieuwsSection').perfectScrollbar({wheelPropagation: true});
	
	// Extra update na 4 seconden omdat de video's en feed soms sloom inladen en dus niet direct bij een mouse over een scrollbar tonen.
	setTimeout(function(){
		$('.blok.rc10 .homeYoutube').perfectScrollbar('update');
		$('.blok.rc10 .activityFeedContainer .rc').perfectScrollbar('update');
	}, 4000);
	
	
	/* Media icons waar de data-href van bekend is linken daar naar toe */
	$('.mediaicons > div').click(function(e) {
		var href = $(this).data("href");
		if (href) {
			e.preventDefault();
			window.location.href = href;
		}
	});
	
	openParentTab();
});

// Zorgt ervoor dat de hoofd tab ook geopend wordt als je naar een sub tab linkt.
// bijvoorbeeld #Plattegronden opent zijn parent tab #Media.
function openParentTab() {
	locationHash = location.hash.substring( 1 );
	// Check heb ik wel een location Hash
	if (locationHash) {
		// Check of de location Hash wel bestaat.
		
		try {
			var hash = jQuery('#'+locationHash);
		} catch (e) {
			// Bijv. "unrecognized expression" indien facebook refererer met hash "/#.XXXXXXXXX_c.facebook", ga dan door 
			return;
		}
		
		if (hash.length) {
			// Check of the location Hash in een tab zit.
			if (hash.closest(".tabContent").length) {
				// Pak de index nummer van het tab waar je inzit en activeer vervolgens dat tab.
				var tabNumber = hash.closest(".tabContent").index();
				jQuery("#presentatieTabs").parent().tabs({ active: tabNumber, show: false });
				hash.get(0).scrollIntoView();
				setTimeout(function() {
					hash.get(0).scrollIntoView();
					if (locationHash.indexOf("Bouwtype_") == 0) {
						hash.find(".subtypesIcon a").click();
					};
				}, 1000);
			};
		};
	};
};

jQuery(function(){
	jQuery("div.medewerkers_carousel").addClass("js-carousel");
	if (jQuery().slick) {
		jQuery("div.medewerkers_carousel ul").slick({
			infinite: false,
			slidesToShow: 5,
			slidesToScroll: 1,
			responsive: [
				{
					breakpoint: 750,
					settings: {
						slidesToShow: 3
					}
				}
			]
		});
	}
});

jQuery(document).ready(function() {
	if($(".opgeslagen-woningen-wrapper")[0] == undefined){
		return;
	}
	var COOLDOWN = 1000;
	addWoningenbuttonText();

	if (countArrayLengthOfCookie('opgeslagenwoningen') == 0) {
		displayGeenOpgeslagenWoningen(false);
	} else {
		loadOpgeslagenWoningen();
		refreshFavoriteButtons();
	}

	jQuery('.opgeslagen-woningen .body').perfectScrollbar({wheelPropagation: true});

	//Klikken op een favoriteButton, favoriteState togglen
	jQuery(document).on("click", 'a.favoriteButton', function (e) {
		e.preventDefault();
		var favButton = jQuery(this);

		if (favButton.hasClass('frozen')) {
			return;
		}

		favButton.addClass('frozen');

		var objectId = favButton.attr('id').replace("object-", "");

		if (arrayValueExistsInCookie('opgeslagenwoningen', objectId)) {
			removeOpgeslagenObject(objectId);
			favButton.removeClass('favorite');
			jQuery(this).parent().find('.tooltip').html(getFavoriteButtonTooltip(false));
		} else {
			addOpgeslagenObject(objectId);
			favButton.addClass('favorite');
			jQuery(this).parent().find('.tooltip').html(getFavoriteButtonTooltip(true));
		}

		setTimeout(function () {
			favButton.removeClass('frozen');
		}, COOLDOWN, favButton);
	});

	//Sluiten en openen van de opgeslagen woningen sidebar
	jQuery(".opgeslagen-woningen-button a, .opgeslagen-woningen .header a.close").click(function (e) {
		jQuery(".opgeslagen-woningen-wrapper").toggleClass("open");
		e.preventDefault();
	});

	//Verwijderen van een opgeslagen woning item via de sidebar
	jQuery(document).on("click", '.opgeslagen-woningen .woningitem a.removeButton', function (e) {
		e.preventDefault();
		var objectId = $(this).attr('id').replace("object-", "");

		removeOpgeslagenObject(objectId);
	});

	function removeOpgeslagenObject(objectId) {
		var domEl = jQuery(".woningitem#object-id-" + objectId);
		domEl.addClass('bounceOutRight animated');
		setTimeout(function () {
			domEl.remove();
		}, COOLDOWN);

		removeArrayValueFromCookie('opgeslagenwoningen', objectId);
		refreshFavoriteButtons();
		updateWoningenButton();

		if (countArrayLengthOfCookie('opgeslagenwoningen') == 0) {
			displayGeenOpgeslagenWoningen(false);
		}
	}

	function updateFavoriteText() {
		var aantalOpgeslagenWoningen = countArrayLengthOfCookie('opgeslagenwoningen');
		if (aantalOpgeslagenWoningen == 1) {
			jQuery('#opgeslagen-woningen-favtext').addClass('hide');
			jQuery('#opgeslagen-woningen-favtext').removeClass('show');
		}
		if (aantalOpgeslagenWoningen == 0) {
			jQuery('#opgeslagen-woningen-favtext').addClass('show');
			jQuery('#opgeslagen-woningen-favtext').removeClass('hide');
		}
	}

	function addOpgeslagenObject(objectId) {
		jQuery('#woningenAmount').remove();
		jQuery('#opgeslagen-woningen-text').append('<i class="fa fa-spinner fa-spin"></i>');

		updateFavoriteText();

		jQuery.getJSON("/OpgeslagenWoningen/?opgeslagenwoningen=" + objectId, function (e) {
		}).success(function (data) {
			if (data.data.woningen[0] == null) {
				updateWoningenButton();
				return;
			}
			addOpgeslagenObjectData(objectId, data.data.woningen[0]);
		}).fail(function (data) {
			displayGeenOpgeslagenWoningen(true);
		});
	}

	function addOpgeslagenObjectData(objectId, data) {
		updateFavoriteText();

		if (!data.img) {
			data.img = "/pub/makelaartemplate/bmw/img/opgeslagen-woningen-geenfoto.png";
		}

		jQuery('.opgeslagen-woningen .body').append('<div class="woningitem bounceInRight animated" id="object-id-' + data.id + '"><a href="#" class="removeButton" id="object-' + data.id + '"></a><a href="' + data.objecturl + '"><img src="' + data.img + '?width=200" /></a><div class="adres">' + data.straat + '</div><div class="postplaats">' + data.postcode + ' ' + data.plaats + '</div><div class="prijs">' + data.prijs + '</div></div>');
		setTimeout(function () {
			jQuery('.opgeslagen-woningen .body .woningitem#object-id-' + data.id).removeClass('bounceInRight animated');
		}, COOLDOWN);

		addArrayValueToCookie('opgeslagenwoningen', objectId);
		updateWoningenButton();
	}

	function refreshFavoriteButtons() {
		$('a.favoriteButton').each(function (e) {
			var woningId = $(this).attr('id').replace("object-", "");

			if (arrayValueExistsInCookie('opgeslagenwoningen', woningId)) {
				jQuery(this).addClass('favorite');
			} else {
				if (jQuery(this).hasClass('favorite')) {
					jQuery(this).removeClass('favorite');
				}
			}
		});
	}

	function loadOpgeslagenWoningen() {
		var cookie = getCookie('opgeslagenwoningen');
		if (typeof cookie == 'undefined' || cookie == null) {
			cookie = '';
		}
		jQuery.getJSON("/OpgeslagenWoningen/?opgeslagenwoningen=" + cookie, function (e) {
		}).success(function (data) {
			setCookie('opgeslagenwoningen', '');

			if (data.data == null || data.data.woningen == null) {
				displayGeenOpgeslagenWoningen(false);
				updateWoningenButton();
				return;
			}
			$.each(data.data.woningen, function (i, woning) {
				addOpgeslagenObjectData(woning.id, woning);
			});
		}).fail(function (data) {
			displayGeenOpgeslagenWoningen(true);
		});
	}

	function addWoningenbuttonText() {
		if ($('#opgeslagen-woningen-text').find('#mijnFavorieten').length == 0) {
			jQuery('#opgeslagen-woningen-text').prepend('<span id="mijnFavorieten">Mijn favorieten</span>');
		}
	}

	function updateWoningenButton() {
		var woningenAmount = countArrayLengthOfCookie('opgeslagenwoningen');

		if (woningenAmount != 0) {
			if (jQuery('#opgeslagen-woningen-text').find('#woningenAmount').lenght != 0) {
				jQuery('#woningenAmount').remove();
			}
			jQuery('#opgeslagen-woningen-text').append('<span id="woningenAmount">(' + woningenAmount + ')</span');
		} else {
			jQuery('#woningenAmount').remove();
		}

		jQuery('#opgeslagen-woningen-text').addClass('shake animated');

		setTimeout(function (e) {
			jQuery('#opgeslagen-woningen-text').removeClass('shake animated');
		}, COOLDOWN);

		updateFavoriteText();
		jQuery('#opgeslagen-woningen-text').find('.fa-spinner').remove();
		jQuery('.opgeslagen-woningen .body').perfectScrollbar('update');
	}

	function displayGeenOpgeslagenWoningen(error) {
		setTimeout(function (e) {
			if (error) {
				$('.opgeslagen-woningen').find('#opgeslagen-woningen-errortext').addClass('show');
				$('.opgeslagen-woningen').find('#opgeslagen-woningen-favtext').addClass('hide');
			} else {
				$('.opgeslagen-woningen').find('#opgeslagen-woningen-favtext').addClass('show');
				$('.opgeslagen-woningen').find('#opgeslagen-woningen-errortext').addClass('hide');
			}
		}, COOLDOWN);

		jQuery('.opgeslagen-woningen .body').perfectScrollbar('update');
	}

	jQuery('.opgeslagen-woningen .body').html('<div id="opgeslagen-woningen-errortext" class="opgeslagen-woningen-text fadeIn animated"><b>Er is een fout opgetreden bij het laden van uw favorieten</b><br><br><hr><br>Probeer het later opnieuw!</div>');
	jQuery('.opgeslagen-woningen .body').html('<div id="opgeslagen-woningen-favtext" class="opgeslagen-woningen-text fadeIn animated"><b>Favorieten kunnen toegevoegd worden door op het hartje te klikken bij een object.</div>');
});


//Code om tooltip te tonen op een favoriteButton tooltip div
jQuery(document).ready(function() {
	var firstElem;
	var toolTipExtension = '<span class="fa-stack">' +
	'<i class="fa fa-circle fa-stack-2x"></i> ' + 
	'<i class="fa fa-check fa-stack-1x fa-inverse"></i>' +
	'</span> ' + 
	'<span id="woningSaved" class="hide">Woning is opgeslagen</span>' +
	'<span id="woningSave" class="hide">Bewaar deze woning</span>';
	
	function addTooltipWithText() {
		$('<style>.show { display: inline-block !important; }</style>').appendTo('body');
		$('<style>.hide { display: none; }</style>').appendTo('body');
		$('.tooltip-wrapper').each( function( index, element ){
			if($(this).find('.tooltip').length == 0){
				$(this).prepend('<div class="tooltip"></div>');
			};
		});
		$('.tooltip').each( function( index, element ){
			if($(this).find('#woningSave').length == 0){
				$(this).append(toolTipExtension);
			};
		});
		
	}
	addTooltipWithText();
	jQuery('div.tooltip-wrapper').hover(
		function() {
			var parent = jQuery(this);
			firstElem = parent.find('>:first-child');
			var favoriteButton = parent.find('favoriteButton');
			
			if (!firstElem.hasClass('tooltip')) {
				parent.prepend('<div class="tooltip"></div>');
			}
			
			setTimeout(function() {
				firstElem = parent.find('>:first-child');
				firstElem.addClass('open');
				firstElem.html(getFavoriteButtonTooltip(firstElem.next().hasClass('favorite'),firstElem));
			}, 20);
		},
		function() {
			var firstElem = jQuery(this).find('>:first-child');
			
			firstElem.removeClass('open');
			firstElem.find('#woningSave').removeClass('show');
			firstElem.find('#woningSaved').removeClass('show');
		}
	);
});

function getFavoriteButtonTooltip(opgeslagen,firstElem) {
	var woningSaveStatusId = "";
	if (opgeslagen) {
		woningSaveStatusId = ' #woningSaved';
	}
	else{
		woningSaveStatusId = ' #woningSave';
	}
	jQuery(firstElem).find(woningSaveStatusId).addClass('show');
}


jQuery(document).ready(function () {
	jQuery('#CBS_statistieken .toggle').on('click', function(e) {
		var blokLayout = jQuery(this).closest('.blokLayout');
		setTimeout(function() {
			blokLayout.masonry('layout');
		}, 100);
	});
	jQuery('#cbs_type').change(function() {
		var blokLayout = jQuery(this).closest('.blokLayout');
		setTimeout(function() {
			blokLayout.masonry('layout');
		}, 100);
	});
});

function updateMasonry() {
	var blokLayout = $('#body').find('.blokLayout');
	if (blokLayout.length != 0) {
		blokLayout.each(function() {
			var blokLayoutElement = jQuery(this);
			if (typeof blokLayoutElement.data('masonry') !== "undefined") {
				blokLayoutElement.masonry('layout');
			}
		});
	};
};

$(window).on('load', function() {
	var skiptranslate = $(".goog-te-banner-frame");
	if(skiptranslate.length > 0){
		$('#header').addClass('header-with-translate');
		var observer = new MutationObserver(function(mutations) {
			mutations.forEach(function(mutationRecord) {
				if (mutationRecord.target.offsetParent == null)  {
					$('#header').removeClass('header-with-translate');
				}

			});
		});
		var target = document.querySelector(".skiptranslate")
		observer.observe(target, { attributes : true, attributeFilter : ['style'] });
	}
});
jQuery(document).ready(function() {
	$( "#zoekopdrachtKoopOfHuur" ).on( "change", function() {
		if(this.value === "true") {
			$( ".koopprijs" ).css("display", "inline-block");
			$( ".huurprijs" ).css("display", "none");
		} else {
			$( ".koopprijs" ).css("display", "none");
			$( ".huurprijs" ).css("display", "inline-block");
		}
	})
})