/* popular_Search.js
 * Handle recent search display on main page.
 *------------------------------------------------------------------------- */

var popular_Search = {

  baseurl_ : '',
  interval_ : null,
  error_ : null,


  /* Initialize recent searches area and setup polling. */
  init : function(baseurl) {
    popular_Search.baseurl_ = baseurl;
    popular_Search.load();
    interval_ = setInterval('popular_Search.load()', 20*1000);
  },


  /* Format search text and ID into a link. */
  make_search : function(text, sid, more) {
    var comma;
    if (more) {
      comma = ',&nbsp;';
    }
    else {
      comma = '';
    }
    return '<dd class="popular">' + comma + '<a href="' 
      + popular_Search.baseurl_ 
      + 'searches/show/' + sid + '">' + text + '</a></dd>';
  },


  /* Remove existing search links. */
  clear : function() {
    $("#popular_searches > dd").empty();
  },


  /* Perform ajax load, update page. */
  load : function() {
    $.getJSON(popular_Search.baseurl_ + "popular_searches",
              function(searches) {
                popular_Search.clear();
		            var item;
		            if (searches.status == '0') {
                  searches.results.reverse();
                  for (var i=0;i<searches.results.length;++i) {
                    item = searches.results[i];
                    $('#popular_searches > dt')
                      .after(popular_Search.make_search(item.query, item.id, 
                                                        ((i+1) < searches.results.length)));
		              }
		            }
		            else {
                  // Else store error for debugging.
                  popular_Search.error_ = searches.results;
                }
              });
  }

};


