var map;
var prefix = "Россия, Ярославская область, Ярославль, ";

window.onload = function()
{
	map = new YMaps.Map(document.getElementById("YMapsID"));

	map.setCenter(new YMaps.GeoPoint(39.883348, 57.626111), 16, YMaps.MapType.MAP);

// +- координаты (5, 5)
	map.addControl(new YMaps.SmallZoom(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_LEFT, new YMaps.Size(2, 2)));
//	map.addControl(new YMaps.Zoom({noTips:true}), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_LEFT, new YMaps.Size(0, 5)));
// переместить-увеличить-измерить
	map.addControl(new YMaps.ToolBar(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_LEFT, new YMaps.Size(64, 5)));
// схема-спутник-гибрид
	map.addControl(new YMaps.TypeControl());
// мини-карта
	map.addControl(new YMaps.MiniMap());

//	map.enableScrollZoom();
}

function search_obj(request, clear_list)
{
	geocoder = new YMaps.Geocoder(prefix + request);

	YMaps.Events.observe(geocoder, geocoder.Events.Load,
	function ()
	{
		if(clear_list == 1)
			document.getElementById("YMapsSearchResults").innerHTML = "";

		if(this.length())
		{
			if(this.length() == 1)
			{
				if(clear_list == 1)
					document.getElementById("YMapsSearchResults").innerHTML = "<h3>Результаты поиска</h3><select><option>" + this.get(0).text.replace(/^Россия, Ярославская область, Ярославль, (.*)$/, "$1") + "</select>";

				map.removeAllOverlays();
// Добавляем оверлей на карту
				map.addOverlay(this.get(0));
				map.panTo(this.get(0).getGeoPoint());
				this.get(0).setBalloonContent(this.get(0).text.replace(/^Россия, Ярославская область, Ярославль, (.*)$/, "$1"));
				this.get(0).openBalloon();
			}

			if(this.length() > 1)
			{
				with(document.getElementById("YMapsSearchResults"))
				{
					tmp_str = "<option>выберите объект в результатах поиска";

					for(i=0;i<this.length();i++)
						tmp_str += "<option>" + this.get(i).text.replace(/^Россия, Ярославская область, Ярославль, (.*)$/, "$1");

					innerHTML = "<h3>Результаты поиска (" + this.length() + " шт.)</h3><select onChange=\"if(this.selectedIndex!=0)search_obj(this.options[this.selectedIndex].text, 0);\">" + tmp_str + "</select>";
				}
			}
		}
		else
			alert("No results")
	}
	);
}
