google.load('search', '1');

google.setOnLoadCallback(function() {
  google.search.Search.getBranding(document.getElementById('google_branding'));
}, true);

var timer_id;
var input;
var last_search = 0;

searchit = function(query) {
  input.input.value = query;
  search(query);
}

search = function(query) {
  last_search++;

  var site_search = new google.search.WebSearch();
  site_search.setSiteRestriction('hotmelt-tech.com');
  site_search.setUserDefinedLabel('hotmelt-tech.com');
  //site_search.setSearchCompleteCallback(this, searchComplete, [site_search, last_search]);
  site_search.setResultSetSize(google.search.Search.SMALL_RESULTSET);
  site_search.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
  site_search.execute(query);

  var search_options = new google.search.SearcherOptions();
  search_options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);
  search_options.setRoot(document.getElementById('searchresults'));
  search_options.setNoResultsString('No Results');

  var draw_options = new google.search.DrawOptions();
  draw_options.setDrawMode(google.search.SearchControl.DRAW_MODE_LINEAR);

  var search_control = new google.search.SearchControl();
  search_control.addSearcher(site_search, search_options);
  search_control.draw(document.getElementById("searchcontrol_hidden"), draw_options);
  search_control.execute(query);
}

search_capture = function(e) {
  if (key_code(e)==13) { return false; }
}

auto_search = function(e) {
  var k = key_code(e);
  if (k==13) { return false; }
  if (k==27 || k==0) {
    if (input.input.value.length==0) {
      modal_close();
    } else {
      input.input.value = '';
    }
  }
  var query = this.value;
  if (timer_id) {
    window.clearTimeout(timer_id);
    timer_id = null;
  }
  timer_id = window.setTimeout('search(\'' + query + '\')', 250);
}

ignore_escape = function(e) {
  if (key_code(e)==27) { return false; }
}

search_setup = function(control) {
  input = new google.search.SearchForm(true, control);
  add_event(input.input, 'onkeydown', ignore_escape);
  add_event(input.input, 'onkeypress', search_capture);
  add_event(input.input, 'onkeyup', auto_search);
  input.setOnSubmitCallback(null, function() {
    search(input.input.value);
    return false;
  });
}

