function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function prepareInputsForHints() {
    var tags = ['input', 'select', 'textarea' ];
    for(var t = 0; t < tags.length; t++) {
        var inputs = document.getElementsByTagName(tags[t]);
        for (var i=0; i<inputs.length; i++){
            connectInputHint(inputs[i]);
        }
    }
}

function connectInputHint(input) {
    var span = input.parentNode.getElementsByTagName("span")[0];
    if(span) {
        // Add pointer
        var pointer = document.createElement('span');
        pointer.className = 'hint-pointer';
        pointer.innerHTML = ' ';
        span.appendChild(pointer);

        // Hook up events
        input.onfocus = function () {
            span.style.display = "inline";
        }
        input.onblur = function () {
            span.style.display = "none";
        }
    }
}
addLoadEvent(prepareInputsForHints);