var map=null;
  var photos;
  var photosMarkers = new Array();
  var panoramioIcon = null;
  var geocoder = null;
  

  function initialize() {
    if (GBrowserIsCompatible()) {
      map = new GMap2(document.getElementById("map_canvas"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(52.205339071889386, 18.55791015625), 6);
      
      //Panoramio icon
        panoramioIcon = new GIcon();
        panoramioIcon.image = "http://www.panoramio.com/img/panoramio-marker.png";
        panoramioIcon.shadow = "http://www.panoramio.com/img/panoramio-shadow.png";
        panoramioIcon.iconSize = new GSize(18, 18);
        panoramioIcon.shadowSize = new GSize(22, 22);
        panoramioIcon.iconAnchor = new GPoint(9, 9);
        panoramioIcon.infoWindowAnchor = new GPoint(9, 0);
        
        getNewPhotos(500);
      
      GEvent.addListener(map, "click", function(overlay, point) {
      if(!overlay)
      {
        var html="<form id=\"addForm\" name=\"addForm\" action=\"index.php\" method=\"post\" enctype=\"multipart/form-data\"><table style=\"font-size: 12px;\">"
          +"<tr><td colspan=\"2\"><b>Foto:</b></td></tr>"
          +"<tr><td colspan=\"2\"><input type=\"file\" name=\"plakat\"></td></tr>"
          +"<tr><td colspan=\"2\"><b>Datum der Aufnahme:</b></td></tr>"
          +"<tr><td colspan=\"2\">"
          +"<select name=\"dzien\">"
          +"<option value=\"1\" >1</option><option value=\"2\" >2</option><option value=\"3\" >3</option><option value=\"4\" >4</option><option value=\"5\" >5</option><option value=\"6\" >6</option><option value=\"7\" selected=\"selected\">7</option><option value=\"8\" >8</option><option value=\"9\" >9</option><option value=\"10\" >10</option><option value=\"11\" >11</option><option value=\"12\" >12</option><option value=\"13\" >13</option><option value=\"14\" >14</option><option value=\"15\" >15</option><option value=\"16\" >16</option><option value=\"17\" >17</option><option value=\"18\" >18</option><option value=\"19\" >19</option><option value=\"20\" >20</option><option value=\"21\" >21</option><option value=\"22\" >22</option><option value=\"23\" >23</option><option value=\"24\" >24</option><option value=\"25\" >25</option><option value=\"26\" >26</option><option value=\"27\" >27</option><option value=\"28\" >28</option><option value=\"29\" >29</option><option value=\"30\" >30</option><option value=\"31\" >31</option>"
          +"</select>"
          +"<select name=\"miesiac\">"
          +"<option value=\"1\" >Januar</option><option value=\"2\" >Februar</option><option value=\"3\" >M&auml;rz</option><option value=\"4\" >April</option><option value=\"5\" >Mai</option><option value=\"6\" >Juni</option><option value=\"7\" >Juli</option><option value=\"8\" >August</option><option value=\"9\" selected=\"selected\">September</option><option value=\"10\" >Oktober</option><option value=\"11\" >November</option><option value=\"12\" >Dezember</option>"
          +"</select>"
          +"<select name=\"rok\">"
          +"<option value=\"2007\" >2007</option><option value=\"2008\" >2008</option><option value=\"2009\" >2009</option><option value=\"2010\" selected=\"selected\">2010</option>"
          +"</select>"
          +"</td></tr>"
          +"<tr><td><b>Dein Name</b>:</td><td><input type=\"text\" name=\"osoba\" style=\"width: 150px;\" /></td></tr>"
          +"<tr><td><b>Stadt</b>:</td><td><input type=\"text\" name=\"miasto\" style=\"width: 150px;\" /></td></tr>"
          +"<tr><td><b>Stra&szlig;e</b>:</td><td><input type=\"text\" name=\"ulica\" style=\"width: 150px;\" /></td></tr>"
          +"<tr><td colspan=\"2\">Genauere Position:</td></tr>"
          +"<tr><td colspan=\"2\"><textarea name=\"lokalizacja\" style=\"width: 300px;\"></textarea></td></tr>"
          +"<tr><td colspan=\"2\"><input type=\"submit\" name=\"btn\" value=\"Foto hinzuf&uuml;gen\"></td></tr>"
          +"</table>"
          +"<input type=\"hidden\" name=\"lat\" value=\""+point.y+"\">"
          +"<input type=\"hidden\" name=\"lan\" value=\""+point.x+"\">"
          +"</form>";
        map.openInfoWindowHtml(point, html);
      }
      else
      {
        var p = overlay.photo;
        var html="<table height=\"400\" width=\"320\" style=\"font-size: 12px;\"><tr><td>"
            + "<a href=\"../grafiti/"+p.id+".jpg\" onclick=\"showLightbox(this); return false;\" title=\"\"><img border=\"0\" src=\"../g_miniatury/"+p.id+".jpg\"></a>"
            + "</td></tr><tr><td style=\"padding-left: 10px;\">"
            + "<u>"+p.miasto+", "+p.ulica+"</u><br>"
            + "<br>"
            + "Hinzugef&uuml;gt von: <b>"+p.osoba+"</b><br>"
            + "Datum der Aufnahme: <b>"+p.data+"</b><br>"
            + "<br>"
            + "</td></tr></table>";
               
        overlay.openInfoWindowHtml(html);
      }
      });
      geocoder = new GClientGeocoder();
    }
  }
  
  function updatePhotos() {
        if(photosMarkers!=null)
                for(var i=0; i<photosMarkers.length; i++)
                        map.removeOverlay(photosMarkers[i]);
        photosMarkers = new Array();
        for (var i = 0; i < photos.length; i++)
        {
                var marker = new GMarker(new GLatLng(photos[i].latitude, photos[i].longitude));
                marker.photo = photos[i];
                map.addOverlay(marker);
                photosMarkers[i]=marker;
        }
    }
  
  function getNewPhotos(number) {
                var bounds = map.getBounds();
                var sw = bounds.getSouthWest();
                var ne = bounds.getNorthEast();
                GDownloadUrl("../pobierz.php?ile="+number+"&miny="+sw.lat()+"&minx="+sw.lng()+"&maxy="+ne.lat()+"&maxx="+ne.lng(),
                function(content, http) {
                        var newPhotos = eval('('+content+')');
                        photos = newPhotos.photos;
                        updatePhotos();
                        });
    }
  
  function centerMap(lat, lan, zoom)
  {
    map.setCenter(new GLatLng(lat, lan), zoom);
  }
  
  function showAddress(t, s) {
        var town=document.getElementById(t).value;
        var street=document.getElementById(s).value;
        var building="";
      if (geocoder&&town!=""&&town!="- Stadt -") {
        address = (street!=""&&street!="- Straße -"?street + (building!=""&&building!="- house -"?" " + building:"") + ", ":"") + town + ", Polska";
        if(street==""||street=="- Straße -") zoom=13; else zoom=15;
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert("Ort nicht auffindbar: " + address);
            } else {
              map.setCenter(map.getCenter(), zoom);
              map.panTo(point);

            }
          }
        );
      }
    }