function load(address, htmlAddress, markerImage, popupImage)
{
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById('map'));
        var geocoder = new GClientGeocoder();
        var html = ''
            + '<table><tr>'
            +   '<td>'
            +     '<img src="/images/' + popupImage + '" />'
            +   '</td>'
            +   '<td style="color:#000; text-align:left; font-size:10pt; padding-left:5px;"><br />'
            +     htmlAddress
            +   '</td>'
            + '</tr></table>';

        if (geocoder)
        {
            geocoder.getLatLng(address,
                function(point)
                {
                    if (!point)
                    {
                        alert('Address not found.');
                    }
                    else
                    {
                        map.setCenter(point, 15);
                        
                        var icon = new GIcon(G_DEFAULT_ICON);
                        icon.image = markerImage;
                        icon.iconSize = new GSize(47, 45);
                        icon.iconAnchor = new GPoint(9, 44);
                        icon.shadow = null;
                        icon.imageMap = null;
                        icon.infoWindowAnchor = new GPoint(20, 2);
                        
                        var marker = new GMarker(point, { icon:icon });
                        GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
                        map.addOverlay(marker);
                        marker.openInfoWindowHtml(html);
                    }
                }
            );
        }
    }
}