function footer() { 
    
  if (typeof footer._initialized == "undefined") {
     
    footer.prototype.build = function () { 
      YAHOO.util.Event.addListener("footer_search_button", "click", this.process_search, this, true);
    }
  
    footer.prototype.process_search = function () {
      this.footer_search_button = document.getElementById("footer_search_input");
      this.focus_set = false;
      
      if (this.footer_search_button.value.length == 0){
        this.error_message = "Please enter a search term.";
        this.error_div     = "footer_search_input";
        if(!this.focus_set) { this.footer_search_button.focus(); this.focus_set = true; }
        this.passed = false;
      } else {
        this.passed = true;
      }
       
       if (this.passed){ 
         window.location.href = "/search/?directory=service&searchterm="+this.footer_search_button.value; 
       } else { 
         this.error_tip = new YAHOO.widget.Overlay("error_tip", {context:[this.error_div,"tl","bl"], visible:false, width:"220px", zIndex:1500 });
         this.error_tip.setBody("<div class='error_message'>"+this.error_message+"</div>"); 
         this.error_tip.render(document.body); 
         this.error_tip.show();
         YAHOO.util.Event.addListener(this.error_div, "keypress", this.hide_error, this, true);
         YAHOO.util.Event.addListener(this.error_div, "blur", this.hide_error, this, true);
       }  
    }
    
    footer.prototype.hide_error = function () {
       YAHOO.util.Event.removeListener(this.error_div, "keypress", this.hide_error);
       YAHOO.util.Event.removeListener(this.error_div, "blur", this.hide_error);
       this.error_tip.hide();
     }
     
    
    footer._initialized = true;
  } 
}   