/* Variables globales para la creación del mapa */
var map="";
var markers= new Array();
var tooltip;	

// Array de Instalaciones 
var Instalaciones= new Array();
var nInstalaciones=0;

// Zona del mapa que queremos mostrar
var boundSW;
var boundNE;

// Parametros de búsqueda
var pal_clave="";
var id_categ="";
var id_keyword="";

// Cuando cerramos vaciamos el espacio en memoria
window.onunload=GUnload;

/* Icono base - definimos la imagen de sombra por defecto */
var baseIcon = new GIcon();
baseIcon.shadow = "images/mapShadow.png";
baseIcon.iconSize = new GSize(45,30);
baseIcon.shadowSize = new GSize(55,45);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);		

// Cargamos el mapa		
function loadMap() {		
  // carga_js();
   if (GBrowserIsCompatible()) {
	    
		// Inicalizamos el mapa																
        map = new GMap2(document.getElementById("mapCourses"));
	    map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        var Tsize = new GSize(100, 400);  
	    //map.addControl(new GOverviewMapControl(Tsize));  

		//Tooltips
	   	tooltip = document.createElement("div");
	    map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
		tooltip.style.visibility="hidden";
								
		// Lo centramos para que los markers sean visibles....
		bounds=new GLatLngBounds(boundSW,boundNE);
	 	ZoomLevel=map.getBoundsZoomLevel(bounds); 
		map.setCenter(bounds.getCenter(),ZoomLevel-1);  	  								
		
		// Creamos los markers en el mapa
		for(i=1;i<nInstalaciones;i++) {			
			//alert(Instalaciones[i]);
			CreateMarker(Instalaciones[i],i);
		}				
    }		
}	

function carga_js(){
	
	jsFile="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAASy5oCHJ0ZiF9JSjjGYSQfBQLJpSyO0nt_cs8R1jc3CLYcnSyThR2UdG0519qftqVBxawuAJ0kjX0NA";
	document.write('<script type="text/javascript" src="'+ jsFile + '"></scr' + 'ipt>');

 /*include('<SC'+'RIPT TYPE="text/javascript" SRC="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAASy5oCHJ0ZiF9JSjjGYSQfBQLJpSyO0nt_cs8R1jc3CLYcnSyThR2UdG0519qftqVBxawuAJ0kjX0NA"><\/SCRIPT>');*/

}
 
// Creamos el marker on the fly     	
function CreateMarker(center,item) {
    var icon = new GIcon(baseIcon);				
	icon.image = "logos/"+center.file_logo;	
	//var marker = new GMarker(center,icon);	
	//marker.tooltip='<div class="tooltip1"><table class="TableTooltip"><tr><td nowrap><b>'+center.desc_centro+'</b></td></tr><tr><td nowrap>'+center.ncursos+'</td></tr></table></div>';				 	
	var marker = new GMarker(center);	
	marker.center=center;
	markers[item]=marker;
	map.addOverlay(marker);			
	//GEvent.addListener(marker, "click", function() {LoadMarker(marker);});
	//GEvent.addListener(marker,"mouseover", function() {showTooltip(marker);});            
	//GEvent.addListener(marker,"mouseout", function() {hideTooltip();});   				 		
}	

// Mostramos el contenido del marker mediante url
function LoadMarker (marker) {					 
 if(map.getZoom()<8) {map.setCenter(marker.center,9);}	
 //GDownloadUrl("map-LoadCourses.cfm?pal_clave="+pal_clave+"&id_categ="+id_categ+"&id_keyword="+id_keyword+"&id_instalcen="+marker.center.id_instalcen+"&rnum=Math.random()",function(data, response) {LoadUrlMarker(marker,data, response);});
}

// Mostramos las pestañas del marker - previo a la petición http
function LoadUrlMarker (marker,data, response) {					 
	// Our info window content
	var infoTabs = [
	  new GInfoWindowTab(MAPTAB1, data),	  
	  new GInfoWindowTab(MAPTAB2, "<table width='250' border='0' cellspacing='3' cellpadding='2'><tr><td class='tdCURSOcentrotextos' colspan='2'><b>"+marker.center.desc_centro+"</b></td><tr><td width='100'><img src='/logos/"+marker.center.file_logo+"' border='1' style='border:1px solid ##9c9c9c;'></td><td class='tdCURSOcentrotextos'>"+marker.center.direccion+" <br>"+marker.center.cod_postal+" "+marker.center.desc_poblacion+" <br> "+marker.center.desc_provincia+" "+marker.center.desc_pais+"</td></tr></table>")
	];			
	marker.openInfoWindowTabsHtml(infoTabs);			
}		

// Hacemos foco en la instalación que hemos seleccionado
function ShowInstal(item) {
	if(map.getZoom()<8) {map.setCenter(markers[item].center,9);}	
	else {map.setCenter(markers[item].center);}
	LoadMarker(markers[item]);	
}

/* Mostramos el tooltip para los centros */
function showTooltip(marker) {		    	
	tooltip.innerHTML = marker.tooltip;			
	//var map = marker.ownerMap;
	var pt=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var wd=marker.getIcon().iconSize.width;
	var ht=tooltip.clientHeight;
	var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - pt.x - anchor.x + wd, offset.y - pt.y -anchor.y -ht)); 
	pos.apply(tooltip);	
	tooltip.style.visibility = "visible" ;
}	
	
/* Ocultamos el tooltip */
function hideTooltip() {
	tooltip.style.visibility = "hidden" ;
}