//////////////////////////////////////////////////////////////////////////
// Выбор объекта                                                        //
//////////////////////////////////////////////////////////////////////////

function kladr_object_selector_on_change( id )
{


}

//////////////////////////////////////////////////////////////////////////
// Поиск объекта                                                        //
//////////////////////////////////////////////////////////////////////////

function kladr_find_object( id )
{
	var object_name = document.getElementById("kladr_object_name_" + id);
	
	// Очищаем селектор
	
	var object_selector = document.getElementById("kladr_object_selector_" + id);
	object_selector.options.length = 0;
	
	// Отправляем запрос
	
	var ajax = create_ajax();

	if ( !ajax )
	{
		alert("Не удалось создать объект XMLHTTP.");
		return;
	}

	// Выполняем запрос

	ajax.open("POST", "/standalone/kladr_handler.php?action=find_objects", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	ajax.onreadystatechange =
	function ()
	{
		if ( ajax.readyState != 4 ) return;

		if ( ajax.status != 200 )
		{
			alert("Сервер вернул HTTP код отличный от 200." + ajax.responseText);
			return;
		}
		
		// Парсим ответ сервера
		
		var expression = /(.*?)\|(.*?)\#/g;
		
		var result;
		while ( result = expression.exec(ajax.responseText) )
		{
			object_selector.options[object_selector.options.length] = new Option(result[2], result[1]);
		}

	}		

	ajax.send("object_name=" + object_name.value);
}

//////////////////////////////////////////////////////////////////////////
// Поиск улицы                                                          //
//////////////////////////////////////////////////////////////////////////

function kladr_find_street( id )
{
	var street_name = document.getElementById("kladr_street_name_" + id);
	
	var object_selector = document.getElementById("kladr_object_selector_" + id);
	var parent_object_code = object_selector.options[object_selector.selectedIndex].value;
	
	// Очищаем селектор
	
	var street_selector = document.getElementById("kladr_street_selector_" + id);
	street_selector.options.length = 0;
	
	// Отправляем запрос
	
	var ajax = create_ajax();

	if ( !ajax )
	{
		alert("Не удалось создать объект XMLHTTP.");
		return;
	}

	// Выполняем запрос

	ajax.open("POST", "/standalone/kladr_handler.php?action=find_streets&parent_object_code=" + parent_object_code, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	ajax.onreadystatechange =
	function ()
	{
		if ( ajax.readyState != 4 ) return;

		if ( ajax.status != 200 )
		{
			alert("Сервер вернул HTTP код отличный от 200." + ajax.responseText);
			return;
		}
		
		// Парсим ответ сервера
		
		var expression = /(.*?)\|(.*?)\#/g;
		
		var result;
		while ( result = expression.exec(ajax.responseText) )
		{
			street_selector.options[street_selector.options.length] = new Option(result[2], result[1]);
		}

	}		

	ajax.send("street_name=" + street_name.value);
}

//////////////////////////////////////////////////////////////////////////
// Поиск дома                                                           //
//////////////////////////////////////////////////////////////////////////

function kladr_find_house( id )
{
	var house_name = document.getElementById("kladr_house_name_" + id);
	
	var street_selector = document.getElementById("kladr_street_selector_" + id);
	var parent_street_code = street_selector.options[street_selector.selectedIndex].value;
	
	// Очищаем селектор
	
	var house_selector = document.getElementById("kladr_house_selector_" + id);
	house_selector.options.length = 0;
	
	// Отправляем запрос
	
	var ajax = create_ajax();
	
	if ( !ajax )
	{
		alert("Не удалось создать объект XMLHTTP.");
		return;
	}

	// Выполняем запрос

	ajax.open("POST", "/standalone/kladr_handler.php?action=find_houses&parent_street_code=" + parent_street_code, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	ajax.onreadystatechange =
	function ()
	{
		if ( ajax.readyState != 4 ) return;

		if ( ajax.status != 200 )
		{
			alert("Сервер вернул HTTP код отличный от 200." + ajax.responseText);
			return;
		}
		
		// Парсим ответ сервера
		
		var expression = /(.*?)\|(.*?)\#/g;
		
		var result;
		while ( result = expression.exec(ajax.responseText) )
		{
			house_selector.options[house_selector.options.length] = new Option(result[2], result[1]);
		}

	}		

	ajax.send("&house_name=" + house_name.value);
}