var DOMsupport = document.getElementsByTagName && document.createElement;
function createFilterForm() {
 var fancyTerms = new Array(
  'Real-Time',
  'On-The-Fly',
  'As-You-Type',
  'While-You-Type',
  'Woo-Hoo',
  'Kick-Ass',
  'Type-And-Wow',
  'Really-Cool',
  'Absolutely-Wow',
  'Pretty-Fast'
 );
  
 var previous = 'Packed with ' + fancyTerms[Math.floor(Math.random() * fancyTerms.length)] + '-Filtering™ (just start typing :)';
 var inp = document.createElement('input');
 inp.setAttribute('type', 'text');
 inp.className = 'filter';
 inp.setAttribute('value', previous);
 inp.onfocus = function() {
  this.select();
 }
 inp.onkeyup = function() {
  if (this.value.toLowerCase() != previous.toLowerCase()) {
   var ul = document.getElementsByTagName('ul')[0];
   for (var x = 0; x < ul.childNodes.length; x++) {
    if (ul.childNodes[x].nodeType == 1 && ul.childNodes[x].className != 'dont-filter') {
     var showUL = false;
     var lis = ul.childNodes[x].getElementsByTagName('li');
     for (var j = 0; j < lis.length; j++) {
      if (lis[j].innerHTML.toLowerCase().indexOf(this.value.toLowerCase()) != -1) {
       lis[j].className = '';
       showUL = true;
      } else {
       lis[j].className = 'filter-not-found';
      }
     }
     if (showUL) {
      ul.childNodes[x].className = '';
     } else {
      ul.childNodes[x].className = 'filter-not-found';
     }
    }
   }
  }
  previous = this.value;
 }
 document.getElementsByTagName('body')[0].insertBefore(inp, document.getElementsByTagName('ul')[0]);
 inp.focus();
}
