
	var zoom = 14;
	var map, baseIcon;
	var array_size = 0;
	var bonfires = new Array();
	var mrkr_long = '';
	var mrkr_lat = '';
	var mrkr_info = '';
	var mrkr_img = '';
	
	function createMarker(point,html,_image) {
		//alert(_image);
		var mylabel = {"url":"/documentos/imagenes/thumb/"+_image,
	                  "anchor":new GPoint(1,1),
	                  "size":new GSize(30,30)};
	    var Icon = new GIcon();
		Icon.shadow = "http://maps.google.com/mapfiles/ms/micons/postoffice-us.shadow.png";
		Icon.image = "/images/marker_background.jpg";
		Icon.transparent = "/images/b_gmaps_transparent.png";
		Icon.iconSize = new GSize(32, 32);
		Icon.shadowSize = new GSize(37, 31);
		Icon.iconAnchor = new GPoint(9, 31);
		Icon.infoWindowAnchor = new GPoint(9, 31);
		Icon.infoShadowAnchor = new GPoint(18, 25);
		Icon.label = mylabel;
		var marker = new GMarker(point,Icon);
	    GEvent.addListener(marker, "click", function() {
	       //var pt = marker.getPoint();
			//alert(pt);
			//map.panTo(pt);
			marker.openInfoWindowHtml(html);
	    });
	    return marker;
		
	    return marker;
	} // end createMarker
	
	function drawMarkers() {
		for (var i=0;i<bonfires.length;i++){
			var coor = new GLatLng(bonfires[i][0],bonfires[i][1]);
	    	var marker = createMarker(coor,bonfires[i][2],bonfires[i][3]);
	    	map.addOverlay(marker);
	    } 
	} // end drawMarkers
	
	function launchMap() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("gMap"));
			map.setCenter( new GLatLng(38.346041, -0.484756), zoom);
			map.setMapType(G_HYBRID_MAP);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.enableDoubleClickZoom();
			geocoder = new GClientGeocoder();
			
			baseIcon = new GIcon();
			baseIcon.shadow = "http://maps.google.com/mapfiles/ms/micons/postoffice-us.shadow.png";
			baseIcon.iconSize = new GSize(34, 34);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
			drawMarkers();
	
			if (mrkr_long != '' && mrkr_lat != '') {
				var marker = createMarker(new GLatLng(mrkr_lat,mrkr_long),mrkr_info,mrkr_img);
				map.addOverlay(marker);
				marker.openInfoWindowHtml(mrkr_info);
				mrkr_long = mrkr_lat = mrkr_info = mrkr_img = '';
			} else {
				var anchors = document.getElementsByTagName("input"); 
				for (var i=0; i<anchors.length; i++) { 
					var anchor = anchors[i]; 
					if (anchor.id == "str_bonfire_lat") {
						checkMarkers();
					}
				}
			}
			
			//setTimeout('document.getElementById("gMap").style.backgroundImage = "";',1000);
		}
	} // end launchMap
	
	function showAddress() {
		var address = document.getElementById('str_bonfire_address').value;
		if (address == "") {
			document.getElementById("str_bonfire_lat").value = '';
			document.getElementById("str_bonfire_long").value = '';
			alert("Debe introducir una direcci\u00F3n v\u00E1lida.");
			return false;
		}
		address += ', Alicante, Alicante, España'; 
		map = new GMap2(document.getElementById("gMap"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.enableDoubleClickZoom();
		map.enableScrollWheelZoom();
		var center = new GLatLng(38.346041, -0.484756);
		map.setCenter(center, zoom);
		map.setMapType(G_HYBRID_MAP);
		if (geocoder) {
			geocoder.getLatLng(address, function(point) {
			if (!point) {
				alert("No se ha encontrado la direcci\u00F3n ["+address+"].");
				document.getElementById("str_bonfire_lat").value = '';
				document.getElementById("str_bonfire_long").value = '';
				return false;
			} else {
				baseIcon = new GIcon();
				baseIcon.shadow = "http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png";
				baseIcon.iconSize = new GSize(34, 34);
				baseIcon.shadowSize = new GSize(37, 34);
				baseIcon.iconAnchor = new GPoint(9, 34);
				baseIcon.infoWindowAnchor = new GPoint(9, 2);
				baseIcon.infoShadowAnchor = new GPoint(18, 25);
				var letteredIcon = new GIcon(baseIcon);
				letteredIcon.image = "http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png";
				markerOptions = { icon: letteredIcon, draggable: true };
				var marker = new GMarker(point);
				document.getElementById("str_bonfire_lat").value = point.lat();
				document.getElementById("str_bonfire_long").value = point.lng();
				map.clearOverlays();
				map.setCenter(point, zoom);
								
				var marker = new GMarker(point, markerOptions);  
				map.addOverlay(marker);
			
				GEvent.addListener(marker, "dragend", function() {
					var pt = marker.getPoint();
					map.panTo(pt);
					document.getElementById("str_bonfire_lat").value = pt.lat();
					document.getElementById("str_bonfire_long").value = pt.lng();
				});
				return true;
			}
			});
		}
	} // end showAddress 

	function validateCreateForm() {
		_lat = document.getElementById("str_bonfire_lat").value;
		_long = document.getElementById("str_bonfire_long").value;
		if (_lat.length < 1 || _long.length < 1) {
			alert("Debe comprobar que exista la direcci\u00F3n introducida haciendo click sobre el bot\u00F3n Buscar.");
			return false;
		} else return true;
	}

	function checkMarkers() {
		_lat = document.getElementById("str_bonfire_lat").value;
		_long = document.getElementById("str_bonfire_long").value;
		if (_lat != '' && _long != '') {
			map.clearOverlays();
			var center = new GLatLng(_lat,_long);
			map.setCenter(center, zoom);
			map.setMapType(G_HYBRID_MAP);
			var marker = new GMarker(center, {draggable: true});  
			map.addOverlay(marker);
			GEvent.addListener(marker, "dragend", function() {
				var pt = marker.getPoint();
				map.panTo(pt);
				document.getElementById("str_bonfire_lat").value = pt.lat();
				document.getElementById("str_bonfire_long").value = pt.lng();
			});	
		} else {
			var center = new GLatLng(38.346041, -0.484756);
			map.setCenter(center, zoom);
			map.setMapType(G_SATELLITE_MAP);
			//document.getElementById("str_bonfire_lat").value = center.lat();
			//document.getElementById("str_bonfire_long").value = center.lng();
		}	
	}

	function showBonfire(_lat,_long,_info,_img) {
		map = new GMap2(document.getElementById("gMap"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		//map.enableDoubleClickZoom();
		map.setCenter( new GLatLng(38.346041, -0.484756), zoom);
		map.setMapType(G_HYBRID_MAP);
		
		var point = new GLatLng(_lat,_long);
		var marker = new createMarker(point,_info,_img);
		map.addOverlay(marker);
	} // end showBonfire
