var mapa;

var latitud;

var longitud;

var arreglo_marcadores = new Object;

var codigoHTML_marcadores = "<table border=\"0\" class=\"contenedor\"><tr><td width=\"20\"><img src=\"[ruta_imagenes][bandera].gif\" alt=\"[pais]\" title=\"[pais]\"</td><td class=\"globo\">[pais]</td></tr><tr><td colspan=\"2\">[contenido]</td></tr></table>";

var lng_default = 14.996729;

var lat_default = 102.595626;



function cargaMapa() {

	if (GBrowserIsCompatible()) {

		mapa = new GMap2(document.getElementById("map"));

		mapa.setMapType(G_NORMAL_MAP);

		//mapa.setMapType(G_SATELLITE_3D_MAP); //Para 3ra dimensión

		mapa.hideControls();

		mapa.addControl(new GLargeMapControl());

		mapa.addControl(new GMapTypeControl());

		mapa.addControl(new GOverviewMapControl());

		mapa.setCenter(new GLatLng(lng_default,lat_default), 1);

	}

}



function creaMarcador(latitud,longitud,bandera,pais,contenido){

	var Icon = new GIcon();

	var ruta_imagenes = "./images/gif/";

	Icon.image = ruta_imagenes + bandera + ".gif";

	Icon.iconSize = new GSize(16, 11);

	Icon.iconAnchor = new GPoint(1, 11);

	Icon.infoWindowAnchor = new GPoint(1, 1);

	var punto = new GLatLng(latitud,longitud);

	var marcador = new GMarker(punto,Icon);

	GEvent.addListener(marcador, "click", function() {

		var codigo = codigoHTML_marcadores;

		codigo = codigo.replace(/\[ruta_imagenes\]/g,ruta_imagenes);

		codigo = codigo.replace(/\[bandera\]/g,bandera);

		codigo = codigo.replace(/\[pais\]/g,pais);

		codigo = codigo.replace(/\[contenido\]/g,contenido);

		marcador.openInfoWindowHtml(codigo);

	});

	mapa.addOverlay(marcador);

	return marcador;

}

	

function centraEnPunto(punto,zoom){

	var coordenadas = punto.getLatLng();

	mapa.setCenter(new GLatLng(coordenadas.lat(),coordenadas.lng()),zoom);

}



function desapareceTodos(){

	for(var i in arreglo_marcadores){

		arreglo_marcadores[i].hide();

		arreglo_marcadores[i].closeInfoWindow();

	}

}



function apareceTodos(){

	for(var i in arreglo_marcadores){

		arreglo_marcadores[i].show();

	}

	mapa.setCenter(new GLatLng(lng_default,lat_default), 1);

}



function activaObjeto(nombre_prop,zoom){

	desapareceTodos();

	arreglo_marcadores[nombre_prop].show();

	centraEnPunto(arreglo_marcadores[nombre_prop],zoom);

}



function activa(puntos){

	mapa.setZoom(1);

	desapareceTodos();

	if(puntos!=''){

		var arreglo_puntos = puntos.split(',');

		var contador = 0;

		for(contador = 0; contador<arreglo_puntos.length; contador++){

			arreglo_marcadores['m_'+arreglo_puntos[contador]].show();

		}

	}

}
