
var gmapobj = null;
var geocoder = null;
var gmapstartpos = null;
var GMListenerEvent = new Array();

function GMload(type, gps1, gps2, zoom, domark) {
   if (GBrowserIsCompatible() && document.getElementById("gmap")) {
      gmapobj = new GMap2(document.getElementById("gmap"));
      gmapobj.addControl(new GSmallMapControl());
      gmapobj.removeMapType(G_SATELLITE_MAP);
//      gmapobj.addMapType(G_PHYSICAL_MAP);
      gmapobj.addControl(new GMapTypeControl());


      if (type == 'gps') {
         var gm_kood = new GLatLng(gps1, gps2);
         gmapstartpos = gm_kood;
         gmapobj.setCenter(gm_kood, zoom, G_NORMAL_MAP);
         if (domark == 1) {
            gmapobj.addOverlay(new GMarker(gm_kood));
         }
         geocoder = new GClientGeocoder();
      } else if (type == 'adresse') {
         geocoder = new GClientGeocoder();
      }
   }
}


function GMshowAddress(id, address, docenter, zoom, infotext) {
   if (geocoder) {
      geocoder.getLatLng(
      address,
      function(point) {
         if (!point) {
            alert(address + " nicht gefunden.");
         } else {
            if (docenter == 1) {
               gmapobj.setCenter(point, zoom, G_NORMAL_MAP);
            }
            var marker = new Array();
            marker = new GMarker(point);
            gmapobj.addOverlay(marker);
            if (infotext != '') {
               GEvent.addListener(marker, "click", function() {
                  marker.openInfoWindowHtml(infotext);
               });
            }
         }
      }
      );
   }
}

function GMshowGPSKoordinade(id, north, south, zoom, docenter, infotext) {

   if (geocoder) {
      var point = new GLatLng(north, south);
      if (docenter == 1) {
         gmapobj.setCenter(point, zoom);
      }
      var marker = new Array();
      marker = new GMarker(point);
      gmapobj.addOverlay(marker);
      if (infotext != '') {
         GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(infotext);
         });
      }
   }
}


function GMShowMarker() {
   if (geocoder) {
   var mMrkO1 = new Array();
   var mMrk01_points = new Array();

   mMrk01_points[0] = new Array();
   mMrk01_points[0]["lat"] = "49.95326671070068";
   mMrk01_points[0]["lon"] = "11.574418544769287";
   mMrk01_points[0]["txt"] = "";
   GMListenerEvent[0] = '1';

      eval('var Micon = new GIcon();');
      eval('Micon.image = "/gfx2/marker.png";');
      eval('Micon.shadow = "/gfx2/marker_shadow.png";');
      eval('Micon.iconSize = new GSize(37, 37);');
      eval('Micon.shadowSize = new GSize(46, 37);');
      eval('Micon.iconAnchor = new GPoint(18, 34);');
      eval('Micon.infoWindowAnchor = new GPoint(18, 34);');


   for (i=0; i<mMrk01_points.length; i++) {
      eval('markerOptions = { clickable:true, icon:Micon };');
      eval('mMrkO1['+i+'] = new GMarker(new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), markerOptions);');
      eval('gmapobj.addOverlay(mMrkO1['+i+']);');
      eval('GEvent.addListener(mMrkO1['+i+'], "click", function() { GMListenerZoomTo(i, new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), 15, gmapstartpos, 13); });');
   }

   }

}


function GMListenerZoomTo(point, kood, zoom, orig_kood, orig_zoom) {
   if (geocoder) {
      if (GMListenerEvent[point] == '1') {
         gmapobj.setCenter(kood, zoom);
         GMListenerEvent[point] = '2';
      } else {
         gmapobj.setCenter(orig_kood, orig_zoom);
         GMListenerEvent[point] = '1';
      }
   }
}


