primacag 0 Newbie Poster

Any help appreciated in advance....
I have been trying to get a javascript to use ajax to call a php script to read from an mysql database and write out an xml dom document so that I can add markers to a google map. I think I have all the parts, I can see the xml in the Firefox tools and it looks like the examples that are on, the page I am using as a model. Still, my xml dosent make it back to the javascript for the next step.
I dont know what it is.

Could it be that the Ajax command needs to be synchronous?
Could it be that I need to escape key characters in the xml?
Could I have left out something not obvious to a newbie self starter?
Could it be some other problem?

Here is the code....
currently gives message xmlinput is undefined.....this is the returned xml variable name in the javascript which is the first listing below...

////////////////// JAVASCRIPT //////////////////////////////////

function locationmap(lastx, lasty) {
      if (lastx == 0) { var latlng = new google.maps.LatLng(0, 0);
      var options = { zoom: 1, center: latlng,   mapTypeId: google.maps.MapTypeId.SATELLITE      } }
	else  { var latlng = new google.maps.LatLng(lasty, lastx );
	  var options = { zoom: 14, center: latlng,   mapTypeId: google.maps.MapTypeId.SATELLITE     } }
      var map = new google.maps.Map(document.getElementById("locationmap"), options);
      var html = "<table>" + "Move the marker to your location... "+
                 "<tr><td></td><td><input type='button' value='Save & Close' onclick='getData()'/></td></tr>";
    infowindow = new google.maps.InfoWindow({     content: html    });
     google.maps.event.addListener(map, "click", function(event) {
        marker = new google.maps.Marker({ position: event.latLng, map: map,  draggable: true,  title: "Drag me!"});
        google.maps.event.addListener(marker, "click", function() {
, marker);        });    });    }

    function getData() {
      var latlng = marker.getPosition();
      var url = "phpold/collectpoint.php?lat=" + + "&lng=" + latlng.lng();

      getPoints(url, function(data, responseCode) {	  
//alert ('responsecode: '+responseCode);
        if (responseCode == 200 ) {
          document.getElementById("locmessage").innerHTML = 
			"Ready to report species seen within "		
			+ " of these coordinates: latitude"
			+" and longitude "
			+ latlng.lng()
			+ ". </br> Proceed to step three and choose species to map. </b></p>"	; 

// alert ('returned');
var xmlinput = data.responseXML;
var xmlmarkers = xmlinput.documentElement.getElementByTagName("markerlist");
alert (data.length+" length data");
			 } });  }

    function getPoints(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request.responseXML, request.status);        }      };'GET', url, true);
      request.send(null);  		}
    function doNothing() {}	

//	</script>

php for collecting from the database....

$selectobservation = 
     "SELECT observation.obsX, observation.obsY, observation.obsDate,
             obslist.idspecies, common.CommonName 
             FROM obslist
             INNER JOIN observation ON observation.idObservation = obslist.idObservation
             INNER JOIN common      ON common.idSpecies          = obslist.idSpecies 
             INNER JOIN region      ON region.IDSpecies          = obslist.idSpecies 
             WHERE region.GeoArea LIKE '$region%' AND
              common.language =   '$language' AND
              observation.obsX    BETWEEN '$minlng' and '$maxlng' AND
              observation.obsY    BETWEEN '$minlat' and '$maxlat' AND
              observation.obsDate BETWEEN DATE_SUB(CURDATE(),INTERVAL 1 $timespan ) AND CURDATE() ";
 $result = mysql_query($selectobservation);
 if (!$result) {  die('Invalid query: ' . mysql_error());}
$dom = new DOMDocument("1.0");

while ($row = @mysql_fetch_assoc($result))         {  
   $newnode = $parnode->appendChild($node);  
   $newnode->setAttribute("date", $row['obsDate']);  
   $newnode->setAttribute('lats', $row['obsY']);  
   $newnode->setAttribute('long', $row['obsX']);  

//$xmlfile = $dom->dump_mem();
echo $dom->saveXML();
//echo $dom;
//   echo $dom->saveXML();

////Here is the xml ...///////////////////////////////////////////////////////////////////////////////////

<?xml version="1.0"?>
<markerset><markerlist name="Azure Gallinule" date="2011-10-13" lats="42.5228483669754" long="-79.0772475633789"/><markerlist name="American Goldfinch" date="2011-10-10" lats="42.5370165610761" long="-79.0971603197266"/><markerlist name="American Goldfinch" date="2011-10-10" lats="42.5370165610761" long="-79.0971603197266"/><markerlist name="American Goldfinch" date="2011-10-10" lats="42.5370165610761" long="-79.0971603197266"/><markerlist name="American Crow" date="2011-10-10" lats="42.5370165610761" long="-79.0971603197266"/><markerlist name="American Coot" date="2011-10-10" lats="42.5370165610761" long="-79.0971603197266"/></markerset>