google.load("maps", "2.x");

var ma_marcador={}; // será un marcador si se necesita


var iconData = {
  "pueblo": { width: 32, height: 32 },
  "pueblo_shadow": { width: 59, height: 32 },
  "sombrilla": { width: 32, height: 32 },
  "sombrilla_sombra": { width: 59, height: 32 },
  "banderita": { width: 32, height: 32 },
  "banderita_sombra": { width: 59, height: 32 }
};
var 	officeLayer=[];
var mimapa={};
mimapa.lat=38.611991488744614;
mimapa.lng=-0.06576240062713623;
mimapa.zoom=9
mimapa.subMapa=false;
mimapa.controlmapa=false;
mimapa.controlvista=false;
mimapa.controlexterno=false;
mimapa.URLmarcadores="/_base/libs/_marcadores.asp?tabla=zona";
mimapa.URLdestino='/pueblo.asp?zona_id=';
	var map={};
    var mgr;
    var icons = {};
    var allmarkers = [];

function wheelZoom(event) { 
	// Prevent from scrolling the page when zooming the map 
	if(window.event) { event.returnValue = false; } // IE 
	if(event.cancelable) { event.preventDefault(); } // DOM-Standard 
	if((event.detail || -event.wheelDelta) < 0) { map.zoomIn(); } else {map.zoomOut(); } 
} 
function cargaMapa(lsubmapa)
	{
	var mapdiv = $j("#divMap")[0]; 
	objMap = new google.maps.Map2(mapdiv, {mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]} );
	objMap.setCenter(new google.maps.LatLng(mimapa.lat, mimapa.lng), mimapa.zoom);
  if(mimapa.subMapa==true){objMap.addControl(new google.maps.OverviewMapControl(new google.maps.Size(200,160)));}
	if(mimapa.controlmapa==true){objMap.addControl(new google.maps.LargeMapControl());}
	if(mimapa.controlvista==true){objMap.addControl(new google.maps.MapTypeControl());}
	google.maps.Event.addDomListener(mapdiv, "DOMMouseScroll", wheelZoom); // Firefox 
	google.maps.Event.addDomListener(mapdiv, "mousewheel", wheelZoom); // IE 
	objMap.addControl(new google.maps.LocalSearch());

	function wheelZoom(event) { 
		// Prevent from scrolling the page when zooming the objMap 
		if(window.event) { event.returnValue = false; } // IE 
		if(event.cancelable) { event.preventDefault(); } // DOM-Standard 
		if((event.detail || -event.wheelDelta) < 0) { objMap.zoomIn(); } else {objMap.zoomOut(); } 
	} 
	 //    try {
			   mgr = new MarkerManager(objMap, {trackMarkers:true});
    	    	window.setTimeout(iniciocarga,0);
		//   }catch(e){}
	map=objMap
		
		
		
		
//		if (GBrowserIsCompatible())
//		{
//				//alert(map.subMapa);
//			var mapdiv = $j("#divMap")[0]; 
//			map = new GMap2($j("#divMap")[0],{ matTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP] });
//			mimapa.cargado=true;
//			
			GEvent.addListener(map, "moveend", function() {eventoMoveend(map.getCenter())});
//			//alert('LAT:'+mimapa.lat+':LNG:'+mimapa.lng);
//			map.setCenter(new GLatLng(mimapa.lat, mimapa.lng), mimapa.zoom);
//			if(mimapa.subMapa==true){map.addControl(new GOverviewMapControl(new GSize(200,160)));}
//			if(mimapa.controlmapa==true){map.addControl(new GLargeMapControl());}
//			if(mimapa.controlvista==true){map.addControl(new GMapTypeControl());}
//			if(mimapa.controlexterno==true){
//				$j("#botMenDiv").click( function() {    map.zoomOut();  });
//				$j("#botMasDiv").click( function() {    map.zoomIn();  });
//				$j("#botMapDiv").click( function() {    map.setMapType(G_MAP_TYPE);  });
//				$j("#botSatDiv").click( function() {    map.setMapType(G_SATELLITE_TYPE);  });
//				$j("#botHibDiv").click( function() {    map.setMapType(G_HYBRID_TYPE);  });
//			}
//			GEvent.addDomListener(mapdiv, "DOMMouseScroll", wheelZoom); // Firefox 
//			GEvent.addDomListener(mapdiv, "mousewheel", wheelZoom); // IE 
//
//	       try {
//			   mgr = new MarkerManager(map, {trackMarkers:true});
//    	    	window.setTimeout(iniciocarga,0);
//		   }catch(e){}
//		}
	}
function iniciocarga(){
GDownloadUrl(mimapa.URLmarcadores, cargarMgrMarcadores);
}

    function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = "/_base/libs/googlemaps/iconos/"+ images[0] + ".png";
          var size = iconData[images[0]];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
         // icon.iconAnchor = new GPoint(3,32);
          icon.shadow = "/_base/libs/googlemaps/iconos/"+ images[1] + ".png";
          size = iconData[images[1]];
          icon.shadowSize = new GSize(size.width, size.height);
          icons[images[0]] = icon;
        }
      }
      return icon;
    }

    function cargarMgrMarcadores(datos) {
	officeLayer = eval('(' + datos + ')');
      allmarkers.length = 0;
      for (var i in officeLayer) {
        var layer = officeLayer[i];
        var markers = [];
        for (var j in layer["places"]) {
          var place = layer["places"][j];
          //var marker = createMarker(posn,title,icon, place["id"]); 
          var marker = createMarker( new GLatLng(place.lat, place.lng), place.nombre, getIcon(place.icono), place.id); 
          markers.push(marker);
          allmarkers.push(marker);
        }
        mgr.addMarkers(markers, layer.desdeZoom, layer.hastaZoom);
      }
      mgr.refresh();
	$j("#estadoMap").innerHTML="";

    }
  
    function createMarker(posn, title, icon, nid) {
      var marker = new GMarker(posn, {title: title, icon: icon, draggable:false, id: nid });
      //GEvent.addListener(marker, 'dblclick', function() { mgr.removeMarker(marker) } ); 
		//YAHOO.util.Event.addListener(marker, "click", function() { clickenMarker(marker) });
      GEvent.addListener(marker, 'click', function() { clickenMarker(marker) } ); 
      return marker;

    }
	
	function clickenMarker(marcador){
	if (marcador)
		window.location=mimapa.URLdestino+marcador.id;
	}
    function deleteMarker() {
      var markerNum = parseInt(document.getElementById("markerNum").value);
      mgr.removeMarker(allmarkers[markerNum]);
    }
   
    function clearMarkers() {
      mgr.clearMarkers();
    }
   
    function reloadMarkers() {
      cargarMgrMarcadores();
    }


function eventoMoveend(){
	if ($j("#txtLat")){ //si no está oculto...
		var center = map.getCenter();
		$j("#txtLat").innerHTML = center.lat();
		$j("#txtLng").innerHTML = center.lng();
		$j("#txtZoom").innerHTML = map.getZoom();
	}
}
function SHlayer(midiv)
{var miMenu = $ele(midiv);
if(miMenu.style.display!='block')
{miMenu.style.display='block';}
else{
miMenu.style.display='none';}
}

function SHmapa()
	{
		//alert (this.innerHTML);
	var divmapa= $j("#mapaGoogle")[0];
	if(divmapa.style.display!='block')
	{
		//this.innerHTML=mimapa.txthidemapa;
		divmapa.style.display='block';
		if (!mimapa.cargado) cargaMapa();
	}else{
		//this.innerHTML=mimapa.txtshowmapa;
		divmapa.style.display='none';}
	}

// inicio listener
//YAHOO.util.Event.addListener($j("#botvermapa"), "click", SHmapa);
//cargaMapa(); // muestra el mapa
