var numero_peticiones = 0;


// Lista con todos los grupos a los que pertenecen las categorias selecionadas.
var GRUPOS_CATEGORIAS_SELECCIONADAS = "";

//Variable que indica si está visible el menú de categorías
var VISIBLE_CATEGORIAS = false;

//Variable que indicala ultima búsqueda  realizada
var ULTIMA_BUSQUEDA_REALIZADA = "";

/**
*
*/
function AddSelectIcon(categoria) {
    var currentDiv = document.getElementById("icono_" + categoria);
    if (currentDiv) {
        currentDiv.style.display = 'block';
    }
    else {
        var nuevaTabla = document.createElement("img");
        nuevaTabla.setAttribute("id", "icono_" + categoria);
        nuevaTabla.setAttribute("src", 'TurgaliciaGoogleMaps/images/' + categoria + '24.png');
        nuevaTabla.setAttribute("title", categoria);
        //nuevaTabla.setAttribute("style","position:relative;"); 	
        document.getElementById('iconosSeleccionados').appendChild(nuevaTabla);
        //nuevaTabla.innerHTML = '<img src="images/'+categoria+'24.png" />' +'<img src="images/'+categoria+'24.png" />';		
    }
}

/**
* 
*/
function DelSelectIcon(categoria) {
    var currentDiv = document.getElementById("icono_" + categoria);
    if (currentDiv) {
        currentDiv.style.display = 'none';
    }
}

/**
* Escribe los resultados de la búsqueda por localización 
*/
function escribirResultadosUbicacion(html_resultados) {
    document.getElementById('georesultados_txt').style.display = "none";
    document.getElementById('georesultados_dir').innerHTML = html_resultados.replace(/showAddressAux/g, 'verCategorias("cat_9");showAddressAux');
}

/**
* Escribe los resultados de la búsqueda por localización 
*/
function escribirResultadosServicios(response) {
     var datos = response.regiones;
     var num_cat = datos.length;
     var tipo;
     var total = 0;
     var markersServicios = [];
     var html = '<table cellpadding="0" cellspacing="0" style="width: 96%;"><tr>';
          
     var alternar = false;
     if (num_cat == 0) {
         document.getElementById('georesultados_rec').innerHTML = "";
         document.getElementById('georesultados_txt').innerHTML = TEXTO_BUSQUEDA_NO_ENCONTRADOS;
         document.getElementById('georesultados_txt').style.display = "block";
         document.getElementById('borrar_lista_puntos_iniciales').style.display = "none";
         return;
     }
     // Llamada al mapa, borra los puntos iniciales o seleccionados
     clearPuntosIniciales();                 
     for (i = 0; i < num_cat; i++) {
         var categoria = datos[i];
         if (categoria && categoria.puntos) {
             var num_puntos = categoria.puntos.length;
             tipo = categoria.nombre;
             total += num_puntos;
             
             for (z = 0; z < num_puntos; z++) {
                 var punto = categoria.puntos[z];
                 var nombre = punto.nombre;
                 if (nombre.length > 34)
                     nombre = nombre.substring(0, 34) + " ...";
                 var point = new GLatLng(punto.lat, punto.lng);
                 html += '<td width="23"  height="23" class="td_georesultados"><img src="TurgaliciaGoogleMaps/images/' + tipo + '.png"></td>';
                    html += '<td width="48%" class="td_georesultados">';
                    html += "<a href='javascript:verCategorias(" + '"cat_8"' + ");map.setCenter(new GLatLng(" + punto.lat + "," + punto.lng + "),17)' title='" + punto.nombre + "'>" + nombre + "</a></td>";
                    html += '</td>';
                    if (alternar) {
                        html += '</tr><tr>';
                        alternar = false;
                    }
                    else alternar = true;                    
                    var marker = createMarkerIcono(point, tipo, '', map.getZoom(), punto.nombre, punto.num, punto.id);
                    markersServicios.push(marker);
                    //map.addOverlay(marker);

                } // End for puntos
             
         } // end if puntos

     }
     if (total <= 1) html = html.replace("48%", "100%");
     // Llamada al mapa, añade los resultados                  
     addPuntosIniciales(markersServicios);
     html += '</tr></table>';         
     if (typeof document.body.style.maxHeight == "undefined") {

         if (total > 20) {
             //alert("A 400 px");
             document.getElementById('georesultados_rec').style.height = 400+'px';
         }
         else {
             //alert("Auto");
             document.getElementById('georesultados_rec').style.height = "auto";
         }
     }
     document.getElementById('georesultados_rec').innerHTML = html;
     document.getElementById('georesultados_txt').innerHTML = TEXTO_BUSQUEDA_ENCONTRADOS.replace(/%count/gi, total);
     document.getElementById('georesultados_txt').style.display = "block";
     document.getElementById('borrar_lista_puntos_iniciales').style.display = "block";
}

/**
* Realiza la búsqueda por localización
*/
function obtenerBusqueda(id_ubicacion, id_servicios) {
    //var radio_src = document.getElementById("geosearch_recurso");
    var tipo = document.getElementById("tipo_geobusqueda");
    var search = document.getElementById("geosearch").value;
    if (search == "") return false;    
    document.getElementById('georesultados_txt').style.display = "none";
    search = search.toLowerCase().replace('á', 'a').replace('é', 'e').replace('í', 'i').replace('ó', 'o').replace('ú', 'u').replace('ñ', '%F1');
    
    //if (radio_src && radio_src.checked) {
    if (tipo && tipo.value == 'recurso') {
        ULTIMA_BUSQUEDA_REALIZADA = search;
            document.getElementById('georesultados_dir').innerHTML = '';
            document.getElementById('georesultados_rec').innerHTML = '<div style="text-align:center;padding:5px;"><img src="TurgaliciaGoogleMaps/images/progress.gif"></div>';
            GDownloadUrl("TurgaliciaGoogleMaps/busquedas/buscar.aspx?search=" + search + "&language=" + TEXTO_IDIOMA, function(response, status) {
                if (response == null || status == -1) {
                    escribirResultadosServicios(response);
                } else {
                    var object = eval("(" + response + ")");
                    escribirResultadosServicios(object);
                }
            });
        

    }
    else {
        document.getElementById('georesultados_rec').innerHTML = '';
        document.getElementById('georesultados_dir').innerHTML = '<div style="text-align:center;padding:5px;"><img src="TurgaliciaGoogleMaps/images/progress.gif"></div>';    
        MostrarSugerencias(undefined, 'escribirResultadosUbicacion');
    }
    return false;
}

/**
* Muestra o esconde el menú de categorias que contiene un grupo o pestaña
*/
function verCategorias(grupo) {
    var id = 1;
    var id_grupo = "cat_" + id;
    var id_lista = "lista_cat_" + id;
    var g_actual;
    var l_actual;
    VISIBLE_CATEGORIAS = false;
    g_actual = document.getElementById(grupo);
    if (g_actual && g_actual.parentNode.className == "on") {
        g_actual.parentNode.className = "off";
        l_actual = document.getElementById("lista_" + grupo);
        if (l_actual) l_actual.style.display = "none";
        document.getElementById("imagen_minimizar_cat").style.display = "none";
        return;
    }

    while (document.getElementById(id_grupo)) {
        g_actual = document.getElementById(id_grupo);
        l_actual = document.getElementById(id_lista);
        if (id_grupo == grupo) {
            g_actual.parentNode.className = "on";
            if (l_actual) l_actual.style.display = "";

            VISIBLE_CATEGORIAS = true;

        }
        else {
            g_actual.parentNode.className = "off";
            if (l_actual) l_actual.style.display = "none";
        }
        id++;
        id_grupo = "cat_" + id;
        id_lista = "lista_cat_" + id;
    }

    if (document.getElementById("imagen_minimizar_cat")) {
        if (VISIBLE_CATEGORIAS)
            document.getElementById("imagen_minimizar_cat").style.display = "";
        else
            document.getElementById("imagen_minimizar_cat").style.display = "none";
    }
}

/**
* Selecciona o deselecciona una categoria
*/
function checkUncheckCategoria(grupo, categoria) {
    var imagen = document.getElementById("imagen_cat_" + categoria);
    if (CATEGORIAS_SELECCIONADAS.indexOf(categoria) < 0) {
        if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/" + categoria + ".png";
        CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS + "," + categoria;
        GRUPOS_CATEGORIAS_SELECCIONADAS = GRUPOS_CATEGORIAS_SELECCIONADAS + "," + grupo + "_" + categoria;
        //AddSelectIcon(cat);
    }
    else {
        if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/deshabilitado.png";
        CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS.replace("," + categoria, "");
        GRUPOS_CATEGORIAS_SELECCIONADAS = GRUPOS_CATEGORIAS_SELECCIONADAS.replace("," + grupo + "_" + categoria, "");
        //DelSelectIcon(cat);
    }

    numero_peticiones++;
    setTimeout('actualizarPuntos()', 1000);
}

/**
* Selecciona o deselecciona una categoria
*/
function checkUncheckAllCategorias(grupo, categorias) {    
    var aux = categorias.split(",");
    for (var i = 0; i < aux.length; i++) {
        var categoria = aux[i];
        var imagen = document.getElementById("imagen_cat_" + categoria);
        if (CATEGORIAS_SELECCIONADAS.indexOf(categoria) < 0) {
            if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/" + categoria + ".png";
            CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS + "," + categoria;
            GRUPOS_CATEGORIAS_SELECCIONADAS = GRUPOS_CATEGORIAS_SELECCIONADAS + "," + grupo + "_" + categoria;
            //AddSelectIcon(cat);
        }
        else {
            if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/deshabilitado.png";
            CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS.replace("," + categoria, "");
            GRUPOS_CATEGORIAS_SELECCIONADAS = GRUPOS_CATEGORIAS_SELECCIONADAS.replace("," + grupo + "_" + categoria, "");
            //DelSelectIcon(cat);
        }
    }

    numero_peticiones++;
    setTimeout('actualizarPuntos()', 1000);
}

/**
* Selecciona todas las categorias
*/
function checkTodasCategorias(grupo, categorias) {
    var aux = categorias.split(",");
    for (var i = 0; i < aux.length; i++) {
        var categoria = aux[i];
        var imagen = document.getElementById("imagen_cat_" + categoria);
        if (CATEGORIAS_SELECCIONADAS.indexOf(categoria) < 0) {
            if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/" + categoria + ".png";
            CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS + "," + categoria;
            GRUPOS_CATEGORIAS_SELECCIONADAS = GRUPOS_CATEGORIAS_SELECCIONADAS + "," + grupo + "_" + categoria;
            //AddSelectIcon(cat);
        }
    }

    numero_peticiones++;
    setTimeout('actualizarPuntos()', 1000);
}

/**
* Selecciona todas las categorias
*/
function uncheckTodasCategorias(categorias) {
    var aux = categorias.split(",");
    for (var i = 0; i < aux.length; i++) {
        var categoria = aux[i];
        var imagen = document.getElementById("imagen_cat_" + categoria);
        if (imagen) imagen.src = "TurgaliciaGoogleMaps/images/deshabilitado.png";
        var leyenda = document.getElementById("leyenda_" + categoria);
        if (leyenda) leyenda.style.display = "none";
        CATEGORIAS_SELECCIONADAS = CATEGORIAS_SELECCIONADAS.replace("," + categoria, "");
        GRUPOS_CATEGORIAS_SELECCIONADAS = "";
    }
    CATEGORIAS_SELECCIONADAS = "";
    GRUPOS_CATEGORIAS_SELECCIONADAS = "";
    numero_peticiones++;
    setTimeout('actualizarPuntos()', 100);
}

function actualizarPuntos() {
    numero_peticiones--;
    if(numero_peticiones<=0)
        comprobar_categorias();
}



