// see http://www.google.com/apis/maps/
// see also http://perso.orange.fr/universimmedia/geo/loc.htm

function Google(address, lat, lng, latDMS, lngDMS) {
  if (GBrowserIsCompatible()) {
    geocoder = new GClientGeocoder();
  }
  if (geocoder) {
    geocoder.getLatLng(address, function(point) {
      if (!point) {
        document.getElementById(lat).innerHTML = 0;
        document.getElementById(lng).innerHTML = 0;
        //document.getElementById(latDMS).innerHTML = 0;
        //document.getElementById(lngDMS).innerHTML = 0;
      } else {
        var marker = new GMarker(point, {draggable: true});  
        document.getElementById(lat).innerHTML = point.lat();
        document.getElementById(lng).innerHTML = point.lng();

        var latSign = "";
        var latDecimal2 = point.lat();
        if (latDecimal2 < 0) {
          latSign = "-";
          latDecimal2 = -latDecimal2;
        }
        var latDeg = Math.floor(latDecimal2);
        var latMinDecimal = 60 * (latDecimal2 - latDeg);
        var latMin = Math.floor(latMinDecimal);
        var latSecDecimal = Math.round(10000 * 60 * (latMinDecimal - latMin))/10000;
        var latDegMinSec = latSign+String(latDeg)+"° "+String(latMin)+"' "+String(latSecDecimal)+'"';
        //document.getElementById(latDMS).innerHTML = latDegMinSec;

        var lngSign = "";
        var lngDecimal2 = point.lng();
        if (lngDecimal2 < 0) {
          lngSign = "-";
          lngDecimal2 = -lngDecimal2;
        }
        var lngDeg = Math.floor(lngDecimal2);
        var lngMinDecimal = 60 * (lngDecimal2 - lngDeg);
        var lngMin = Math.floor(lngMinDecimal);
        var lngSecDecimal = Math.round(10000 * 60 * (lngMinDecimal - lngMin))/10000;
        var lngDegMinSec = lngSign+String(lngDeg)+"° "+String(lngMin)+"' "+String(lngSecDecimal)+'"';
        //document.getElementById(lngDMS).innerHTML = lngDegMinSec;
      }
    });
  }
}

