

// GOOGLE


function initialize(lat,lon) { //inicializa el mapa
	if (GBrowserIsCompatible()) {
		if (typeof lat == "undefined") var lat = 40.416741;
		if (typeof lon == "undefined") var lon = -3.70325;

		var map = new GMap2(document.getElementById("map_canvas")); //crea un nuevo objeto mapa
		var mapControl = new GMapTypeControl(); //crea un nuevo objeto para control de zoom
		map.setCenter(new GLatLng(lat, lon), 18); //coordenadas por defecto al inicializar por primera vez el mapa, Estepona.

		//map.removeMapType(G_HYBRID_MAP); 
		map.addControl(mapControl);
		map.addControl(new GLargeMapControl());

		var pos = new GLatLng(lat, lon);
		var marker = new GMarker(pos, {draggable: true}); //creamos una marca para ESTEPONA, location por defecto.
		map.clearOverlays();
		map.addOverlay(marker);

		GEvent.addListener(marker, "dragend", function() {
			var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
			document.getElementById("f_longitude").value=p.x;
			document.getElementById("f_latitude").value=p.y;
		});

		GEvent.addListener(map, 'click', function(overlay, point) {
		var marker = new GMarker(point, {draggable: true});
		map.clearOverlays();
		map.addOverlay(marker); 
		document.getElementById("f_longitude").value=point.x;
		document.getElementById("f_latitude").value=point.y;

			GEvent.addListener(marker, "dragend", function() {
				var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
				document.getElementById("f_longitude").value=p.x;
				document.getElementById("f_latitude").value=p.y;
			});

		});

	}
}

function showAddress(address) {
var geocoder = new GClientGeocoder();
var map = new GMap2(document.getElementById("map_canvas"));

if (address==''){ //si busca con location en blanco, volvemos al inicio (Estepona)
	document.getElementById("f_longitude").value='';
	document.getElementById("f_latitude").value='';
	alert("Please, type any location, redirecting to default location"); //evitamos que se haga una busqueda por location en blanco.
	 
	document.getElementById("f_longitude").value=-3.70325; //mostramos las coordeanadas por de fecto ESTEPONA
	document.getElementById("f_latitude").value=40.416741;
	var marker = new GMarker(new GLatLng(40.416741, -3.70325), {draggable: true}); //creamos una marca para ESTEPONA, location por defecto.
	map.addOverlay(marker); 

	GEvent.addListener(marker, "dragend", function() {
		var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
		document.getElementById("f_longitude").value=p.x;
		document.getElementById("f_latitude").value=p.y;
	});

}else{
	var mapControl = new GMapTypeControl();
	
	document.getElementById("f_latitude").value=''; // cuando hacemos una nueva busqueda por location ponemos en blanco las coordenadas y el location. 
	document.getElementById("f_longitude").value='';
//	document.getElementById("location").value='';
	GEvent.addListener(map, 'click', function(overlay, point) {
	var marker = new GMarker(point, {draggable: true});
	map.clearOverlays();
	map.addOverlay(marker); 
	document.getElementById("f_longitude").value=point.x;
	document.getElementById("f_latitude").value=point.y;

		GEvent.addListener(marker, "dragend", function() {
			var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
			document.getElementById("f_longitude").value=p.x;
			document.getElementById("f_latitude").value=p.y;
		});

	});
	
	map.removeMapType(G_HYBRID_MAP);
	map.addControl(mapControl);
	map.addControl(new GLargeMapControl());
	geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				document.getElementById("f_longitude").value='';
				document.getElementById("f_latitude").value='';
				alert(address+" not found, redirecting to default location"); //si no se ha encontrado el location , volvemos al principio.
				location.reload();
				document.getElementById("f_longitude").value=-3.70325; //mostramos las coordeanadas por de fecto ESTEPONA 
				document.getElementById("f_latitude").value=40.416741;
				var marker = new GMarker(new GLatLng(40.416741, -3.70325),{draggable: true}); //creamos una marca para ESTEPONA, location por defecto.
				map.addOverlay(marker); 

				GEvent.addListener(marker, "dragend", function() {
					var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
					document.getElementById("f_longitude").value=p.x;
					document.getElementById("f_latitude").value=p.y;
				});

			} else {
 				document.getElementById("f_longitude").value=point.x;
				document.getElementById("f_latitude").value=point.y;  //si se ha encontrado la location toma los puntos.
				map.setCenter(point, 13); 
				var marker = new GMarker(point, {draggable: true});
				map.clearOverlays();
				map.addOverlay(marker);

				GEvent.addListener(marker, "dragend", function() {
					var p = marker.getPoint(); // recoge las coordenadas donde se encuentra el marker y las asigna despues
					document.getElementById("f_longitude").value=p.x;
					document.getElementById("f_latitude").value=p.y;
				});

				}
			}
		);
	}
	
}

/*
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}*/