﻿function StreetFilterChanged() {
    var streetTitle = document.getElementById("tbStreet").value;
    var houseList = document.getElementById('lbHouse');
    var streetList = document.getElementById('lbStreet');

    if (streetTitle.length) {
        houseList.options.length = 0;
        streetList.options.length = 0;
        GetStreetsFilter(streetTitle, SuccessGetStreets);
    }
    else {
    }
}

function StreetSelectChanged() {
    var streetList = document.getElementById('lbStreet');
    if (streetList.selectedIndex != -1) {
        var streetID = streetList.options[streetList.selectedIndex].value;

        GetHouses(streetID, SuccessGetHouses);
    }
}

function HouseSelectChanged() {
    var houseList = document.getElementById('lbHouse');
    if (houseList.selectedIndex != -1) {
        var houseId = houseList.options[houseList.selectedIndex].value;

        GetHouseCoord(houseId, SuccessGetHousesCoord);
    }
}

function SuccessGetStreets(result, code) {
    if (result) {
        var res = result;
        var houseList = document.getElementById('lbHouse');
        houseList.options.length = 0;

        var streetList = document.getElementById('lbStreet');

        for (var key in res) {
            var option = document.createElement("OPTION");
            option.value = res[key].Id;
            option.appendChild(document.createTextNode(res[key].Title));
            streetList.appendChild(option);
        }
    }
}

function SuccessGetHouses(result) {
    if (result) {
        var res = result;

        var houseList = document.getElementById('lbHouse');
        houseList.options.length = 0;

        for (var key in res) {
            var option = document.createElement("OPTION");
            option.value = res[key].Id;
            option.appendChild(document.createTextNode(res[key].Title));
            houseList.appendChild(option);
        }
    }
}

function SuccessGetHousesCoord(result) {
    if (result) {
        var res = result;
        var x = res.X;
        var y = res.Y;
        //Удаляем все маркеры
        map.RemoveAllMarkers();
        //Центруем, меняем зум, добавляем маркер
        map.SetMapCenter(x, y);
        //Добавляем маркер
        map.AddMarker(x, y, HOUSE_MARKER_IMG);
    }
}

