function process_input(input){
 var keywords=new Array(0);
 input=input.toLowerCase();
 while(input.charAt(0)==" ")
  input=input.substr(1,input.length-1);
 while(input.charAt(input.length-1)==" ")
  input=input.substr(0,input.length-1);
 document.forms[0].key_words.value=input;
 if(input==''){
  document.forms[0].key_words.focus();
  return false;
 }
 keywords=input.split(" ");
 if(keywords.length==1&&keywords[0].length<3){
  alert("Search query must be at least 3 characters long.\n");
  document.forms[0].key_words.select();
  return false;
 }
 _do_search(keywords);
 return false;
}
function _do_search(words){
 var record=""; var re=/[\\|,]/g;
 var filtered="";var matches=new Array(0);var i,j;
 for(i=0;i<words.length;i++){
  while(words[i].charAt(0)==" ")
   words[i]=words[i].substr(1,words[i].length-1);
 }
 for(i=0;i<words.length;i++){
  while(words[i].charAt(words[i].length-1)==" ")
   words[i]=words[i].substr(0,words[i].length-1);
 }
 for(i=0;i<records.length;i++){
  record=records[i];
  filtered=record.substr(0,record.indexOf('|#'));
  for(j=0;j<words.length;j++){
   if(words[j].length<2) continue;
   words[j]=words[j].replace(re,'');
   if(filtered.indexOf(words[j])!= -1){
    matches[matches.length]=record;
    break;
   }
  }
 }
 if(!matches.length){
  no_results();
 }else{
  matches=matches.sort();
  display_results(matches);
 }
}
function _write(val){
 var frm=document.getElementById("results");
 var doc=frm.contentDocument;
 if(doc==undefined||doc==null)
  doc=frm.contentWindow.document;
  doc.open();
  doc.write(val);
  doc.close();  
}
function no_results(){
 var q=document.forms[0].key_words.value;
 q=q.replace(/[+]/g,'');
 var cont='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'+
 '<html><head><title>Search Results: No Results</title></head><body>'+
 '<table style="width:700px;position:relative;margin-top:5px;">'+
 '<tr><td><hr noshade />&nbsp;&nbsp;<b>Search query "'+q+
 '" returned no results.</b><hr noshade /></td></tr></table></body></html>';
 _write(cont);
 document.forms[0].key_words.select();
}
function display_results(res){
 var extr_data="";var i=0;var re=/#/;
 var cont='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'+
 '<html><head><title>Search Results</title></head><body style="margin:10px">'+
 '<table style="width:700px;position:relative;margin-top:5px;">'+
 '<tr><td>&nbsp;&nbsp;<b>Results for search query "'+document.forms[0].key_words.value+
 '".</b><hr noshade /></td></tr><tr><td><dl>';
 for(;i<res.length;i++){
  extr_data=res[i].split('|');
  extr_data[3]=extr_data[3].replace(re,'');
  cont+='<dt style="padding-left:15px;"><a href="'+extr_data[3]+'" target="_blank">'+extr_data[0]+
  '</a></dt><dd><p><em>'+extr_data[1]+'</em></p></dd>';
 }
 cont+='</dl><hr noshade /></td></tr></table></body></html>';
 _write(cont);
}

