
var mapTourDetalle;
var reqPOISMapa;

//============================================================================================
//CONTROL DE SLIDERS EN TourDetalle 

function presImagen(){
	document.foto.src= dire + imagenes[cont];
	subeOpacidad();
	if (cont < imagenes.length-1)
		{cont ++;}
	else
		{cont=0;}
	tiempo=window.setTimeout('bajaOpacidad()',segundos*1000);
}
var iex = navigator.appName=="Microsoft Internet Explorer" ? true : false;
var fi = iex?'filters.alpha.opacity':'style.MozOpacity';
var opa = iex ? 100 : 1;
function bajaOpacidad(){
	eval(opa)
	if(opa >= 0){
		cambia();
		opa -= iex?10:0.1;
		setTimeout('bajaOpacidad()',10);
	}
	else{presImagen()}
}

function subeOpacidad(){
	opaci = iex?100:1;
	if(opa <= opaci){
		cambia();
		opa += iex?10: 0.1;
		setTimeout('subeOpacidad()',10);
	}
}
function cambia(){
	eval('document.foto.' + fi + ' = opa');
}

var tiempo;
function inicio(){
	clearTimeout(tiempo);
	bajaOpacidad();
}


function inicioSlideShow(){
	clearTimeout(tiempo);
	CambiaFoto();
}//inicioSlideShow

function CambiaFoto(){
	var foto = document.getElementById("foto");
	foto.src=dire+imagenes[indiceImagen];
	document.title=dire+imagenes[indiceImagen];
	setTimeout('siguienteFoto()',3000);
}//CambiaFoto

function siguienteFoto(){
	if (indiceImagen<imagenes.length-1){
		indiceImagen++;
	} else {
		indiceImagen=0;
	}
	CambiaFoto();
}//siguienteFoto(


function Categoria(){
  this.CatId=null;
  this.Nombre=null;
  this.Seleccionada=false;
  this.SubCategoriasCargadas=false;
  this.SubCategorias = new Array();
}//Categoria


function SubCategoria(){
  this.CatId=null;
  this.SubId=null;
  this.Nombre=null;
  this.Seleccionada=false;
}//SubCategoria

//================================================================================
//VARIABLES PUBLICAS
    var req;
    var req2;
    var req3;
    var req4;
    var req5;
    var req6;
    var req7;
    var req8;
    var req9;
    var req10;
    var req11;
    var req12;
    var req13;
    var req50;
    var hidTour;
    var idCat;
    var IDSeccion;
    var NomSeccion;
    var DatosCont;
    var Check = "";
    var strSiguiente;
    var strAnterior;
    var strSiguienteNombre;
    var strAnteriorNombre;
    var idSeccionAnterior;
    var categorias = new Array();
    var globalCategoria=-1;
    var cadbusqueda;
    var poi;
    var categ="";
    var subcategorias="";
    var TourIDR;


//================================================================================
//Realiza la conexion
    function init() {

        var reqTemp;
        if (window.XMLHttpRequest) {
            reqTemp = new XMLHttpRequest();
            if (reqTemp.overrideMimeType) {
                reqTemp.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                reqTemp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    reqTemp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        var url = "../../../../AppServlet";
        reqTemp.open("POST", url, true);
        reqTemp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        return reqTemp;
    }//init

//==================================================================================

function init3niveles() {
        var reqTemp;
        if (window.XMLHttpRequest) {
            reqTemp = new XMLHttpRequest();
            if (reqTemp.overrideMimeType) {
                reqTemp.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                reqTemp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    reqTemp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        var url = "../../../AppServlet";
        reqTemp.open("POST", url, true);
        reqTemp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        return reqTemp;
    }//init3niveles



//FUNCIONES
    function RegresaAtributo(xmlNode, intAtributo){
	if(xmlNode.nodeType == 1){
        return xmlNode.attributes[intAtributo].nodeValue;
	}
	else if(xmlNode.nodeType == 3){
		return 'nodo tipo 3';
	} else {
            return 'Desconocido';
    }
}

//=============================================================================
    //Carga Mapa...
     function initialize(lat,lng,nombre) {

      //Variable que servira para mostrar un apequeña
      //descripción del punto de Interes

      //Carga el Mapa en la ubicación deseada apartir de las cordenadas
      //proporcionadas
      if (GBrowserIsCompatible()) {
        mapTourDetalle = new GMap2(document.getElementById("divMapa"));
        mapTourDetalle.setCenter(new GLatLng(lat, lng), 13);
        mapTourDetalle.setUIToDefault();

         GEvent.addListener(mapTourDetalle, "moveend", function() {
            ActualizaMapa();
          });


}
      TraeSeccionesIniciales();
      FillCATEGORIASTOUR();
}

    //CARGA MAPA POR ZONA
     function initializeZona(lat,lng,nombre) {

      //Carga el Mapa en la ubicación deseada apartir de las cordenadas
      //proporcionadas
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("divMapa"));
        map.setCenter(new GLatLng(lat, lng), 13);
        map.setUIToDefault();


          //Indica la posición
          function createMarker(latlng)
    {
          var marker = new GMarker(latlng);
          GEvent.addListener(marker,"click", function() {
          var myHtml =nombre;
            map.openInfoWindowHtml(latlng, myHtml);
          });
          return marker;
	}


    // Agrega "N" marcadores(POIS) dentro del mapa dentro de un ciclo FOR
        for (var i = 0; i < 1; i++)
        {
          var latlng = new GLatLng(lat,lng);
          map.addOverlay(createMarker(latlng,  1));  //llama funcion createMarker
        }

}

}



    //CARGA MAPA (por ubicacion)
     function initializeMapaUbicacion(lat,lng) {

      //Carga el Mapa en la ubicación deseada apartir de las cordenadas
      //proporcionadas
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("divMapa"));
        map.setCenter(new GLatLng(lat, lng), 13);
        map.setUIToDefault();
    }
}



    function initializeSecciones(idSeccion, NomSeccion,lat,lng,nombre) {

      if (GBrowserIsCompatible()) {
        mapTourDetalle = new GMap2(document.getElementById("divMapa"));
        mapTourDetalle.setCenter(new GLatLng(lat, lng), 13);
        mapTourDetalle.setUIToDefault();

         GEvent.addListener(mapTourDetalle, "moveend", function() {
            ActualizaMapa();
          });


      }
      TraeSeccionesIniciales();
      FillCATEGORIASTOUR();
      VerSubSecciones(idSeccion, NomSeccion);
    }

//===========================================================================


    function TraeSeccionesIniciales(){
        hidTour = document.getElementById("hidTour");
        req = init();
		req.onreadystatechange = SeccionesTourListener;
		req.send("SeccionesTour=" + hidTour.value);
    }

     function VerSubSecciones(idSeccion,NomSeccion){

        var TituloCont = document.getElementById("divTituloCont");
        TituloCont.innerHTML = NomSeccion;

        var divTripticos = document.getElementById("divTripticos");
        divTripticos.innerHTML = "";
        divTripticos.style.height="5px";

        var divContenido = document.getElementById("divContenido");
        divContenido.style.height="326px";
        //divContenido.style.backgroundColor="rgb(210,255,255)";

        hidTour = document.getElementById("hidTour");
        req2 = init();
		req2.onreadystatechange = SubSeccionesTourListener;
		req2.send("SubSeccionesTour=" + hidTour.value + "@@@" + idSeccion);

        try {
            var ahrefAnterior = document.getElementById("ahref" + idSeccionAnterior);
            ahrefAnterior.style.fontWeight="normal";
            ahrefAnterior.style.color="rgb(0,0,0)";
            //ahrefAnterior.style.color="rgb(255,255,255)";
        } catch(e){}

        try {
            //Remarca link seleccionado con diferente color (aprox: Terra)
            var ahref = document.getElementById("ahref" + idSeccion);
            ahref.style.fontWeight="bold";
            ahref.style.color="#B42800";
            //ahref.style.color="#0066FF";
            idSeccionAnterior = idSeccion;

        } catch(e){}
    }

    //Trae datos del campo Contenido
    function FillDatos(idSeccion){

        hidTour = document.getElementById("hidTour");
        req3 = init();
		req3.onreadystatechange = ContenidoTourListener;
		req3.send("ContenidoTour=" + hidTour.value + "@@@" + idSeccion);

        //Oculta botones de avance y regreso de secciones
        var btnSiguiente = document.getElementById("btnSiguiente");
        btnSiguiente.style.visibility="hidden";
        var btnAnterior = document.getElementById("btnAnterior");
        btnAnterior.style.visibility="hidden";
    }

    //Trae tripticos del tour
    function FillTripticos(idSeccion){
        hidTour = document.getElementById("hidTour");
        req4 = init();
		req4.onreadystatechange = TripticoTourListener;
        //alert("Tour: " + hidTour.value + " seccion: " + idSeccion);
		req4.send("TripticoTour=" + hidTour.value + "@@@" + idSeccion);
    }

   //Trae Seccion correspondiente a tripticos
    function FillSeccion(idSeccion){
        hidTour = document.getElementById("hidTour");
        req5 = init();
		req5.onreadystatechange = SeccionTourListener;
		req5.send("SeccionTour=" + hidTour.value + "@@@" + idSeccion);
    }

    //Trae Categorias de Tour's
    function FillCATEGORIASTOUR(){
        hidTour = document.getElementById("hidTour");
        req6 = init();
		req6.onreadystatechange = CategoriasTourListener;
		req6.send("CategoriasTour=" + hidTour.value );
    }

    //Trae Subcategorias
    function VerSubCategorias(idCat){
        //Ejecuta funcion
        MarcaCategoria(idCat);

        var catSeleccionada = categorias[RegresaCategoria(idCat)];
        if (catSeleccionada.SubCategoriasCargadas==false){
            req7 = init();
            req7.onreadystatechange = SubCatTourListener;
            req7.send("SubCatTour=" + idCat);
        } else {
            PintaSubCategorias(idCat);
        }
    }

    //Trae datos de las posibles coincidencias
    function FillBusquedaResultados(palabras){
        cadbusqueda  = String(palabras) + "";
        req8 = init();
		req8.onreadystatechange = BusquedasListener;
		req8.send("Busquedas=" + palabras);
      }


        //Trae datos de las posibles coincidencias
        function FillCordenadas(poi_idr){
        //cadbusqueda  = String(palabras) + "";
		poi = poi_idr;
		req9 = init();
		req9.onreadystatechange = TraeCordenadasListener;
		req9.send("TraeCordenadas=" + poi_idr);
      }

        //Trae datos de las posibles coincidencias
        function FillCordenadas2(poi_idr){
        //cadbusqueda  = String(palabras) + "";
                poi = poi_idr;
                req50 = init();
		req50.onreadystatechange = TraeCordenadas2Listener;
		req50.send("TraeCordenadas2=" + poi_idr);
      }


//Trae datos de las posibles coincidencias
        function FillPOISSUBCAT(categoria,subcategoria){
        //cadbusqueda  = String(palabras) + "";
        req10 = init();
		req10.onreadystatechange = TraeCordenadasPOISListener;
		req10.send("TraeCordenadasPOIS=" + categoria + "@@@" + subcategoria);
      }


      function FillObjCbo(){
        req11 = init();
		req11.onreadystatechange = CargaCboPanListener;
		req11.send("CargaCboPan");
      }

      function FillPanoramas(){
        req12 = init();
		req12.onreadystatechange = CargaPanListener;
		req12.send("CargaPan");
      }

      function FillPanTipo(pantipo){
          if (pantipo == '0') {
              FillPanoramas();
          }else{
        req13 = init();
		req13.onreadystatechange = CargaPanFillListener;
		req13.send("CargaPanFill=" + pantipo);
     }
  }
  
     
     function FillToursLoadMap(){
             req14 = init3niveles();
     		req14.onreadystatechange = CargaTourMapListener;
     		req14.send("CargaTourMap=1");
      }
      
      function FillRecorridosLoadMap(){
          
              req15 = init3niveles();
      		req15.onreadystatechange = CargaRecorridosMapListener;
      		req15.send("CargaRecorridosMap=1");
      }

//==========================================================================================================

    //Muestra subcategorias segun la categoria seleccionada
    function PintaSubCategorias(idCat){

                globalCategoria = idCat;
                var catSeleccionada = categorias[RegresaCategoria(idCat)];
                var strHTML="<div>";
                for (var i = 0;i<catSeleccionada.SubCategorias.length;i++){
                    var subCat = catSeleccionada.SubCategorias[i];
                    if (subCat.Seleccionada){
                        strHTML = strHTML + "<input align='left' type='checkbox' id='chkSubCategorias" + idCat + "_" + subCat.SubId + "' onclick='CambioOpcionSubCat(" + idCat + "," + subCat.SubId + ")' value='" + subCat.SubId + "' checked>" + subCat.Nombre + "<br/>";

        if(subcategorias == "")
          {
             subcategorias = subcategorias  + subCat.SubId;
          }else{subcategorias = subcategorias  + "," + subCat.SubId;}
                    } else {
                        strHTML = strHTML + "<input align='left' type='checkbox' id='chkSubCategorias" + idCat + "_" + subCat.SubId + "' onclick='CambioOpcionSubCat(" + idCat + "," + subCat.SubId + ")'  value='" + subCat.SubId + "'>" + subCat.Nombre + "<br/>";
                        subcategorias = "";
                    }
                }
                strHTML = strHTML + "</div>";
  //alert(categ + '  ' + subcategorias);
                FillPOISSUBCAT(categ,subcategorias)
                var divSCatBusquedas = document.getElementById("divSCatBusquedas");
                divSCatBusquedas.innerHTML = strHTML;


    }


    //Sombrea de color la categoria seleccionada
    function MarcaCategoria(idCat){
        try {
            var Categorias;

            for (var i = 0;i<categorias.length;i++){
                if (categorias[i].CatId==idCat){
                    Categorias = document.getElementById("CheckCategorias" + idCat);
                    Categorias.style.fontWeight="bold";
                    Categorias.style.color="rgb(255,255,255)";
                    Categorias.style.backgroundColor="#FF7F50"; //#FF5F40";

                } else {
                    //Regresa Estilo estandar a Categorias
                    Categorias = document.getElementById("CheckCategorias" + categorias[i].CatId);
                    Categorias.style.fontWeight="normal";
                    Categorias.style.color="rgb(255,255,255)";
                    Categorias.style.backgroundColor="#CC6600"; //#FF7F50'
                }

            }

        } catch(e){}
    }


    //Devuelve el ID de la categoria
    function RegresaCategoria(idCat){
        var idxcatRetorno=null;
        for (var i=0;i<categorias.length;i++){
            if (categorias[i].CatId==idCat){
                idxcatRetorno = i;
                break;
            }
        }
        return idxcatRetorno;
    }

 //================================================================================
 //Carga marcas dentro de mapa por c/u de los tours existentes en la DBase.
    function CargaTourMapListener(){
        if (req14.readyState == 4) {
        if (req14.status == 200) {

                    var indexObj = req14.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var rowObj = "";
                    var latObj = "";
                    var lngObj = "";
                    var NombreObj = "";
                    mapTours = new GMap2(document.getElementById("divMapa"));
                    var baseIcon = new GIcon(G_DEFAULT_ICON);

                for (var i = 0;i<rows;i++){
                        rowObj = req14.responseXML.getElementsByTagName("ROW")[i];
                        tourIDR = rowObj.getElementsByTagName("tour_idr")[0];
                        latObj = rowObj.getElementsByTagName("lat")[0];
                        lngObj = rowObj.getElementsByTagName("lng")[0];
                        NombreObj = rowObj.getElementsByTagName("tour_nombre")[0];
                        RutaObj = rowObj.getElementsByTagName("ruta")[0];

      if (GBrowserIsCompatible()) {

                baseIcon.shadow = "http://www.estoyenelmapa.com/" + RutaObj.childNodes[0].nodeValue ;
                baseIcon.iconSize = new GSize(20, 34);
                baseIcon.shadowSize = new GSize(37, 34);
                baseIcon.iconAnchor = new GPoint(9, 34);
                baseIcon.infoWindowAnchor = new GPoint(9, 2)

                function createMarker(latlng, nombre,ruta,tour)
                {
                      var letteredIcon = new GIcon(baseIcon);
                      letteredIcon.image = "http://www.estoyenelmapa.com/" + RutaObj.childNodes[0].nodeValue;
                      markerOptions = { icon:letteredIcon ,title: nombre};
                      var marker = new GMarker(latlng,markerOptions);

                     GEvent.addListener(marker,"click", function() {
                       var myHtml;
                       myHtml =  "<td ><div><a class='asubraya' style='color:rgb(50,50,50)' href='javascript: ventanaSecundariaPanoramas(" + '"' + "http://www.estoyenelmapa.com/" + ruta  +  '"' + ")' ><img src='http://www.estoyenelmapa.com/" + ruta + "' height='200px'><br/><br/>" + nombre + "</a> </div></td></tr><br/>"
                       myHtml = myHtml + "<tr><td width='250px'><div align='left' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;'>TOUR:</div></td><td><div  align='left' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;'>" +  nombre + "</div></td></tr>";
                       myHtml = myHtml + "<tr><td align='right'><br/><a class='asubraya' style='background-color:rgb(0,120,200);color:rgb(255,255,255);' href='javascript: ventanaSecundariaTours(" + '"' + "http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/TourDetalle.jsp?Tourid=" + tour + '"' + ")'>Ver m&aacute;s</a></td></tr>";
                       myHtml = myHtml + "</table>";
                     
                     mapTours.openInfoWindowHtml(latlng, myHtml);
                      });
                      return marker ;
                }

                        mapTours.setCenter(new GLatLng(latObj.childNodes[0].nodeValue, lngObj.childNodes[0].nodeValue), 4);
                        //map.openInfoWindow(map.getCenter(), document.createTextNode(NombreObj.childNodes[0].nodeValue));

                        // Agrega "N" marcadores(TOURS) dentro del mapa
                        var latlng = new GLatLng(latObj.childNodes[0].nodeValue,lngObj.childNodes[0].nodeValue);
                        mapTours.addOverlay(createMarker(latlng, NombreObj.childNodes[0].nodeValue,RutaObj.childNodes[0].nodeValue,tourIDR.childNodes[0].nodeValue));  //llama funcion createMarker
                        //map.setUIToDefault();
                      }
                   }
                   FillRecorridosLoadMap()
               }
           }
        }
//==============================================================================================================================
//Carga marcas dentro de mapa por c/u de los recorridos virtuales existentes en la DBase.
    function CargaRecorridosMapListener(){
        if (req15.readyState == 4) {
        if (req15.status == 200) {

                    var indexObj = req15.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var rowObj = "";
                    var latObj = "";
                    var lngObj = "";
                    var NombreObj = "";
                    var neg_dir= "";
                    var neg_zona="";
                    var neg_del_des="";
                    var neg_col_des ="";
                    var neg_est_des="";
                    var neg_pai_des="";
                    var ruta_mini="";
                    //var map = new GMap2(document.getElementById("divMapa"));
                    var baseIcon = new GIcon(G_DEFAULT_ICON);
                    var myHtml ="<table border='0' width='900px'><tr>";

                for (var i = 0;i<rows;i++){
                        rowObj = req15.responseXML.getElementsByTagName("ROW")[i];
                        POI_IDR = rowObj.getElementsByTagName("neg_idr")[0];
                        latObj = rowObj.getElementsByTagName("lat")[0];
                        lngObj = rowObj.getElementsByTagName("lng")[0];
                        fotoObj = rowObj.getElementsByTagName("foto_panorama_idr")[0];
                        NombreObj = rowObj.getElementsByTagName("nombre")[0];
                        RutaObj = rowObj.getElementsByTagName("ruta")[0];
                        neg_dir = rowObj.getElementsByTagName("neg_dir")[0];
                        neg_zona = rowObj.getElementsByTagName("neg_zona")[0];
                        neg_del_des = rowObj.getElementsByTagName("neg_del_des")[0];
                        neg_col_des = rowObj.getElementsByTagName("neg_col_des")[0];
                        neg_est_des = rowObj.getElementsByTagName("neg_est_des")[0];
                        neg_pai_des = rowObj.getElementsByTagName("neg_pai_des")[0];
                        ruta_mini = rowObj.getElementsByTagName("url_recorrido_miniscreen")[0];

                if (GBrowserIsCompatible()) {
                
                mapTours.addMapType(G_PHYSICAL_MAP);
                mapTours.setMapType(G_NORMAL_MAP);
                mapTours.addControl(new GSmallMapControl());
                mapTours.addControl(new GMenuMapTypeControl());
                mapTours.enableScrollWheelZoom();

                baseIcon.shadow = "http://www.estoyenelmapa.com/" + RutaObj.childNodes[0].nodeValue ;
                baseIcon.iconSize = new GSize(20, 34);
                baseIcon.shadowSize = new GSize(37, 34);
                baseIcon.iconAnchor = new GPoint(9, 34);
                baseIcon.infoWindowAnchor = new GPoint(9, 2)


                function createMarker(latlng, nombre, RutaObj,foto_panorama_idr,POI_IDR,ruta_mini)
                {
                      var letteredIcon = new GIcon(baseIcon);
                      letteredIcon.image = "http://www.estoyenelmapa.com/" + RutaObj;
                      markerOptions = { icon:letteredIcon, title: nombre };
                      var marker = new GMarker(latlng,markerOptions);

                     GEvent.addListener(marker,"click", function() {
           
                         myHtml =  "<td ><div><embed src='http://www.estoyenelmapa.com/" + ruta_mini + " ' height='200px'></embed> </div></td></tr><br/>"
                         myHtml = myHtml + "<tr><td width='250px'><div align='left' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;'>PANORAMA:</div></td><td><div><a class='asubraya' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;' href='javascript: ventanaSecundariaPanoramas(" + '"' + "recorridos-virtuales/FullScreen.jsp?poi_idr=" + POI_IDR + "&FotoIdr=" + foto_panorama_idr +  '"' + ")' >" + nombre + "</a> </div></td></tr>";
                          //myHtml = myHtml + "<tr><td width='250px'><div align='left' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;'>PANORAMA:</div></td><td><div  align='left' style='background-color:rgb(242,131,30);color:rgb(255,255,255);font-size:10pt;'>" +  nombre + "</div></td></tr>";
                         myHtml = myHtml + "<tr><td align='right'><br/><a class='asubraya' style='background-color:rgb(0,120,200);color:rgb(255,255,255);' href='javascript: ventanaSecundariaPanoramas(" + '"' + "http://www.estoyenelmapa.com?id=" + POI_IDR + '"' + ")'>Ver Detalles</a></td></tr>";
                         myHtml = myHtml + "</table>";
                     mapTours.openInfoWindowHtml(latlng, myHtml);
                      });
                      return marker ;
                }

                        mapTours.setCenter(new GLatLng(latObj.childNodes[0].nodeValue, lngObj.childNodes[0].nodeValue), 4);

                        // Agrega "N" marcadores(TOURS) dentro del mapa
                        var latlng = new GLatLng(latObj.childNodes[0].nodeValue,lngObj.childNodes[0].nodeValue);
                        mapTours.addOverlay(createMarker(latlng, NombreObj.childNodes[0].nodeValue,RutaObj.childNodes[0].nodeValue,fotoObj.childNodes[0].nodeValue,POI_IDR.childNodes[0].nodeValue,ruta_mini.childNodes[0].nodeValue));  //llama funcion createMarker
                      }
                   }
               }
           }
        }
//============================================================================================================================== 


            function ventanaSecundariaTours(URL){
               window.open(URL ,"Tours","width=800,height=450,scrollbars=Yes,titlebar=yes,menubar=yes,toolbar=yes,directories=yes,location=YES,status=NO,resizable=NO")
            }



    //Carga Seccion del Tour a visualizar
    function SeccionesTourListener(){
		if (req.readyState == 4) {
			if (req.status == 200) {

                    var indexObj = req.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var strHTML="<BR><B style='color:rgb(50,50,50);'>&nbsp;TABLA DE CONTENIDO:</B><HR><ul>";

                    for (var i = 0;i<rows;i++){
                        var rowObj = req.responseXML.getElementsByTagName("ROW")[i];
                        var idrObj = rowObj.getElementsByTagName("seccion_idr")[0];
                        var nombreObj = rowObj.getElementsByTagName("seccion_nombre")[0];

                        strHTML = strHTML + "<li><a class='asubraya' id='ahref" + idrObj.childNodes[0].nodeValue + "' style='color:rgb(0,0,0);' href='javascript: VerSubSecciones(" + idrObj.childNodes[0].nodeValue + ",\"" + replaceAll(nombreObj.childNodes[0].nodeValue,"\"","'") + "\")'>" + nombreObj.childNodes[0].nodeValue + "</a><span id='spanSeccion" + idrObj.childNodes[0].nodeValue + "'></span></li>";
                    }
                    strHTML = strHTML + "</ul>";
                    var divArbol = document.getElementById("divArbol");
                    divArbol.innerHTML = strHTML;
            }
        }
    }

   //Reemplaza comillas dobles
   function replaceAll( text, busca, reemplaza ){
       return text.replace(/[""]/gi,"")
   }

    //Arma SubSecciones apartir de que el nodo superior cuente con mas subsecciones
    function SubSeccionesTourListener(){
		if (req2.readyState == 4) {
			if (req2.status == 200) {

                    var indexObj = req2.responseXML.getElementsByTagName("TOTAL")[0];
                    var dataObj = req2.responseXML.getElementsByTagName("DATA")[0];
                    var rows = RegresaAtributo(indexObj,0);

                    //Arma estructura del árbol cachando los valores de cada campo
                    var strHTML="<ul>";
                    for (var i = 0;i<rows;i++){
                        var rowObj = req2.responseXML.getElementsByTagName("ROW")[i];
                        var idrObj = rowObj.getElementsByTagName("seccion_idr")[0];
                        var nombreObj = rowObj.getElementsByTagName("seccion_nombre")[0];

                        //Valida que alguno de los nodos hijo sea igual a Fotos
                        //And = &&  y Or = ||
                        if (nombreObj.childNodes[0].nodeValue == "Fotos" || nombreObj.childNodes[0].nodeValue == "Videos" || nombreObj.childNodes[0].nodeValue == "Audio"){
                         IDSeccion = dataObj.childNodes[0].nodeValue;
                         //Consulta la seccion_idr_parent para obtener la seccion_idr
                         FillSeccion(IDSeccion);
                        } else {
                                //alert(idrObj.childNodes[0].nodeValue + " " + nombreObj.childNodes[0].nodeValue);
                                strHTML = strHTML + "<li><a class='asubraya' id='ahref" + idrObj.childNodes[0].nodeValue + "' style='color:rgb(0,0,0);' href='javascript: VerSubSecciones(" + idrObj.childNodes[0].nodeValue + ",\"" + replaceAll(nombreObj.childNodes[0].nodeValue,"\"","'") + "\")'>" + nombreObj.childNodes[0].nodeValue + "</a><span id='spanSeccion" + idrObj.childNodes[0].nodeValue + "'></span></li>";

                        }
                    }

                        strHTML = strHTML + "</ul>";

                        if (rows==0){
                            strHTML = "";
                        }
                        //ME INDICA EL ID DE LA SECCION SELECCIONADA  dataObj.childNodes[0].nodeValue
                        FillDatos(dataObj.childNodes[0].nodeValue);
                        IDSeccion=dataObj.childNodes[0].nodeValue;

                        var spanSeccion = document.getElementById("spanSeccion" + dataObj.childNodes[0].nodeValue);
                        
                        try { spanSeccion.innerHTML = strHTML; } catch(e){}
            }
        }
    }

    //Arma Contenido de la sección
    function ContenidoTourListener(){
        if (req3.readyState == 4) {
			if (req3.status == 200) {

                        var strHTML;
                        var rowObj = req3.responseXML.getElementsByTagName("ROW")[0];
                        var nombreObj = rowObj.getElementsByTagName("contenido")[0];
                        var siguienteObj1 = rowObj.getElementsByTagName("seccion_siguiente")[0];
                        var anteriorObj1 = rowObj.getElementsByTagName("seccion_anterior")[0];
                        var siguienteObjNombre = rowObj.getElementsByTagName("seccion_siguiente_nombre")[0];
                        var anteriorObjNombre = rowObj.getElementsByTagName("seccion_anterior_nombre")[0];
                        var btnSiguiente = document.getElementById("btnSiguiente");

                        //Realiza validaciones para mostrar botones de avance y retroceso
                        if (siguienteObj1.childNodes[0].nodeValue != "null"){
                            btnSiguiente.style.visibility="visible";
                            strSiguiente = siguienteObj1.childNodes[0].nodeValue;
                            strSiguienteNombre = siguienteObjNombre.childNodes[0].nodeValue;
                        } else {

                            strSiguiente = "";
                        }

                        var btnAnterior = document.getElementById("btnAnterior");
                        if (anteriorObj1.childNodes[0].nodeValue != "null"){
                            btnAnterior.style.visibility="visible";
                            strAnterior = anteriorObj1.childNodes[0].nodeValue;
                            strAnteriorNombre = anteriorObjNombre.childNodes[0].nodeValue;
                        } else {
                            strAnterior = "";
                        }


                    if (nombreObj.childNodes[0].nodeValue != ""){
                                strHTML =  nombreObj.childNodes[0].nodeValue;
                            //Muestra contenido de la seccion
                            var Contenido = document.getElementById("divContenido");

                            strHTML = ReemplazaSecciones(strHTML);
                            strHTML = MuestraTour(strHTML);
                            strHTML = MuestraImagen(strHTML);
                            strHTML = ReemplazaPOI(strHTML);
                            Contenido.innerHTML = strHTML;

                    }else{  //No mostrara nada
                            Contenido = document.getElementById("divContenido");
                            Contenido.innerHTML = "";
                    }
                }
         }
   }


function ReemplazaSecciones(sH){

    var sHRegresa=sH;
    var strAntes="";
    var strHRef="";
    var strDespues="";
    var intIndice=-1;

    if (sHRegresa.indexOf("http://www.estoyenelmapa.com/sec?id=")>0){
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/sec?id=");
    }
     if (sHRegresa.indexOf("http://www.estoyenelmapa.com/sec/?id=")>0) {
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/sec/?id=");
    }

    while (intIndice>=0)
    {
        strAntes = sHRegresa.substring(0,intIndice);
        strDespues = sHRegresa.substring(intIndice);

        var intIndiceComilla = strDespues.indexOf("'");
        strHRef = strDespues.substring(0,intIndiceComilla);
        strDespues = strDespues.substring(intIndiceComilla);

        var intIndiceMayorQue = strDespues.indexOf(">") + 1 ;
        var intIndiceMenorQue = strDespues.indexOf("<");
        var strNombre = strDespues.substring(intIndiceMayorQue,intIndiceMenorQue);

        var intIndiceIgual= strHRef.indexOf("=")+1;
        var intIndiceAmphersand= strHRef.indexOf("&");
        var strSeccion = strHRef.substring(intIndiceIgual,intIndiceAmphersand);

        strHRef = 'javascript: VerSubSecciones(' + strSeccion + ',"' + replaceAll(strNombre,"\"","") + '")';

        sHRegresa = strAntes + strHRef + strDespues;
        intIndice = -1;
         if (sHRegresa.indexOf("http://www.estoyenelmapa.com/sec?id=")>0){
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/sec?id=");
        }
         if (sHRegresa.indexOf("http://www.estoyenelmapa.com/sec/?id=")>0) {
            intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/sec/?id=");
        }
    }
    return sHRegresa;
}


function MuestraTour(tH){
    var sHRegresa=tH;
    var strAntes="";
    var strHRef="";
    var strDespues="";
    var intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/tours?id=");
    while (intIndice>=0)
    {
        strAntes = sHRegresa.substring(0,intIndice);
        strDespues = sHRegresa.substring(intIndice);

        var intIndiceComilla = strDespues.indexOf("'");
        strHRef = strDespues.substring(0,intIndiceComilla);
        strDespues = strDespues.substring(intIndiceComilla);

        var intIndiceIgual= strHRef.indexOf("=")+1;
        TourIDR = strHRef.substring(intIndiceIgual);

           strHRef= 'javascript: AbreTour('+ '"' + "http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/TourDetalle.jsp?Tourid=" +  TourIDR + '")';

        sHRegresa = strAntes + strHRef + strDespues;
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/tours?id=");
    }
    return sHRegresa;
}


function ReemplazaPOI(pH){
    var sHRegresa=pH;
    var strAntes="";
    var strHRef="";
    var strDespues="";
    var intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/?id=");
    while (intIndice>=0)
    {
        strAntes = sHRegresa.substring(0,intIndice);
        strDespues = sHRegresa.substring(intIndice);

        var intIndiceComilla = strDespues.indexOf("'");
        strHRef = strDespues.substring(0,intIndiceComilla);
        strDespues = strDespues.substring(intIndiceComilla);

        var POI_IDR="";
        var intIndiceIgual= strHRef.indexOf("=")+1;
        POI_IDR = strHRef.substring(intIndiceIgual);

           strHRef= 'javascript: AbrePOI('+ '"' + "http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/MapaPOIs.jsp?POI=" +  POI_IDR + '")';

        sHRegresa = strAntes + strHRef + strDespues;
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/?id=");
    }
    return sHRegresa;
}



function MuestraImagen(iH){
    var sHRegresa=iH;
    var strAntes="";
    var strHRef="";
    var strDespues="";
    var intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/tours/fotos/");

    while (intIndice>=0)
    {
        strAntes = sHRegresa.substring(0,intIndice);
        strDespues = sHRegresa.substring(intIndice);

        var intIndiceComilla = strDespues.indexOf("'");
        strHRef = strDespues.substring(0,intIndiceComilla);
        strDespues = strDespues.substring(intIndiceComilla);

        var intIndiceImagen= strHRef.indexOf("fotos/")+6;
        var strImagen = strHRef.substring(intIndiceImagen) ;

        strHRef= 'javascript: ventanaSecundariaImagen("'+ strImagen + '")';

        sHRegresa = strAntes + strHRef + strDespues;
        intIndice=sHRegresa.indexOf("http://www.estoyenelmapa.com/tours/fotos/");
    }
    return sHRegresa;
}


            function ventanaSecundaria (URL){
               window.open(URL ,"Images","width=800,height=450,scrollbars=NO")
            }

            function ventanaSecundariaImagen (URL){
               window.open("http://www.estoyenelmapa.com/tours/fotos/" + URL ,"Images","width=800,height=450,scrollbars=NO")
            }

            function AbreTour(URL){
               window.open(URL ,"Tours","width=800,height=450,scrollbars=YES")
            }

            function AbrePOI(URL)
            {
               window.open(URL ,"POI","width=800,height=450,scrollbars=YES")
            }

       

            //Obtiene el ID de la seccion
            function SeccionTourListener(){
                if (req5.readyState == 4) {
                if (req5.status == 200) {

                var rowObj = req5.responseXML.getElementsByTagName("ROW")[0];
                var IDObj = rowObj.getElementsByTagName("seccion_idr")[0];

            IDSeccion = (IDObj.childNodes[0].nodeValue);
            FillTripticos(IDSeccion);
            }
         }
      }

                        //Obtiene cordenadas para ubicación en MAPA
	                function TraeCordenadasListener(){
	                    if (req9.readyState == 4) {
	                    if (req9.status == 200) {
	    
	                    var rowObj = req9.responseXML.getElementsByTagName("ROW")[0];
	                    //Validación si no regresa filas busca en otro campo de la tabla
	                    //para obtener datos
	                if (req9.responseXML.getElementsByTagName("ROW")[0] == null) {
	                    FillCordenadas2(poi);
	                }else{
	                    var YObj = rowObj.getElementsByTagName("neg_b")[0];
	                    var XObj = rowObj.getElementsByTagName("neg_a")[0];
	                    var NomObj = rowObj.getElementsByTagName("neg_nom_com")[0];
	                    var PaisObj = rowObj.getElementsByTagName("neg_pai_des")[0];
	                    var EdoObj = rowObj.getElementsByTagName("neg_est_des")[0];
	                    var DelObj = rowObj.getElementsByTagName("neg_del_des")[0];
	                    var ColObj = rowObj.getElementsByTagName("neg_col_des")[0];
	    
	                    FillCargaMapa('-' + atox(YObj.childNodes[0].nodeValue),atox(XObj.childNodes[0].nodeValue),NomObj.childNodes[0].nodeValue,PaisObj.childNodes[0].nodeValue,EdoObj.childNodes[0].nodeValue,DelObj.childNodes[0].nodeValue,ColObj.childNodes[0].nodeValue);
	                   }
	                }
	             }
	          }
	    
	    
	            //Obtiene cordenadas para ubicación en MAPA
	                function TraeCordenadas2Listener(){
	                    if (req50.readyState == 4) {
	                    if (req50.status == 200) {
	    
	                    var rowObj = req50.responseXML.getElementsByTagName("ROW")[0];
	                    
	    
	                    var YObj = rowObj.getElementsByTagName("neg_b")[0];
	                    var XObj = rowObj.getElementsByTagName("neg_a")[0];
	                    var NomObj = rowObj.getElementsByTagName("neg_nom_com")[0];
	                    var PaisObj = rowObj.getElementsByTagName("neg_pai_des")[0];
	                    var EdoObj = rowObj.getElementsByTagName("neg_est_des")[0];
	                    var DelObj = rowObj.getElementsByTagName("neg_del_des")[0];
	                    var ColObj = rowObj.getElementsByTagName("neg_col_des")[0];
	    
	                    FillCargaMapa('-' + atox(YObj.childNodes[0].nodeValue),atox(XObj.childNodes[0].nodeValue),NomObj.childNodes[0].nodeValue,PaisObj.childNodes[0].nodeValue,EdoObj.childNodes[0].nodeValue,DelObj.childNodes[0].nodeValue,ColObj.childNodes[0].nodeValue);
	    
	                }
	             }
	          }
	          
	    
function atox(a){var temp = reverse(a);var dec = parseInt(temp.charAt(0));var temp1 = temp.substring(1,dec+1);temp1 = temp1 + '.' + temp.substring(dec+1,temp.length -1);return temp1;}//atox




            //Obtiene cordenadas varias de POIS para ubicación en MAPA 
            function TraeCordenadasPOISListener(){
                if (req10.readyState == 4) {
                if (req10.status == 200) {

                    var indexObj = req10.responseXML.getElementsByTagName("TOTAL")[0];
                    //var dataObj = req10.responseXML.getElementsByTagName("DATA")[0];
                    var rows = RegresaAtributo(indexObj,0);

                //Validación si no regresa filas busca en otro campo de la tabla
                //para obtener datos
                var rowObj="";
                var YObj ="";
                var XObj ="";
             for (var i = 0;i<rows;i++){
                rowObj = req10.responseXML.getElementsByTagName("ROW")[i];
                YObj = rowObj.getElementsByTagName("neg_y")[0];
                XObj = rowObj.getElementsByTagName("neg_x")[0];

                FillCargaMapaPOIS(YObj.childNodes[0].nodeValue,XObj.childNodes[0].nodeValue,i);
            }
        }
    }
 }



    //Muestra tripticos del tour (fotos,videos y audio)
    function TripticoTourListener(){
        if (req4.readyState == 4) {
			if (req4.status == 200) {

                    var indexObj = req4.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);

                    //Arma estructura del árbol cachando los valores de cada campo
                    var strHTML="<table border=0><tr>";

                    for (var i = 0;i<rows;i++){

                        var rowObj = req4.responseXML.getElementsByTagName("ROW")[i];
                        var nombreObj = rowObj.getElementsByTagName("trip_ruta")[0];
                        var TipoTripobj =rowObj.getElementsByTagName("trip_tipo")[0];

                        if (TipoTripobj.childNodes[0].nodeValue == "FOTO"){
                            strHTML = strHTML + "<td><IMG SRC='" + "../../../../" + nombreObj.childNodes[0].nodeValue + "' width='130' HEIGHT='130' ></td>";
                        }else if (TipoTripobj.childNodes[0].nodeValue == "VIDEO"){
                            strHTML = strHTML + "<td><embed src='" + "../../../../" + nombreObj.childNodes[0].nodeValue + "' autostart='true' loop='true' width='130' HEIGHT='130' ></embed></td>";
                        }else if (TipoTripobj.childNodes[0].nodeValue == "AUDIO"){
                            strHTML = strHTML + "<td><embed src='" + "../../../../" + nombreObj.childNodes[0].nodeValue + "' width='130' HEIGHT='130' ></embed></td>";
                        } else {
                            strHTML = strHTML + "<td>" + TipoTripobj.childNodes[0].nodeValue + "</td></tr>";
                        }
                  }
                     strHTML = strHTML + "</tr></table>";

                     if (rows==0){
                         strHTML="";
                     }

                     var divTripticos = document.getElementById("divTripticos");
                     divTripticos.innerHTML = strHTML;
                     if (rows>0){
                         divTripticos.style.height="150px";
                         var divContenido = document.getElementById("divContenido");
                         divContenido.style.height="181px";

                     }

            }
        }
    }

        function BusquedasListener(){
            if (req8.readyState == 4) {
			if (req8.status == 200) {

                    var rowObj ;
                    var touridrObj ;
                    var secidrObj ;
                    var nombreObj ;
                    var contenidoObj ;
                    var tourNombreObj;
                    var indexObj;
                    var rows;

                    indexObj = req8.responseXML.getElementsByTagName("TOTAL")[0];
                    rows = RegresaAtributo(indexObj,0);

                    //Arma estructura del árbol cachando los valores de cada campo
                    var strHTML="<TABLE style='border:1px solid rgb(150,150,150); color:rgb(80,80,80);'>";
                    for (var i = 0;i<rows;i++){
                        rowObj = req8.responseXML.getElementsByTagName("ROW")[i];
                        touridrObj = rowObj.getElementsByTagName("tour_idr")[0];
                        //tourNombreObj = rowObj.getElementsByTagName("tour_nombre")[0];
                        secidrObj = rowObj.getElementsByTagName("seccion_idr")[0];
                        nombreObj = rowObj.getElementsByTagName("seccion_nombre")[0];
                        contenidoObj = rowObj.getElementsByTagName("contenido")[0];

                                strHTML = strHTML + "<TR><TD style='background-color:rgb(230,230,230);color:rgb(95,158,160)'>Resultado " + (i+1) + ". <a style='color:rgb(95,158,160);font-size:9pt' href=http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/TourDetalle.jsp?Tourid=" + touridrObj.childNodes[0].nodeValue + "&Seccionid=" + secidrObj.childNodes[0].nodeValue + "&SeccionNombre=" + nombreObj.childNodes[0].nodeValue + " >" + nombreObj.childNodes[0].nodeValue + " / " + nombreObj.childNodes[0].nodeValue + "</a></TD></TR>";

                                if (contenidoObj.childNodes[0].nodeValue==""){
                                strHTML = strHTML + "<TR><TD><a style='font-size:9pt' href=http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/TourDetalle.jsp?Tourid=" + touridrObj.childNodes[0].nodeValue + "&Seccionid=" + secidrObj.childNodes[0].nodeValue + "&SeccionNombre=" + nombreObj.childNodes[0].nodeValue +" >" + nombreObj.childNodes[0].nodeValue + "</a></TD></TR>";
                                }
                                if (contenidoObj.childNodes[0].nodeValue!="") {
                                strHTML = strHTML + "<TR><TD>" + contenidoObj.childNodes[0].nodeValue + "...</TD></TR>";
                                }
                        }
                    }
                        strHTML = strHTML + "</TABLE>";
            }
                        divResultados = document.getElementById("divResultados");
                        divResultados.innerHTML = strHTML;
        }


                //Funciones que avanzan o regresan la posicion de las secciones
                function Event_Siguiente()
                {
                    VerSubSecciones(strSiguiente,strSiguienteNombre);
                }
                function Event_Atras()
                {
                    VerSubSecciones(strAnterior,strAnteriorNombre);
                }

                function Busquedas(txt)
                {
                    if (txt!=""){
                    window.open("http://www.estoyenelmapa.com/secciones/encuentra/tours/guias-turisticas/ResultadosBusqueda.jsp?Busca=" + txt ,"Images","width=800,height=450,scrollbars=Yes,titlebar=yes,menubar=yes,toolbar=yes,directories=yes,location=YES,status=NO,resizable=NO")
                    //FillBusquedaResultados(txt)
                    }else{
                        alert("Proporcione alguna palabra para realizar su busqueda...  Intente de Nuevo")
                    }
                }

                function Mayus(obj)
                { obj.value = obj.value.toUpperCase();
                  return true;
                }


//=================================================================================
//ARREGLO DE CHECKBOX
//Trae Categorias mostrandolas en forma de checkbox
function CategoriasTourListener(){
		if (req6.readyState == 4) {
			if (req6.status == 200) {

                    var indexObj = req6.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var strHTML="<table border='0' ><tr><td  width='250'>";

                    for (var i = 0;i<rows;i++){
                        var rowObj = req6.responseXML.getElementsByTagName("ROW")[i];
                        var idrObj = rowObj.getElementsByTagName("cat_idr")[0];
                        var nombreObj = rowObj.getElementsByTagName("cat_des")[0];
                          
                          strHTML = strHTML + "<input align='left' type='checkbox' id='chkCategoria" + idrObj.childNodes[0].nodeValue + "' onclick='CambioCategoria(" + idrObj.childNodes[0].nodeValue + ")' name='Categorias'" + idrObj.childNodes[0].nodeValue + " value='" + idrObj.childNodes[0].nodeValue + "' checked><a class='asubraya' 'style='color:rgb(255,255,255);' id='CheckCategorias" + idrObj.childNodes[0].nodeValue + "' href='javascript: VerSubCategorias(" + idrObj.childNodes[0].nodeValue + ",\"" + replaceAll(nombreObj.childNodes[0].nodeValue,"\"","'") + "\")'> " + nombreObj.childNodes[0].nodeValue  + "</a><br/>";

                          var cat = new Categoria();
                          cat.CatId=idrObj.childNodes[0].nodeValue;
                          cat.Nombre=nombreObj.childNodes[0].nodeValue;
                          cat.Seleccionada=false;
                          cat.SubCategoriasCargadas=false;
                          //cat.SubCategorias = new Array();
                          categorias.push(cat);
                                          }
                    strHTML = strHTML + "</td></tr></table>";
                    var divCatBusquedas = document.getElementById("divCatBusquedas");
                    divCatBusquedas.innerHTML = strHTML;
                    
                    for (var i = 0;i<rows;i++){
                          var rowObj = req6.responseXML.getElementsByTagName("ROW")[i];
                          var idrObj = rowObj.getElementsByTagName("cat_idr")[0];
                          CambioCategoria(idrObj.childNodes[0].nodeValue);
                    }
            
                    ActualizaMapa();
            }
        }
    }

function ActualizaMapa(){

    var intTotalSelecc=0;
      for (var i = 0;i<categorias.length;i++){
        if (categorias[i].Seleccionada){
          if (categorias[i].SubCategoriasCargadas){
            for (var j = 0;j<categorias[i].SubCategorias.length;j++){
                if (categorias[i].SubCategorias[j].Seleccionada){
                  intTotalSelecc++;
                }
            }
          } else {
            intTotalSelecc++;
          }
        }
      }
    if (intTotalSelecc>0){

        hidTour = document.getElementById("hidTour");
        var ListaRelevancia = document.getElementById("ListaRelevancia");

      reqPOISMapa = init();
      reqPOISMapa.onreadystatechange = ActualizaMapaListener;

      var strRequest = "MapaTour=" + ListaRelevancia.value + "@@@" + mapTourDetalle.getCenter().lat() + "@@@" + mapTourDetalle.getCenter().lng() + "@@@" + hidTour.value + "@@@";
          var intPrimera=true;
          
      for (var i = 0;i<categorias.length;i++){
        if (categorias[i].Seleccionada){
          if (categorias[i].SubCategoriasCargadas){
            for (var j = 0;j<categorias[i].SubCategorias.length;j++){
                if (categorias[i].SubCategorias[j].Seleccionada){
                    if (intPrimera){
                        intPrimera=false;
                        strRequest = strRequest + categorias[i].CatId + "-" + categorias[i].SubCategorias[j].SubId;                      
                    } else {
                        strRequest = strRequest + "/" + categorias[i].CatId + "-" + categorias[i].SubCategorias[j].SubId;
                    }
                }
            }
          } else {
                    if (intPrimera){
                        intPrimera=false;
                         strRequest = strRequest + categorias[i].CatId + "-*";
                    } else {
                         strRequest = strRequest + "/" + categorias[i].CatId + "-*";
                    }
          }
            
        }        
      }
      reqPOISMapa.send(strRequest);
    } else {
            mapTourDetalle.clearOverlays();
    }
}//ActualizaMapa

function ActualizaMapaListener(){
		if (reqPOISMapa.readyState == 4) {
			if (reqPOISMapa.status == 200) {
                            mapTourDetalle.clearOverlays();

                            var indexObj = reqPOISMapa.responseXML.getElementsByTagName("TOTAL")[0];
                            var rows = RegresaAtributo(indexObj,0);
                            
                            for (var i = 0;i<rows;i++){
                              var rowObj = reqPOISMapa.responseXML.getElementsByTagName("ROW")[i];
                              var neg_idr = rowObj.getElementsByTagName("neg_idr")[0];
                              var neg_x = rowObj.getElementsByTagName("neg_x")[0];
                              var neg_y = rowObj.getElementsByTagName("neg_y")[0];
                              var neg_nom_com = rowObj.getElementsByTagName("neg_nom_com")[0];
                              var cat_ico = rowObj.getElementsByTagName("cat_ico")[0];
                              var introduccion = rowObj.getElementsByTagName("introduccion")[0];
                              var relevancia = rowObj.getElementsByTagName("relevancia")[0];
                              var point = new GLatLng(neg_x.childNodes[0].nodeValue,neg_y.childNodes[0].nodeValue);

                              var icow;
                              var icoh;
                              if (relevancia.childNodes[0].nodeValue==0){
                                  icow = 14;
                              } else if (relevancia.childNodes[0].nodeValue==1){
                                  icow = 18;
                              } else if (relevancia.childNodes[0].nodeValue==2){
                                  icow = 24;
                              } else if (relevancia.childNodes[0].nodeValue==3){
                                  icow = 28;
                              } else if (relevancia.childNodes[0].nodeValue==4){
                                  icow = 32;
                              } else if (relevancia.childNodes[0].nodeValue==5){
                                  icow = 36;
                              } else {
                                  icow = 18;
                              }
                              icoh = icow;
                              var poiMarker = createMarkerTourDetalle(point, cat_ico.childNodes[0].nodeValue, neg_nom_com.childNodes[0].nodeValue, neg_idr.childNodes[0].nodeValue, icow,icoh, introduccion.childNodes[0].nodeValue);
                              mapTourDetalle.addOverlay(poiMarker);

                
                
                            }
            
            
                        }
                }    
}


function createMarkerTourDetalle(point, icono, titulo, neg_idr, iconw, iconh,introduccion) {
    
	var marker;
	if (icono==""){
              marker = new GMarker(point, {title: titulo});
	}
	else {
		
		var icon1 = new GIcon();
		icon1.image = '../../../../' + icono;
        
                var iconw1;
                var iconh1;
        
                if ((iconw=="null") || (iconh=="null")){
                    iconw1=20;
                    iconh1=20;
                } else {
                    iconw1 = iconw;
                    iconh1 = iconh;                    
                }      
        
		//icon1.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		//icon1.iconSize = new GSize(24, 24);
		//icon1.shadowSize = new GSize(40, 40);
		icon1.iconAnchor = new GPoint(iconw1/2, iconh1/2);
		icon1.iconSize = new GSize(iconw1, iconh1);
		icon1.infoWindowAnchor = new GPoint(5, 0);

                marker = new GMarker(point, {icon: icon1, title: titulo});
	
        }
        
        GEvent.addListener(marker, "click", function() {
                var sH = "<span style='font-size:8pt;'><b>" + titulo + "</b><hr><a href='http://www.estoyenelmapa.com/?id=" + neg_idr + "'>Ver M&aacute;s</a></span>"
                marker.openInfoWindowHtml(sH);
        });
	return marker;
}//createMarkerTourDetalle


//Trae SubCategorias
 function SubCatTourListener(){
		if (req7.readyState == 4) {
			if (req7.status == 200) {

                    var indexObj = req7.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var dataObj = req7.responseXML.getElementsByTagName("DATA")[0];
                    var catBuscada = dataObj.childNodes[0].nodeValue;

                    for (var i = 0;i<rows;i++){
                        var rowObj = req7.responseXML.getElementsByTagName("ROW")[i];
                        var catidrObj = rowObj.getElementsByTagName("cat_idr")[0];
                        var idrObj = rowObj.getElementsByTagName("sub_idr")[0];
                        var nombreObj = rowObj.getElementsByTagName("sub_des")[0];

                        var catSeleccionada = categorias[RegresaCategoria(catidrObj.childNodes[0].nodeValue)];
                        if (catSeleccionada.SubCategoriasCargadas==false){

                              var subCat = new SubCategoria();
                              subCat.CatId=catidrObj.childNodes[0].nodeValue;
                              subCat.SubId=idrObj.childNodes[0].nodeValue;
                              subCat.Nombre=nombreObj.childNodes[0].nodeValue;
                              subCat.Seleccionada=catSeleccionada.Seleccionada;

                              catSeleccionada.SubCategorias.push(subCat);
                        }

                        }
                        catSeleccionada.SubCategoriasCargadas=true;
                        PintaSubCategorias(catBuscada);
            }
        }
    }

//================================================================================

      //TRAE POI'S DESEADOS EN VENTANA SECUNDARIA
        function FillCargaMapa(Y,X,Nom,Pais,Edo,Del,Col){
      //Variable que servira para mostrar un apequeña
      //descripción del punto de Interes
      var message = [Nom];
      var strHTML="";
      //Carga el Mapa en la ubicación deseada apartir de las cordenadas
      //proporcionadas
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("divMapaPOIS"));
        map.setCenter(new GLatLng(X, Y), 13);
        strHTML=strHTML + "<TABLE border='0'>";
        strHTML=strHTML + "<TR><TD align=left style='color:rgb(204,102,0);font-size:14pt;'>Domicilio:</TD></TR>";
        strHTML=strHTML + "<TR><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>PAIS:</TD><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>" + Pais + "</TD></TR>";
        strHTML=strHTML + "<TR><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>CIUDAD:</TD><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>" + Edo + "</TD></TR>";
        strHTML=strHTML + "<TR><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>DELEGACION:</TD><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>" + Del + "</TD></TR>";
        strHTML=strHTML + "<TR><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>COLONIA:</TD><TD align=left style='color:rgb(50,50,50);font-size:8pt;'>" + Col + "</TD></TR></TABLE>";
        map.setUIToDefault();

        //Muestra ventana de detalle en el punto de Interes solicitado
        map.openInfoWindow(map.getCenter(), document.createTextNode(Nom));

          //Indica la posición
          function createMarker(latlng, number)
    {
          var marker = new GMarker(latlng);
              GEvent.addListener(marker,"click", function() {
          var myHtml =  message[number -1];
              map.openInfoWindowHtml(latlng, myHtml);
          });
          return marker;
	}

    // Agrega "N" marcadores(POIS) dentro del mapa dentro de un ciclo FOR
        for (var i = 0; i < 1; i++)
        {
            var latlng = new GLatLng(X,Y);
            map.addOverlay(createMarker(latlng, 1));  //llama funcion createMarker
        }
    }
                    var divDatosPOI = document.getElementById("divDatosPOI");
                    divDatosPOI.innerHTML = strHTML;
}

//=================================================================================
        //Carga pois por lotes
        function FillCargaMapaPOIS(Y,X,num){

      //Carga el Mapa en la ubicación deseada apartir de las cordenadas
      //proporcionadas
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("divMapa"));
        map.setCenter(new GLatLng(X, Y), 13);
        map.setUIToDefault();


          //Indica la posición
          function createMarker(latlng, number)
    {
          var marker = new GMarker(latlng);
              marker.value = number;
              GEvent.addListener(marker,"click", function() {
              var myHtml = "<b>#" + number + "</b><br/>" + message[number -1];
              map.openInfoWindowHtml(latlng, myHtml);
          });
          return marker;
	}

    // Agrega "N" marcadores(POIS) dentro del mapa dentro de un ciclo FOR
        for (var i = 0; i < num; i++)
        {
            var latlng = new GLatLng(X,Y);
            map.addOverlay(createMarker(latlng, num));  //llama funcion createMarker
        }
    }

}


//=================================================================================

            //Controla los checkbox seleccionados de la seccion Categorias
            function CambioCategoria(idCategoria){
                var chkSeleccionado = document.getElementById("chkCategoria" + idCategoria);

                var catSeleccionada = categorias[RegresaCategoria(idCategoria)];
                catSeleccionada.Seleccionada = chkSeleccionado.checked;

                for (var i = 0;i<catSeleccionada.SubCategorias.length;i++){
                    var subCat = catSeleccionada.SubCategorias[i];

                    subCat.Seleccionada=catSeleccionada.Seleccionada;
                }

                if (globalCategoria==idCategoria){
                     if(categ == ""){
                         categ = categ  + idCategoria;
                     }else{categ = categ  + "," + idCategoria;}
                     PintaSubCategorias(idCategoria);
                }
                ActualizaMapa();
            }

            //Controla los checkbox seleccionados de la seccion SubCategorias al evento click
            function CambioOpcionSubCat(idCat, idSub){
                var catSeleccionada = categorias[RegresaCategoria(idCat)];
                var chkSeleccionado = document.getElementById("chkSubCategorias" + idCat + "_" + idSub);

                for (var i = 0;i<catSeleccionada.SubCategorias.length;i++){
                    var subCat = catSeleccionada.SubCategorias[i];
                    if (subCat.SubId==idSub){
                        subCat.Seleccionada=chkSeleccionado.checked;
                    }
                }
                ActualizaMapa();
            }




//============================================================================================
        //Llama función para carga de elementos en objeto combo (Panoramas)
        function CargaElements(){
        FillObjCbo()
        }

        //Carga elementos a objeto combo
        function CargaCboPanListener(){
        	if (req11.readyState == 4) {
			if (req11.status == 200) {


                    var indexObj = req11.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    //var dataObj = req11.responseXML.getElementsByTagName("DATA")[0];
                    //var catBuscada = dataObj.childNodes[0].nodeValue;

                    var strHTML ="<TABLE border='0' align='left'>";
                    strHTML = strHTML + "<TR>";
                    strHTML = strHTML + "<TD align=left style='color:rgb(50,50,50);font-size:10pt;font-weight:bold;'>FILTRAR POR TIPO : </TD>";
                    strHTML = strHTML + "<TD ><select  onchange='FillPanTipo(this.value)' style='color:black;font-size:10pt;' id='ListaTipos'>";
                    strHTML = strHTML + "<option  value=0 checked=true>TODOS</option>";
                    for (var i = 0;i<rows;i++){
                        var rowObj = req11.responseXML.getElementsByTagName("ROW")[i];
                        var pantipoidrObj = rowObj.getElementsByTagName("pantipo_idr")[0];
                        var pantipodesObj = rowObj.getElementsByTagName("pantipo_des")[0];

                         strHTML = strHTML + "<option value=" + pantipoidrObj.childNodes[0].nodeValue + " checked=true>" + pantipodesObj.childNodes[0].nodeValue + "</option>";

                        }
                        strHTML = strHTML + "</select></TD></TR></TABLE><br/><br/>";
                        var divCbo = document.getElementById("divCbo");
                            divCbo.innerHTML = strHTML;
                        FillPanoramas()
            }
        }
    }

            //Carga todas las imagenes de panoramas contenidas en la dbase
            function CargaPanListener(){
        	if (req12.readyState == 4) {
			if (req12.status == 200) {


                    var indexObj = req12.responseXML.getElementsByTagName("TOTAL")[0];
                    //var dataObj = req12.responseXML.getElementsByTagName("DATA")[0];
                    var rows = RegresaAtributo(indexObj,0);

                    var strHTML = "<TABLE border='0'>";
                        strHTML = strHTML + "<TR>";
                        var intColumna=1;
                    for (var i = 0;i<rows;i++){
                        var rowObj = req12.responseXML.getElementsByTagName("ROW")[i];
                        var NomObj = rowObj.getElementsByTagName("neg_nom_com")[0];
                        var DirObj = rowObj.getElementsByTagName("neg_dir")[0];
                        var POI_IDRObj = rowObj.getElementsByTagName("neg_idr")[0];
                        var fotoidrObj = rowObj.getElementsByTagName("foto_panorama_idr")[0];
                        var urlTopmainObj = rowObj.getElementsByTagName("url_recorrido_topmain")[0];

                           if (intColumna>3){
                                strHTML = strHTML + "</TR><TR>";
                               intColumna=1;
                           }
                         //strHTML = strHTML + "<TD align=center valign=top style='color:rgb(50,50,50);font-size:8pt;font-weight:bold;' width='300'><a style='color:rgb(50,50,50)' href='javascript: ventanaSecundariaPanoramas(" + '"' + "FullScreen.jsp?poi_idr=" + POI_IDRObj.childNodes[0].nodeValue + "&FotoIdr=" + fotoidrObj.childNodes[0].nodeValue +  '"' + ")' ><img src='" + "../../../../" +  urlTopmainObj.childNodes[0].nodeValue + "' width='200'HEIGHT='200' border=0><br>" + NomObj.childNodes[0].nodeValue + "</a><br/>" + DirObj.childNodes[0].nodeValue + "</TD>";
                         strHTML = strHTML + "<TD align=center valign=top style='color:rgb(50,50,50);font-size:8pt;font-weight:bold;' width='300'><a style='color:rgb(50,50,50)' href='javascript: ventanaSecundariaPanoramas(" + '"' + "FullScreen.jsp?poi_idr=" + POI_IDRObj.childNodes[0].nodeValue + "&FotoIdr=" + fotoidrObj.childNodes[0].nodeValue +  '"' + ")' >" + MarquitoFoto("<img src='" + "../../../../" +  urlTopmainObj.childNodes[0].nodeValue + "' width='200'HEIGHT='200' border=1>") + " <br>" + NomObj.childNodes[0].nodeValue + "</a><br/>" + DirObj.childNodes[0].nodeValue + "</TD>";
                         intColumna++;

                        }
                        strHTML = strHTML + "</TR></TABLE>";
                        var divPanoramas = document.getElementById("divPanoramas");
                            divPanoramas.innerHTML = strHTML;
            }
        }
    }

            //Carga imagenes de panoramas filtradas por tipo
            function CargaPanFillListener(){
            if (req13.readyState == 4) {
			if (req13.status == 200) {


                    var indexObj = req13.responseXML.getElementsByTagName("TOTAL")[0];
                    //var dataObj = req12.responseXML.getElementsByTagName("DATA")[0];
                    var rows = RegresaAtributo(indexObj,0);

                    var strHTML = "<TABLE border='0'>";
                        strHTML = strHTML + "<TR>";
                        var intColumna=1;
                    for (var i = 0;i<rows;i++){
                        var rowObj = req13.responseXML.getElementsByTagName("ROW")[i];
                        var NomObj = rowObj.getElementsByTagName("neg_nom_com")[0];
                        var DirObj = rowObj.getElementsByTagName("neg_dir")[0];
                        var POI_IDRObj = rowObj.getElementsByTagName("neg_idr")[0];
                        var fotoidrObj = rowObj.getElementsByTagName("foto_panorama_idr")[0];
                        var urlTopmainObj = rowObj.getElementsByTagName("url_recorrido_topmain")[0];

                           if (intColumna>3){
                                strHTML = strHTML + "</TR><TR>";
                               intColumna=1;
                           }
                         //strHTML = strHTML + "<TD align=center valign=top style='color:rgb(50,50,50);font-size:8pt;font-weight:bold;' width='300' ><a style='color:rgb(50,50,50)' href='javascript: ventanaSecundariaPanoramas(" + '"' + "FullScreen.jsp?poi_idr=" + POI_IDRObj.childNodes[0].nodeValue + "&FotoIdr=" + fotoidrObj.childNodes[0].nodeValue +  '"' + ")' ><img src='" + "../../../../" +  urlTopmainObj.childNodes[0].nodeValue + "' width='200'HEIGHT='200' border=0><br>" + NomObj.childNodes[0].nodeValue + "</a><br/>" + DirObj.childNodes[0].nodeValue + "</TD>";
                         strHTML = strHTML + "<TD align=center valign=top style='color:rgb(50,50,50);font-size:8pt;font-weight:bold;' width='300' ><a style='color:rgb(50,50,50)' href='javascript: ventanaSecundariaPanoramas(" + '"' + "FullScreen.jsp?poi_idr=" + POI_IDRObj.childNodes[0].nodeValue + "&FotoIdr=" + fotoidrObj.childNodes[0].nodeValue +  '"' + ")' >" + MarquitoFoto("<img src='" + "../../../../" +  urlTopmainObj.childNodes[0].nodeValue + "' width='200'HEIGHT='200' border=0>") + " <br>" + NomObj.childNodes[0].nodeValue + "</a><br/>" + DirObj.childNodes[0].nodeValue + "</TD>";
                         intColumna++;

                        }
                        strHTML = strHTML + "</TR></TABLE>";
                        var divPanoramas = document.getElementById("divPanoramas");
                            divPanoramas.innerHTML = strHTML;
            }
        }
            }


function MarquitoFoto(strTexto){
		var strMarco="";
                if (strTexto!=""){
                  strMarco = "<table bgcolor=white width='120px' cellspacing='0' cellpadding='1' style='border:1px solid rgb(150,150,150)' onmouseout ='this.style.border=\"1px solid rgb(150,150,150)\";' onmouseover ='this.style.border=\"2px solid rgb(255,150,9)\";'><tr><td valign=middle align=center><div style='top:0px; left:0px;'>" + strTexto;
                  strMarco = strMarco + "</div></td></tr></table>";
                }
		return strMarco;
	}//MarquitoFoto


            //Abre ventana secundaria (FullScreen Panoramas)
            function ventanaSecundariaPanoramas (URL){
                //var strHRef= URL;
                //var intIndiceIgual= URL.indexOf("=")+1;
                //var intIndiceComillasimple= strHRef.indexOf("'");
                //var strPOI = strHRef.substring(intIndiceIgual,intIndiceComillasimple);




               window.open(URL ,"Panoramas","width=800,height=450,scrollbars=NO")
            }

ie=false;
            function CerrarVentana(){
              if (ie){
                if (!window.opener){
                window.opener='';}
                self.close();
              }else{
                window.open('javascript:window.close();','_self','');
          }
    }

    


