function MinMax(){this.min=65535;this.max=-1;this.evalMin=function(a){if(a<this.min){this.min=a}};this.evalMax=function(a){if(a>this.max){this.max=a}}}function ComboData(){this.keys={};this.items=[];this.add=function(a){if(a&&!this.keys[a]){this.keys[a]=1;this.items.push(a)}}}var filtered;var clausuras=new MinMax();var m2=new MinMax();var rubros=new ComboData();var motivos=new ComboData();var estados=new ComboData();var clausuras_current;var m2_current;var rubro_current;var estado_current;var motivo_current;var map;var fluster;var infowindow;var locales;function filterClausura(b){var a=b[b.selectedIndex].value}function initClausuras(a){var b=a.cantidad_de_clausuras;clausuras.evalMin(b);clausuras.evalMax(b)}function initM2(a){var b=a.m2;m2.evalMin(b);m2.evalMax(b)}function initData(){$.each(locales,function(a,b){rubros.add(b.rubro_principal);motivos.add(b.motivo);estados.add(b.estado);initClausuras(b);initM2(b)})}function updateNResults(){var a=Math.round(filtered.length*100/locales.length);$("#n-results").text("Mostrando "+filtered.length+" de "+locales.length+" locales ("+a+"%)")}function doFilter(){closeInfoWindow();var k=$("#clausuras-slider").slider("values");var j=k[0];var d=k[1];k=$("#m2-slider").slider("values");var i=k[0];var a=k[1];k=$("#filter-rubro");var l=k.val();var f=null;if(l!=""){f=rubros.items[k.val()]}k=$("#filter-motivo");var h=k.val();var g=null;if(h!=""){g=motivos.items[k.val()]}k=$("#filter-estado");var c=k.val();var e=null;if(c!=""){e=estados.items[k.val()]}filtered=$.grep(locales,function(q,p){var m=true;var o=q.cantidad_de_clausuras;var n=q.m2;m=m&&(o>=j&&o<=d);if(!n){n=0}m=m&&(n>=i&&n<=a);if(f){m=m&&(q.rubro_principal==f)}if(g){m=m&&(q.motivo==g)}if(e){m=m&&(q.estado==e)}return m});updateNResults();var b=window.location.href;if(b.indexOf("#")!=-1){b=b.substring(0,b.indexOf("#"))}b+="#";b+="c_min="+j;b+=",c_max="+d;b+=",sup_min="+i;b+=",sup_max="+a;if(g){b+=",motivo="+h}if(e){b+=",estado="+c}if(f){b+=",rubro="+l}window.location.href=b}function initFilters(){var a=window.location.href;var b={};if(a.indexOf("#")!=-1){data=a.substring(a.indexOf("#")+1,a.length).split(",");$.each(data,function(d,c){var e=c.split("=");b[e[0]]=e[1]})}m2_current=initRangeFilter(b,"sup",m2);clausuras_current=initRangeFilter(b,"c",clausuras);motivo_current=initComboFilter(b,"motivo");estado_current=initComboFilter(b,"estado");rubro_current=initComboFilter(b,"rubro")}function initComboFilter(c,b){var a=parseInt(c[b]);if(isNaN(a)||a<0){a=null}return a}function initRangeFilter(c,b,e){var d=[parseInt(c[b+"_min"]),parseInt(c[b+"_max"])];if(isNaN(d[0])||d[0]<e.min){d[0]=e.min}if(isNaN(d[1])||d[1]>e.max||d[1]<e.min){d[1]=e.max}if(d[0]>d[1]){var a=d[1];d[1]=d[0];d[0]=a}return d}function initWidgets(){initSlider("clausuras",clausuras,clausuras_current);initSlider("m2",m2,m2_current);initCombo("rubro",rubros,rubro_current,"Todos");initCombo("motivo",motivos,motivo_current);initCombo("estado",estados,estado_current);$("#filter-btn").bind("click",function(){doFilter();updateUI()})}function initCombo(b,d,c,e){var a=$("#filter-"+b);a.append("<option value=''>"+(e?e:"")+"</option>");$.each(d.items,function(f,g){a.append("<option value='"+f+"'"+(c==f?"selected='selected'":"")+">"+g+"</option>")})}function initSlider(b,e,a){var d=$("#"+b+"-slider");var c=$("#filter-"+b);d.slider({range:true,min:e.min,max:e.max,values:a,slide:function(f,g){c.val(g.values[0]+" - "+g.values[1])}});c.val(d.slider("values",0)+" - "+d.slider("values",1))}function addListener(a,c,b){google.maps.event.addListener(a,"click",function(){var d='<div class="info">';d+="<p class='nombre'>"+b.nombre_fantasia+"</p>";d+="<p class='dir'>"+b.ubicacion+"</p>";d+="<p class='more_info'>";d+="Rubro principal: "+b.rubro_principal+"<br>";if(b.rubro_secundario){d+="Rubro secundario: "+b.rubro_secundario+"<br>"}if(b.titular){d+="Titular: "+b.titular+"<br>"}if(b.cuit){d+="CUIT: "+b.cuit+"<br>"}if(b.m2){d+="Superficie: "+b.m2+"m&sup2;<br>"}d+="Clausuras: "+b.cantidad_de_clausuras;if(b.motivo){d+=" ("+b.motivo+")"}d+="<br>";d+="</p>";d+="</div>";closeInfoWindow();infowindow=new google.maps.InfoWindow({content:d,maxWidth:200});infowindow.open(c,this)})}function closeInfoWindow(){if(infowindow){infowindow.close();infowindow=null}}function updateUI(){updateNResults();fluster.clearMarkers();$.each(filtered,function(d,e){var c=e.ubicacion.toLowerCase();c=addresses[c];if(c){var a=new google.maps.LatLng(c[1],c[0]);var b=new google.maps.Marker({clickable:true,position:a,title:e.nombre_fantasia});addListener(b,map,e);fluster.addMarker(b)}});fluster.initialize()}function initFluster(){fluster=new Fluster2(map);fluster.styles={0:{image:"http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m1.png",textColor:"#FFFFFF",width:53,height:52},40:{image:"http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m2.png",textColor:"#FFFFFF",width:56,height:55},100:{image:"http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m3.png",textColor:"#FFFFFF",width:66,height:65}}}function initLocales(){filtered=locales=$.map(_locales_raw,function(a){return{titular:a[0],cuit:a[1],capacidad:a[2],cantidad_de_clausuras:a[3],m2:a[4],nombre_fantasia:a[5],ubicacion:a[6],rubro_principal:_rubros[a[7]],rubro_secundario:_rubros_sec[a[8]],motivo:_motivos[a[9]],estado:_estados[a[10]]}})}function initialize(){var b=new google.maps.LatLng(-34.614844,-58.388901);var a={zoom:12,center:b,mapTypeId:google.maps.MapTypeId.ROADMAP};map=new google.maps.Map(document.getElementById("map_canvas"),a);google.maps.event.addListener(map,"zoom_changed",function(){closeInfoWindow()});initLocales();initFluster();initData();initFilters();initWidgets();doFilter();updateUI()};
