function openWindow(url, width, height) {
 openNamedWindow(url, width, height, "RMA");
}

function openNamedWindow(url, width, height,name) {
        height += 50;          
  var sFeatures = "top=50,left=50,height=" + height + ",width=" + width + ",status=yes,scrollbars=yes,resizable=1,menubar=";
  var win = window.open(url,name,sFeatures);
        if (win != null) {
   win.focus();
   win.resizeTo(width, height);
        }
}

/* Google Maps
 * Configure getMapCenter and getMapZoom
 */
var map;
var geocoder;
var mapCenter;

function getMapCenter() {
  return new GLatLng(39.37571, -104.848709);
}

function getMapZoom() {
  return 4;
}

function showAddress(address, html, zoom, showMarker) {
  if (!geocoder) {
    geocoder = new GClientGeocoder();
  }
  
  if (!map) {    
    map = new GMap2(document.getElementById("map"));
    if (showMarker == 0) {
      map.setCenter(getMapCenter(), getMapZoom());
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
    } 
  }

  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        if (zoom != -1 && showMarker == 1) {         
         map.setCenter(point, zoom, G_HYBRID_MAP);
         map.addControl(new GSmallMapControl());
         map.addControl(new GMapTypeControl());
        }
        var marker = new GMarker(point);
        map.addOverlay(marker);
        if (showMarker == 1) {
          marker.openInfoWindowHtml(html);
        }
        GEvent.addListener(marker, 'click', function() {
         marker.openInfoWindowHtml(html);
        });

      }
    }
  );
}


function createMarker(point, html, showMarker) {
     var marker = new GMarker(point);
     GEvent.addListener(marker, 'click', function() {
       marker.openInfoWindowHtml(html);
     });
     map.addOverlay(marker);
     if (showMarker == 1) {
      marker.openInfoWindowHtml(html);
     }
}

function addPointToMap(lat, lon, html, zoom, showMarker) {
    if (lat > 90 || lat < -90 || lon < -180 || lon > 180) {
      alert(lat + "," + lon + " is not a valid latitude and longitude.");
      return;
    }
    
    if (!map) {
      map = new GMap2(document.getElementById("map"));
      if (showMarker == 1) {
        map.setCenter(new GLatLng(lat, lon),zoom,G_HYBRID_MAP) ; 
      } else {
        map.setCenter(getMapCenter(), getMapZoom());
      }
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
    } 
    
    var point = new GPoint(lon, lat);    
    var marker = createMarker(point, html, showMarker);
}