(function($){jQuery.fn.qlive=function(list){$list=jQuery(this);if($list){$rows=[];$cache=[];setupCache();var qlive=document.createElement("div");qlive.id="archive_livefilter";var qlive_input=document.createElement("input");qlive_input.id="query"
var qlive_label=document.createElement("label");var qlive_label_text=document.createTextNode("Live Filter");var cancel=document.createElement("a");cancel.href="#";cancel.id="cancel";var cancel_text=document.createTextNode("Cancel");jQuery(cancel).append(cancel_text);jQuery(qlive_label).append(qlive_label_text);jQuery(qlive).append(qlive_label);jQuery(qlive).append(qlive_input);jQuery(qlive).append(cancel);$qlive=jQuery(qlive).insertBefore($list);$cancel=jQuery(cancel);$field=jQuery(qlive_input);$field.attr("autocomplete","off");$field.bind("keyup",function(){filter();});$cancel.bind("click",function(){$field.val('');filter();$cancel.hide();$list.show();return false;})
filter();}}
function setupCache(){$list.children().each(function(){$this=jQuery(this);$cache.push($this.text().toLowerCase());$rows.push($this);})}
function filter(){if($field.val()==''){$list.children().show();$cancel.hide();}else{displayResults(getScores($field.val().toLowerCase()));$cancel.show();}}
function displayResults(scores){if(scores.length>0){$list.show();$list.children().hide();jQuery.each(scores,function(i,score){$rows[score[1]].show();});}else{$list.hide();}}
function getScores(term){var scores=[];for(var i=0;i<$cache.length;i++){var score=$cache[i].score(term);if(score>0){scores.push([score,i]);}}
return scores.sort(function(a,b){return b[0]-a[0];});}})(jQuery);