var textInfoWindow = '';
var coord1         = "";
var coord2         = "";
var levelZoom      = 15;
var showControls   = true;
var showMarker     = true;

var map      = null;
var geocoder = null;
var gdir = null;

function loadMap(direccion)
{
	map = new GMap2(document.getElementById("gmap"));

	// Tools
	if(showControls) {
		map.addControl(new GSmallMapControl());
	//map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
	}
	geocoder = new GClientGeocoder();
	//map.clearOverlays();

	if(coord1 && coord1) {
		addCoordToMap();
	}
	else if(direccion)   {
		geocoder.getLocations(direccion, addAddressToMap);
	}
	else {
		alert("Error: dirección vacía.");
		return;
	}

	address = $("#contact .where input").val();
	if ($.trim(address) != '')
	{
		window.open('http://maps.google.com/maps?daddr='+direccion+'&saddr='+address);
	}
}

function addAddressToMap(response)
{
	if(!response || response.Status.code != 200)
	{

		map.setCenter(new GLatLng(40, -3), 5);

	}
	else
	{
		//alert("OK: "+direccion);
		place = response.Placemark[0];

		// Situar mapa
		map.setCenter(new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]), levelZoom);

		// Marcador
		if(showMarker) {
			var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
			//alert(place.Point.coordinates[1]+' '+ place.Point.coordinates[0]);
			map.addOverlay(new GMarker(point));
		}

		// Text info
		//if(textInfoWindow) map.openInfoWindowHtml(map.getCenter(), textInfoWindow);
	}
}

function addCoordToMap()
{
	map.setCenter(new GLatLng(coord1, coord2), levelZoom);

	// Marcador
	if(showMarker) {
		var point = new GLatLng(coord1, coord2);
		map.addOverlay(new GMarker(point));
	}

	// Text info
	//if(textInfoWindow) map.openInfoWindowHtml(map.getCenter(), textInfoWindow);
}

function setDirections(Address, Dest)
{
	gdir.load("from: " + Address + " to: " + Dest,
			{ "locale": "es" });
}
