

function initialize_realty()
{
	var d = document.getElementById("cities_sel");
	if (typeof d == "object" && d != null)
		d.onchange = function() { fillSelect("regions_sel",regions,this.options[this.selectedIndex].value,0); }

	var d = document.getElementById("regions_sel");
	if (typeof d == "object" && d != null)
		d.onchange = function() 
		{ 
			fillSelect("districts_ids_source",districts,this.options[this.selectedIndex].value,0); 
			fillSelect("stations_ids_source",stations,this.options[this.selectedIndex].value,0); 
		}

	fillSelect("cities_sel",cities,0,city_id);
	fillSelect("regions_sel",regions,city_id,region_id);
	fillSelect("districts_ids_source",districts,region_id,0);
	fillSelect("stations_ids_source",stations,region_id,0);
}


function initialize_realty_map()
{
	var map = new GMap2(document.getElementById("realty_map"));
	var ll = new GLatLng(realty_map_lat,realty_map_long);

	map.setCenter(ll,realty_map_zoom);
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setMapType(G_HYBRID_MAP);

	var marker = new GMarker(ll);
	GEvent.addListener(marker,'click', function() 
	{
		map.openInfoWindowHtml(ll,realty_map_text);
	});
	map.addOverlay(marker);
}


function fillSelect(target,ar,parent,s)
{
	t = document.getElementById(target);
	if (typeof t != "object" || t == null) return "";

	t.length = 0;

	for (var i in ar)
	{
		var v = ar[i];
		if ((parent == 0 && (v.parent == undefined || v.parent == 0)) || (v.parent == parent))
			addOption(t,v.title,v.value,0,v.value==s);
	}
}


function addSelected(from,to)
{
	var f = document.getElementById(from);
	var t = document.getElementById(to);

	for (var i = 0; i < f.options.length; i++)
	{
		if (f.options[i].selected)
		{
			var exists = 0;
			for (var ii = 0; ii < t.options.length; ii++)
			{
				if (t.options[ii].value == f.options[i].value)
				{
					exists = 1;
				}
			}
			if (!exists)
			{
				var opt = document.createElement("OPTION");
				opt.text = f.options[i].text;
				opt.value = f.options[i].value;
				opt.selected = false;
				t.options.add(opt);
				f.options[i].selected = false;
			}
		}
	}
}


function remSelected(from)
{
	var del_ar = new Array();
	var f = document.getElementById(from);
	for (var i = 0; i < f.options.length; i++)
	{
		if (f.options[i].selected)
			del_ar[del_ar.length] = f.options[i].value; 
	}

	for (var i = 0; i < del_ar.length; i++)
	{
		for (ii = 0; ii < f.options.length; ii++)
		{
			if (f.options[ii].value == del_ar[i])
				f.options[ii] = null;
		}
	}
}


function realtySearchSubmit()
{
	var form = document.getElementById("realtySearchForm");
	var f = document.getElementById("districts_ids_targets");
	for (var i = 0; i < f.options.length; i++)
	{
		var input = document.createElement("input");
		input.type = "hidden";
		input.name = "districts_ids["+i+"]";
		input.value = f.options[i].value;
		form.appendChild(input);
	}
	var f = document.getElementById("stations_ids_targets");
	for (var i = 0; i < f.options.length; i++)
	{
		var input = document.createElement("input");
		input.type = "hidden";
		input.name = "stations_ids["+i+"]";
		input.value = f.options[i].value;
		form.appendChild(input);
	}
	form.submit();
	return 1;
}


function addOption (oListbox, text, value, isDefaultSelected, isSelected)
{
  var oOption = document.createElement("option");
  oOption.appendChild(document.createTextNode(text));
  oOption.setAttribute("value", value);

  if (isDefaultSelected) oOption.defaultSelected = true;
  else if (isSelected) oOption.selected = true;

  oListbox.appendChild(oOption);
}



