  var centerLat = 42.7339;
  var centerLon = -83.059387;
  var map = {};
  
  function createMarker(point,iconObj,html) {
    var marker = new GMarker(point, { icon:iconObj });
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(html, { onOpenFn: function () {  marker.closeInfoWindow(); marker.openInfoWindowHtml(html, {onCloseFn: function () {  map.setCenter(new GLatLng(centerLat, centerLon)); }} ); } });
    });
    return marker;
  }
  
  function defineIcon(url) {
    var icon = new GIcon();
    icon.image = url;
    icon.shadow = "http://www.google.com/intl/en_us/mapfiles/ms/micons/msmarker.shadow.png";
    icon.iconSize = new GSize(32, 32);
    icon.shadowSize = new GSize(59, 32);
    icon.iconAnchor = new GPoint(16, 32);
    icon.infoWindowAnchor = new GPoint(16, 2);
    return icon;
  }

  function loadMap() {
    if (GBrowserIsCompatible()) {
      if(el = document.getElementById("google-maps-image")) {
        map = new GMap2(el, {mapTypes:[G_NORMAL_MAP,G_SATELLITE_MAP,G_PHYSICAL_MAP,G_SATELLITE_3D_MAP]});
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl(true));
        map.setCenter(new GLatLng(centerLat, centerLon),10);
        
        var pinkIcon = defineIcon("http://www.google.com/intl/en_us/mapfiles/ms/micons/pink.png");
        var pinkDotIcon = defineIcon("http://www.google.com/intl/en_us/mapfiles/ms/micons/pink-dot.png");
        


        preload_image_object = new Image();
        // set image url
        image_url = new Array();
        image_url[0] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";
        image_url[1] = "http://lh3.ggpht.com/_EGx_O_r-Mf0/TJes1REm-zI/AAAAAAAAACc/SrarkQY-oB4/s144/kinsley%208-17.jpg";
        image_url[2] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TC3qPrsNZ8I/AAAAAAAAABM/4e0oJsbJ7Eo/s144/IMG00037-20100614-1718.jpg";
        image_url[3] = "http://lh4.ggpht.com/_EGx_O_r-Mf0/TC3nQGeWunI/AAAAAAAAABA/QcHx7TwSu0w/s800/shutterstock_48328018.jpg";
        image_url[4] = "http://lh3.ggpht.com/_EGx_O_r-Mf0/TC3q7kxDm_I/AAAAAAAAABQ/WMDCqxKrG7s/s144/picture%2520075.jpg";
        image_url[5] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";
        image_url[6] = "http://lh6.ggpht.com/_EGx_O_r-Mf0/TJes09dXuvI/AAAAAAAAACY/GRx9w8UUIGM/s144/newmark-rendering%207-13.jpg";
        image_url[7] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";
        image_url[8] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";
        image_url[9] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";
        image_url[10] = "http://lh5.ggpht.com/_EGx_O_r-Mf0/TJerjogzTqI/AAAAAAAAACU/RX79p0aOYDQ/s144/northwyke%209-9.jpg";

        for(i=0; i<=image_url.length; i++) 
           preload_image_object.src = image_url[i];  
  
        
        var point = new GLatLng(42.672773,-82.861301);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[0] + '" align="left" style="margin-right:5px;"></td><td><b>Pinnacle Woods Subdivision</b><br><span style="font-size:12px;"><i>Chesterfield Twp., MI</i></span><br><br><span style="font-size:12px;"><i>23 mile Rd &amp; North Avenue</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.661295,-82.934353);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[1] + '" align="left" style="margin-right:5px;"></td><td><b>BrookRun Subdivision</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>22 mile Rd &amp; Romeo Plank</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.671251,-82.913496);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[2] + '" align="left" style="margin-right:5px;"></td><td><b>Buckingham Village II Subdivision</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>23 mile Rd &amp; Heydenreich Rd.</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.842115,-83.284864);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[3] + '" align="left" style="margin-right:5px;"></td><td><b>Golf Highlands of Waterstone</b><br><span style="font-size:12px;"><i>Lake Orion., MI</i></span><br><br><span style="font-size:12px;"><i>M24 &amp; Drahner Rd.</i></span><br>Starting in the 250\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.620365,-82.990218);
        var marker = createMarker(point,pinkDotIcon,'<table width="300"><tr><td><img src="' + image_url[4] + '" align="left" style="margin-right:5px;"></td><td><b>Newmark Homes Main Office</b><br><span style="font-size:12px;"><i>Sterling Hts., MI</i></span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.644661,-82.895279);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[5] + '" align="left" style="margin-right:5px;"></td><td><b>Hidden Meadows Subdivision</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>21 mile Rd &amp; Card Rd.</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.679848,-82.900043);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[6] + '" align="left" style="margin-right:5px;"></td><td><b>Portofino Villas Subdivision</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>23 mile Rd &amp; Card Rd.</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.642798,-82.936821);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[7] + '" align="left" style="margin-right:5px;"></td><td><b>Riverwood Farms</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>21 Mile Rd. &amp; Romeo Plank</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.698586,-83.054581);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[8] + '" align="left" style="margin-right:5px;"></td><td><b>Whispering Hills</b><br><span style="font-size:12px;"><i>Shelby Twp., MI</i></span><br><br><span style="font-size:12px;"><i>25 Mile Road &amp; Mound</i></span><br>In the $300\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.716498,-82.95948);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[9] + '" align="left" style="margin-right:5px;"></td><td><b>Villagio Estates</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>26 Mile Road &amp; Romeo Plank</i></span><br>In the $300\'s</span></td></tr></table>');
        map.addOverlay(marker);
        
        var point = new GLatLng(42.657444,-82.937336);
        var marker = createMarker(point,pinkIcon,'<table width="300"><tr><td><img src="' + image_url[10] + '" align="left" style="margin-right:5px;"></td><td><b>Becher Estates</b><br><span style="font-size:12px;"><i>Macomb Twp., MI</i></span><br><br><span style="font-size:12px;"><i>22 Mile Rd. &amp; Romeo Plank</i></span><br>In the low 200\'s</span></td></tr></table>');
        map.addOverlay(marker);
      }
    } else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
  }

