
/* - compact_form.js - */
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))) {
       return;
     }

     // 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) ? '-10000px' : '0px';
     return true;
   }
 }
}

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


