function initialise(){var a=new google.maps.LatLng(-23.554705,-46.563082),b={zoom:15,center:a,mapTypeId:google.maps.MapTypeId.ROADMAP,disableDefaultUI:!1};map=new google.maps.Map(document.getElementById("map_canvas"),b),prepareGeolocation(),doGeolocation(),google.maps.event.addListener(map,"dragend",function(){var b=map.getCenter().lat()/180*Math.PI,c=map.getCenter().lng()/180*Math.PI,d=a.lat()/180*Math.PI,e=a.lng()/180*Math.PI,f=Math.sin(c-e)*Math.cos(b),g=Math.cos(d)*Math.sin(b)-Math.sin(d)*Math.cos(b)*Math.cos(c-e);Math.sqrt(g*g+f*f)>2e-4&&($("#buscar").click(),a=new google.maps.LatLng(map.getCenter().lat(),map.getCenter().lng()))})}function doGeolocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(positionSuccess,positionError):positionError(-1)}function positionError(a){var b;switch(a.code){case a.UNKNOWN_ERROR:b="Imposs\u00edvel achar sua localiza\u00e7\u00e3o";break;case a.PERMISSION_DENINED:b="Permiss\u00e3o negada";break;case a.POSITION_UNAVAILABLE:b="Localiza\u00e7\u00e3o desconhecida";break;case a.BREAK:b="Tempo de localiza\u00e7\u00e3o esgotado";break;default:b="Detec\u00e7\u00e3o de localiza\u00e7\u00e3o n\u00e3o suportada"}document.getElementById("bairro").innerHTML=b}function positionSuccess(a){var b=a.coords||a.coordinate||a,c=new google.maps.LatLng(b.latitude,b.longitude);map.setCenter(c),map.setZoom(15),document.getElementById("bairro").innerHTML=""+b.latitude+", "+b.longitude+"",(new google.maps.Geocoder).geocode({latLng:c},function(a){var b="";if(a[0]){var c=[];for(var d=0,e=a[0].address_components.length;d<e;++d){var f=a[0].address_components[d];contains(f.types,"political")&&c.push(f.long_name)}c.pop(),c.length&&(b=c.join(", "))}document.getElementById("bairro").innerHTML=b})}function contains(a,b){for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return!0;return!1}function updateObject(a,b){a=a||{},b=b||{};for(var c in b)a[c]=b[c];return a}function createMarker(a,b,c){var d="<b>"+b+"</b><br/>"+c,e=new google.maps.Marker({map:map,position:a});google.maps.event.addListener(e,"click",function(){infoWindow.setContent(d),infoWindow.open(map,e)}),markers.push(e)}function sugestao(a,b){b=="higienopolis"?centro=new google.maps.LatLng(-23.5441082,-46.6594061):b=="analiafranco"?centro=new google.maps.LatLng(-23.5548459,-46.563037):centro=map.getCenter(),$.Deferred().done(function(){$("#q").val(a)}).done(function(){google.maps.event.addListenerOnce(map,"center_changed",function(){$("#buscar").click()})}).done(function(){map.setCenter(centro)}).resolve()}function clearLocations(){for(var a=0;a<markers.length;a++)markers[a].setMap(null);markers.length=0}var map,markers=[];$(document).ready(function(){$("#dialog").jqm(),$("#q").focus(),$("#entrar").click(function(){$("#dialog").jqm({ajax:"/login"}),$("#dialog").jqmShow()}),$("#localizacao").click(function(){$.Deferred().done(function(){google.maps.event.addListenerOnce(map,"center_changed",function(){$("#buscar").click()})}).done(function(){doGeolocation()}).resolve()}),$("#buscar").click(function(){var a={type:"bounds",q:$("#q").val()};a=updateObject(a,{north:map.getBounds().getNorthEast().lat(),east:map.getBounds().getNorthEast().lng(),south:map.getBounds().getSouthWest().lat(),west:map.getBounds().getSouthWest().lng()}),a.q!=""&&$.ajax({url:"/q/busca",type:"post",data:a,dataType:"json",success:function(b){$("#resultados").hide("fast"),clearLocations();var c="";for(var d=0;d<b.results.length;d++){var e=new google.maps.LatLng(parseFloat(b.results[d].lat),parseFloat(b.results[d].lng));createMarker(e,b.results[d].nome_ref,b.results[d].endereco_ref),c+='<div style="background-color:#f4f4f4; border:1px solid #fff; -moz-box-shadow:0px 0px 3px #aaa; -webkit-box-shadow:0px 0px 3px #aaa; box-shadow:0px 0px 3px #aaa; padding:2%"><div style="margin:0 0 0.5em 0"><b><a href="/'+b.results[d].link_ref+'">'+b.results[d].nome_ref+"</a></b></div>";for(var f=0;f<b.results[d].itens.length;f++)nome=b.results[d].itens[f].nome,b.results[d].itens[f].preco==0?preco="":preco="R$ "+b.results[d].itens[f].preco.toFixed(2).toString().replace(/\./g,","),c+='<div style="border-top:solid; border-top-width:1px; border-top-color:#ddd; padding:0.3em 0"><div style="float:right; margin-left:1em; text-align:right"><b>'+preco+"</b></div>"+nome+'<div style="clear:both"></div></div>';c+='<div style="border-top:solid; border-top-width:1px; border-top-color:#ddd"></div></div><br>'}$("#resultados").html(c),$("#resultados").show("fast"),_gaq.push(["_trackPageview","/?q="+a.q]),_gaq.push(["_trackEvent","busca","feita"])}})})})
