/**
 * Result filtering in javascript. We generate event meta data as a JSON object
 * during page rendering. This object uses that meta data to filter out results
 * quickly.
 * 
 * @version $Revision: 194 $ / $Date: 2009-09-23 10:31:21 +0100 (Wed, 23 Sep 2009) $
 */
jQuery.resultFilter = null;

jQuery.fn.filterResults = function() {
   
   $(this).each(function(){

      $(this).click(function(){
         
         var filterValue = parseInt($(this).attr('href').substring(8));
         var filterType = $(this).parents('ul').attr('class');
         jQuery.resultFilter.toggleFilter(filterType,filterValue);         
         jQuery.resultFilter.execute();         
         
         for (eventId in jQuery.resultFilter.eventMeta) {
            if (jQuery.resultFilter.filteredEvents[eventId]) {
               $('#event-'+eventId).show();
            } else {
               $('#event-'+eventId).hide();
            }
         }
         
         $('table.results tr').removeClass('odd');
         $('table.results tr:visible:even').addClass('odd');
         $('table.results tr:first').removeClass('odd');
                  
         $('ul.filters a').removeClass('active');
         for (filterType in jQuery.resultFilter.activeFilters) {
            var value = jQuery.resultFilter.activeFilters[filterType];
            $('ul.filters ul.'+filterType+' a[href="#filter-'+value+'"]').addClass('active');            
         }
         
         return false;
      });
      
   });
   
   
}
