     if (supportsDynamicLabels()) {
       document.writeln('<style type="text/css">');
       document.writeln('label.lbl-dynamic { display:none; }');
       document.writeln('</style>');
       addEvent(window, "load", setupLabels);
     }

     function setupLabels() {
       var objLabels = document.getElementsByTagName("LABEL");
       var objField;

       for (var i = 0; i < objLabels.length; i++) {
         if ("lbl-dynamic" == objLabels[i].className) {
           objField = document.getElementById(objLabels[i].htmlFor);
           addEvent(objField, "focus", focusDynamicLabel);
           addEvent(objField, "blur", blurDynamicLabel);
           objField._labelText = objLabels[i].firstChild.nodeValue;
           objField.value = objField._labelText;
         }
       }

       for (var i = 0; i < document.forms.length; i++) {
         addEvent(document.forms[i], "submit", resetLabels);
       }
     }

     function resetLabels(event) {
       var elm = getEventSrc(event);
       var objLabels = elm.getElementsByTagName("LABEL");
       var objField;

       for (var i = 0; i < objLabels.length; i++) {
         if ("lbl-dynamic" == objLabels[i].className) {
           objField = document.getElementById(objLabels[i].htmlFor);
           if (objField._labelText == objField.value) {
             objField.value = "";
           }
         }
       }
     }

     function addEvent(objObject, strEventName, fnHandler) {
       if (objObject.addEventListener)
         objObject.addEventListener(strEventName, fnHandler, false);
       else if (objObject.attachEvent)
         objObject.attachEvent("on" + strEventName, fnHandler);
     }

     function focusDynamicLabel(event) {
       var elm = getEventSrc(event);
       if (elm._labelText == elm.value) {
         elm.value = "";
       }
     }

     function blurDynamicLabel(event) {
       var elm = getEventSrc(event);
       if ("" == elm.value) {
         elm.value = elm._labelText;
       }
     }

     function getEventSrc(e) {
       if (!e) e = window.event;


       if (e.originalTarget)
         return e.originalTarget;
       else if (e.srcElement)
         return e.srcElement;
     }

   function supportsDynamicLabels() {
     return document.getElementById && 
       (window.attachEvent || window.addEventListener) && 
       null == navigator.appVersion.match(/Safari\/\d+$/);
   }