var setupLists = function(rootNode){
  $(rootNode).find(".pp-list-search").keyup(function(){
    doListSearch($(this));
  });

  $(rootNode).find('.pp-reset-field-list').hide();

  $(rootNode).find('.pp-reset-field-list').click(function(e){
    var field = $(this).parent().find('.pp-text');

    field.value('');
    doListSearch(field);
    $(this).hide();
    e.returnValue = false;

    if($().isFirefox()) e.preventDefault();

    return false;
  });

  function doListSearch(field) {
    var container = $("."+field.attr("id")),
        items     = container.first().getElementsByTagName("li");

    for(var i = 0, t = items.length;i<t;i++) {
      var li      = $(items[i]),
          value   = li.stripTags().toLowerCase(),
          matcher = new RegExp(value, 'ig');

      value.match(field.value().toLowerCase()) ? li.show() : li.hide();
    }
  }
}

$(document).ready(function(){
	window.SetupLists(document);
});

window.SetupLists = function(rootNode){
	setupLists(rootNode);
}


