
function inicializarMapa() {

  map = new GMap2(document.getElementById("map_canvas"));  
  geocoder = new GClientGeocoder();
  /*map.addControl(new GMapTypeControl());*/
  /*map.addControl(new GLargeMapControl());*/
  /*map.addControl(new GSmallMapControl());*/
  map.addControl(new GSmallZoomControl());
  /*map.addControl(new GOverviewMapControl());*/
  limpiarMapa();
}

function posicionarPunto(lat,lng,zoom,marca) {

  point = new GLatLng(lat,lng);
  map.setCenter(point, zoom);
  if (marca) {
    marker = new GMarker(point);
    map.addOverlay(marker);
  }
  /*marker.openInfoWindowHtml('nadena');*/    
}

    function addAddressToMap(response) {
     	
      map.clearOverlays();
      if (!response || response.Status.code != 200) {
        limpiarMapa();    
	  alert ("Sorry, could not resolve your search");    	
      } else {
      	
        place = response.Placemark[0];
        
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
        if (document.datosIp.ciudad.value=="" && document.datosIp.cpostal.value=="") zoom = 4;
        else zoom = 10;     
        posicionarPunto(place.Point.coordinates[1],place.Point.coordinates[0],zoom,1);
        marker = new GMarker(point);
        map.addOverlay(marker);
/*        
        marker.openInfoWindowHtml(place.address + '<br>' +
          '<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode + 
          '<br><b>latitud</b>' + place.Point.coordinates[1] + 
          '<br><b>longitud</b>' + place.Point.coordinates[0]);
*/
      }
    }

function mostrarMapa(lang) {  
  var lat = document.datosIp.lat.value;
  var lng = document.datosIp.lng.value;
  var ciudad = document.datosIp.ciudad.value;
  var pais =  document.datosIp.pais.value;
  var paisAb =  document.datosIp.paisAb.value;
  var cpostal =  document.datosIp.cpostal.value;

  inicializarMapa();
  map.setMapType(G_NORMAL_MAP);
  if (paisAb!="XX") {
  
    if (lat=="" || lng=="") {

      geocoder.getLocations(cpostal+" "+ciudad+" "+pais, addAddressToMap);
    }
    else {      
      posicionarPunto(lat,lng,13,1);
    }
  }
  else {
    limpiarMapa();
    if (lang=="en_GB") 
    	alert ("Sorry, could not resolve your search");
    else  
    	alert ("Lo sentimos, no se ha podido resolver su busqueda.");
  }

  var ip = document.ipForm.ip.value;
  /* google analytics */
  if (ip!="www.wikipedia.com") {
  	urchinTracker("/datosIp.php?ip="+ip);
  }
  
  
}

function limpiarMapa() {

  map.setCenter(new GLatLng(34, 0), 14);
}

function mostrarLugar(lat,lng,zoom,id) {
  registrarLugar(id);
  document.getElementById("datosIp").innerHTML="";
  document.ipForm.ip.value="";
  map.setMapType(G_SATELLITE_MAP);
  posicionarPunto(lat,lng,zoom,0);
  
}