//Gets the browser specific XmlHttpRequest Object
// http://dev.www.cruiseplanners.com/~jhughes/epona/destinations/region/Asian+Pacific/
function getXmlHttpRequestObject()
{
  // Internet Explorer
  try {
    req = new ActiveXObject('Msxml2.XMLHTTP');
  }
  catch(e) {
    try {
      req = new ActiveXObject('Microsoft.XMLHTTP');
    }
    catch(oc) {
      req = null;
    }
  }

  // Mozailla/Safari
  if (!req && typeof XMLHttpRequest != 'undefined') {
    req = new XMLHttpRequest();
  }
  return req;
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest()
{
  if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str = escape(getObject('franchiseName').value);
    searchReq.open('GET', 'fn.php?search=' + str, true);
    searchReq.onreadystatechange = handleSearchSuggest;
    searchReq.send(null);
  }
}

//Called when the AJAX response is returned.
function handleSearchSuggest()
{
  if (searchReq.readyState == 4) {
    var ss = getObject('search_suggest');
    ss.innerHTML = '';
    var str = searchReq.responseText.split("\n");
    for(i=0; i < str.length - 1; i++) {
      //Build our element string.  This is cleaner using the DOM, but
      //IE doesn't support dynamically added attributes.
      var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
      suggest += 'onmouseout="javascript:suggestOut(this);" ';
      suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
      suggest += 'class="suggest_link">' + str[i] + '</div>';
      ss.innerHTML += suggest;
    }
  }
}

//Mouse over function
function suggestOver(div_value)
{
  div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value)
{
  div_value.className = 'suggest_link';
}

//Click function
function setSearch(value)
{
  document.getElementById('franchiseName').value = value;
  document.getElementById('search_suggest').innerHTML = '';
}


function theFranSearch()
{
  if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str = escape(getObject('q').value);
    searchReq.open("GET", 'search.php?q=' + str, true);
    searchReq.onreadystatechange = handleFranSearch; 
    searchReq.send(null);
  }
}

function theAgentSearch()
{
  if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str = escape(getObject('q').value);
    searchReq.open("GET", 'search.php?q=' + str, true);
    searchReq.onreadystatechange = handleFranSearch; 
    searchReq.send(null);
  }		
}

function theWebSiteSearch()
{
  if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str = escape(getObject('q').value);
    searchReq.open("GET", 'search.php?q=' + str, true);
    searchReq.onreadystatechange = handleFranSearch; 
    searchReq.send(null);
  }		
}

function handleFranSearch()
{
  if (searchReq.readyState == 4) {
    var ss = getObject('qResults');
    ss.innerHTML = '';
    var str = searchReq.responseText.split("\n");
    for(i=0; i < str.length - 1; i++) {
      //Build our element string.  This is cleaner using the DOM, but
      //IE doesn't support dynamically added attributes.
      var suggest = '<div>' + str[i] + '</div>';
      ss.innerHTML += suggest;
    }
  }
}

