var map = null;
var geoCoder = null;
var poly;
var inicio;
var fin;

var nube = new GIcon();
nube.image = "";
nube.shadow = "";
nube.iconSize = new GSize(32, 32);
nube.shadowSize = new GSize(46, 32);
nube.iconAnchor = new GPoint(15, 32);
nube.infoWindowAnchor = new GPoint(15, 1);

function carga() {
	if (GBrowserIsCompatible()) {
		if ( map == null ) {
			map = new GMap2($('mapa_google'));
			pos = new GLatLng(40, 0.02);
			map.setCenter(pos, 11);
			map.addControl(new GSmallMapControl());
		}
		if (map) {
			geoCoder = new GClientGeocoder();
			map.enableDoubleClickZoom();
			map.enableContinuousZoom();
			map.enableScrollWheelZoom();
			map.addControl(new GOverviewMapControl()); 
			refresh();
		}
	}
}

var geoXml = null;
var exml = null;
function refresh() {
	exml = new EGeoXml("exml", map, "http://www.firacasinos.com/firacasinos.kml?"+(Math.random()*10000) , {titlestyle:'class="bocadillo_titulo"',descstyle:'class="bocadillo_texto"',iwwidth:'auto',baseicon:nube});
	exml.parse();
	return false;
}

var gDir = null;
function searchAddress(direccion) {
	geoCoder.getLatLng(direccion,
			function(ptoOrigen) {
				if (!ptoOrigen) {
					alert(direccion + " no encontrada");
				} else {
					map.panTo(ptoOrigen);
					
					//var ptoDestino = "Casinos@39.699295,-0.706623";
					var ptoDestino = "XI Feria del Dulce Artesano, Peladillas y Turrones de Casinos@39.701200,-0.710300";

					var puntos = new Array();
					puntos.push(direccion+ '@' + ptoOrigen);
					puntos.push(ptoDestino);
					
					if(gDir) {
						gDir.clear();
					} else {
						gDir = new GDirections(map, $('panel_mapa'));
					}

					gDir.loadFromWaypoints(puntos,"{preserveViewport:true;getSteps=true}");
					GEvent.addListener(gDir,"load",function(){onGDirectionsLoad(gDir);});
					GEvent.addListener(gDir,"addoverlay",function(){onGDirectionsAddOverlay(gDir);});
				}
			}
	);
}

function onGDirectionsLoad(gDir) {
	poly = gDir.getPolyline();
	poly.color = '#CC3300';
	for(var i=0;i<gDir.getNumGeocodes();i++) {
		fin = gDir.getMarker(i);
	}
}

function onGDirectionsAddOverlay(gDir) {
	map.removeOverlay(fin);
}