

var geo;
var mapa;


var lat = 52.17393169256846;
var lng = 18.8525390625;
var zoom = 6;

function loadMapPoland() {
    if (GBrowserIsCompatible()) {
      if (document.getElementById("mapka") != null) {
            mapa = new GMap2(document.getElementById("mapka"));
            mapa.setCenter(new GLatLng(lat, lng), zoom);
            // kontrolki mapy
            mapa.addControl(new GLargeMapControl());
            mapa.addControl(new GScaleControl());
            return mapa;
      }
    }
}

//var hrtIcon = new GIcon(G_DEFAULT_ICON);
//hrtIcon.image = "/public/images/mapIcon.png";
//hrtIcon.shadow = "/public/images/mapIconShadow.png";
//hrtIcon.iconSize = new GSize(28,24);
//hrtIcon.shadowSize = new GSize(38,24);
//hrtIcon.iconAnchor = new GPoint(13, 20);
//hrtIcon.infoWindowAnchor = new GPoint(13, 1);

var regionsMaps = []; 
var rdefaultzoom = 7;

// dolnośląskie ,
regionsMaps[0] = new RegionData(51.100073, 17.028809, rdefaultzoom);
// kujawsko-pomorskie 53.072577,18.316956
regionsMaps[1] = new RegionData(53.072577, 18.316956, rdefaultzoom);
// lubelskie 51.230968,22.549438
regionsMaps[2] = new RegionData(51.230968, 22.549438, rdefaultzoom);
// lubuskie 52.357151,15.339661
regionsMaps[3] = new RegionData(52.357151, 15.339661, rdefaultzoom);
//mazowieckie 52.237892,20.939941
regionsMaps[4] = new RegionData(52.237892, 20.939941, rdefaultzoom);
//małopolskie
regionsMaps[5] = new RegionData(50.062429, 19.948425, rdefaultzoom);
//opolskie
regionsMaps[6] = new RegionData(50.679057, 17.935181, rdefaultzoom);
//podkarpackie
regionsMaps[7] = new RegionData(50.044794, 21.980896, rdefaultzoom);
//podlaskie
regionsMaps[8] = new RegionData(53.123702, 23.192139, rdefaultzoom);
//pomorskie
regionsMaps[9] = new RegionData(54.335744, 18.654785, rdefaultzoom);
//warmińsko-mazurskie
regionsMaps[10] = new RegionData(53.771442, 20.505981, rdefaultzoom);
//wielkopolskie ,
regionsMaps[11] = new RegionData(52.402419, 16.946411, rdefaultzoom);
//zachodniopomorskie
regionsMaps[12] = new RegionData(53.429174, 14.562378, rdefaultzoom);
//łódzkie
regionsMaps[13] = new RegionData(51.747439, 19.467773, rdefaultzoom);
//śląskie
regionsMaps[14] = new RegionData(50.264765, 19.039307, rdefaultzoom);
//świętokrzyskie
regionsMaps[15] = new RegionData(50.864911, 20.637817, rdefaultzoom);
 



function RegionData(lat, lng, zoom) {
    this.Latitude = lat;
    this.Longitude = lng;
    this.Zoom = zoom;
}

 

function loadMapRegion(nr) {
if(nr==0)
{
    loadMapPoland();
}
else
{
    var rlat = regionsMaps[nr - 1].Latitude;
    var rlng = regionsMaps[nr - 1].Longitude;
    var rzoom=regionsMaps[nr-1].Zoom;

    if (GBrowserIsCompatible()) {
        mapa = new GMap2(document.getElementById("mapka"));
        mapa.setCenter(new GLatLng(rlat, rlng), rzoom);
        // kontrolki mapy
        mapa.addControl(new GLargeMapControl());
        mapa.addControl(new GScaleControl());
    }
    }
}

function loadMapPoint( ) {
   
    if (GBrowserIsCompatible()) {
        mapa = new GMap2(document.getElementById("mapka"));
       
        // kontrolki mapy
        mapa.addControl(new GLargeMapControl());
        mapa.addControl(new GScaleControl());
    }
}

function addMarker(lat, lon, id) {
    // tworzymy marker z współrzędnymi i opcjami z argumentów funkcji dodajMarker
    var punkt = new GLatLng(lat, lon);
    var marker = new GMarker(punkt,{icon:hrtIcon});
    if (document.getElementById("spListElement" + id) != null)
    {
        var elClone = document.getElementById("spListElement" + id);
        
        marker.bindInfoWindow(elClone);
    }
    mapa.addOverlay(marker);
    return marker;
}

function addMarkerAndOpenWindow(lat, lon, id) {
    rzoom = 12;

    var punkt = new GLatLng(lat, lon);
    var marker = new GMarker(punkt,{icon:hrtIcon});
    var elClone = document.getElementById(id);
    marker.bindInfoWindow(elClone);
    mapa.clearOverlays();
    mapa.addOverlay(marker);
    mapa.setCenter(punkt, rzoom);
   // marker.show();
    return marker;
}  



function mapaPanelStart(rx,ry) {
   mapa = loadMapPoland();
        if (mapa != null)
        {

            //zdarzenie kliknięcia na mapie - wczytywanie wspolrzednych
            GEvent.addListener(mapa, "click", function(overlay, point) {
                if (overlay) {
                    mapa.removeOverlay(overlay);
                    rx.value = 0;
                    ry.value = 0;
                } else {
                    mapa.clearOverlays();
                    mapa.addOverlay(new GMarker(point));
                    rx.value = point.x;
                    ry.value = point.y;
                }
            });

            // nowy obiekt do geokodowania
            geo = new GClientGeocoder();
    }
}

//pokazywanie adresu	na mapie i wczytywanie wspolrzednych
function skoczDoAdresu(adres_part1,adres_part2,adres_part3,rx,ry) {
    if (!geo) return;
    geo.getLatLng(adres_part1+adres_part2+adres_part3, function(punkt) {
        if (!punkt) {
            // jeśli punkt nie istnieje, to adres nie został znaleziony  
            if(adres_part3!="")
                skoczDoAdresu(adres_part1,adres_part2,"",rx,ry)
             else if(adres_part2!="")
                skoczDoAdresu(adres_part1,"","",rx,ry)
             else
                alert(adres_part1+adres_part2+adres_part3 + " nie został znaleziony!");
        }
        else {
            mapa.setCenter(punkt, 13);
            mapa.clearOverlays();
            marker = new GMarker(punkt)
            mapa.addOverlay(marker);
            // i otwieramy dymek z adresem  
            marker.openInfoWindowHtml('<strong>Poszukiwany adres</strong><br>' + adres_part1+adres_part2+adres_part3);
            rx.value = punkt.x;
            ry.value = punkt.y;
        }
    });
}  

function setAddress(rx,ry) {
    if (!geo) return;
    if(rx.value=="") return;
    var punkt=new GLatLng(ry.value, rx.value);
            mapa.setCenter(punkt, 13);
            mapa.clearOverlays();
            marker = new GMarker(punkt)
            mapa.addOverlay(marker);
            // i otwieramy dymek z adresem  
}  

function imgError(img) {
    img.style.display = 'none';
    //img.src = "/public/images/nologo.jpg";
}

