function initOverLabels () {
 if (!document.getElementById) return;

 var labels, id, field;

 // Set focus and blur handlers to hide and show
 //  // LABELs with 'overlabel' class names.
labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {

if (labels[i].className == 'overlabel') {

    // Skip labels that do not have a named association
    // with another field.
   id = labels[i].htmlFor || labels[i].getAttribute('for');
   if (!id || !(field = document.getElementById(id))) {
       continue;
      }

  // Change the applied class to hover the label
             // over the form field.
              labels[i].className = 'overlabel-apply';

               // Hide any fields having an initial value.
                if (field.value !== '') {
                 hideLabel(field.getAttribute('id'), true);
                  }

                   // Set handlers to show and hide labels.
                    field.onfocus = function () {
                     hideLabel(this.getAttribute('id'), true);
                      };
                       field.onblur = function () {
                        if (this.value === '') {
                         hideLabel(this.getAttribute('id'), false);
                          }
                           };

                            // Handle clicks to LABEL elements (for Safari).
                             labels[i].onclick = function () {
                              var id, field;
                               id = this.getAttribute('for');
                                if (id && (field = document.getElementById(id))) {
                                 field.focus();
                                  }
                                   };

                                    }
                                     }
                                     };

                                     function hideLabel (field_id, hide) {
                                      var field_for;
                                       var labels = document.getElementsByTagName('label');
                                        for (var i = 0; i < labels.length; i++) {
                                         field_for = labels[i].htmlFor || labels[i].getAttribute('for');
                                          if (field_for == field_id) {
                                           labels[i].style.textIndent = (hide) ? '-2000px' : '0px';
                                            return true;
                                             }
                                              }
                                              }

                                              window.onload = function () {
                                               setTimeout(initOverLabels, 50);
                                               };

