
  var searchRequestObj = null;
  var searches = new Array();
  
  function runSearch(term, key) {
    if (term == "") {
      removeSearchResults();
      document.getElementById('ajax_search_results').style.display = 'none';
    }
    
    switch (key) {
      //don't submit on arrow keys
      //left, up, right, down
      case 37: case 38: case 39: case 40:
        break;
      
      default:
        if (searches[term] == undefined) {
          AJAXPostRequest('searchRequestObj', 'search/ajax', 'search_form', searchAJAXHandler);
        }
        else {
          displaySearchResults(searches[term]);
        }
        break;
    }
  }
  
  function removeSearchResults() {
    //clear list of search results
    var ajaxSearchResults = document.getElementById('ajax_search_results');
    while (ajaxSearchResults.childNodes.length) {
      ajaxSearchResults.removeChild(ajaxSearchResults.firstChild);
    }
  }
  
  function displaySearchResults(searchResults) {
    try {
      var ajaxSearchResults = document.getElementById('ajax_search_results');
      removeSearchResults();
      
      //build new list
      if (searchResults.length > 0) {
        ajaxSearchResults.style.display = '';
        for (var counter = 0; counter < searchResults.length; counter++) {
          var div = document.createElement('div');
          div.className = 'ajax_search_result';
          div.onclick = function() {document.getElementById('term').value = this.innerHTML; document.getElementById('term').focus(); removeSearchResults(); document.getElementById('ajax_search_results').style.display = 'none';};
          div.onhover = function() {this.className = 'ajax_search_result_hover';};
          div.onblur = function() {this.className = 'ajax_search_result';};
          div.innerHTML = searchResults[counter].firstChild.nodeValue;
          ajaxSearchResults.appendChild(div);
        }
      }
      else {
        ajaxSearchResults.style.display = 'none';
      }
    }
    catch (e) {
    }
  }
  
  function searchAJAXHandler() {
    try {
      if (searchRequestObj.readyState == 4) {
  	    if (searchRequestObj.status == 200) {
          // Get the XML we were sent back, and the select we are operating on
          var returnXML = searchRequestObj.responseXML;
          var searchResults = returnXML.getElementsByTagName('search_result');
          var searchTerm = returnXML.getElementsByTagName('search_term')[0].firstChild.nodeValue;
          
          //save copy locally so don't have to retrieve again
          searches[searchTerm] = searchResults;
          
          displaySearchResults(searchResults);
        }
      }
    }
    catch (e) {
    }
  }

 var div1_slider;
      var div2_slider;
      
      function initialProcessSliderDivs(show){
        var div1_options = new Object;
        div1_options.startFunction = '';
        div1_options.endFunction = '';
        div1_slider = new DivSlider('div1_slider', div1_options);
        var div1 = document.getElementById('div1_slider');
        div1.style.height = div1.offsetHeight + 'px';
        if (show=='part')
          div1.style.display='none';
        
        var div2_options = new Object;
        div2_options.startFunction = '';
        div2_options.endFunction = '';
        div2_slider = new DivSlider('div2_slider', div2_options);
        var div2 = document.getElementById('div2_slider');
        div2.style.height = div2.offsetHeight + 'px';
        if (show=='diagnose')
          div2.style.display='none';
      }
      
      function expandSliderDiv(slider) {
        var div1 = document.getElementById('div1_slider');
        var div2 = document.getElementById('div2_slider');
        
        if (document.getElementById(slider.objId).style.display == 'none') {
          switch (slider.objId) {
            case 'div1_slider':
              div2.style.display='none';
              div1.style.display='';
			        //div2_slider.up();
              //div1_slider.down();
              break;
            
            case 'div2_slider':
              div2.style.display='';
              div1.style.display='none';
			        //div2_slider.down();
              //div1_slider.up();
              break;
			  
          }
        }
      }