google.load("maps", "2.x");

// Call this function when the page has been loaded
function initialize() {
    var map = new google.maps.Map2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setMapType(G_SATELLITE_MAP);
	
	GDownloadUrl("/scripts/map.xml.php", 
				 function(data) {
						var xml = GXml.parse(data);
						var markers = xml.documentElement.getElementsByTagName('marker');
						map.clearOverlays();
													  
						if (markers.length == 0) {
							sidebar.innerHTML = 'No results found.';
							map.setCenter(new GLatLng(54.354956,-5.119629), 6);
							return;
						}
													  
						var bounds = new GLatLngBounds();
						for (var i = 0; i < markers.length; i++) {
							var name = markers[i].getAttribute('name');
							var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')), parseFloat(markers[i].getAttribute('lng')));
							var marker = createMarker(point, name);
							map.addOverlay(marker);
							bounds.extend(point);
						}
						map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
				});
	
}

function createMarker(point, name) {
	var icon = new GIcon();
	icon.image = "/assets/images/marker.png";
	icon.shadow = "/assets/images/shadow.png";
	icon.iconSize = new GSize(20, 34);
	icon.shadowSize = new GSize(37, 34);
	icon.iconAnchor = new GPoint(10, 34);
	
	var marker = new GMarker(point, icon);
    return marker;
}

function moveto(lat, lng) {    
	//map.panTo(new GLatLng(lat, lng));
	map.setCenter(new GLatLng(lat, lng), 15);
}
  
google.setOnLoadCallback(initialize);
