/*

$(document).ready(function() {
 $('.chooser').each(function () {
   chooser_init(this);
 });
});

function chooser_init(chooser) {
 $(chooser).find('.chosen_list .template').hide();

 $(chooser).find('.choose .filter')
   .change(function () {
     chooser_type(chooser, this);
     return false;
   })
   .keyup(function () {
     chooser_type(chooser, this);
     return false;
   });
 $(chooser).find('.chosen_list .unchoose')
   .click(function () {
     chooser_deselect(chooser, $(this).data('index'));
     return false;
   });
}

function chooser_type(chooser, field) {
 var old_filter = $(chooser).data('filter');
 var new_filter = field.value;
 if (new_filter != old_filter) {
   $(chooser).data('filter', new_filter);
   chooser_load(chooser);
 }
}

function chooser_load(chooser) {
 var url = $(chooser).data('url');
 var type = $(chooser).data('type');
 var filter = $(chooser).data('filter');
  if (filter != "") {
   filter = filter + "*";
 }
 var query = $.param({
   "search[type]": type,
   "search[text]": filter
 });
 return $.getJSON(url, query, function(hits) {
   chooser_update(chooser, hits);
 });
}

function chooser_update(chooser, hits) {
 $(chooser).data('hits', hits);
 
 list = $(chooser).find('.choose .choices');
 list.empty();
 $.each(hits, function(i) {
   list.append('<li class="choice">'+this.choice_html+'</li>');
   list.find(':last-child').data('index', i).click(function () {
     var index = $(this).data('index');
     chooser_select(chooser, index);
     $(this).remove();
   });
 });
}

function chooser_select(chooser, index) {
 hit = $(chooser).data('hits')[index];
 
 new_item = $(chooser).find('.chosen_list .template').clone(true);
 new_item.removeClass('template');
 new_item.attr('id', 'list_item_' + hit.id);
 new_item.find('.name').text(hit.chosen_html);
 new_item.find('.choice_id').attr('value', hit.id);
 new_item.find('.unchoose').data('index', hit.id);
 new_item.show();
  $(chooser).find('.chosen_list').append(new_item);
  $(chooser).find('.no_choice').hide();

  // $(chooser).find('.chosen .choice_id').each(function () {
  //  this.value = hit.id;
  // });
  // $(chooser).find('.chosen .current_choice').each(function () {
  //  $(this).html(hit.chosen_html);
  // });
  // 
  // $(chooser).find('.choose .choices').empty();
  // $(chooser).find('.choose .filter').each(function () {
  //  this.value = "";
  // });
  // 
  // $(chooser).find('.chosen .no_choice').hide();
  // $(chooser).find('.chosen .current_choice').show();
  // $(chooser).find('.chosen .unchoose').show();
}

function chooser_deselect(chooser, id) {
  $(chooser).find('.chosen_list #list_item_' + id).remove();
  if($(chooser).find('.chosen_list').children().size() == 2) {
    $(chooser).find('.no_choice').show();
  }
  // $(chooser).find('.chosen .choice_id').each(function () {
  //  this.value = '';
  // });
  // $(chooser).find('.chosen .current_choice').each(function () {
  //  $(this).html('');
  // });
  // 
  // $(chooser).find('.chosen .current_choice').hide();
  // $(chooser).find('.chosen .no_choice').show();
  // $(chooser).find('.chosen .unchoose').hide();
}

*/

