      if (window.ActiveXObject) {
        window.XMLHttpRequest = function() {
          var x = null; var progIds = [
            'MSXML3.XMLHTTP.5.0',
            'MSXML3.XMLHTTP.4.0',
            'MSXML3.XMLHTTP.3.0',
            'MSXML3.XMLHTTP.2.0',
            'MSXML3.XMLHTTP',
            'MSXML2.XMLHTTP.5.0', 
            'MSXML2.XMLHTTP.4.0', 
            'MSXML2.XMLHTTP.3.0', 
            'MSXML2.XMLHTTP', 
            'Microsoft.XMLHTTP'];
          for (var i=0; i<progIds.length; i++) {
            try { x = new ActiveXObject(progIds[i]); break; } catch (ex) {};
          }; if (!x) throw new Error([0,"Can not create XMLHttpRequest Object"]);
          return x;
        };
      };

      var http = callbackHttp = null; var autoComplete = null; var autoComplete2 = null; var http2 = null;

      onload = function pageLoadHdle() {

        var completeConfiguration = {
          instanceName: "autoComplete",
          textbox: document.getElementById("searchkeywords1"),
          height: 220
        };
        
        autoComplete = new neverModules.modules.autocomplete(completeConfiguration);

        autoComplete.useContent = true;
        
        autoComplete.ignoreSpeed = false;
        autoComplete.useArrow = false;
        autoComplete.autoSlice = true;
        autoComplete.ignoreWhere = true;
        autoComplete.useSpaceMatch = true;
        autoComplete.ignoreCase = true;
        autoComplete.create();
        
        var completeConfiguration2 = {
          instanceName: "autoComplete2",
          textbox: document.getElementById("searchkeywords2"),
          height: 220
        };
          
        autoComplete2 = new neverModules.modules.autocomplete(completeConfiguration2);

        autoComplete2.useContent = true;
        
        autoComplete2.ignoreSpeed = false;
        autoComplete2.useArrow = false;
        autoComplete2.autoSlice = true;
        autoComplete2.ignoreWhere = true;
        autoComplete2.useSpaceMatch = true;
        autoComplete2.ignoreCase = true;
        autoComplete2.create();

      }

      function AjaxHdle (evt) {
        if (autoComplete.isValidKey(evt)==false || autoComplete.isRequireAjax()==false) {
          showAutocomplete(evt);
          return;
        }
        
        autoComplete.showAnimateImage("./templates/images/indicator.gif");
        http = new XMLHttpRequest();
        http.onreadystatechange = function() {loadCompleteData(evt)};
        http.open("GET", "ajax_search.php?tmp="+Math.random()+"&keywords="+document.getElementById("searchkeywords1").value+"&type="+document.getElementById("searchselect_header1").value, true);
        http.send(null);
      }
      
      function AjaxHdle2 (evt) {
        if (autoComplete2.isValidKey(evt)==false || autoComplete2.isRequireAjax()==false) {
          showAutocomplete2(evt);
          return;
        }
        
        autoComplete2.showAnimateImage("./templates/images/indicator.gif");
        http2 = new XMLHttpRequest();
        http2.onreadystatechange = function() {loadCompleteData2(evt)};
        http2.open("GET", "ajax_search.php?tmp="+Math.random()+"&keywords="+document.getElementById("searchkeywords2").value+"&type="+document.getElementById("searchselect_header2").value, true);
        http2.send(null);
      }
            
      function loadCompleteData (evt) {

        if (http.readyState!=4) { return; }

        var dataSource = [];  var _document = http.responseXML;
        var dataValue  = _document.documentElement.
                         getElementsByTagName("dataSource")[0].firstChild.nodeValue;
        dataSource = window.eval(dataValue);
        autoComplete.setDataSource(dataSource);
        showAutocomplete(evt); http=null;
      }

      function loadCompleteData2 (evt) {

        if (http2.readyState!=4) { return; }

        var dataSource2 = [];  var _document = http2.responseXML;
        var dataValue2  = _document.documentElement.
                         getElementsByTagName("dataSource")[0].firstChild.nodeValue;
        dataSource2 = window.eval(dataValue2);
        autoComplete2.setDataSource(dataSource2);
        showAutocomplete2(evt); http=null;
      }
      
      function showAutocomplete(evt) {
        autoComplete.hdleEvent(evt);
        window.setTimeout(function () {
          autoComplete.closeAnimateImage();
          },1000);
      }

      function showAutocomplete2(evt) {
        autoComplete2.hdleEvent(evt);
        window.setTimeout(function () {
          autoComplete2.closeAnimateImage();
          },1000);
      }