function showAddress(address){

  var url = "<%= url_for :controller => 'view', :action => 'geocode', :address => '' %>" + address;
  
  new Ajax.Request(url, {
    method: 'get',
    onFailure: function(transport){
      $('body').innerHTML = transport.responseText;
    },
    onComplete: function(transport){
      eval("var rsp = " + transport.responseText);
      
      if (rsp.Status.code != 200) 
        alert(address + " not found (" + rsp.Status.code + ")");
      else if (rsp.Placemark.length < 1) 
        alert("No locations found.");
      else {
        Placemark = rsp.Placemark[0];
        var latlng = new GLatLng(Placemark.Point.coordinates[1], Placemark.Point.coordinates[0]);
        
        url = "<%= url_for :controller => 'postcards', :action => 'edit', :id => @to_place.id %>?latitude=" + latlng.lat() + "&longitude=" + latlng.lng();
        
        map.openInfoWindowHtml(latlng, "<p>" + Placemark.address + "</p><a href=\"" + url + "\">yes</a>");
      }
    }
  });
}

function addMapClickListener(){
  GEvent.addListener(map, "click", function(marker, point){
    var postcard_id = /to_place=(\d+)/.exec(window.location.href)[1];
    var latlng;
    
    if (marker) 
      latlng = marker.getLatLng();
    else latlng = point;
    
    window.location = "/postcards/edit/" + postcard_id + "?latitude=" + latlng.lat() + "&longitude=" + latlng.lng()
  });
  
}
