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

     //----------------------------------------------------
     function loadMap()
     {
	   var direccion      = document.getElementById("direccion_promo").value;
	   var direccion2     = document.getElementById("direccion_promo").value;
       map = new GMap2(document.getElementById("google_maps3"));

       // Tools
       if(showControls) {
          //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;
       }
     }
     //----------------------------------------------------
     function addAddressToMap(response)
     {
       if(!response || response.Status.code != 200) {
         //alert("KO: "+direccion);

         if(direccion == direccion2) {
            map.setCenter(new GLatLng(40, -3), 5);
         }
         // Dirección alternativa
         else if(direccion2 != '') {
            direccion = direccion2;
            loadMap();
         }
         else {
            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]);
            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);
     }
     //----------------------------------------------------

    