var flexLoaded = false;

function setFlexIsLoaded(boolIsLoaded) {
	flexLoaded = boolIsLoaded;
}

function flexIsLoaded() {
	return flexLoaded;
}

function showContentIFrame(url, forceUpdate) {
	var obj = document.getElementById(applicationId);
	obj.style.width = "315px";
	
	// for firefox render bug
	obj = document.getElementById("maps");
	obj.style.visibility = "visible";
	
	//set the url if applicable
	var iframe = maps;
	if (!iframe) return;
	if (iframe.location.href.indexOf(url) == -1 && url != null && url != "" || forceUpdate) {
		var frameObj = document.getElementById("maps");
		if (frameObj) frameObj.style.height = "0px";
		iframe.location.href = url;
	}
}
	
function hideContentIFrame() {
	var obj = document.getElementById(applicationId);
	obj.style.width = "950px";
	// for firefox render bug
	obj = document.getElementById("maps");
	obj.style.visibility = "hidden";
}

// resizes the flash movie to nr pixels height
function fixHeight(nr) {
	if (navigator.userAgent.toLowerCase().indexOf('opera') != -1) nr = parseInt(nr) + 20;
	var obj = document.getElementById("spacer");
	obj.style.height = nr + "px";
	obj = document.getElementById(applicationId);
	obj.style.height = nr + "px";
}

// provide cross browser way to access flash movie	
function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
 	}
}

function scrollToTop() {
	scroll(0,0);
}
  	
function showLeftColumnOnly() {
	thisMovie(applicationId).showLeftColumnOnly();
	showContentIFrame();
}

function autoSizeIFrame(iframe) {
	if (iframe.Document) {
		iframe.style.height = iframe.Document.body.scrollHeight + "px";
	} else if (iframe.contentDocument) {
		iframe.style.height = iframe.contentDocument.body.offsetHeight + "px";
	}
	// voor ie7 renderbug die de iframe smaller maakt na resizen van hoogte
	iframe.style.width = "630px";
}


// nog nodig?
function resizeIFrame() {
	var iframe = document.getElementById("maps");
	iframe.style.height = "500px";
}

function loadGoogleMap() {
	var iframe = maps;
	var doc;
	if (iframe) {
		if (iframe.isGoogleMaps && iframe.isGoogleMaps()) {
			return;
		} else {
			iframe.location.href = "wnr_map.cfm";
		}
	} else {
		alert('Kon maps niet laden! Kaart frame niet aanwezig...')
	}
}

function showVGEInfoWindowOnMapZoom(vgeId, vgeObj) {
	if (maps && maps.showVGEInfoWindowOnMapZoom) {
		maps.showVGEInfoWindowOnMapZoom(vgeId, vgeObj);
	}
}

function showVGEInfoWindowOnMap(vgeId, vgeObj) {
	if (maps && maps.showVGEInfoWindowOnMap) {
		maps.showVGEInfoWindowOnMap(vgeId, vgeObj);
	}
}

// met timers...

function setApplicationState(state) {
	if (flexIsLoaded()) {
		if (thisMovie(applicationId)) {
			return thisMovie(applicationId).setApplicationState(state);
		} else {
			return false;
		}
	} else {
		setTimeout("setApplicationState('" + state + "')", 500);
	}
}


function setApplicationZoomState(boolZoomIn) {
	if (flexIsLoaded()) {
		if (thisMovie(applicationId)) {
			thisMovie(applicationId).setApplicationZoomState(boolZoomIn);
		} else {
			return false;
		}
	} else {
		setTimeout("setApplicationZoomState('" + state + "')", 500);
	}
}

function applicationIsZoomedIn() {
	if (flexIsLoaded()) {
		if (thisMovie(applicationId)) {
			return thisMovie(applicationId).applicationIsZoomedIn();
		} else {
			return false;
		}
	} 
}

function setIframeZoomState(boolZoomIn) {
	if (maps && maps.toggleFontSize) {
		maps.toggleFontSize(false, boolZoomIn);
	}
}

function setContentFrameStateInFlex(state, aObj) {
	if (!ingelogd && aObj.id == "persoonlijk") { 
		alert("U dient eerst in te loggen om uw instellingen te kunnen zien");
		return;
	}
	if (flexIsLoaded()) thisMovie(applicationId).setContentFrameState(state);
	var iframe = maps;
	if ( iframe.location.href.indexOf(aObj.href) != -1 && aObj.href.indexOf("javascript:void(0)") != -1) { 	
		var frameObj = document.getElementById("maps");
		if (frameObj) frameObj.style.height = "0px";
		iframe.location.replace(aObj.href);		
	};
}

function setResultsStateInFlex(state, aObj) {
	
	if (aObj.className == "disabled") return;
	if (state != null && flexIsLoaded()) thisMovie(applicationId).setResultsState(state);	
	return false;
}

function setWijkStateInFlex(state) {
	if (state && flexIsLoaded()) thisMovie(applicationId).setWijkState(state);
	return false;
}

function setCorporatieStateInFlex(state) {
	if (state && flexIsLoaded()) thisMovie(applicationId).setCorporatieState(state);
	return false;
}

function setMeerInfoStateInFlex(state) {
	if (state && flexIsLoaded()) thisMovie(applicationId).setMeerInfoStateInFlex(state);
	return false;
}

function showDetailPage(id) {
	if (! flexIsLoaded()) return;
	if (thisMovie(applicationId)&& thisMovie(applicationId).showDetailPage) {
		thisMovie(applicationId).showDetailPage(id);
	} else {
		alert("ERROR: Kan detailpagina niet tonen.");
	}
}

function addAsFavorite(id) {
	if (! flexIsLoaded()) return;
	if (thisMovie(applicationId)&& thisMovie(applicationId).addAsFavorite) {
		return thisMovie(applicationId).addAsFavorite(id);
	} else {
		return "Error bij toevoegen aan favorieten";
	}
}

//////////////////////////////////
//
//	general search results
//
//////////////////////////////////

function pushResultsFromFlex(results, enableDetails) {
	
	//alert(" ??? " + maps.isGoogleMaps() + " ??? " + enableDetails);
	
	if (maps && maps.isGoogleMaps() && maps.mapType == "zoeken") {
		if (maps.loaded == true) {
			//alert(results.length)
			maps.pushResultsFromFlex(results, enableDetails);
		} else {
			
			//alert(results.length + " wrong maptype ???" )
			
			// doe niets blijkbaar is de map aan het laden
			// onload haalt ie zelf evt. results op
			// zo werkt de back knop van de browsert ook
		}
	} else if (maps && !maps.isGoogleMaps()) {
		// laad de maps. 
		// de maps doet altijd onload een request naar flex 
		// om te kijke of er results te tonen zijn.
		if (top.location.indexOf("localhost") != -1) {
			maps.location = "wnr_map.html";
		} else {
			maps.location = "wnr_map.cfm";
		}
	}
}

function pollResultsFromFlex() {
	if (thisMovie(applicationId)&& thisMovie(applicationId).pollResultsFromFlex) {
		thisMovie(applicationId).pollResultsFromFlex();
	} else {
		// de map was eerder geladen dan de flash app
		setTimeout("pollResultsFromFlex()", 500);
	}
}

function pollPrevResultsFromFlex() {
	if (thisMovie(applicationId)&& thisMovie(applicationId).pollPrevResultsFromFlex) {
		thisMovie(applicationId).pollPrevResultsFromFlex();
	} else {
		// de map was eerder geladen dan de flash app
		setTimeout("pollPrevResultsFromFlex()", 500);
	}
}

function pollNextResultsFromFlex() {
	if (thisMovie(applicationId)&& thisMovie(applicationId).pollNextResultsFromFlex) {
		thisMovie(applicationId).pollNextResultsFromFlex();
	} else {
		// de map was eerder geladen dan de flash app
		setTimeout("pollNextResultsFromFlex()", 500);
	}
}

//////////////////////////////////
//
//	wijk results
//
//////////////////////////////////

function pollWijkResultsFromFlex() {
	if (thisMovie(applicationId) && thisMovie(applicationId).pollWijkResultsFromFlex) {
		thisMovie(applicationId).pollWijkResultsFromFlex();
	} else {
		// de map was eerder geladen dan de flash app
		setTimeout("pollWijkResultsFromFlex()", 500);
	}
}


function pushWijkResultsFromFlex(results) {
	
	if (maps && maps.isGoogleMaps() && maps.mapType == "wijkaanbod") {
		if (maps.loaded == true) {
			maps.pushResultsFromFlex(results);
		} else {
			
			// doe niets blijkbaar is de map aan het laden
			// onload haalt ie zelf evt. results op
			// zo werkt de back knop van de browsert ook
		}
	} else if (maps) {

		// laad de maps. 
		// de maps doet altijd onload een request naar flex 
		// om te kijke of er results te tonen zijn
		if (top.location.indexOf("localhost") != -1) {
			maps.location = "wijk_map.html";
		} else {
			maps.location = "views/wijk_map.cfm";
		}
	}	
}

//////////////////////////////////
//
//	login
//
//////////////////////////////////

var ingelogd = false;
function handleLoginInHTML(ingelogd) {
	/*
	var extranet = document.getElementById("extranet");
	if (extranet) extranet.style.visibility = (ingelogd) ? "visible" : "hidden" ;
	*/
	var menuwoonpas = document.getElementById("menuwoonpas");
	if (menuwoonpas) menuwoonpas.disabled = (ingelogd) ? true : false;
	if (ingelogd) {
		menuwoonpas.style.color = "#333333";
	} else {
		menuwoonpas.style.color = "";
	}
	if (menuwoonpas) menuwoonpas.href = (ingelogd) ? "javascript:void(0);" : "/woonpas_aanvraag.html";
	if (menuwoonpas) menuwoonpas.onclick = (ingelogd) ? null : menuWoonpasOnClick;
	
	this.ingelogd = ingelogd;
}

// helper omdat we geen params mee kunnen geven aan 
// een directe assignment aan onclick
function menuWoonpasOnClick() {
	var menuwoonpas = document.getElementById("menuwoonpas");
	setContentFrameStateInFlex('woonpasaanvraag', menuwoonpas);
	return false;
} 

