﻿var map;
var mgr;
var markers = [];

var leftBound = 0;
var rightBound = 0;
var topBound = 0;
var bottomBound = 0;
var bounds = new GLatLngBounds();

$(document).ready(function() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("company_map"));

        //map.addControl(new GLargeMapControl());
        //map.addControl(new GOverviewMapControl());
        map.setCenter(new GLatLng(42, -93), 3);
        map.enableDoubleClickZoom();
        map.setUIToDefault();
        mgr = new MarkerManager(map, { trackMarkers: true });

        window.setTimeout(addMarkers, 0);
    }

});

function addMarkers() {

    if (!GBrowserIsCompatible()) return;

    var geocoder = new GClientGeocoder();

    if (geocoder) {
        for (var i in addresses) {
            var mapEntity = addresses[i];

            geocoder.getLatLng(
                      mapEntity["FullAddress"],
                      function(point) {
                          if (point) {
                              var marker = new GMarker(point);

                              bounds.extend(point);
                              mgr.addMarker(marker, 0);
                              resetCenter();
                          }
                      }
                   );
        }
        //window.setTimeout(resetCenter, 3000);
    }
}



function resetCenter() {
    var zoomLevel = map.getBoundsZoomLevel(bounds);
    if (zoomLevel > 9) zoomLevel = 9;

    map.setZoom(zoomLevel);
    map.setCenter(bounds.getCenter());
}



