var map;
var gmarkers;
var sidebar_html;

$(document).ready(function() {
  map = new GMap2(document.getElementById('map_canvas'));
  var MU = new GLatLng(38.942110,-92.327140);
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl()); 
  map.setCenter(MU,15);
  
  sidebar_html = "";
  gmarkers = [];
  var bounds = map.getBounds();
  
     GDownloadUrl("/public/xml/markers.xml", function(data, responseCode) {
          // To ensure against HTTP errors that result in null or bad data,
          // always check status code is equal to 200 before processing the data
          if(responseCode == 200) {
               var xml = GXml.parse(data);
               var markers = xml.documentElement.getElementsByTagName("marker");
               for (var i = 0; i < markers.length; i++) {
                    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                    parseFloat(markers[i].getAttribute("lng")));
                    var html = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
                    var label = markers[i].getAttribute("label");
                    // create the marker
                    var marker = createMarker(point,label,html);
                    gmarkers.push(marker); 
                    map.addOverlay(marker);
               }
          } else if(responseCode == -1) {
               alert("Data request timed out. Please try later.");
          } else { 
               alert("Request resulted in error. Check XML file is retrievable.");
          }
     });
  
});

function createMarker(point, name, html) {
     var marker = new GMarker(point);
     GEvent.addListener(marker, "click", function() {
          map.setCenter(point,18);
          marker.openInfoWindow(html);
     });

     return marker;
}

function myclick(i) {
    GEvent.trigger(gmarkers[i],"click");
}

$(window).unload( function () { GUnload(); } );
