var NAME = (1 << 1);
var ID = (1 << 2);
var DONE = (NAME | ID);
var status = 0;
var submit;

function load(event) {
  submit = document.getElementById('submit');
  document.getElementById('lastname').selectedIndex = 0;
  disableFirstOptions();
  check();
}

function set(field, setIfTrue) {
  if(setIfTrue)  status |= field;	// set bit
  else  status &= (~field);		// unset bit
  check();
}

function check() { submit.disabled = (status != DONE); }

function selected(event) {
  set(NAME, (event.target || event.srcElement).selectedIndex != 0);
}

// ensures that the Student ID field is comprised of only numbers.
function studentIDChar(textbox) {
  textbox.value = textbox.value.replace(/[^\d]/g, '');
  var maxLength = textbox.maxLength || student_id_length || 6;
  set(ID, textbox.value.length == maxLength);
}


function log(o, lines) {
  var s = o.toString() + "\n\n";
  var n = 0;
  for(var p in o) {
    s += p + ': ' + o[p] + "\n";
    if(lines && lines < n++) {
      n = 0;
      alert(s);
      s = "";
    }
  }

  return s;
}

