function InfoWindow () {
	var x = 0;
	var y = 0;
	var html = "";
	var overlay = $("#infoWindowMapApp").css("opacity", 0);
	var clickedOutSide = false;
	var closeLink = overlay.find(".closeInfoWindow").bind("click", closeClick);
	var zoomLink = overlay.find("#zoomInOnPoint").bind("click", zoomClick);
	//var lichaam = $("#appWrapper").bind("mousemove", bodyMovin).bind("mouseleave", bodyLeavin);
	var lichaam = $("body").bind("mousemove", bodyMovin).bind("mouseleave", bodyLeavin);
	var point;
	var zoomTarget;
	

	/*
	 		<div id="infoWindowMapApp">
				<a href="#" id="closeInfoWindow" title="Dit venster sluiten.">X</a>
				<div id="infoWindowMapAppContainer">&nbsp;</div>
				<a href="#" id="zoomInOnPoint">Hier inzoomen</a>
			</div>
	 */
	this.hideOverlay = function () {
		hideMe();
	}
	this.showOverlay = function(h, p,  zt) {
		overlay.find("#infoWindowMapAppContainer").html(String(h));
		point = p;
		if (!zt) {
			zoomTarget = "relative"; 
		}
		else {
			zoomTarget = zt;
		}
		showMe();
	}
	function hideMe() {
		overlay.animate({left:"+=10px", top:"-=10px", opacity:0}, {duration:"fast", complete:function() {overlay.css("display", "none")}});
	}
	function showMe() {
		overlay.css("display", "block").animate({left:x, top:y, opacity:.9}, {duration:"fast"});
	}
	function bodyMovin(e) {
		x = e.pageX + 15 + "px";
		y = e.pageY - 20 + "px";
	}
	function bodyLeavin (e) {
		hideMe();
		return false;
	}
	function closeClick(e) {
		hideMe();
		return false;
	}
	function zoomClick(e) {
		lichaam.trigger({
			type:"infoWindowZoomRequest",
			zoomPoint:point,
			zoomTarget:zoomTarget
		});
		return false;
	}
}

