var map;

var centro;
var punto;
var obbound;
var zoom;
var bool;

var mmgr;
var batchm=[];
var batchmd=[];
var more, textDiv, buttonDiv;
var table;

var bIconC;

//variables del STV

var map;
var myPano;   
var panoClient;
var nextPanoId;
var lat_center;
var lng_center;	
	
	
function VistaControl() {};

VistaControl.prototype = new GControl();

VistaControl.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(278, 7));
};

VistaControl.prototype.initialize = function(map) {
	
	more = document.getElementById("vista_control");
	buttonDiv = document.createElement("div");
	buttonDiv.id = "vitaboton";
	buttonDiv.title = "Vista Calle/Mapa original";
	buttonDiv.style.border = "1px solid black";
	buttonDiv.style.width = "86px";
	textDiv = document.createElement("div");
	textDiv.id = "vbdentro";
	if(bool==0){
	textDiv.appendChild(document.createTextNode("Vista Calle"));
	
	
	buttonDiv.appendChild(textDiv);
		
	//more.onmouseout = setClose;
	buttonDiv.onclick = cambiavista;
	
	// Insert the button just after outer_more div
	//more.insertBefore(buttonDiv, document.getElementById("box").parentNode);
	more.appendChild(buttonDiv);
	
	map.getContainer().appendChild(more);
	return more;
	}else{
	textDiv.appendChild(document.createTextNode("Vista Mapa"));
		
	buttonDiv.appendChild(textDiv);
		
	//more.onmouseout = setClose;
	buttonDiv.onclick = cambiavista2;
	
	// Insert the button just after outer_more div
	//more.insertBefore(buttonDiv, document.getElementById("box").parentNode);
	more.appendChild(buttonDiv);
	
	map.getContainer().appendChild(more);
	return more;
	
	}
};

	
	
	
	
	
	
function initialize() {


centro = new GLatLng(lat_center,lng_center);
	
map = new GMap2(document.getElementById("map_canvas"));

	
map.setCenter(centro, zoom);
	
	
//var customUI = map.getDefaultUI();
//        
//        map.setUI(customUI);



map.setUIToDefault();
 
//map.enableDoubleClickZoom();

//map.enableScrollWheelZoom();
//map.disableScrollWheelZoom();

map.addControl(new VistaControl());


// creamos la instancia del markermanager
mmgr = new MarkerManager(map, {trackMarkers:false});



//creamos el marker de nuestra posicion
var bIcon= new GIcon(G_DEFAULT_ICON);
bIcon.image = "images/blankg.png";


punto = new GMarker(centro, {draggable:true, icon: bIcon});
map.addOverlay(punto);


//carga la capa de inicio
obbound=map.getBounds();
var sw=obbound.getSouthWest();
var ne=obbound.getNorthEast();

var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

hacerPeticion(url);



}
	


function inicializaEscuchas(){
	
//prueba de insteseccion de eventos escuchas
/*var obj_mapa=document.getElementById("map_canvas");
obj_mapa.addEventListener("mousewheel",pruebaf,true);*/
	
 escZoom(zoom);
escPan();	
	
GEvent.addListener(punto,"dragend",function(latlng){
											
	map.panTo(latlng);
	map.savePosition();
	map.getZoom();
	
	obbound=map.getBounds();
	
	
	var sw=obbound.getSouthWest();
	var ne=obbound.getNorthEast();
	
	var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();
	//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();
	
	//window.open(url,"depu");
	hacerPeticion(url);
	
});


GEvent.addListener(map,"click", function(overlay, latlng) {

	
	punto.setLatLng(latlng);
	map.panTo(latlng);
	map.savePosition();
	map.getZoom();	
	
	obbound=map.getBounds();		
	
	var sw=obbound.getSouthWest();
	var ne=obbound.getNorthEast();	
	
	var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();		
	
	//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();
	
	hacerPeticion(url);
	


});


	
}


// Funcion que escucha el zoom y hace la peticion a la carga de la capa

	
function escZoom(zoom){
	GEvent.addListener(map,"zoomend", function(overlay, latlng) {
	
	var bzoom=map.getZoom();
	//alert(bzoom+','+ zoom);
if(	bzoom!=zoom || bzoom>zoom){
	
	//carga la capa de inicio
obbound=map.getBounds();
var sw=obbound.getSouthWest();
var ne=obbound.getNorthEast();

var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

hacerPeticion(url);}
	
											   });
}


// Función de paneo


function escPan(){
	GEvent.addListener(map,"moveend", function(overlay, latlng) {
	
	

	
	//carga la capa de inicio
obbound=map.getBounds();
var sw=obbound.getSouthWest();
var ne=obbound.getNorthEast();

var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table;

hacerPeticion(url);
	
											   });
}




function cambiavista(){
	
	
//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/mapastv/mapaSTV.php?lat='+map.getCenter().lat()+'&lng='+map.getCenter().lng()+'&table='+table+'&bool=1';

var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/mapaP.php?lat='+map.getCenter().lat()+'&lng='+map.getCenter().lng()+'&table='+table+'&bool=1&zoom='+map.getZoom();
	//window.location.reload();
	window.location.href=url;
	
	
	//alert("cambia vista");
}


function cambiavista2(){
	
	
//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/mapastv/mapaSTV.php?lat='+map.getCenter().lat()+'&lng='+map.getCenter().lng()+'&table='+table+'&bool=0';

var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/mapaP.php?table='+table+'&bool=0'+'&lat='+map.getCenter().lat()+'&lng='+map.getCenter().lng()+'&zoom='+map.getZoom();
	//window.location.reload();
	window.location.href=url;
	
	
	//alert("cambia vista");
}



//// funciones del STV

  
    
	
	function inicializaSTV(){
	
		var stvPOV = {yaw:370.64659986187695,pitch: 0};
		panoClient = new GStreetviewClient(); 
	
		
		myPano = new GStreetviewPanorama(document.getElementById("pano"));
		myPano.setLocationAndPOV(centro, stvPOV);
		GEvent.addListener(myPano, "error", handleNoFlash);  
		panoClient.getNearestPanorama(centro, showP);
	}
	
	
	function inicializaEscuchas2(){
	
		 escZoom(zoom);
		
		GEvent.addListener(map, "click", function(overlay,latlng) {
			panoClient.getNearestPanorama(latlng, showP);	
			
			
			punto.setLatLng(latlng);
	map.panTo(latlng);
	map.savePosition();
	map.getZoom();	
	
	obbound=map.getBounds();		
	
	var sw=obbound.getSouthWest();
	var ne=obbound.getNorthEast();	
	
	var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();		
	
	//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();		
	
	hacerPeticion(url);
	
			
			
		});
		
		
		GEvent.addListener(punto,"dragend",function(latlng){
			panoClient.getNearestPanorama(latlng, showP);
			
			
	map.panTo(latlng);
	map.savePosition();
	map.getZoom();
	
	obbound=map.getBounds();
	
	
	var sw=obbound.getSouthWest();
	var ne=obbound.getNorthEast();
	
	var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tablas.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();
	
	//var url='http://sic.conaculta.gob.mx/mapas_gmaps/mapagral/gxml_tabla.php?lat0='+sw.lat()+'&lon0='+sw.lng()+'&lat1='+ne.lat()+'&lon1='+ne.lng()+'&table='+table+'&latc='+latlng.lat()+'&lonc='+latlng.lng();
	
	//window.open(url,"depu");
	hacerPeticion(url);
			
		});
		
		
	
	}

	function showP(panoData) {
      if (panoData.code != 200) {
        GLog.write('showPanoData: Server rejected with code: ' + panoData.code);
        return;
      }
     	nextPanoId = panoData.links[0].panoId;
	 
	  punto.setLatLng(panoData.location.latlng);
      myPano.setLocationAndPOV(panoData.location.latlng);
    }
    
	
	
   
    
    function handleNoFlash(errorCode) {
      if (errorCode == 603) {
        alert("Error: Flash doesn't appear to be supported by your browser");
        return;
      }
    }  

