//===============индексировать достопримечательность=========================

function get_geocode(value,precision)
{
			//map.removeOverlay(geoResult);
			//map.getBounds()
			var geocoder = new YMaps.Geocoder(value, {results: 1});

			YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {

			if (this.length()) {
					geoResult = this.get(0);
					var point = geoResult.getGeoPoint();

					//alert(point);
					var geocode_str = point.toString(precision);

					alert(geocode_str);

					return geocode_str;
			}

			});

			//return null;
}

function places_get_geocode(id, address, content){
			new Ajax.Request('/get.php?mode=map_geocode&place_id='+id+'&address=Cанкт-Петербург,'+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}
function events_get_geocode(id, address, content){
			new Ajax.Request('/get.php?mode=map_geocode&event_id='+id+'&address=Cанкт-Петербург,'+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}

function hotels_get_geocode(id, address, content){
			new Ajax.Request('/get.php?mode=map_geocode&hotel_id='+id+'&address=Санкт-Петербург,'+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}

function restaurants_get_geocode(id, address, content){
			new Ajax.Request('/get.php?mode=map_geocode&restaurant_id='+id+'&address=Санкт-Петербург,'+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}

//todo: заменить на этот функцитон

function get_geocode_ext(id, address, content, type){
			new Ajax.Request('/get.php?mode=map_geocode&'+type+'_id='+id+'&address=Санкт-Петербург,'+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}
//uberbase variant
function get_geocode_ext_u(id, address, content, type){
			new Ajax.Request('/get.php?mode=map_geocode_u&type='+type+'&id='+id+'&address='+address,
			{
								onSuccess: function(transport){
									$(content).innerHTML = transport.responseText;
								}
			});
}

//==========================================
//				Большая карта
//==========================================

function map_toggle_category(checkbox, category_id) {

	var checked = $(checkbox).checked;

	new Ajax.Request('/get.php?mode=map&type=places&category_id='+category_id,
		{
			onSuccess: function(transport){

				//var data = transport.responseText;

			try {
					//var data = JSON.parse(transport.responseText);
					var data = eval('(' + transport.responseText + ')');

					var l = data.length;

					if (checked) {
						for (i = 0; i < l; i++)
						{
							//convert_address(data[i]["address"],data[i]["object_id"],category_id);	//slow variant is sloow
							mark_point(data[i]["geocode"],data[i]["object_id"],'places',category_id);	//fast variant is fst
						}
					} else {
						if (categorys_geo_map['places'][category_id]) {
							for (i = 0; i < categorys_geo_map['places'][category_id].length; i++)
							{
								map.removeOverlay(categorys_geo_map['places'][category_id][i]);
								//categorys_geo_map[category_id][i].onRemoveFromMap();
							}
						}
					}
				}
				catch(e){

					alert('Невозможно выполнить скрипт. \nИбо:\n' + e);

				}
			}
		});
}


//============================================
//	То же самое для отелей
//============================================

function map_toggle_hotel(checkbox, stars) {

	var checked = $(checkbox).checked;

	new Ajax.Request('/get.php?mode=map&type=hotels&stars='+stars,
		{
			onSuccess: function(transport){
			try {
					var data = eval('(' + transport.responseText + ')');

					var l = data.length;

					if (checked) {
						for (i = 0; i < l; i++)
						{
							mark_point(data[i]["geocode"], data[i]["object_id"], 'hotels', stars);	//fast variant is fst
						}
					} else {
						if (categorys_geo_map['hotels'][stars]) {
							for (i = 0; i < categorys_geo_map['hotels'][stars].length; i++)
							{
								map.removeOverlay(categorys_geo_map['hotels'][stars][i]);
							}
						}
					}
				}
				catch(e){

					alert('Невозможно выполнить скрипт. \nИбо:\n' + e);

				}
			}
		});
}

/*
 *		Отметить категории на карте не через checkbox, а через произвольный элемент по onclick
 */

function map_toggle_category_ext(sender, category_id , typename) {

	var checked = $(sender).getAttribute('checked');

	if (checked == '1') { $(sender).setAttribute('checked','0'); }  else { $(sender).setAttribute('checked','1'); }

	if (!typename) { typename = 'places'; }

	new Ajax.Request('/get.php?mode=map&type='+typename+'&category_id='+category_id,
		{
			onSuccess: function(transport){

				//var data = transport.responseText;
			if (transport.responseText)
			{
				try {
						//var data = JSON.parse(transport.responseText);
						var data = eval('(' + transport.responseText + ')');

						var l = data.length;

						if (checked == '1') {
							for (i = 0; i < l; i++)
							{
								//convert_address(data[i]["address"],data[i]["object_id"],category_id);	//slow variant is sloow
								mark_point(data[i]["geocode"],data[i]["object_id"],typename,category_id);	//fast variant is fst
							}
						} else {
							if (categorys_geo_map[typename][category_id]) {
								for (i = 0; i < categorys_geo_map[typename][category_id].length; i++)
								{
									map.removeOverlay(categorys_geo_map[typename][category_id][i]);
									//categorys_geo_map[category_id][i].onRemoveFromMap();
								}
							}
						}
					}
					catch(e){

						alert('Невозможно выполнить функцию map_toggle_category_ext. \nОшибка:\n' + e + '\n responce text:'+transport.responseText);

					}
				}
			}
		});
}

function map_places_show_nearest(place_id) {

		new Ajax.Request('/get.php?mode=map&type=places_nearest&place_id='+place_id,
		{
			onSuccess: function(transport){

				//var data = transport.responseText;

			try {
					//var data = JSON.parse(transport.responseText);
					var data = eval('(' + transport.responseText + ')');

					var l = data.length;


					for (i = 0; i < l; i++)
					{
						mark_point(data[i]["geocode"],data[i]["object_id"],'places',data[i]["category_id"]);	//fast variant is fst
					}
				}
				catch(e){
					alert('Невозможно выполнить скрипт. \nИбо:\n' + e);
				}
			}
		});
}

function map_ubase_show_nearest(ubase_id) {

		new Ajax.Request('/get.php?mode=map&type=ubase_nearest&ubase_id='+ubase_id,
		{
			onSuccess: function(transport){

				//var data = transport.responseText;

			try {
					//var data = JSON.parse(transport.responseText);
					var data = eval('(' + transport.responseText + ')');

					var l = data.length;


					for (i = 0; i < l; i++)
					{
						mark_point(data[i]["geocode"],data[i]["object_id"],'places',data[i]["category_id"]);	//fast variant is fst
					}
				}
				catch(e){
					alert('Невозможно выполнить скрипт. \nИбо:\n' + e);
				}
			}
		});
}

function map_restaurants_show_nearest(rest_id) {

		new Ajax.Request('/get.php?mode=map&type=restaurants_nearest&rest_id='+rest_id,
		{
			onSuccess: function(transport){

				//var data = transport.responseText;

			try {
					//var data = JSON.parse(transport.responseText);
					var data = eval('(' + transport.responseText + ')');

					var l = data.length;


					for (i = 0; i < l; i++)
					{
						mark_point(data[i]["geocode"],data[i]["object_id"],'places',data[i]["category_id"]);	//fast variant is fst
					}
				}
				catch(e){
					alert('Невозможно выполнить map_hotels_show_nearest. \nИбо:\n' + e);
				}
			}
		});
}




