var mapa;
var zasieg_mapy;
var mmgr;
var markery=[];
var markerE;





//inicjalizacja mapy
function mapaStart(){

    if(GBrowserIsCompatible()){

        mapa = new GMap2(document.getElementById("mapka"));
        mapa.setCenter(new GLatLng(53.00388656681317,19,18.59642028808593),7);
        mapa.enableDoubleClickZoom();
        mapa.enableContinuousZoom();
        mapa.addControl(new GLargeMapControl());
        mapa.addControl(new GOverviewMapControl());
        //mapa.addControl(new GScaleControl());
        mapa.addControl(new GMapTypeControl());
        zasieg_mapy = new GLatLngBounds();
        //mmgr =  new GMarkerManager(mapa,{maxZoom: 20});

        GMarker.prototype.pokazInfo=function(){

            this.openInfoWindow(zawartoscOkna(this.nazwa, this.adres));
        };
    }

}

function mapaStart2(){

    if(GBrowserIsCompatible()){

        mapa = new GMap2(document.getElementById("mapka"));
        mapa.setCenter(new GLatLng(52.467724,17,17.256775),10);
        mapa.enableDoubleClickZoom();
        mapa.enableContinuousZoom();
        mapa.addControl(new GLargeMapControl());
        mapa.addControl(new GOverviewMapControl());
        //mapa.addControl(new GScaleControl());
        mapa.addControl(new GMapTypeControl());
        zasieg_mapy = new GLatLngBounds();
        //mmgr =  new GMarkerManager(mapa,{maxZoom: 20});

        GMarker.prototype.pokazInfo=function(){

            this.openInfoWindow(zawartoscOkna(this.nazwa, this.adres));

        };

    }

}



//dodanie markera w edycji
function dodajMarkerE(lat,lon){

    var punkt = new GLatLng(lat,lon);
    markerE = new GMarker(punkt,{
        icon:ikonaE, 
        clickable:true,
        draggable:true
    });
    mapa.addOverlay(markerE);

    GEvent.addListener(markerE,'dragend',function(){

        punkt=markerE.getPoint()
        mapa.panTo(punkt);
        mapa.clearOverlays();
        dodajMarkerE(punkt.lat(),punkt.lng());
        gmappunkt(punkt.lat(),punkt.lng());

    });

//mmgr.addMarker(marker,7,20);
//mapa.setCenter(new GLatLng(lat,lon),14);

}

function dodajZnacznik(lat,lon){
    var punkt = new GLatLng(lat,lon);

    //var baseIcon = new GIcon(G_DEFAULT_ICON);
    //baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    //baseIcon.iconSize = new GSize(20, 34);
    //baseIcon.shadowSize = new GSize(37, 34);
    //baseIcon.iconAnchor = new GPoint(9, 34);
    //baseIcon.infoWindowAnchor = new GPoint(9, 2);
    //markerOptions = { icon:baseIcon };

    //var marker = new GMarker(punkt, markerOptions);
    var circleOptions = {
        strokeColor: "#FF0000",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#FF0000",
        fillOpacity: 0.35,
        map: mapa,
        center: punkt,
        radius: 200
    };


    cityCircle = new google.maps.Circle(circleOptions);

//  mapa.addOverlay(marker);

}
//dodanie markera
function dodajMarker(lat,lon,ikona,nazwa,adres){

    var punkt = new GLatLng(lat,lon);
    var marker = new GMarker(punkt,{
        title: nazwa, 
        icon: ikona
    });

    marker.nazwa = nazwa;
    marker.adres = adres;

    GEvent.addListener(marker,'click',function(){

        marker.pokazInfo();

    });

    markery.push(marker);
    //zasieg_mapy.extend(punkt);
    mapa.addOverlay(marker);
    mapa.setCenter(new GLatLng(lat,lon),14);

}




//druk opisu ikonki
function zawartoscOkna(nazwa, adres){

    opis='<div class="dymek"><h4>'+nazwa+'</h4><br>'+adres+'<br>&nbsp;<br>';

    return opis;

}


//tworzenie ikonki
function tworzIkone(plik){

    var ikona = new GIcon();
    ikona.image = plik;
    ikona.shadow = "";
    ikona.iconSize = new GSize(32, 32);
    ikona.infoWindowAnchor = new GPoint(32,1);
    ikona.iconAnchor = new GPoint(16,16);

    return ikona;

}


//wyczyszczenie punktu
function gmapczysc(){

    gmappunkt("","");

}

//wpisanie danych punktu
function gmappunkt(lat,lon){

    document.getElementById('lat').value=lat;
    document.getElementById('lon').value=lon;

}


//edycja punktu na podstawie adresu
function gadresp(){

    adres=document.getElementById('gadres').value;

    if(adres){

        var geo = new GClientGeocoder();

        geo.getLatLng(adres,function(punkt){

            if (!punkt){
                alert('Adres nie został odnaleziony');
            } else {

                mapa.panTo(punkt);
                mapa.clearOverlays();
                dodajMarkerE(punkt.lat(),punkt.lng());
                gmappunkt(punkt.lat(),punkt.lng());

            }
        });

    }

}
