var mapObj;
var mapGeocoder;

function showGoogleMapByAddress(mapId,name,address)
{
	if(GBrowserIsCompatible())
	{
		mapObj = new GMap2(document.getElementById(mapId));
		mapGeocoder = new GClientGeocoder();
		mapShowAddress(name,address);
	}
}

function mapShowAddress(name,address)
{
	if(mapGeocoder)
	{
		mapGeocoder.getLatLng(address,
			function(point)
			{
				if(point)
				{
              		mapObj.setCenter(point, 13);
              		var marker = new GMarker(point);
              		mapObj.addOverlay(marker);
              		marker.openInfoWindowHtml('<p class="modMapTxt"><strong>'+name+'</strong></p><p class="modMapTxt">'+address+'</p>');
					mapObj.addControl(new GSmallMapControl());
					mapObj.addControl(new GMapTypeControl());
          		}
          	 }
        	);
	}
}

function showYandexMapByAddress (mapId, name, address) {
	var map = new YMaps.Map(document.getElementById(mapId));
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.Zoom());
    var geocoder = new YMaps.Geocoder(address, {results: 1, boundedBy: map.getBounds()});
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    	if (this.length()) {
    	 	var geoResult = this.get(0);
	    	var placemark = new YMaps.Placemark( geoResult.getGeoPoint() );
	    	var content;
	    	if ( name != null || name != 'null' ) {
	    		content = '<b>'+name+'</b><br>';	    		
	    	}
	    	content = content + address;
	    	placemark.setBalloonContent(content);
	    	map.addOverlay(placemark);
            map.setBounds(geoResult.getBounds());
            placemark.openBalloon();            
         } else {
            alert("Address "+ address +" not found")
         }
    });
}