var searchdiv = 0;
var status = 'invisible';
var searchTimer;
var closeTimer;

function AjaxSearch(query)
  {
  if (searchTimer)
    {
    window.clearTimeout(searchTimer);
    searchTimer = 0;
    }

  if ((query.length >= 3) && (dojo.query('#st_game')[0].checked))
    {
    searchTimer = window.setTimeout("TriggerSearch('" + query + "')", 20);
    //searchTimer = window.setTimeout('QTest(\'' + query + '\')', 2000);
    }
  else
    {
    HideResults();
    }
  }

function TriggerSearch(query)
  {
  if (searchTimer)
    {
    window.clearTimeout(searchTimer);
    searchTimer = 0;
    }

  // console.log('Trigger');
  dojo.xhrGet({url: 'ajax/dbquery.php?quick=1&query=' + query, load: SearchCallback, error: AjaxError});
  }

function HideResults()
  {  
  if (status == 'visible')
    {
    if (!searchdiv)
      searchdiv = dojo.byId("grQueryResults");
    
    //fadeout = dojo.anim(searchdiv, { opacity: 0 }, 2000);
    
    closeTimer = window.setTimeout("searchdiv.style.display = 'none';", 200);    
    status = 'invisible';

    window.setTimeout("dojo.byId('grQueryResults').style.display = 'none'", 200);
    }
  }

function ShowResults(html)
  {
  if (status == 'invisible')
    {
    if (!searchdiv)
      searchdiv = dojo.byId("grQueryResults");
  
    if (closeTimer)
      {
      window.clearTimeout(searchTimer);
      closeTimer = 0;
      }
    
    
    searchdiv.style.opacity = 0;
    searchdiv.innerHTML = html;
    searchdiv.style.display = 'block';
    dojo.parser.parse(searchdiv);
    dojo.fadeIn({node: searchdiv }).play(500);  
    
    status = 'visible';
    }
  else
    {
    searchdiv.innerHTML = html;
    }
  }
  
function SearchCallback(data, ioArgs)
  {
  if (!searchdiv)
    searchdiv = dojo.byId("grQueryResults");

  if (data)
    {
    // dojo.fadeIn({node: searchdiv }).play(500);
 
    var matches = data.split('||');
          
    var i = 0;
    var suffix;
    var html = '<ul>';

    while (matches[i])
      {
      if (i % 2)
        suffix = '01';
      else
        suffix = '02';
      
      var parts = matches[i].split(';;');

//<div style="width:300px;" maximum="100" id="activityprogressbar" progress="${bean.activitylevel}" dojoType="dijit.ProgressBar"><!--x--></div>

      if (ccode)
        {
        //html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearch"><div class="grSearchRatingBg"><div class="grSearchRatingFill" style="width: ' + Math.round(50 - (parts[2] / 2)) + 'px"></div></div>' + parts[1] + '</a></li>';
        //html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearch"><div style="width:57px; float: left; margin: 5px 4px 0px 4px; padding: 0px;" maximum="100" id="activityprogressbar' + parts[0] + '" progress="' + Math.round(parts[2]) + '" dojoType="dijit.ProgressBar"><!--x--></div>' + parts[1] + '</a></li>';
        if (parts[4] > 0)
          {
          if (parts[2] > 0)
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearch"><div class="grRating1" style="background-position: 0px -' + Math.round(100 - parts[2]) * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          else
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearch"><div class="grRating1" style="background-position: 0px -' + 100 * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          }
        else
          {
          if (parts[2] > 0)
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearchDisabled"><div class="grRating1" style="background-position: 0px -' + Math.round(100 - parts[2]) * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          else
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '_' + ccode + '.html" class="grQuickSearchDisabled"><div class="grRating1" style="background-position: 0px -' + 100 * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          }
        }
      else
        {
        if (parts[4] > 0)
          {
          if (parts[2] > 0)
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '.html" class="grQuickSearch"><div class="grRating1" style="background-position: 0px -' + Math.round(100 - parts[2]) * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          else
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '.html" class="grQuickSearch"><div class="grRating1" style="background-position: 0px -' + 100 * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          }
        else
          {
          if (parts[2] > 0)
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '.html" class="grQuickSearchDisabled"><div class="grRating1" style="background-position: 0px -' + Math.round(100 - parts[2]) * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          else
            html = html + '<li class="ulSearchResult' + suffix + '"><a href="/' + parts[3] + '_' + parts[0] + '.html" class="grQuickSearchDisabled"><div class="grRating1" style="background-position: 0px -' + 100 * 11 + 'px;">&nbsp;</div>' + parts[1] + '</a></li>';
          }
        }
            
      i++;
      }

    html = html + '</ul>';
    ShowResults(html);    
    }
  else
    {
    HideResults();
    }
  }
  

