
(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);function MarkerManager(map,opt_opts){var me=this;me.map_=map;me.mapZoom_=map.getZoom();me.projection_=map.getCurrentMapType().getProjection();opt_opts=opt_opts||{};me.tileSize_=MarkerManager.DEFAULT_TILE_SIZE_;var mapTypes=map.getMapTypes();var mapMaxZoom=mapTypes[0].getMaximumResolution();for(var i=0;i<mapTypes.length;i++){var mapTypeMaxZoom=mapTypes[i].getMaximumResolution();if(mapTypeMaxZoom>mapMaxZoom){mapMaxZoom=mapTypeMaxZoom;}}
me.maxZoom_=opt_opts.maxZoom||mapMaxZoom;me.trackMarkers_=opt_opts.trackMarkers;var padding;if(typeof opt_opts.borderPadding==="number"){padding=opt_opts.borderPadding;}else{padding=MarkerManager.DEFAULT_BORDER_PADDING_;}
me.swPadding_=new GSize(-padding,padding);me.nePadding_=new GSize(padding,-padding);me.borderPadding_=padding;me.gridWidth_=[];me.grid_=[];me.grid_[me.maxZoom_]=[];me.numMarkers_=[];me.numMarkers_[me.maxZoom_]=0;GEvent.bind(map,"moveend",me,me.onMapMoveEnd_);me.removeOverlay_=function(marker){map.removeOverlay(marker);me.shownMarkers_--;};me.addOverlay_=function(marker){map.addOverlay(marker);if(marker.pleaseHideLater){marker.hide()};me.shownMarkers_++;};me.resetManager_();me.shownMarkers_=0;me.shownBounds_=me.getMapGridBounds_();}
MarkerManager.DEFAULT_TILE_SIZE_=1024;MarkerManager.DEFAULT_BORDER_PADDING_=100;MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE=256;MarkerManager.prototype.resetManager_=function(){var me=this;var mapWidth=MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE;for(var zoom=0;zoom<=me.maxZoom_;++zoom){me.grid_[zoom]=[];me.numMarkers_[zoom]=0;me.gridWidth_[zoom]=Math.ceil(mapWidth/me.tileSize_);mapWidth<<=1;}};MarkerManager.prototype.clearMarkers=function(){var me=this;me.processAll_(me.shownBounds_,me.removeOverlay_);me.resetManager_();};MarkerManager.prototype.getTilePoint_=function(latlng,zoom,padding){var pixelPoint=this.projection_.fromLatLngToPixel(latlng,zoom);return new GPoint(Math.floor((pixelPoint.x+padding.width)/this.tileSize_),Math.floor((pixelPoint.y+padding.height)/this.tileSize_));};MarkerManager.prototype.addMarkerBatch_=function(marker,minZoom,maxZoom){var mPoint=marker.getPoint();marker.MarkerManager_minZoom=minZoom;if(this.trackMarkers_){GEvent.bind(marker,"changed",this,this.onMarkerMoved_);}
var gridPoint=this.getTilePoint_(mPoint,maxZoom,GSize.ZERO);for(var zoom=maxZoom;zoom>=minZoom;zoom--){var cell=this.getGridCellCreate_(gridPoint.x,gridPoint.y,zoom);cell.push(marker);gridPoint.x=gridPoint.x>>1;gridPoint.y=gridPoint.y>>1;}};MarkerManager.prototype.isGridPointVisible_=function(point){var me=this;var vertical=me.shownBounds_.minY<=point.y&&point.y<=me.shownBounds_.maxY;var minX=me.shownBounds_.minX;var horizontal=minX<=point.x&&point.x<=me.shownBounds_.maxX;if(!horizontal&&minX<0){var width=me.gridWidth_[me.shownBounds_.z];horizontal=minX+width<=point.x&&point.x<=width-1;}
return vertical&&horizontal;};MarkerManager.prototype.onMarkerMoved_=function(marker,oldPoint,newPoint){var me=this;var zoom=me.maxZoom_;var changed=false;var oldGrid=me.getTilePoint_(oldPoint,zoom,GSize.ZERO);var newGrid=me.getTilePoint_(newPoint,zoom,GSize.ZERO);while(zoom>=0&&(oldGrid.x!==newGrid.x||oldGrid.y!==newGrid.y)){var cell=me.getGridCellNoCreate_(oldGrid.x,oldGrid.y,zoom);if(cell){if(me.removeFromArray(cell,marker)){me.getGridCellCreate_(newGrid.x,newGrid.y,zoom).push(marker);}}
if(zoom===me.mapZoom_){if(me.isGridPointVisible_(oldGrid)){if(!me.isGridPointVisible_(newGrid)){me.removeOverlay_(marker);changed=true;}}else{if(me.isGridPointVisible_(newGrid)){me.addOverlay_(marker);changed=true;}}}
oldGrid.x=oldGrid.x>>1;oldGrid.y=oldGrid.y>>1;newGrid.x=newGrid.x>>1;newGrid.y=newGrid.y>>1;--zoom;}
if(changed){me.notifyListeners_();}};MarkerManager.prototype.removeMarker=function(marker){var me=this;var zoom=me.maxZoom_;var changed=false;var point=marker.getPoint();var grid=me.getTilePoint_(point,zoom,GSize.ZERO);while(zoom>=0){var cell=me.getGridCellNoCreate_(grid.x,grid.y,zoom);if(cell){me.removeFromArray(cell,marker);}
if(zoom===me.mapZoom_){if(me.isGridPointVisible_(grid)){me.removeOverlay_(marker);changed=true;}}
grid.x=grid.x>>1;grid.y=grid.y>>1;--zoom;}
if(changed){me.notifyListeners_();}
me.numMarkers_[marker.MarkerManager_minZoom]--;};MarkerManager.prototype.addMarkers=function(markers,minZoom,opt_maxZoom){var maxZoom=this.getOptMaxZoom_(opt_maxZoom);for(var i=markers.length-1;i>=0;i--){this.addMarkerBatch_(markers[i],minZoom,maxZoom);}
this.numMarkers_[minZoom]+=markers.length;};MarkerManager.prototype.getOptMaxZoom_=function(opt_maxZoom){return opt_maxZoom||this.maxZoom_;};MarkerManager.prototype.getMarkerCount=function(zoom){var total=0;for(var z=0;z<=zoom;z++){total+=this.numMarkers_[z];}
return total;};MarkerManager.prototype.getMarker=function(lat,lng,zoom){var me=this;var mPoint=new GLatLng(lat,lng);var gridPoint=me.getTilePoint_(mPoint,zoom,GSize.ZERO);var marker=new GMarker(mPoint);var cellArray=me.getGridCellNoCreate_(gridPoint.x,gridPoint.y,zoom);if(cellArray!=undefined){for(var i=0;i<cellArray.length;i++)
{if(lat==cellArray[i].getLatLng().lat()&&lng==cellArray[i].getLatLng().lng())
{marker=cellArray[i];}}}
return marker;};MarkerManager.prototype.addMarker=function(marker,minZoom,opt_maxZoom){var me=this;var maxZoom=this.getOptMaxZoom_(opt_maxZoom);me.addMarkerBatch_(marker,minZoom,maxZoom);var gridPoint=me.getTilePoint_(marker.getPoint(),me.mapZoom_,GSize.ZERO);if(me.isGridPointVisible_(gridPoint)&&minZoom<=me.shownBounds_.z&&me.shownBounds_.z<=maxZoom){me.addOverlay_(marker);me.notifyListeners_();}
this.numMarkers_[minZoom]++;};GBounds.prototype.containsPoint=function(point){var outer=this;return(outer.minX<=point.x&&outer.maxX>=point.x&&outer.minY<=point.y&&outer.maxY>=point.y);};MarkerManager.prototype.getGridCellCreate_=function(x,y,z){var grid=this.grid_[z];if(x<0){x+=this.gridWidth_[z];}
var gridCol=grid[x];if(!gridCol){gridCol=grid[x]=[];return(gridCol[y]=[]);}
var gridCell=gridCol[y];if(!gridCell){return(gridCol[y]=[]);}
return gridCell;};MarkerManager.prototype.getGridCellNoCreate_=function(x,y,z){var grid=this.grid_[z];if(x<0){x+=this.gridWidth_[z];}
var gridCol=grid[x];return gridCol?gridCol[y]:undefined;};MarkerManager.prototype.getGridBounds_=function(bounds,zoom,swPadding,nePadding){zoom=Math.min(zoom,this.maxZoom_);var bl=bounds.getSouthWest();var tr=bounds.getNorthEast();var sw=this.getTilePoint_(bl,zoom,swPadding);var ne=this.getTilePoint_(tr,zoom,nePadding);var gw=this.gridWidth_[zoom];if(tr.lng()<bl.lng()||ne.x<sw.x){sw.x-=gw;}
if(ne.x-sw.x+1>=gw){sw.x=0;ne.x=gw-1;}
var gridBounds=new GBounds([sw,ne]);gridBounds.z=zoom;return gridBounds;};MarkerManager.prototype.getMapGridBounds_=function(){var me=this;return me.getGridBounds_(me.map_.getBounds(),me.mapZoom_,me.swPadding_,me.nePadding_);};MarkerManager.prototype.onMapMoveEnd_=function(){var me=this;me.objectSetTimeout_(this,this.updateMarkers_,0);};MarkerManager.prototype.objectSetTimeout_=function(object,command,milliseconds){return window.setTimeout(function(){command.call(object);},milliseconds);};MarkerManager.prototype.refresh=function(){var me=this;if(me.shownMarkers_>0){me.processAll_(me.shownBounds_,me.removeOverlay_);}
me.processAll_(me.shownBounds_,me.addOverlay_);me.notifyListeners_();};MarkerManager.prototype.updateMarkers_=function(){var me=this;me.mapZoom_=this.map_.getZoom();var newBounds=me.getMapGridBounds_();if(newBounds.equals(me.shownBounds_)&&newBounds.z===me.shownBounds_.z){return;}
if(newBounds.z!==me.shownBounds_.z){me.processAll_(me.shownBounds_,me.removeOverlay_);me.processAll_(newBounds,me.addOverlay_);}else{me.rectangleDiff_(me.shownBounds_,newBounds,me.removeCellMarkers_);me.rectangleDiff_(newBounds,me.shownBounds_,me.addCellMarkers_);}
me.shownBounds_=newBounds;me.notifyListeners_();};MarkerManager.prototype.notifyListeners_=function(){GEvent.trigger(this,"changed",this.shownBounds_,this.shownMarkers_);};MarkerManager.prototype.processAll_=function(bounds,callback){for(var x=bounds.minX;x<=bounds.maxX;x++){for(var y=bounds.minY;y<=bounds.maxY;y++){this.processCellMarkers_(x,y,bounds.z,callback);}}};MarkerManager.prototype.processCellMarkers_=function(x,y,z,callback){var cell=this.getGridCellNoCreate_(x,y,z);if(cell){for(var i=cell.length-1;i>=0;i--){callback(cell[i]);}}};MarkerManager.prototype.removeCellMarkers_=function(x,y,z){this.processCellMarkers_(x,y,z,this.removeOverlay_);};MarkerManager.prototype.addCellMarkers_=function(x,y,z){this.processCellMarkers_(x,y,z,this.addOverlay_);};MarkerManager.prototype.rectangleDiff_=function(bounds1,bounds2,callback){var me=this;me.rectangleDiffCoords(bounds1,bounds2,function(x,y){callback.apply(me,[x,y,bounds1.z]);});};MarkerManager.prototype.rectangleDiffCoords=function(bounds1,bounds2,callback){var minX1=bounds1.minX;var minY1=bounds1.minY;var maxX1=bounds1.maxX;var maxY1=bounds1.maxY;var minX2=bounds2.minX;var minY2=bounds2.minY;var maxX2=bounds2.maxX;var maxY2=bounds2.maxY;var x,y;for(x=minX1;x<=maxX1;x++){for(y=minY1;y<=maxY1&&y<minY2;y++){callback(x,y);}
for(y=Math.max(maxY2+1,minY1);y<=maxY1;y++){callback(x,y);}}
for(y=Math.max(minY1,minY2);y<=Math.min(maxY1,maxY2);y++){for(x=Math.min(maxX1+1,minX2)-1;x>=minX1;x--){callback(x,y);}
for(x=Math.max(minX1,maxX2+1);x<=maxX1;x++){callback(x,y);}}};MarkerManager.prototype.removeFromArray=function(array,value,opt_notype){var shift=0;for(var i=0;i<array.length;++i){if(array[i]===value||(opt_notype&&array[i]===value)){array.splice(i--,1);shift++;}}
return shift;};(function($){$.fn.mngmap=function(options){var defaults={'initLat':40.740161,'initLng':-73.985879,'initZoom':12,'maxAutoZoomLevel':15,'showCategoryController':true};var options=$.extend(defaults,options);_DOMCONTROLS={'cats':null,'tip':null,'tipinner':null};mm_array={};markerGroups={};allmarkers=[];usedcategories_arr=[];var customIcons=[];customIcons['Notable Buildings']='bldg';customIcons['New Developments']='bldg';customIcons['Restaurants & Food']='food';customIcons['Restaurants and Food']='food';customIcons['Shopping']='shopping';customIcons['Nightlife']='nightlife';customIcons['Attractions & Events']='attractions';customIcons['Hotels']='hotels';customIcons['Schools & Education']='schools';customIcons['Parks']='parks';customIcons['Activities & Exercise']='religious';customIcons['Transportation']='transportation';customIcons['Religious']='religious';customIcons['Uncategorized']='blank';function CategoryFilterControl(){};CategoryFilterControl.prototype=new GControl();CategoryFilterControl.prototype.initialize=function(map){var cats=document.createElement('div');_DOMCONTROLS.cats=cats;$(cats).css({'font-size':'1.1em','font-family':'Arial, Helvetica, sans-serif','background':'url('+TREGNYURL+'/css/img/i/15x15_fffsemitrans.png) 0 0 repeat','padding':'3px 5px','border':'1px solid #aaa','border-top':'none','border-right':'none','margin':'0 0 5px'});if(!options.showCategoryController)$(cats).css({'display':'none'});$(cats).append('<span id="CFC_loading" style="font-weight:bold">Loading...</span>');map.getContainer().appendChild(cats);return cats;}
CategoryFilterControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT);}
function TooltipControl(){};TooltipControl.prototype=new GControl();TooltipControl.prototype.initialize=function(map){var tip=document.createElement('div');var tip_inner=document.createElement('div');_DOMCONTROLS.tip=tip;_DOMCONTROLS.tipinner=tip_inner;$(tip).css({'padding':'0 6px 6px 0','background':'url(/js/plugins/jquery.mngmap.shadow.png) bottom right no-repeat','display':'none','position':'relative','width':'153px'});$(tip_inner).css({'font-size':'0.9em','width':'140px','background':'#fff url(/js/plugins/jquery.mngmap.bottom-left.gif) bottom left no-repeat','padding':'4px 6px','border-left':'1px solid #ddd','border-top':'1px solid #ddd'});tip.appendChild(tip_inner);map.getContainer().appendChild(tip);return tip;};TooltipControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT);}
function chopName(name){var namearr=name.split(' ');namearr.pop();namearr.pop();return namearr.join(' ');}
function makeIcon(name){var filename=(customIcons[name])?customIcons[name]:customIcons['Uncategorized'];return new GIcon({'image':'http://www.tregny.com/css/img/i/mngico/'+filename+'.png','shadow':'http://www.tregny.com/css/img/i/mngico/shadow.png','iconSize':new GSize(25,29),'iconAnchor':new GPoint(12,27),'infoWindowAnchor':new GPoint(11,3)});}
function createMarker(point,title,url,hood,categories){var cat_for_icon=categories[0];var marker=new GMarker(point,{icon:makeIcon(cat_for_icon)});for(var x=0;x<categories.length;x++){markerGroups[categories[x]].push(marker);};allmarkers.push(marker);var markerHTML='<span style="font-size:1em;line-height:1em;font-weight:bold;display;block;margin:0 0 2px;">'+title+'</span><span style="font-family: Arial, Helvetica, sans-serif;display:block;">'+hood+'</span><span style="font-family:Arial, Helvetica, sans-serif;display:block;">Under: '+categories.join(', ')+'</span>';GEvent.addListener(marker,'mouseover',function(){Tooltip('show',marker,markerHTML);});GEvent.addListener(marker,'mouseout',function(){Tooltip('hide');});GEvent.addListener(marker,'click',function(){window.location.href=url;});return marker;}
function updateMapByFilters(arr){var cats_to_show=[];for(var x=0;x<allmarkers.length;x++){allmarkers[x].hide();allmarkers[x].pleaseHideLater=true;}
if($('.filterA').is(':checked')){$('.filterA').each(function(){var e=$(this);var eltnum=e.attr('id').split('_')[1];var cat=arr[eltnum];if($(this).is(':checked'))cats_to_show.push(arr[eltnum]);});for(var x=0;x<cats_to_show.length;x++){for(marker in markerGroups[cats_to_show[x]]){markerGroups[cats_to_show[x]][marker].show();markerGroups[cats_to_show[x]][marker].pleaseHideLater=false;};};}else{for(var x=0;x<allmarkers.length;x++){allmarkers[x].show();allmarkers[x].pleaseHideLater=false;};};};function generateBoundsFromMarkers(markers){var left,right,top,bottom;for(var x=0;x<markers.length;x++){if(markers[x]!=''){var mpos=markers[x].getLatLng();if(mpos.lng()<left||!left)left=mpos.lng();if(mpos.lng()>right||!right)right=mpos.lng();if(mpos.lat()<bottom||!bottom)bottom=mpos.lat();if(mpos.lat()>top||!top)top=mpos.lat();};};var sw=new GLatLng(bottom,left);var ne=new GLatLng(top,right);return new GLatLngBounds(sw,ne);};function Tooltip(showorhide,marker,html){var $tip=$(_DOMCONTROLS.tip);var $tipinner=$(_DOMCONTROLS.tipinner);if(showorhide=='hide'){$tip.hide();}else{$tipinner.html(html);var _mpos=map.fromLatLngToContainerPixel(marker.getLatLng());var _twidth=$tip.width()+7;var _theight=$tip.height()+7;var _mwidth=map.getSize().width;var _mheight=map.getSize().height;var TOP_RIGHT=new GPoint(12,-19);var TOP_LEFT=new GPoint(-2,-20);var BOTTOM_RIGHT=new GPoint(10,-5);var BOTTOM_LEFT=new GPoint(-5,-5);var ROOM_TOP=false,ROOM_RIGHT=false,ROOM_BOTTOM=false,ROOM_LEFT=false;if(_mpos.y+TOP_RIGHT.y-_theight>=0)ROOM_TOP=true;if(_mpos.x+TOP_RIGHT.x+_twidth<=_mwidth)ROOM_RIGHT=true;if(_mpos.y+BOTTOM_LEFT.y+_theight<=_mheight)ROOM_BOTTOM=true;if(_mpos.x+BOTTOM_LEFT.x-_twidth>=0)ROOM_LEFT=true;var MODE=(ROOM_TOP&&ROOM_RIGHT)?'topright':((ROOM_TOP&&ROOM_LEFT)?'topleft':((ROOM_RIGHT&&ROOM_BOTTOM)?'bottomright':'bottomleft'));if(MODE=='topright'){$tipinner.css({'background':'#fff url(/js/plugins/jquery.mngmap.bottom-left.gif) bottom left no-repeat'});$tip.css({'left':(_mpos.x+TOP_RIGHT.x),'top':(_mpos.y+TOP_RIGHT.y-_theight)}).show();}else if(MODE=='topleft'){$tipinner.css({'background':'#fff url(/js/plugins/jquery.mngmap.bottom-right.gif) bottom right no-repeat'});$tip.css({'left':(_mpos.x+TOP_LEFT.x-_twidth),'top':(_mpos.y+TOP_LEFT.y-_theight)}).show();}else if(MODE=='bottomright'){$tipinner.css({'background':'#fff url(/js/plugins/jquery.mngmap.top-left.gif) top left no-repeat'});$tip.css({'left':(_mpos.x+BOTTOM_RIGHT.x),'top':(_mpos.y+BOTTOM_RIGHT.y)}).show();}else{$tipinner.css({'background':'#fff url(/js/plugins/jquery.mngmap.top-right.gif) top right no-repeat'});$tip.css({'left':(_mpos.x+BOTTOM_LEFT.x-_twidth),'top':(_mpos.y+BOTTOM_LEFT.y)}).show();}}}
function setupMarkerManagers(usedcategories){for(x in usedcategories){usedcategories_arr.push(usedcategories[x].name);markerGroups[usedcategories[x].name]=[];mm_array[usedcategories[x].name]=new MarkerManager(map);};};function setupAndCreateMarkers(items){var ct=0;for(x in items){ct++;var cur=items[x];var blogname=cur.blog_name;var hood=chopName(blogname);var title=cur.post_title;var url=cur.post_url;var point=new GLatLng(cur.geocodes.lat,cur.geocodes.lng);var marker=createMarker(point,title,url,hood,cur.categories);}};return this.each(function(){var me=this;if(GBrowserIsCompatible()){map=new GMap2(me);map.addControl(new GSmallMapControl());map.addControl(new CategoryFilterControl());map.addControl(new TooltipControl());map.setCenter(new GLatLng(options.initLat,options.initLng),options.initZoom);map.enableDoubleClickZoom();mgr=new MarkerManager(map,{trackMarkers:false});if(options.jsoninline){setupMarkerManagers(window[options.jsoninline].usedcategories);setupAndCreateMarkers(window[options.jsoninline].item);var gcc=_DOMCONTROLS.cats;if(allmarkers.length>0){var bounds=generateBoundsFromMarkers(allmarkers);var autozoomlevel=(map.getBoundsZoomLevel(bounds)>options.maxAutoZoomLevel)?options.maxAutoZoomLevel:map.getBoundsZoomLevel(bounds);map.setCenter(bounds.getCenter(),autozoomlevel);mgr.addMarkers(allmarkers,5);mgr.refresh();$(gcc).append('<span class="cats-infospan">Filter by Category <em style="color:#246b9d">(show)</em></span>');}else{$(gcc).append('<span class="cats-infospan">No posts to display</span>');};$gcc_innerholder=$('<div style="display:none;">');$(gcc).append($gcc_innerholder);for(x in usedcategories_arr){var postcount=markerGroups[usedcategories_arr[x]].length;var e='<label for="filtercat_'+x+'" style="float:left;clear:left;margin:0 3px 3px 0;"><input class="filterA" type="checkbox" id="filtercat_'+x+'" style="width:15px;" /><span style="margin-left:2px;">'+usedcategories_arr[x]+' <span style="font:0.9em Arial, Helvetica, sans-serif;color:#666;">('+postcount+')</span></span></label>';$gcc_innerholder.append(e);}
$('.cats-infospan',gcc).bind('click',function(){if($gcc_innerholder.is(':hidden')){$gcc_innerholder.show();$(this).css('margin-bottom','3px').find('em').html('(hide)');}else{$gcc_innerholder.hide();$(this).css('margin-bottom','0').find('em').html('(show)');}});$('#CFC_loading').hide();$('.filterA').each(function(i){$(this).bind('click',function(){updateMapByFilters(usedcategories_arr);if($(this).is(':checked'))$(this).parent('label').addClass('labelspanred');else $(this).parent('label').removeClass('labelspanred');});});}else{$.getJSON(options.json,function(data){setupMarkerManagers(data.usedcategories);setupAndCreateMarkers(data.item);var gcc=_DOMCONTROLS.cats;if(allmarkers.length>0){var bounds=generateBoundsFromMarkers(allmarkers);var autozoomlevel=(map.getBoundsZoomLevel(bounds)>options.maxAutoZoomLevel)?options.maxAutoZoomLevel:map.getBoundsZoomLevel(bounds);map.setCenter(bounds.getCenter(),autozoomlevel);mgr.addMarkers(allmarkers,5);mgr.refresh();$(gcc).append('<span class="cats-infospan">Filter by Category</span>');}else{$(gcc).append('<span class="cats-infospan">No posts to display</span>');};$gcc_innerholder=$('<div style="display:none;">');$(gcc).append($gcc_innerholder);for(x in usedcategories_arr){var postcount=markerGroups[usedcategories_arr[x]].length;var e='<label for="filtercat_'+x+'" style="float:left;clear:left;margin-right:3px;"><input class="filterA" type="checkbox" id="filtercat_'+x+'" style="width:15px;"  /><span style="margin-left:2px;">'+usedcategories_arr[x]+' <span style="font:0.9em Arial, Helvetica, sans-serif;color:#666;">('+postcount+')</span></span></label>';$(gcc).append(e);}
$('.cats-infospan',gcc).bind('click',function(){if($gcc_innerholder.is(':hidden')){$gcc_innerholder.show();$(this).css('margin-bottom','3px').find('em').html('(hide)');}else{$gcc_innerholder.hide();$(this).css('margin-bottom','0').find('em').html('(show)');}});$('#CFC_loading').hide();$('.filterA').each(function(i){$(this).bind('click',function(){updateMapByFilters(usedcategories_arr);if($(this).is(':checked'))$(this).parent('label').addClass('labelspanred');else $(this).parent('label').removeClass('labelspanred');});});});};};});};})(jQuery);$(document).ready(function(){$('#filtercat_1').attr('checked',true);});
