$(document).ready(function() {
  if (typeof ItemEditing == 'undefined') {
    $('div[class=map]').each(function() {

      load(this);
    });
  }

});


var map;
var geocoder;
var markerOptions;
var custIcon;

function createMarker(point, html) {
  var marker = new GMarker(point,GIcon("/gfx/map-bubble.png"));
  
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}

function load(mapPanel) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(mapPanel);
    //var mini = new GOverviewMapControl(new GSize(100, 100));
    //map.addControl(mini);
    map.setMapType(G_NORMAL_MAP);
    map.addControl(new GSmallMapControl());
    //map.addControl(new GMapTypeControl());
    //geocoder = new GClientGeocoder();
    //geocoder.setBaseCountryCode('NL')
    map.setCenter(new GLatLng(50,5), 1);
    var randomnumber = Math.floor(Math.random() * 11111)
    GDownloadUrl("?alttemplate=GoogleMapXML&random=" + randomnumber, function(data, responseCode) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var location = markers[i].getAttribute("location").split(',');
        var lat = parseFloat(location[0]);
        var lon = parseFloat(location[1]);
        var zoom = parseFloat(location[2]);
        var point = new GLatLng(lat, lon);
        var html = GXml.value(markers[i].firstChild);
        var marker = createMarker(point, html);
        map.addOverlay(marker);
        if (markers.length == 1)
         map.setCenter(point, zoom);
      }
    }
        );
  }
}
function getLatLng(address) {
  if (geocoder) {
    geocoder.getLocations(
          address, setInp);
  }
}
function setInp(response) {
  if (!response || response.Status.code != 200) {
  } else {
    place = response.Placemark[0];
    point = new GLatLng(place.Point.coordinates[1],
          place.Point.coordinates[0]);
    map.setCenter(point, 12);
  }
}





