"mololo.map".namespace();
mololo.map.Filter=Class.create({filterChain:null,initialize:function(A){this.filterChain=A
},filter:function(A){return(!A)?false:!mololo.map.Config.MARKER_FILTERING_ENABLED||this._doFilter(A)&&((this.filterChain!=undefined)?this.filterChain.filter(A):true)
},_doFilter:function(A){}});
mololo.map.AllFilter=Class.create(mololo.map.Filter,{_doFilter:function(A){return true
}});
mololo.map.EmptyFilter=Class.create(mololo.map.Filter,{_doFilter:function(A){return false
}});
mololo.map.PlaceFilter=Class.create(mololo.map.Filter,{_doFilter:function(A){if(!A.isEventMarker()){return true
}return A.isPermanent()
}});
mololo.map.EventFilter=Class.create(mololo.map.Filter,{_doFilter:function(A){if(!A.isEventMarker()){return true
}return !A.isPermanent()
}});
mololo.map.TodayFilter=Class.create(mololo.map.Filter,{_doFilter:function(C){if(!C.isEventMarker()){return true
}var D=new Date();
var B=C.getStartDate();
var E=C.getEndDate();
var A;
if(B!=null&&E!=null){A=(B<=D&&D<=E)
}else{if(B!=null){A=(B<=D)
}else{if(B==null){A=(D<=E)
}else{A=true
}}}return A
}});
mololo.map.FutureFilter=Class.create(mololo.map.Filter,{_doFilter:function(C){if(!C.isEventMarker()){return true
}var B=mololo.DateUtils.resetToMidnight(new Date().addDays(1));
var A=C.getStartDate();
return A!=null&&A>=B
}});
mololo.map.FavoriteFilter=Class.create(mololo.map.Filter,{_doFilter:function(A){return A.isFavoriteMarker()
}});