function prepareInputsForHints() {
  var inputs = document.getElementsByTagName("input");
  for (var i=0; i<inputs.length; i++){
    // test to see if the hint span exists first
    if (inputs[i].parentNode.getElementsByTagName("div")[0]) {
      // the span exists on focus, show the hint
      inputs[i].onfocus = function () {
        this.parentNode.getElementsByTagName("div")[0].style.display = "block";
      }
      // when the cursor moves away from the field, hide the hint
      inputs[i].onblur = function () {
        this.parentNode.getElementsByTagName("div")[0].style.display = "none";
      }
    }
  }
  // repeat the same tests as above for selects
  var selects = document.getElementsByTagName("select");
  for (var k=0; k<selects.length; k++){
    if (selects[k].parentNode.getElementsByTagName("div")[0]) {
      selects[k].onfocus = function () {
        this.parentNode.getElementsByTagName("div")[0].style.display = "block";
      }
      selects[k].onblur = function () {
        this.parentNode.getElementsByTagName("div")[0].style.display = "none";
      }
    }
  }
}

