GMpath = new google.maps.MVCArray;    
GMarkers = [];

GMap = {

  initializeMap: function() {
    
    var latlng = new google.maps.LatLng(52.278, 20.849);
                    
    var myOptions = {
                      zoom: 6,
                      center: latlng,
                      mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
    this.map = new google.maps.Map(document.getElementById("findform_mapdiv"), myOptions);
  
    
    
    this.polygon = new google.maps.Polygon({
      strokeWeight: 2,
      strokeColor: "#000000",
      strokeOpacity: 0.75,
      fillColor: "#FF0000",
      fillOpacity: 0.3
    });
    this.polygon.setMap(this.map);
    this.polygon.setPaths(new google.maps.MVCArray([GMpath]));   
    
        
    
  }    
  
};

function GMap_init2()
{
  google.maps.event.clearListeners(GMap.map, 'click');
  google.maps.event.addListener(GMap.map, 'click', function(event) {
      //alert('ok');
      GMaddPoint(event.latLng);
  });
  
  for (var i = 0; i < GMarkers.length; ++i)
  {
      GMarkers[i].setMap(GMap.map);         
  }
  
  if(GMarkers.length==0 && $('#findform_geoPolygon').val()!='')
  {
    var ev = $.evalJSON($('#findform_geoPolygon').val()); 
    
    for (var i = 0; i < ev.length; ++i)
    {
        var latlng = new google.maps.LatLng(ev[i].lat, ev[i].lng);    
        GMaddPoint(latlng);       
    }
  }
  
  if (GMpath.getLength() > 0)
  {
    $('.findform_mapinfo').css('display','block');
  }
  else
  {
    $('.findform_mapinfo').css('display','none');
  }
  
};

 function GM_getValue() {
    if (GMpath.getLength() > 0) {

      var vertices = [];

      for (var i = 0; i < GMarkers.length; ++i)
      {           
          vertices[i] = {lat: GMarkers[i].position.lat(), lng: GMarkers[i].position.lng()};         
      }

      var t=$.toJSON(vertices);
      $('#findform_geoPolygon').val(t);
      $('.findform_mapinfo').css('display','block');
    }
    else
    {
      $('#findform_geoPolygon').val(''); 
      $('.findform_mapinfo').css('display','none'); 
    }
  };

  

function GMaddPoint(latLng) {
    GMpath.insertAt(GMpath.length, latLng);

    var marker = new google.maps.Marker({
      position: latLng,
      map: GMap.map,
      draggable: true
    });
    GMarkers.push(marker);

    google.maps.event.addListener(marker, 'click', function() {
      marker.setMap(null);
      
      for (var i = 0, I = GMarkers.length; i < I && GMarkers[i] != marker; ++i);
      GMarkers.splice(i, 1);
      
      GMpath.removeAt(i);
      GM_getValue()
    });

    
    google.maps.event.addListener(marker, 'dragend', function() {
      for (var i = 0, I = GMarkers.length; i < I && GMarkers[i] != marker; ++i);
      GMpath.setAt(i, marker.getPosition());
      GM_getValue()
    });//.createDelegate(this));

    //this.fireEvent('polygonChanged');
    
    GM_getValue()
  };


