          var holdRequest = new Request();

          $("school_search_input").addEvent("keyup", function(event)
                                                      {
                                                       manageAutoComplete(event, {"url": "/autocomplete.php",
                                                                                  "postName": "schoolname="},
                                                                                 {"input": $("school_search_input"),
                                                                                  "resultsul": $("holdresults"),
                                                                                  "animation": $("school-animation")
                                                                                 });
                                                      });
                                                      
          /*$("teacher_search_input").addEvent("keyup", function(event)
                                                       {
                                                        manageAutoComplete(event, {"url": "/cgi-bin/TeacherSeeker",
                                                                                   "postName": "teachername="},
                                                                                  {"input": $("teacher_search_input"),
                                                                                   "resultsul": $("holdresults_teacher"),
                                                                                   "animation": $("teacher-animation")
                                                                                  });
                                                       });*/

                                                     function manageAutoComplete(event, send, elements)
                                                      {
                                                       if (elements.input.value.length <= 3)
                                                        {
                                                         elements.resultsul.setStyle("display", "none");
                                                        }
                                                      
                                                       else if (elements.input.value.length > 3)
                                                        {
                                                         if (event.key == "up")
                                                          {
                                                           event.stop();
                                                           AutoComplete.moveUp();
                                                          }
                                                          
                                                         else if (event.key == "down")
                                                          {
                                                           event.stop();
                                                           AutoComplete.moveDown();
                                                          }
                                                          
                                                         else if (event.key == "enter")
                                                          {
                                                           event.stop();
                                                           
                                                           if (AutoComplete.index != -1)
                                                            {
                                                             if (elements.resultsul.getElements("li")[AutoComplete.index].getElements("div")[0].getProperty("class") == "seemore")
                                                              {
                                                               elements.resultsul.getParent("form").submit();
                                                              }
                                                              
                                                             else
                                                              { 
                                                               document.location = elements.resultsul.getElements("li")[AutoComplete.index].getProperty("id");
                                                              }
                                                            }
                                                          }
                                                          
                                                         else
                                                          {  
                                                           elements.resultsul.setStyle("display", "block");
                                                           elements.animation.setStyle("display", "block");
                                                           holdRequest.cancel();
                                                           holdRequest = new Request({"url": send.url,
                                                                                      "method": "get",
                                                                                      onSuccess: function(responseText, responseXML)
                                                                                                  {
                                                                                                   AutoComplete.create(elements.resultsul);
                                                                                                   AutoComplete.parse(responseText);
                                                                                                   elements.animation.setStyle("display", "none");
                                                                                                  }});
                                                           holdRequest.send(send.postName + elements.input.value);
                                                          }
                                                        }
                                                      }
                                                      
          var AutoComplete =
           {
            index: -1,
            oldClass: null,
            element: null,
            
            create: function(element)
             {
              AutoComplete.reset();
              AutoComplete.element = element;
             },
             
            reset: function()
             {
              AutoComplete.index = -1;
              AutoComplete.oldClass = null;
              AutoComplete.element = null;
             },
           
            parse: function(content)
             {
              var results = null;
              var liElement = null;

              results = JSON.decode(content);
              AutoComplete.element.empty();
              
              for (enumResults = 0; enumResults < results.length; enumResults++)
               {
                if (results[enumResults].islink == "yes")
                 {
                  liElement = new Element("li", {"html": results[enumResults].name,
                                                 "class": (enumResults % 2 != 0) ? "" : "gray",
                                                 "id": results[enumResults].url,
                                                 "events": {
                                                            "click": function()
                                                                      {
                                                                       document.location = this.id;
                                                                      }
                                                           }
                                                });
                  divElement = new Element("div", {"html": results[enumResults].loc});
                 }
                 
                else
                 {
                  liElement = new Element("li", {"class": (enumResults % 2 != 0) ? "" : "gray",
                                                 "events": {
                                                            "click": function()
                                                                      {
                                                                       AutoComplete.element.getParent("form").submit();
                                                                      }
                                                           }
                                                });             
                  divElement = new Element("div", {"html": "Click here to see more results",
                                                   "class": "seemore"
                                                  });
                 }
                 
                divElement.inject(liElement);
                liElement.inject(AutoComplete.element);
               }
             },
             
            moveUp: function()
             {
              var holdLi = AutoComplete.element.getElements("li");
              
              if (AutoComplete.index == -1)
               {
                return;
               }

              if (AutoComplete.oldClass != null)
               {
                holdLi[AutoComplete.index].setProperty("class", AutoComplete.oldClass);
                
                if (AutoComplete.index - 1 == -1)
                 {
                  AutoComplete.index = -1;
                  return;
                 }
               }
             
              AutoComplete.index--;
              AutoComplete.oldClass = holdLi[AutoComplete.index].getProperty("class");
              holdLi[AutoComplete.index].setProperty("class", "selected");
             }, 
             
            moveDown: function()
             {
              var holdLi = AutoComplete.element.getElements("li");
              
              if (AutoComplete.index + 1 == holdLi.length)
               {
                return;
               }
              
              if (AutoComplete.oldClass != null)
               {
                if (AutoComplete.index != -1)
                 {
                  holdLi[AutoComplete.index].setProperty("class", AutoComplete.oldClass);
                 }
               }
             
              AutoComplete.index++;
              AutoComplete.oldClass = holdLi[AutoComplete.index].getProperty("class");
              holdLi[AutoComplete.index].setProperty("class", "selected");
             }
           };