/*
 * Copyright 2007 Jeffrey Palm
 */

var searching = false;
var cities = [];
var LIMIT = 10;

function note(msg) {
  $("note").innerHTML = msg;
}

function newFunction(_c) {
  var city = _c;
  return function(transport) {
    var res = transport.responseText || "";
    var div = $(city + "_div");
    if (res == "") {
      div.innerHTML = " <font color='#770000'><b>no results</b></font>";
    } else {
      var lns = res.split(/\n/);
      for (var i=0; i<lns.length; i++) {
        div.innerHTML += lns[i];
      }
    }
    note("Done with " + city);
    go();
  }
}

function search() {

  if (searching) return;

  var els = document.getElementsByTagName("input");
  cities = [];
  for (var i in els) {
    var el = els[i];
    if (el.className != "o") continue;
    if (!el.checked) continue;
    cities.push(el.value);
  }

  // Only do LIMIT (i.e. 10) at a time
  for (var i=0; i<LIMIT; i++) go();
}

function go() {

  if (cities.length == 0) {
    searching = false;
    return;
  }

  var city = cities.shift();
  note("Searching " + city);
  var q = $("q").value;
  var url = '/multicraig/search.php?city=' + escape(city) + '&q=' + escape(q);
  new Ajax.Request(url, 
                   {
                   method:'get',
                       onSuccess: newFunction(city)
                       }
                   );

}


function selectAll() {
  doSelect(true);
}

function selectNone() {
  doSelect(false);
}

function doSelect(val) {
  var els = document.getElementsByTagName("input");
  for (var i in els) {
    var el = els[i];
    if (el.className != "o") continue;
    el.checked = val;
  }
}

