Autocompleter.SelectBox=Class.create();Autocompleter.SelectBox.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(a,d){this.element='<input type="text" id="'+$(a).id+'_combo" style="display:none"/>';this.select=$(a);this.selectOptions=[];this.oldSelectWidth=(this.select).getWidth()+"px";
new Insertion.Before(a,this.element);var f=Element.classNames(a);f.each(function(g){Element.addClassName($(a).id+"_combo",g);});this.update='<div id="'+$(a).id+'_options" class="autocomplete"></div>';new Insertion.Before(a,this.update);this.select_id=$(a).id+"_combo";this.select_opt=$(a).id+"_options";
this.baseInitialize(this.select_id,this.select_opt,d);$(this.element.id).setAttribute("readonly","readonly");this.element.readOnly=true;if(this.options.debug){alert("input "+this.element.id+" and div "+this.update.id+" created, Autocompleter.Base() initialized");}if(!this.options.debug){Element.hide(a);
}var e=$(this.select).getElementsByTagName("option");var c=$A(e);for(i=0;i<c.length;i++){this.selectOptions.push('<li id="'+c[i].value+'">'+c[i].innerHTML+"</li>");if(c[i].getAttribute("selected")){this.element.value=c[i].innerHTML;}if(this.options.debug){alert("option "+c[i].innerHTML+" added to "+this.update.id);
}}Event.observe(this.element,"click",this.activate.bindAsEventListener(this));if($(a).selectedIndex>=0){this.element.value=$(a).options[$(a).selectedIndex].innerHTML;}var b=this;this.options.afterUpdateElement=function(l,g){var k=$(a).getElementsByTagName("option");var h=$A(k);var j=h.find(function(m){return(m.value==g.id);
});$(a).selectedIndex=j.index;$(b.select_id).value=g.innerHTML;if(b.options.redirect){document.location.href=j.value;}if(b.options.onClick){b.options.onClick();}if(b.options.autoSubmit){$(b.options.autoSubmit).submit();}};$(this.select_id).setStyle({display:"block",width:this.oldSelectWidth});},getUpdatedChoices:function(){this.updateChoices(this.setValues());
},setValues:function(){return("<ul>"+this.selectOptions.join("")+"</ul>");},setOptions:function(a){this.options=Object.extend({redirect:false,debug:false,onClick:false,autoSubmit:""},a||{});}});var TestLoader=Class.create();TestLoader.prototype={initialize:function(b,a){this.dialog=$(b);this.options=$(a);
new Autocompleter.SelectBox(a,{debug:false,onClick:this.run.bind(this)});},run:function(){(this.dialog).update(this.options[this.options.selectedIndex].innerHTML+" was clicked");}};
