function onClickHinted(e, className) {
  if (e.hinted != "") {
    e.hinted = "";
    e.value = "";
    e.className = className;
  }
}

function iterDivsByClassName(e, name, f) {
  var els = e.getElementsByTagName("div");
  var pat = "^" + name;
  for (i = 0; i < els.length; ++i) {
    if (els[i].className.match(pat) != null) {
      f (els[i]);
    }
  }
}

function restoreStyle(id, style) {
  iterDivsByClassName(document.getElementById(id), style, function (e) {
    e.className = style;
  });
}

function onClickPrice(price, credits) {
  restoreStyle('buys', 'buys-row');
  restoreStyle('buys', 'checkbox');

  var buys = document.getElementById('buys_' + price);
  buys.className = 'buys-row selected';

  iterDivsByClassName(buys, 'checkbox', function (e) {
    e.className = 'checkbox selected';
  });

  document.forms["buys-form"].elements["price"].value= "" + price;
  document.forms["buys-form"].elements["credit"].value= "" + credits;
}

function animateHomeScreen(ids, idx) {
  setInterval(function () {
      var prev = "#" + ids[idx];

      ++idx;
      if (idx >= ids.length) {
        idx = 0;
      }

      var next = "#" + ids[idx];
      $(prev).fadeOut("slow");
      $(next).fadeIn("slow");
  }, 3000);
}

function checkTransaction(z, tx, dest) {
  var isDone = false;

  setInterval(function () {
      if (!isDone) {
        $.get("/api/v2/tx/ping",
              {"z": z, "tx" : tx},
              function(data) {
                if ("1" == data) {
                  isDone = true;
                  window.location.href = dest;
                }
              });
      }
  }, 8000);
}

