var map = null;
var marker = null; // Le pushpin affiché sur la carte
var icon = new GIcon();
icon.image = "../css/images/yellow_12.png";
icon.shadow = "../css/images/transparent.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(12, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
icon.transparent = "../css/images/transparent.png";

var LAT_START = 49.59320;
var LNG_START = 6.11680;
var ZOOM_START = 5;
var DELTA = 0.1;

function init() {
  map = new GMap2(document.getElementById("map"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(LAT_START, LNG_START), ZOOM_START, G_HYBRID_MAP); 
  map.disableDoubleClickZoom();
}

function traceurGPS() {
  if (document.forms["formCoord"].elements["tgps_lat"].value=="") {
    alert("Vous devez renseigner la latitude");
    return;
  }
  if (document.forms["formCoord"].elements["tgps_lng"].value=="") {
    alert("Vous devez renseigner la longitude");
    return;
  }

  var lat = document.forms["formCoord"].elements["tgps_lat"].value;
  var lng = document.forms["formCoord"].elements["tgps_lng"].value;

  showPoint(lat, lng);
}

function traceurPersonnel() {
  var latmin = 0;
  var lngmin = 0;

  if (document.forms["formCoord"].elements["tp_lat"].value=="") {
    alert("Vous devez renseigner la latitude");
    return;
  }
  if (document.forms["formCoord"].elements["tp_lng"].value=="") {
    alert("Vous devez renseigner la longitude");
    return;
  }

  var lat = document.forms["formCoord"].elements["tp_lat"].value;
  var lng = document.forms["formCoord"].elements["tp_lng"].value;

  var num;
  num = lat.indexOf('.', 0);
  for (var i=0;i<(4-num);i++) lat = "0"+lat;
  num = lng.indexOf('.', 0);
  for (var i=0;i<(5-num);i++) lng = "0"+lng;

  var latdeg = lat.substr(0, 2);
  var lngdeg = lng.substr(0, 3);

  var latmin = lat.substr(2, lat.length-2);
  var lngmin = lng.substr(3, lng.length-3);

  lat = parseInt(latdeg,10) + latmin/60.;
  lng = parseInt(lngdeg,10) + lngmin/60.;

  if (document.forms["formCoord"].elements["lathem"][1].checked) lat = -lat;
  if (document.forms["formCoord"].elements["lnghem"][1].checked) lng = -lng;

  showPoint(lat, lng);
}

function showPoint(lat, lng) {
  var pt = new GLatLng(lat, lng);

  if (marker!=null) map.removeOverlay(marker);
  marker = new GMarker(pt, icon);
  map.addOverlay(marker);

  map.setZoom(13); 
  map.setCenter(pt);
}
