function makeHttpRequest(url, callback_function, return_xml)
{
   var http_request = false;
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/xml');
       }

   } else if (window.ActiveXObject) { // IE
       try {
           http_request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
       }
   }

   if (!http_request) {
       alert('Browser doesn\'t support Ajax');
       return false;
   }
   http_request.onreadystatechange = function() {
       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               if (return_xml) {
                   eval(callback_function + '(http_request.responseXML)');
               } else {
                   eval(callback_function + '(http_request.responseText)');
               }
           } else {
               alert('There was a problem with the request.(Code: ' + http_request.status + ')');
           }
       }
   }
   http_request.open('GET', url, true);
   http_request.send(null);
}


function loadXML(xml)
{
alert(xml);
var markers = xml.documentElement.getElementsByTagName("Field");
	for (var i = 0; i < markers.length; i++) {
		var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
		parseFloat(markers[i].getAttribute("long")));
		var fieldname = markers[i].getAttribute("name");
		app.map.addOverlay(createMarker(point,fieldname ));
	}
}

// Creates a marker whose info window displays the given number
function createMarker(point, fieldname) {
	var marker = new GMarker(point);
	
	// Show this marker's index in the info window when it is clicked
	var html = "<b>" + fieldname + "</b>";
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(html);
	});

	return marker;
}

