
var map = null;
var geocoder;
var noImageBoxExists;

var loadGoogleMap = function() {
	if(GBrowserIsCompatible() && (typeof doMap != "undefined" && doMap)) {
		map = new GMap2($('googleMapContainer'));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		Event.observe(window, 'unload', GUnload);
	}
}

var sgmap = function() {
	 if(map == null) {
	 	loadGoogleMap();
	 }
	 showAddress(address_string, mls, thumb, myLat, myLng);
}

var showAddress = function (address, mls, thumb, myLat, myLng) {

  if(myLat && myLng) {
  			map.clearOverlays();
	        place = myLat;
	        var point = new GLatLng(myLat,myLng);				
	        map.setCenter(point, 15);
	        var marker = new GMarker(point);
	        map.addOverlay(marker);
	        marker.openInfoWindowHtml("<div style='height: 110px; padding-top: 5px; padding-bottom: 5px; font-size:10pt;'>"+thumb+"<br />MLS# "+mls+"<br />"+address_string+"</div>");

  } else {
	  geocoder.getLocations(
	    address,
	    function(resp) {
	      if (!resp || !resp.Placemark) {
	      	document.getElementById('googleMapContainer').innerHTML = '<div style="padding: 5px; font-weight: bold; font-size: 12px; color: #000;">Unable to locate this property on Google Maps.</div>';
	        //alert('Unable to locate this property on Google Maps.');
	      } else {
	        map.clearOverlays();
	        place = resp.Placemark[0];
	        var point = new GLatLng(place.Point.coordinates[1],
	                            place.Point.coordinates[0]);				
	        map.setCenter(point, 15);
	        var marker = new GMarker(point);
	        map.addOverlay(marker);
	        marker.openInfoWindowHtml("<div style='height: 110px; padding-top: 5px; padding-bottom: 5px; font-size:10pt;'>"+thumb+"<br />MLS# "+mls+"<br />"+place.address+"</div>");
	      }
	    }
	  );
  }
}

Event.observe(window, 'load', sgmap);

