﻿var cLon = 21.500000;
var cLat = 51.900000;
var cS = 17;
function initFind(cityName) {
    var queryObj = new Object();
        var city_name = replaceLetters(cityName);
        var street_name = "xxxx";
        var zip = "0";
        var woj_nr = "0";
        var street_id = "0";
        var house_nr = "1";

        queryObj.city_name = city_name;
        queryObj.street_name = street_name;
        queryObj.zip = zip;
        queryObj.woj_nr = woj_nr;
        queryObj.house_nr = house_nr;

        initQueryServer(JSON.stringify(queryObj));
    }
function initQueryServer(query) {
    _ajax_conn = new XHConn();
    var qstring = "gq=" + query;
    _ajax_conn.connect("http://www.geoserwer.pl/geoserwer/geokoder/service.aspx", "GET", qstring, initResponse);
}
var initResponse = function(ans) {
    //alert(ans.responseText);
    if (ans && ans.responseText && ans.responseText != '') {
        var respObj = JSON.parse(ans.responseText);
        initCity(respObj);
    }
}
function initCity(city) {
    var mapobject = createMapgoObject();
    mapobject.initMap(city.Y, city.Y, 6, 0, 0, 0, 0);
    mapobject.changeMapMode(3)
    mapobject.showToolbar();
}

function find1() {
    //parsowanie adresu
    var addr_input = document.getElementById("addr").value;
    var addr_full = mapobject.splitStreetNo(addr_input);
    var addr_street = addr_full.street;
    var addr_no = addr_full.no;

    var queryObj = new Object();

    if (document.getElementById("msc").value.length >= 3) {
        var city_name = replaceLetters(document.getElementById("msc").value);
        var street_name = addr_street;
        var zip = "0";
        var woj_nr = "0";
        var street_id = "0";
        var house_nr = addr_no;

        queryObj.city_name = city_name;
        queryObj.street_name = street_name;
        queryObj.zip = zip;
        queryObj.woj_nr = woj_nr;
        queryObj.house_nr = house_nr;

        queryServer(JSON.stringify(queryObj));
    } else {
        alert("Brak danych do wyszukania");
    }
}
function find2() {
    if ((document.getElementById("latInput").value >= parseFloat(48.966784) && document.getElementById("latInput").value <= parseFloat(54.832256)) && (document.getElementById("lonInput").value >= parseFloat(14.013696) && document.getElementById("lonInput").value <= parseFloat(24.102144))) {
        mapobject.centerMap(document.getElementById("lonInput").value, document.getElementById("latInput").value, 3);
        putAddressIco("Szerokość geograficzna: <b>" + document.getElementById("latInput").value + "</b><br />Długość geograficzna: <b>" + document.getElementById("lonInput").value + "</b>", document.getElementById("lonInput").value, document.getElementById("latInput").value, 3, 150, 100);
    } else {
        alert("Nieprawidłowe dane wejściowe");
    }
}
function queryServer(query) {
    _ajax_conn = new XHConn();
    var qstring = "gq=" + query;
    _ajax_conn.connect("http://www.geoserwer.pl/geokoder/service.aspx", "GET", qstring, fnWhenSearchDataDone);
}
var fnWhenSearchDataDone = function(ans) {
    if (ans && ans.responseText && ans.responseText != '') {
        var respObj = JSON.parse(ans.responseText);

        //nie znaleziono adresu
        if (respObj.state && respObj.state == 1) {
            addressNotFound();
        }

        //lista kilku miast
        else if (respObj.city_list) {
            addressCityList(respObj.city_list);

        }

        //lista kilku adresów
        else if (respObj.street_list) {
            addresStreetList(respObj.street_list);
        }

        //pojedyncze miasto
        else if (respObj.state && respObj.state == 4) {
            addressOneCityFound(respObj);
        }

        //pojedynczy adres
        else if (respObj.state && respObj.state == 8) {
            addressOneStreetFound(respObj);
        }
    }
}
function searchResultsHide() {
    document.getElementById("searchResultsMessage").style.visibility = "hidden"; //document.getElementById("searchResultsMessage").innerHTML = "";
    document.getElementById("searchResultsErrorMessage").style.visibility = "hidden"; // document.getElementById("searchResultsErrorMessage").innerHTML = "";
    document.getElementById("searchResultsCity").style.visibility = "hidden"; //document.getElementById("searchResultsCity").innerHTML = "";
    document.getElementById("searchResultsStreet").style.visibility = "hidden"; //document.getElementById("searchResultsStreet").innerHTML = "";
    document.getElementById("searchResults").style.visibility = "hidden"; //document.getElementById("searchResults").innerHTML = "";
    document.getElementById("searchResultsComment").style.visibility = "hidden"; //document.getElementById("searchResultsComment").innerHTML = "";
}
function addressNotFound() {
    searchResultsHide();
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResultsErrorMessage").style.visibility = "visible"
    document.getElementById("searchResultsErrorMessage").innerHTML = "<img src=\"/sklep/img/ikonka_warning.gif\" alt=\"\" hspace=\"5\" vspace=\"10\" align=\"left\" /><b>Nie znalazłem podanego adresu!</b><br />Sprawdź wprowadzoną nazwę i spróbuj ponownie.";
}
function addressOneCityFound(city) {
    searchResultsHide();
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResultsMessage").style.visibility = "visible";
    document.getElementById("searchResultsMessage").innerHTML = "Znaleziono 1 pozycję."
    document.getElementById("searchResultsCity").style.visibility = "visible";
    document.getElementById("searchResultsCity").innerHTML = "<a href=\"javascript:putAddressIco('" + city.city_name + "', '" + city.X + "','" + city.Y + "', 6, 100, 30);\" class=\"searchResultsCityLink\">" + city.city_name + "</a><br />";
    document.getElementById("searchResultsCity").innerHTML += "" + city.woj_name + ", powiat: " + city.pow_name + "";
}
function addressOneStreetFound(city) {
    searchResultsHide();
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResultsMessage").style.visibility = "visible";
    document.getElementById("searchResultsMessage").innerHTML = "Znaleziono adres."
    document.getElementById("searchResultsCity").style.visibility = "visible";
    document.getElementById("searchResultsCity").innerHTML = "<b>" + city.city_name + "</b><br />";
    document.getElementById("searchResultsCity").innerHTML += "" + city.woj_name + ", powiat: " + city.pow_name + "";
    if (city.house_nr == 1) {
        document.getElementById("searchResultsStreet").style.visibility = "visible";
        document.getElementById("searchResultsStreet").innerHTML = "<a href=\"javascript:putAddressIco('" + city.city_name + " <br /><b>" + city.street_name + "</b>', '" + city.X + "','" + city.Y + "', 3, 150, 50);\" class=\"searchResultsCityLink\">" + city.street_name + "</a><br />";
    } else {
        document.getElementById("searchResultsStreet").style.visibility = "visible";
        document.getElementById("searchResultsStreet").innerHTML = "<a href=\"javascript:putAddressIco('" + city.city_name + " <br /><b>" + city.street_name + " " + city.house_nr + "</b>', '" + city.X + "','" + city.Y + "', 3, 150, 50);\" class=\"searchResultsCityLink\">" + city.street_name + " " + city.house_nr + "</a><br />";
    }
}
function addresStreetList(list) {
    searchResultsHide();
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResultsMessage").style.visibility = "visible";
    document.getElementById("searchResultsMessage").innerHTML = "Znalezionych adresów: <b>" + list.length + "</b>";

    document.getElementById("searchResultsCity").style.visibility = "visible";
    document.getElementById("searchResultsCity").innerHTML = "<b>" + list[0].city_name + "</b><br />";
    document.getElementById("searchResultsCity").innerHTML += "" + list[0].woj_name + ", powiat: " + list[0].pow_name + "";

    document.getElementById("searchResultsStreet").style.visibility = "visible";
    for (var i = 0; i < list.length; i++) {
        document.getElementById("searchResultsStreet").innerHTML += "<a href=\"javascript:putAddressIco('" + list[i].city_name + "<br /><b>" + list[i].street_name + "</b>', '" + list[i].X + "','" + list[i].Y + "', 3, 150, 60);\" class=\"searchResultsCityLink\">" + list[i].street_name + "</a><br />";
    }
}
function addressCityList(list) {
    searchResultsHide();
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResultsMessage").style.visibility = "visible";
    document.getElementById("searchResultsMessage").innerHTML = "Znalezionych pozycji: <b>" + list.length + "</b>";
    document.getElementById("searchResultsCity").style.visibility = "visible";
    document.getElementById("searchResultsCity").innerHTML = "";
    for (var i = 0; i < list.length; i++) {
        document.getElementById("searchResultsCity").innerHTML += "<a href=\"javascript:putAddressIco('<b>" + list[i].city_name + "</b><br />" + list[i].woj_name + "<br />powiat: " + list[i].pow_name + "', '" + list[i].X + "','" + list[i].Y + "', 6, 150, 60);\" class=\"searchResultsCityLink\">" + list[i].city_name + "</a>";
        document.getElementById("searchResultsCity").innerHTML += "<div style='margin-bottom:5px; border-bottom: solid 1px #808080;'>" + list[i].woj_name + ", powiat: " + list[i].pow_name + "</div>";
    }
}
function showSearchResult(list, mode) {
    var Result = "";
    var SearchString = "";
    document.getElementById("searchResults").innerHTML = "";
    if (mode == 1) {//jeżedli więcej niż jeden wynik  to list = respObj.city_list
        Result = "Znalezione pozycje (<b>" + list.length + "</b>):<br /><ul>";
        for (var i = 0; i < list.length; i++) {
            Result += "<li><a href=\"javascript:putAddressIco('" + list[i].city_name + "', '" + list[i].X + "', '" + list[i].Y + "');\"><b>" + list[i].city_name + "</b><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(" + list[i].woj_name + ", " + list[i].pow_name + ")</a></li>";
        }
    } else if (mode == 0) { // w innym przypadku list = respObj
        Result += "<ul>";
        Result += "<li><a href=\"javascript:putAddressIco('" + list.city_name + "', '" + list.X + "', '" + list.Y + "');\"><b>" + list.city_name + "</b><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(" + list.woj_name + ", " + list.pow_name + ")</a></li>";
    }
    Result += "</ul>"
    document.getElementById("searchResults").style.visibility = "visible";
    document.getElementById("searchResults").innerHTML = Result;
}
