
var bounds;
var map;
var geocoder;
/* Google maps */

	window.addEvent('domready', function(){
		if ( document.getElementById("gmap") ) {
			map = new GMap2(document.getElementById("gmap"));
			bounds = new GLatLngBounds();
	
			map.enableScrollWheelZoom();
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(52.295042,5.548096), 7);
			geocoder = new GClientGeocoder();
			geocoder.setCache(null);
			loadWinkels();
		}
	});
	
	function searchLocation(){
		geocoder.getLocations($('saddr').value, addressResolved);
	}

   function addressResolved(response) {
     if (response.Status.code == 620) {
       
     } else {
       if (response.Status.code == 200) {
         place = response.Placemark[0];
		 searchwinkels(place.Point.coordinates[1],place.Point.coordinates[0]);
       }
     }
   }

function searchwinkels(lat, long){
	var req = new Request.JSON({url:'/zoekvereniging.ajax', 
			onSuccess: function(jsonobj,txt) {
				try {
					map.clearOverlays();
					bounds=null;
					bounds = new GLatLngBounds();
					var locs=jsonobj.verenigingen;
					for( var i=0;i<locs.length;i++ ){
						addMarker(locs[i].lat, locs[i].long, locs[i].row);
					}
					map.setZoom(map.getBoundsZoomLevel(bounds));
					map.setCenter(bounds.getCenter());
				} catch(e){};
		}
		}).post({'lat':lat,'long':long});
}

function loadWinkels(){
	for (var i=0;i<verenigingen.length;i++){
		addMarker(verenigingen[i].lat, verenigingen[i].long, verenigingen[i].row);
	}
	map.setZoom(map.getBoundsZoomLevel(bounds));
	map.setCenter(bounds.getCenter());
}

function addMarker(lat, long, inhoud){
	var point = new GLatLng(lat, long);
	 var marker = new GMarker(point);
	 map.addOverlay(marker);
	 GEvent.addListener(marker, "click", function() {
			var markertext='<strong>'+inhoud.org_name+'</strong><br />'+inhoud.org_city+', '+inhoud.org_province+'<br />';
			if ( inhoud.org_website!='' ) {
				markertext+='<a href="http://'+inhoud.org_website.replace('http://','')+'" target="_blank">'+inhoud.org_website+'</a>';
			}
			marker.openInfoWindowHtml(markertext);
	});
	 bounds.extend(marker.getPoint());
}

/* /Google maps */