 var beenSorted = false;

 function toggle_event(ob, event)
 {
  jqob = jQuery(ob);
  if(jqob.is('.on')){
   jQuery('#exhibitor_list tr.exbtn_'+event).removeClass('selected_event');
   jQuery('#exhibitor_list tr.exbtn_'+event+'.selected_letter').css('display','none');
   jqob.removeClass('on').addClass('off');
   return;
  }
  if(jqob.is('.off')){
   jQuery('#exhibitor_list tr.exbtn_'+event).addClass('selected_event');
   jQuery('#exhibitor_list tr.selected_letter.exbtn_'+event).show();
   jqob.removeClass('off').addClass('on');
   return;
  }
  alert('not sure..');
  return;
  jQuery('.selected_event.selected_letter').hide().removeClass('selected_event');
  jQuery('.selected_letter.exbtn_'+event).addClass('selected_event').fadeIn('fast');
 }

 function toggle_letter(ob, letter)
 {
  if(jQuery('#toggler').attr('checked')) return select_letter(ob, letter);
  jqob = jQuery(ob);
  if(jqob.is('.on')){
   jQuery('#exhibitor_list tr.selected_event.letter_'+letter).css('display','none').removeClass('selected_letter');
   jqob.removeClass('on').addClass('off');
   return;
  }
  if(jqob.is('.off')){
   jQuery('#exhibitor_list tr.selected_event.letter_'+letter).addClass('selected_letter').show();
   jqob.removeClass('off').addClass('on');
   return;
  }
  alert('dunno');
  return;
 }

 function select_letter(ob, letter)
 {
  jQuery('.letter_cell.on').removeClass('on').addClass('off');
  jQuery(ob).removeClass('off').addClass('on');
  jQuery('#exhibitor_list tr.selected_letter.selected_event').css('display','none').removeClass('selected_letter');
  jQuery('#exhibitor_list tr.letter_'+letter+'.selected_event').addClass('selected_letter').show();
 }

 function select_all_letters()
 {
  jQuery('.letter_cell').removeClass('off').addClass('on');
  jQuery('#exbtr_list_body tr').addClass('selected_letter');
  jQuery('#exbtr_list_body tr.selected_event.selected_letter').show();
 }

 function deselect_all_letters()
 {
  jQuery('.letter_cell').removeClass('on').addClass('off');
  var visRows = jQuery('#exhibitor_list tr.selected_letter');
  visRows.removeClass('selected_letter');
  visRows.css('display','none');
 }

 function mouseOverNumber(td, letter, value)
 {
  var cell = jQuery(td);
  cell.addClass('clickable');
  if( value ){
   var myval = jQuery('#exbtr_list_body tr.selected_event').size();
   cell.text(myval);
  }
  else {
   var myval = jQuery('#exbtr_list_body tr.selected_event.letter_'+letter).size();
   cell.text(myval);
  }
 }

 function mouseOutNumber(td, letter)
 {
  var cell = jQuery(td);
  cell.removeClass('clickable');
  cell.text(letter);
 }

 function float_enhanced_to_top()
 {
  if( beenSorted ) return;

  var $table = jQuery('#exhibitors');
  var rows = $table.find('tbody > tr').get();
  jQuery.each(rows, function(index,row){
    row.sortKey = jQuery(row).is('.sorttotop');
  });
  rows.sort(function(a, b) {
    if (a.sortKey && !b.sortKey) return -1;
    if (!a.sortKey && b.sortKey) return 1;
    return 0;
  });
  jQuery.each(rows, function(index, row) {
     $table.children('tbody').append(row);
     row.sortKey = null;
  });
  beenSorted = true;
 }

