function grab(id) {
  return document.getElementById(id);
}
function disabler (athing) {
  handler = function () {athing.disabled=true};
  return handler;
}
function focuser (athing) {
  handler = function () {athing.focus()};
  return handler;
}

function mod (a_val, a_base) {
  while (a_val >= a_base) {
    a_val -= a_base
  }
  return a_val
}
function mangle (a_string, postpend) {
  if (postpend && (a_string.length < 5)) {
    a_string = a_string + "post" + a_string + "pend" + a_string
  }
  var l = a_string.length;
  if (l == 0) return "";

  var totalval = 1
  var firstpart = ""
  for (var i =0; i < l; i++) {
    var curr_val = Number(a_string.charCodeAt(i));
    totalval += curr_val;
	firstpart += String.fromCharCode(66 + mod(totalval,25) + 31*mod(totalval,2));
  }

  var firstlength = firstpart.length
  firstpart = firstpart.substring(firstlength-4,firstlength)

  var remaining = a_string.substring(1)

  var returnval = firstpart + mangle(remaining, false)
  returnval = returnval.substring(0,19)
  return returnval
}

function efurlencode(a_string) {
  a_string = a_string.replace(/\//g, " ");
  return encodeURIComponent(a_string);
}
