function dodajOpis(marker,text){
    GEvent.addListener(marker,"click",function(){
        marker.openInfoWindowHtml(text);
    });

}

function dodajMarker(lat,lon,ikona_url,id,nazwa,adres){
    var ikona = new GIcon();
    ikona.image = ikona_url;
    ikona.iconSize = new GSize(20, 20);
    ikona.iconAnchor = new GPoint(15, 12);
    ikona.infoWindowAnchor = new GPoint(15,12);
			
    var marker	=	new GMarker(new GLatLng(lat,lon),{title: nazwa, icon: ikona});
    marker.txt	= '<a target="_blank" href="/miejsce/'+id+'/"><b>'+nazwa+'</b></a><br>'+adres;
    mapa.addOverlay(marker);
    GEvent.addListener(marker,"click",function(){
        marker.openInfoWindowHtml(marker.txt);
    });
    return marker;
}


function show_places(){
    var ikona = 'http://www.przyszosie.pl/photos/marker.png'
    wlaczTlo();
    

    if(usun == 1){
     for (var i = 0; i < markers.length; i++){  
         mapa.removeOverlay(markers[i]);

     }
    }

    var start_x = pointsX[0];
    var start_y = pointsY[0];

    var koniec_x = pointsX[points.length-1];
    var koniec_y = pointsY[points.length-1];

    var url;
    if(start_x <= koniec_x){
        url = '/miejsca/';
    }
    else{
        url = '/miejsca_minx/';    
    }
    GDownloadUrl(url, function(data, responseCode){
          var xml = GXml.parse(data);
          var places = xml.documentElement.getElementsByTagName("place");
           
          
          
          var xx = (111*(start_x-koniec_x))*(111*(start_x-koniec_x));
          var yy = (68.5*(start_y-koniec_y))*(68.5*(start_y-koniec_y));
          var dlugosc_calkowita = Math.sqrt(xx+yy)*1.21;

          links = "";
          
           
          var info=""
          
          
          links += '<div id="t_trasa"><h2 class="h2_trasa">Twoja trasa</h2><div id="notatka"><p>Te wskazówki dojazdu służą tylko do planowania. Rzeczywiste warunki dojezdu mogą się różnić w wyniku robót drogowych, korków, pogody lub innych zdarzeń i należy wziąć je pod uwagę przy planowaniu podróży. Należy przestrzegać wszystkich znaków i zawiadomień dotyczących ustalonej trasy. </p></div><div id="szczegoly_twoja_trasa"><div>Relacja:<br /><b>';
         links += skad +' - '+ dokad;
         



          var licznik=1;
	  var rat;

          var wpisy ="";
	  for (var i = 0; i < places.length; i++){
                
		var place_id = parseInt(places[i].getAttribute("id")); 	
                
                

                var x = parseFloat(places[i].getAttribute("lat"))
                var y = parseFloat(places[i].getAttribute("lng"))
                var point = new GLatLng(x,y);
                var icona = new GIcon(G_DEFAULT_ICON);
                icona.image = ikona;
                icona.iconSize = new GSize(20, 20); 
                markerOptions = { icon:icona };
   
                
		var marker = new GMarker(point,markerOptions);
                              
                
                
                for(var k=0; k<points.length; k+=1){
                     var pX=pointsX[k];
                     var pY=pointsY[k];
                

                     var jest_na_mapie=0;
                     if ((Math.abs(pX-x) < 0.4) && (Math.abs(pY-y) < 0.4)){
                          for(var j=0; j< placesID.length; j++){
                               if(placesID[j] == place_id){
                                    jest_na_mapie=1;
                                    break;
                               }
                          }
                          
                          if(jest_na_mapie==0){    
                            
                               dodajMarker(x,y,ikona,place_id,places[i].getAttribute("place_name"),places[i].getAttribute("town")) 
                               placesID.push(place_id);
                               wpisy += '<tr class="odd"><td><b>'+ licznik +'</b></td><td class="nazwa_lokalu"><center><strong>';
		wpisy +=	 places[i].getAttribute("place_name");      
                wpisy += '</strong></center></td><td>';
	        wpisy += places[i].getAttribute("town");
		wpisy += '<br/>woj. ';
                wpisy += places[i].getAttribute("province");
                wpisy += '</td><td class="ocena"><font size="4px" color="#2594d4">';
                
                rat = parseFloat(places[i].getAttribute("rating"));
                if(rat==0)
                    wpisy += 'brak oceny';
                else
                 wpisy += parseFloat(rat.toFixed(2));
                wpisy +=' </font></td>';
                xx = (111*(start_x-x))*(111*(start_x-x));
                yy = (68.5*(start_y-y))*(68.5*(start_y-y));
                dlugosc = Math.sqrt(xx+yy)*1.21;

	        wpisy += '<td>' + parseFloat(dlugosc.toFixed(1)) +' km</td>';
		wpisy += '<td><a target="_blank" href="/miejsce/';
                wpisy += places[i].getAttribute("id"); 
                wpisy += '/" class="bok blue">Zobacz</a></td></tr>';
		        	
			
		wpisy += '<tr><td colspan="6" class="break">&nbsp</td></tr>';
                          licznik += 1;
                               
                          }    
                     }
                }
               
                        
	    }
            links +='</b></div><div>Ilość znalezionych lokali: <b>' + (licznik-1) +'</b><br /><b></b></div><div>Odległość całkowita: <b>'+ parseFloat(dlugosc_calkowita.toFixed(1)) + ' km</b><br /><b></b></div></div></div></div><div class="clear">&nbsp</div> <div id="wynikowa"><div id="wyniki"><h2 class="wyniki">Lokale na Twojej trasie</h2><table class="tabelka_wyniki" id="tabela_wyniki">';


            
          links += '<tr><th>ID</th><th><p><span>Nazwa lokalu</span></p></th><th><p><span>Lokalizacja</span></p></th><th><p><span>Ocena</span></p></th><th class="dystans"><p><span>km od startu</span></p></th> <th></th></tr>';

          links += wpisy
          links += '</table></div>';
          var x =document.getElementById('twoja_trasaa');
          x.innerHTML=links;



     });
     tlo_wlaczone = 0;
     placesID=[];
}



function wlaczTlo(){
    if(tlo_wlaczone == 0){
        var poly=dojazd.getPolyline();
        points=[];
        pointsX=[];
        pointsY=[]; 
     
        for (var i=0; i<poly.getVertexCount(); i++) {
            points.push(poly.getVertex(i)); 
            pointsX.push(poly.getVertex(i).lat());
            pointsY.push(poly.getVertex(i).lng());
        };
        stopnie = 200;
        //tlo = new GPolyline(points,'#cefeff',stopnie*1.4);  
        //mapa.addOverlay(tlo);
        //znajdzDojazd();
        tlo_wlaczone = 1;
    }
}

function znajdzDojazd() {				  	
     var adres1 = document.getElementById('adres1').value;
     skad = adres1;
     adres1 += " Polska";
     var adres2 = document.getElementById('adres2').value;
     dokad = adres2;
     adres2 += " Polska";
     if(tlo_wlaczone){
             mapa.removeOverlay(tlo);
             tlo_wlaczone=0;
     }
     tlo = 1; 
     mapa.clearOverlays();
     dojazd.load('from:'+adres1+' to:'+adres2);
     
}

