var geocoder;
var map;
var icon;

function load() {
  if (GBrowserIsCompatible()) {
    geocoder = new GClientGeocoder();
    
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.setCenter(new GLatLng(51.200000,10.000000), 5);

    icon = new GIcon();
    icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    icon.iconSize = new GSize(12, 20);
    icon.shadowSize = new GSize(22, 20);
    icon.iconAnchor = new GPoint(6, 20);
    icon.infoWindowAnchor = new GPoint(6, 22);    
    
    processRadar(radar_list,0);
  }
}
function createIcon(point) {
  var marker = new GMarker(point,icon);
  return marker;
}
function onFormSubmit(f) {
  var address = f.elements["tx_veguestbook_pi1[street]"].value + ", " + f.elements["tx_veguestbook_pi1[zipcode]"].value +
    " " + f.elements["tx_veguestbook_pi1[place]"].value + ", Deutschland";
  function addAddressToMap(response) {
    if (!response || response.Status.code != 200) {
      alert("\"" + address + "\" wurde nicht gefunden!");
    } else {
      place = response.Placemark[0];
      f.elements["tx_veguestbook_pi1[coord_long]"].value = place.Point.coordinates[0];
      f.elements["tx_veguestbook_pi1[coord_lat]"].value = place.Point.coordinates[1];
      f.submit();
    }
  }
  geocoder.getLocations(address, addAddressToMap);
  return false;
}
function processRadar(radar,i) {
  
  if(i<radar.length) {
    if(radar[i].length > 0) {
      var previous_point = i > 0 ? new GLatLng(radar[i-1][3],radar[i-1][2]) : null;
      var current_point = new GLatLng(radar[i][3],radar[i][2]);
      var marker = createIcon(current_point);
      map.addOverlay(marker);
      if(previous_point) {
        var polyline = new GPolyline([previous_point,current_point], "#ff0000", 3);
        map.addOverlay(polyline);
      }
      previous_point = current_point;
    }
  }
  if(i+1<radar.length) {
    window.setTimeout("processRadar(radar_list,"+(i+1)+")",750);
  }
}

