function filterOptions(text_field, container_identifier) {
  text_field_value = text_field.value.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&");

  if(text_field_value) {
    var pattern = new RegExp(text_field_value,'im');
    jQuery(container_identifier + ' li').each(function (i) {
      li_element = jQuery(this);
      result = pattern.test(jQuery('div', li_element).html().replace(/<\/*strong>/igm, ""));
      if(!result)
        li_element.removeClass('tl-Item-1').addClass('tl-Item-0');
      else {
        li_element.removeClass('tl-Item-0').addClass('tl-Item-1');
        replacement_string = jQuery('div', li_element).html().replace(/<\/*strong>/igm, "").replace(pattern, "<strong>$&</strong>");
        jQuery('div', li_element).empty().append(replacement_string);
      }
    });
  } else {
    jQuery(container_identifier + ' li.tl-Item-1').each(function (i) {
      li_element = jQuery(this);
      replacement_string = jQuery('div', li_element).html().replace(/<\/*strong>/igm, "");
      jQuery('div', li_element).empty().append(replacement_string);
    });
    jQuery(container_identifier + ' li.tl-Item-0').removeClass('tl-Item-0').addClass('tl-Item-1');
  }
  
  stripeOptions(container_identifier);
}

function stripeOptions(container_identifier) {
  jQuery(container_identifier + ' li.tl-Item-1').each(function (i) {
    li_element = jQuery(this);
    li_element.removeClass('tl-Item-odd').removeClass('tl-Item-even');
    if(i%2 == 0)
      li_element.addClass('tl-Item-odd');
    else
      li_element.addClass('tl-Item-even');
  });
}

