   // <![CDATA[
   function selectReplacement(obj)
   {

      obj.className += ' replaced';
      var ul = document.createElement('ul');
      ul.id="ul_"+obj.id;

      ul.className = 'selectReplacement';

      var opts = obj.options;
      for (var i=0; i<opts.length; i++)
      {
         var selectedOpt;
         if (opts[i].selected)
         {
            selectedOpt = i;
            break;
         }
         else
         { selectedOpt = 0; }
      }

      for (var i=0; i<opts.length; i++)
      {

         var li = document.createElement('li');
         var txt = document.createTextNode(opts[i].text);
         var text =opts[i].text;


         li.appendChild(txt);
         li.selIndex = opts[i].index;
         li.selectID = obj.id;
         li.onclick = function() { selectMe(this); }
         li.onmouseover=null;
         if (i == selectedOpt)
         {
            li.className = 'selected';
            li.onclick = function() {
                                      document.selectExpanded=-1;
                                      document.selectId=this.parentNode.id;
                                      this.parentNode.parentNode.style.zIndex=100;
                                      this.parentNode.className += ' selectOpen';
                                      this.onclick = function() { selectMe(this); }

                                    }
         }
         if (window.attachEvent)
         {
            li.onmouseover = function() { this.className += ' hover'; }
            li.onmouseout = function() { this.className = this.className.replace(new RegExp(" hover\\b"), ''); }
         }
         if(obj.onchange)
         {
            li.onclickevent=obj.onchange;
            li.onevents = true;
         }
         if(obj.onclick)
         {
            li.onclickevent=obj.onclick;
            li.onevents = true;
         }
         ul.appendChild(li);
      }
      obj.parentNode.insertBefore(ul,obj);
   }

   function selectMe(obj,question)
   {
      obj.parentNode.parentNode.style.zIndex=99;   
      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
         if (lis[i] != obj)
         {
            lis[i].className='';
            lis[i].onclick = function() { selectMe(this,"yes"); }
         }
         else
         {
            setVal(obj.selectID, obj.selIndex);
            obj.className='selected';
            obj.parentNode.className = obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
            obj.onclick = function() {
                                      document.selectExpanded=-1;
                                      document.selectId=this.parentNode.id;
                                      obj.parentNode.className += ' selectOpen';
                                      this.onclick = function() { selectMe(this,"yes"); }
                                     }
         }
      }
      if(obj.onevents)
      {
         obj.onclick = obj.onclickevent;
         obj.onclick();
      }
   }

   function setVal(objID, selIndex)
   {
      var obj = document.getElementById(objID);
      obj.selectedIndex = selIndex;
   }
   function setForm()
   {
      var s = document.getElementsByTagName('select');
      for (var i=0; i<s.length; i++)
      { selectReplacement(s[i]); }
   }

   window.onload = function()
   { (document.all && !window.print) ? null : setForm(); }

   document.onclick = function()
   {
      if(document.selectExpanded == -1)
      {
         document.selectExpanded=1;
      }
      else if(document.selectExpanded == 1)
      {
         if(document.selectId!="undefined" )
         {
            var obj = document.getElementById(document.selectId);
            obj.className = obj.className.replace(new RegExp(" selectOpen\\b"), '');

            document.selectId="undefined";
            document.selectExpanded=0;
         }
         else
         {
            document.selectExpanded=1;
         }
      }
      else if(document.selectExpanded == 0)
      {
         document.selectExpanded=-1;
      }
   }

   // ]]>

