// Descargando GMAPS para evitar Memory Leaks en Explorer
$(window).unload( function () { GUnload();} );

function findValue(li) {
	if( li == null ) return alert("No match!");
	if( !!li.extra ) var sValue = li.extra[0];
	else var sValue = li.selectValue;
}

// Selección de elemento en autocomplete
function selectItem(li) {
    window.location.href="/guia/"+contenido+"/cercaDe/"+li.extra[0]+tipoPagina;
}

// Función para determinar si un string es numérico
function isNumeric(strString)
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function formatItem(row) {
	return row[0];
}

function cambiaFiltro(valor){
  switch(valor){
    case "cp":
    $("#cercaDeCP").show();
    $("#cercaDeMisUbicaciones").hide();
    $("#cercaDeLocal").hide();
    break;
    case "local":
    $("#cercaDeCP").hide();
    $("#cercaDeLocal").show();
    $("#cercaDeMisUbicaciones").hide();
    break;
    case "misUbicaciones":
    $("#cercaDeLocal").hide();
    $("#cercaDeCP").hide();
    $("#cercaDeMisUbicaciones").show();
    break;
  }
}

// Eliminando filtros de locales
function eliminaFiltro(){
   $.cookie('distancia', null);
  window.location.href="/guia/"+contenido+tipoPagina;
}

// Cambiando Filtros de distancias
function filtraDistancia(){
    $.cookie('distancia', $("#distancia").val(),{ path: '/' });
    window.location.reload();
}


function filtro(){
    var seleccion=$("input[@name='cercaDeTipo']:checked").val();
    var valor=$("#cercaDeCodigo").val();
    switch(seleccion){
      case "local":
        $("#filtrado").submit();  
      break;
      case "cp":
        if(!isNumeric(valor)||valor.length!=5) alert ("Por favor, introduce un Código Postal válido.")
        else window.location.href="/guia/"+contenido+"/CP/"+valor+tipoPagina;
      break;
      case "misUbicaciones":
        valor=$("#cercaDeUbicacion").val();
        window.location.href="/guia/"+contenido+"/misUbicaciones/"+valor+tipoPagina;
      break;
    }
}

function autoCompleta(valor){
        var obj=$("#autoCompleta");
        var v=obj.css("display");
   			$("#cercaDe").addClass("cargando");
        if(v=="block") obj.slideUp(300,function() { 
        $.post("/_backend/autocompletado2.php",{ busqueda: valor}, function(xml,textStatus) {
           salidaTexto(xml,textStatus); 
        }); 
       });
       else {
        $.post("/_backend/autocompletado2.php",{ busqueda: valor}, function(xml,textStatus) {
           salidaTexto(xml,textStatus); 
        }); 
       }
}

function salidaTexto(xml,textStatus){
  var obj=$("#autoCompleta");
  if(textStatus=="success"){
   			$("#cercaDe").removeClass("cargando");
        if($("cuantos",xml).text()<=0) {
          var estilo = {
           'border' : 'none'
          }
          obj.css(estilo);
          obj.html('<div style="margin:0px;font-weight:bold;text-align:center;color:#777777;">No se han encontrado resultados</div>');
          obj.slideDown();
        }else{
          var estilo = {
           'border' : 'solid 1px #e0e0e0'
          }
          obj.css(estilo);
          obj.html("");
          $("local",xml).each(function(id) { 
            var num=$("local",xml).get(id);
            obj.append('<div class="elemento"><b><span class="rojo">&raquo;</span> <a href="javascript:void(null);" onclick="seleccionaItem(\''+$("normalizado",num).text()+'\')"> '+$("RAW",num).text()+'</a><br /><img src="/img/flecha_abajo_derecha.png" alt="" style="margin-left:10px;" /> '+$("categoria",num).text()+'<br /></div>'); 
          });
          if($("cuantos",xml).text()>10) obj.append('<p align="right" style="padding:5px;color:black;margin:0px;">especifica un poco m&aacute;s</p>');
          $(".elemento").hover(
		    		function() { $(this).css("background-color","#e0e0e0"); },
				    function() { $(this).css("background-color","#fff"); }
			    )

          obj.slideDown();
        }           
  }

}

function seleccionaItem(val){
  window.location.href="/guia/"+contenido+"/cercaDe/"+val+tipoPagina;
}

var cover;
var ccapa;
var tcapa;
var current=0;
function scrollDown() {
   cover=$('#barrios').scrollTop();
   ccapa=$('#barrios').height();
   tcapa=$('#barrios').attr("scrollHeight");
   var scroller=(tcapa-cover)/ccapa;
   if(scroller>=2) {
     var tiempo=1000;
     var cuanto=ccapa;
   }else{
     var tiempo=500;
     var cuanto=tcapa-cover-ccapa;
   }
   $('#barrios').animate({scrollTop: '+=' + cuanto + 'px'}, tiempo,function(){
      current++;
      if((tcapa-$('#barrios').scrollTop())/ccapa==1) $("#bajar").fadeOut("fast");
      $("#subir").fadeIn("fast");
   });
}
          
function scrollUp() {
  if(current!=0){
      var scroller=$('#barrios').scrollTop()%ccapa;
      if(scroller==0) {
        var cuanto=ccapa;
        var tiempo=1000;
      }else{
        var cuanto=scroller;
        var tiempo=500;
      }
      $('#barrios').animate({scrollTop: '-=' + cuanto + 'px'}, tiempo,function(){
          current--;
          if((tcapa-$('#barrios').scrollTop())/ccapa!=1) $("#bajar").fadeIn("fast");
          if(!current) $("#subir").fadeOut("fast");
      });
  }
}


$(document).ready(function() {

  var retardo=0;
 
    $("#cercaDe").bind('keyup', function() {
            if(retardo!=0 ) {
                clearTimeout(retardo);
          }
          retardo = setTimeout(function() {
                retardo = 0;
                valor = $("#cercaDe").val();
                if(valor!="" && valor.length>=3 ) autoCompleta(valor);
                else if(valor=="" && $("#autoCompleta").css("display")=="block") $("#autoCompleta").slideUp();
          }, 500);
    });
  
  $('#tablaLocales a.textoGrande').hover(function() {
    punto=($(this).parent("div").attr("class"))
    punto=parseInt(punto.replace("local",""));
    prueba(punto)    
  }, function() {
    punto=($(this).parent("div").attr("class"))
    punto=parseInt(punto.replace("local",""));
    prueba2(punto)
  });
   
	mapa();
      	
});