function mapConstruct() {
		
	map = new GMap(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.centerAndZoom(new GPoint( -97.7340316772461,  30.2848634037854 ), 4);
		
	getLocations( map, "xml/map.ajax.php?type=locations" );
		
	GEvent.addListener(map, "moveend", function() {
		var center = map.getCenterLatLng();
		document.getElementById("lonf").value = center.y;
		document.getElementById("latf").value = center.x;
	});

	return map;
}


function createMarker( point, desc, user, title, image, idx ) {
	var marker = new GMarker( point );
	var html = '<b>' + title + '</b><br /><table><tr><td>' + desc + '<br />posted by ' + user + '</td><td>' 
			 + '<img src="/userimages/' + image + '" alt="coconut"/></td></tr></table>';
	
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml( html );
	});
	mapHtml[idx] = html;
	
	return marker;
}

function reCenter( markerid, lon, lat ) {
	this.map.recenterOrPanToLatLng( new GPoint( lat, lon ) );	
	mapMarkers[markerid].openInfoWindowHtml( mapHtml[markerid] );
}
var mapHtml = new Array(25);
var mapMarkers = new Array(25);

function getLocations( map, file ) {
	var request = GXmlHttp.create();
	request.open('GET', file, true);
	
	request.onreadystatechange = function() {

		if (request.readyState == 4) {

			var xmlDoc = request.responseXML;

			var markers = xmlDoc.documentElement.getElementsByTagName("location");

			for (var i = 0; i < markers.length; i++) {

				marker = createMarker( new GPoint( markers[i].getAttribute("lat"), markers[i].getAttribute("lon") ), 
										markers[i].getAttribute("description"), markers[i].getAttribute("user"),
										markers[i].getAttribute("title"), markers[i].getAttribute("image"), i
									 ); 
				mapMarkers[i] = marker;
				map.addOverlay( marker ) ;
			}
  		}
	}
	request.send(null);
}






