
function apiYandexLoadFail(err)
{
 	 $(document).ready(function()
 	 {
    		 $("#yandex-map").text(err);
  	 });
};

$(document).ready(function()
{
	var geo_name = $("#yandex-map-geo").text();

	if  (geo_name != '' && typeof(YMaps) != 'undefined')
	{
		YMaps.jQuery(function ()
		{
			var geocoder = new YMaps.Geocoder(geo_name, {results: 1});

			YMaps.Events.observe(geocoder, geocoder.Events.Load, function ()
			 {
				if (this.length()) 
				 {
					var map = new YMaps.Map(YMaps.jQuery("#yandex-map")[0]);
					var geocodeResult = geocoder.get(0);
					// Добавление метки на карту 
					map.addOverlay(geocodeResult);
					// Центрируем карту на найденном объекте
					map.setBounds(geocodeResult.getBounds());
					map.panTo(geocodeResult.getGeoPoint())
					map.setZoom(8, {});
					
					$('ul.structure-data').each(function()
					{
						var address = $(this).find('li.address > span').text();
					
						if (address != '' && typeof(address) != 'undefined')
						{
							address = geo_name + ' ' + address;
					
							var address_geocoder = new YMaps.Geocoder(address, {results: 1});

							YMaps.Events.observe(address_geocoder, address_geocoder.Events.Load, function ()
							{
								if (this.length()) 
								{
									var geocodeResult = address_geocoder.get(0);
									geocodeResult.description = address;
									// Добавление метки на карту 
									map.addOverlay(geocodeResult);
									// Центрируем карту на найденном объекте
									map.setBounds(geocodeResult.getBounds());
									map.panTo(geocodeResult.getGeoPoint())
									map.setZoom(10, {});
								}
							});		
						}
					});
				}
				else 
				{
					$("#yandex-map").text("Нет данных.");
				}
			});
 
			YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (error) {
	 			   $("#yandex-map").text("Произошла ошибка: " + error.message)
			}); 
		});
	};
});
