//
// Javascript for Maps.aspx
//
var gmap = null;
var markers = [];
var _watermarkOverlay = null;
var defaultCenter;
var defaultZoom;
var locationZoom;

//
// DOM Reader (page load/initialise).
//
$(document).ready(function() {
  //Initial map layout.
  gmapInit();
  
  $(window).unload(function() { GUnload(); });
  
  refreshMarkers();
});
//
// Initialise the map and Google API.
//
function gmapInit()
{
  gmap = new GMap2($("#gmap").get(0)); 
  if (GBrowserIsCompatible())
  {
    gmap.enableScrollWheelZoom();
    
    gmap.addControl(new GLargeMapControl());
    gmap.addControl(new GMapTypeControl());
    gmap.setMapType(G_NORMAL_MAP);

    //Map MUST be centered before any overlays.
    gmap.setCenter(defaultCenter, defaultZoom);
  }
}
//
// Reset map to show the currently selected markers.
//
function refreshMarkers()
{
  gmap.clearOverlays();
  var bounds = new GLatLngBounds();
  jQuery.each(markers, function(i) 
  {
    var point = new GLatLng(this.lat, this.lng);
    bounds.extend(point);
    
    var newOverlay = new GMarker(point);
    newOverlay.bindInfoWindowHtml("<div class=\"info-window-name\">" + this.name + "</div><div class=\"clear\"></div><div class=\"info-window-description\">" + this.description + "</div>");
    
    gmap.addOverlay(newOverlay);    
  });

  if (!bounds.isEmpty())
  {
    gmap.setCenter(bounds.getCenter());
    var maximumZoom = Math.min(15, gmap.getBoundsZoomLevel(bounds));
    gmap.setZoom(maximumZoom);
  }
}