DOM.addEventListener(window, 'load', function () {
  Array.forEach(document.getElementsByTagName('LABEL'), function (label) {
    var field = label.htmlFor && document.getElementById(label.htmlFor);
    if (field && DOM.hasClass(label, 'overlabel')) {
      label.onselect = label.onmousedown = function () {
        return false;
      }
      function show () {
        label.style.display = field.value.length ? 'none' : 'block';
      }
      field.updated = show;
      DOM.addEventListener(field, 'focus', function () {
        label.style.display = 'none';
      });
      DOM.addEventListener(field, 'blur', show);
      DOM.addEventListener(field, 'change', show);
      DOM.addEventListener(label, 'click', function () {
        field.focus();
      });
      show();
    }
  });
  DOM.removeEventListener(window, arguments.callee);
});
