$(window).load(function() { $('#submit').button({icons:{primary: 'ui-icon-search'}}); $('.radioopcoes').change(function(){ setSearchFields(); }); $('#searchform').submit(function(){ if ($('#uf').length == 0){ if ($('#busca').val() == ''){ alert('A busca não pode ser vazia.'); return false; } else { return true; } } else { if ($('#cidade').val() == ''){ alert('A cidade não pode ser vazia.'); return false; } else { return true; } } }); if (window.location.hash != ''){ $(window.location.hash).attr('checked', true); } setSearchFields(); window.scroll(0,0); }); function adjustStyleHP(width) { width = parseInt(width); if (width < 960) { $("#hp_stylesheet").attr("href", "/css/hp-mobile.css"); } else { $("#hp_stylesheet").attr("href", "/css/hp.css"); } } $(window).resize(function() { adjustStyleHP($(window).width()); }); function getLocation(){ if (navigator.geolocation) { $('#submit').button("disable"); $('#busca').val('Obtendo localização...'); navigator.geolocation.getCurrentPosition(function (position) { $('#busca').val('Próximo a [Latitude: ' + position.coords.latitude + ", Longitude: " + position.coords.longitude + ']'); $('#submit').button("enable"); $('#submit').click(); }); } else { $('#busca').val('Localização Atual indisponível'); } } function setSearchFieldSimple(){ $('#busca-wrapper').html(''); $('#busca').focus(); } function setSearchFieldUFCidadeBairro(){ $('#busca-wrapper').html('
'); autocompleteCidade(); $('#uf').change(function(){ autocompleteCidade(); $('#cidade').focus(); }); $('#cidade').bind('input', function(){ if ($('#cidade').val() == ''){ $('#bairro').attr('disabled','disabled'); } else{ $('#bairro').removeAttr('disabled'); autocompleteBairro(); } return true; }); $('#uf').focus(); } function setSearchFields(){ var c = $('#opcoes').val(); $('#submit').button("enable"); if (c == 'endereco'){ setSearchFieldSimple(); $('#searchform').attr('action', 'search.php'); window.location.hash = 'endereco'; } else if ((c == 'cidade_opcoes')||(c == 'horario')){ setSearchFieldUFCidadeBairro(); if (c == 'cidade_opcoes'){ $('#searchform').attr('action', 'search.php'); window.location.hash = 'cidade_opcoes'; } else { $('#searchform').attr('action', 'searchtimes.php'); window.location.hash = 'horario'; } } else if (c == 'nome'){ setSearchFieldSimple(); $('#searchform').attr('action', 'search.php'); window.location.hash = 'nome'; } else if (c == 'localizacao'){ setSearchFieldSimple(); $('#searchform').attr('action', 'search.php'); window.location.hash = 'localizacao'; } setExemplo(); } function setExemplo(){ var c = $('#opcoes').val(); if (c == 'endereco'){ $('#exemplos').html('Exemplos: "Glória, Rio de Janeiro", "Praça Nossa Senhora do Brasil, Jardim Paulista, São Paulo"'); } else if (c == 'cidade_opcoes'){ $('#exemplos').html('Escolha o estado, depois a cidade e, se quiser, o bairro.'); } else if (c == 'nome'){ $('#exemplos').html('Exemplos: "São Justino", "Nossa Senhora do Perpétuo Socorro"'); } else if (c == 'localizacao'){ getLocation(); $('#exemplos').html('Dê permissão para o browser obter sua localização'); } else if (c == 'horario'){ $('#exemplos').html('Busca por horário. Escolha o estado, depois a cidade e, se quiser, o bairro.'); } } function autocompleteCidade(){ $(function() { var cache = {}; if ($('#uf').val() == ""){ $('#cidade').attr('disabled','disabled'); } else { $('#cidade').removeAttr('disabled'); } $("#cidade").val(''); $("#bairro").val(''); $('#bairro').attr('disabled','disabled'); $("#cidade").autocomplete({ minLength: 1, source: function( request, response ) { var term = request.term; if ( term in cache ) { response( cache[ term ] ); return; } request.uf = $('#uf').val(); $.getJSON( "autocomplete/cidade.php?", request, function( data, status, xhr ) { cache[ term ] = data; response( data ); }); } }); }); } function autocompleteBairro(){ $(function() { var cache = {}; $( "#bairro" ).val(''); $( "#bairro" ).autocomplete({ minLength: 1, source: function( request, response ) { var term = request.term; if ( term in cache ) { response( cache[ term ] ); return; } request.uf = $('#uf').val(); request.cidade = $('#cidade').val(); $.getJSON( "autocomplete/bairro.php?", request, function( data, status, xhr ) { cache[ term ] = data; response( data ); }); } }); }); }