var map;
var geocoder;
var globalDescription;
var originalLatLng;
var globalDescs = new Array();

var	greyIcon;

function loadMap() {
	if (GBrowserIsCompatible()) {
		greyIcon = new GIcon( G_DEFAULT_ICON );
		greyIcon.image = '/img/greyIcon.png';	  
		var mapdiv = document.getElementById("map_canvas");
		map = new GMap2(mapdiv);
		map.addControl(new GSmallMapControl());
	   	map.addControl(new GMapTypeControl());
	    
	    geocoder = new GClientGeocoder();
	    lastLatLng = new GLatLng();
	 
		GEvent.addListener(map, "dragend", function() {
			map.clearOverlays();
			bounds = map.getBounds();
			url = '/call/accos.php?lat1='+bounds.getNorthEast().lat()+'&lng1='+bounds.getNorthEast().lng()+'&lat2='+bounds.getSouthWest().lat()+'&lng2='+bounds.getSouthWest().lng();
			var req = YAHOO.util.Connect.asyncRequest('GET', url , { success: handleXMLReq, failure:null } );
		});
	}	
}

function getSetGotoLatLng(address, description) {	
   // alert(address);
    globalDescription = description;
    geocoder.getLatLng("" + address, setAndGotoMarker);    
}

function setAndGotoMarker(latlng) {	    	
	map.setCenter(latlng, 14);
	var marker = new GMarker(latlng);
	map.addOverlay(marker);
	marker.onClick = function() {
		marker.openInfoWindow(globalDescription);
	}	
}

function setMarker(latlng,type,nr) {
	if (type == 1) {
		var marker = new GMarker(latlng, greyIcon);
	} else {
		var marker = new GMarker(latlng);
	}
	map.addOverlay(marker);
	GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(globalDescs[nr]);
    });
}

function showMapDiv() {
	var mappanel = document.getElementById("mapPanel");
   mappanel.style.display = "block";
	var mapdiv = document.getElementById("map_canvas");
    mapdiv.style.display = "block";
}

handleXMLReq = function (o) {			
	// Parse XML and append resultboxes to container
	if (o.responseXML != null) {
		var	resXML = o.responseXML;
		var root = resXML.getElementsByTagName('accos')[0];
		var accos = root.getElementsByTagName('acco');
		for (var i = 0; i < accos.length; i++){		
			desc = accos[i].getElementsByTagName('desc')[0].firstChild.nodeValue;
			title = accos[i].getElementsByTagName('title')[0].firstChild.nodeValue;
			link = accos[i].getElementsByTagName('link')[0].firstChild.nodeValue;
			lat	= accos[i].getElementsByTagName('lat')[0].firstChild.nodeValue;
			lng	= accos[i].getElementsByTagName('lng')[0].firstChild.nodeValue;
		
		    globalDescription = "<b>"+title+"</b><br /><br />"+desc+"<br /><br /><a href='"+link+"'>Meer informatie</a>";
		    globalDescs.push(globalDescription);
		    setMarker(new GLatLng(lat, lng), 1, globalDescs.length-1);	
		}
	}
	if (originalMarker) map.addOverlay(originalMarker);
	
}
