  selects=new Array();

  function selectoption(sname,label,value) {
   toggle(sname);
   document.getElementById(sname+'_l').innerHTML=label;
   document.getElementById(sname+'_h').value=value;
   selects[sname][1]=label;
   selects[sname][2]=value;
   if (selects[sname][4]) {
    tmp='document.getElementById(\''+sname+'_h\')';
    eval (selects[sname][4].replace(/this/, tmp));
   }
  }

  function toggle(sname) {
   obj=document.getElementById(sname);
   objc=document.getElementById(sname+'_c').style;

   if (!selects[sname][0]) {

    cobj=obj; otop=0; oleft=0;
    while (cobj.offsetParent!=null) {
     otop=otop+cobj.offsetTop;
     oleft=oleft+cobj.offsetLeft;
     cobj=cobj.offsetParent;
    }

    objc.left=oleft;
    objc.width=obj.style.width;
    objc.display='block';

    toppos=otop+obj.offsetHeight+1;
    if (toppos+document.getElementById(sname+'_c').offsetHeight>document.body.offsetHeight+document.body.scrollTop)
     toppos=otop-document.getElementById(sname+'_c').offsetHeight-1;
    objc.top=toppos;

    selects[sname][0]=1;    

   } else {
      objc.display='none';
      selects[sname][0]=0;
     }
  }

  function da(obj,state) {
   sname=obj.id;
   if ((state==1)&&(selects[sname][0])&&(selects[sname][3])) clearTimeout(selects[sname][3]);
   if ((state==-1)&&(selects[sname][0])) selects[sname][3]=setTimeout('toggle(\''+sname+'\')',300);
  }

  function populate(sname,scontent,sonchange) {
   obj=document.getElementById(sname);

    if (sname!='marca') { classs='options'; classi='optioni'; }
     else { classs='optionsw'; classi='optioniw'; }

   opts=scontent.split(';');
   tmp='';
   for (i=0; i<opts.length; i++) {
    tmp2=opts[i].split('~'); if (!tmp2[1]) tmp2[1]='';
    tmp+='<a href="javascript:;" onclick="selectoption(\''+sname+'\',\''+tmp2[0]+'\',\''+tmp2[1]+'\');" class="'+classi+'">'+((tmp2[0]=='oricare')?('<span style="color:#999999">'):(''))+tmp2[0]+((tmp2[0]=='oricare')?('</span>'):(''))+'</a>';
    if ((!i)||(tmp2[2])) { firstlabel=tmp2[0]; firstvalue=tmp2[1]; }
   }
   tmp='<input id="'+sname+'_h" name="'+sname+'" type="hidden" value="'+firstvalue+'"><div id="'+sname+'_l" class="option" onclick="toggle(\''+sname+'\')">'+firstlabel+'</div><div id="'+sname+'_c" style="position:absolute; top:0px; left:0px; overflow:hidden; white-space:nowrap; display:none" class="'+classs+'">'+tmp;
   tmp+='</div>';
   obj.innerHTML=tmp;

// state, label, value, settimeout id, onchange

   selects[sname]=new Array(0,firstlabel,firstvalue,null,sonchange);
  }
