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

var icono = new GIcon();
icono.image = "../archivos/marcador.png";
icono.shadow = "../archivos/sombra.png";
icono.iconSize = new GSize(20, 34);
icono.shadowSize = new GSize(37, 34);
icono.iconAnchor = new GPoint(15, 32);
icono.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, "../archivos/congresoicjce2008.kml?"+(Math.random()*10000) , {titlestyle:'class="bocadillo_titulo"',descstyle:'class="bocadillo_texto"',iwwidth:'auto',baseicon:icono});
	exml.parse();
	return false;
}

var gDir = null;
function searchAddress(direccion) {
	geoCoder.getLatLng(direccion,
			function(ptoOrigen) {
				if (!ptoOrigen) {
					alert(direccion + ": No ha sido posible encontrar la localización.");
				} else {
					map.panTo(ptoOrigen);
					
					var ptoDestino = "Palau de Congressos de Valencia (XVII Congreso Nacional de Auditoria)@39.495166,-0.402524";

					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 = '#6F3412';
	for(var i=0;i<gDir.getNumGeocodes();i++) {
		fin = gDir.getMarker(i);
	}
}

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