Autocompleter.SelectBox=Class.create();
Autocompleter.SelectBox.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(_1,_2){
this.element="<input type=\"text\" id=\""+$(_1).id+"_combo\" />";
new Insertion.Before(_1,this.element);
var _3=Element.classNames(_1);
_3.each(function(_4){
Element.addClassName($(_1).id+"_combo",_4);
});
this.update="<div id=\""+$(_1).id+"_options\" class=\"autocomplete\"></div>";
new Insertion.Before(_1,this.update);
this.baseInitialize($(_1).id+"_combo",$(_1).id+"_options",_2);
this.select=_1;
this.selectOptions=[];
$(this.element.id).setAttribute("readonly","readonly");
this.element.readOnly=true;
if(this.options.debug){
console.log("input "+this.element.id+" and div "+this.update.id+" created, Autocompleter.Base() initialized");
}
if(!this.options.debug){
Element.hide(_1);
}
var _5=$(this.select).getElementsByTagName("option");
var _6=$A(_5);
for(i=0;i<_6.length;i++){
this.selectOptions.push("<li id=\""+_6[i].value+"\">"+_6[i].innerHTML+"</li>");
if(_6[i].getAttribute("selected")){
this.element.value=_6[i].innerHTML;
}
if(this.options.debug){
console.log("option "+_6[i].innerHTML+" added to "+this.update.id);
}
}
Event.observe(this.element,"click",this.activate.bindAsEventListener(this));
if($(_1).selectedIndex>=0){
this.element.value=$(_1).options[$(_1).selectedIndex].innerHTML;
}
var _7=this;
this.options.afterUpdateElement=function(_8,li){
var _a=$(_1).getElementsByTagName("option");
var _b=$A(_a);
var _c=_b.find(function(_d){
return (_d.value==li.id);
});
$(_1).selectedIndex=_c.index;
if(_7.options.redirect){
document.location.href=_c.value;
}
if(_7.options.autoSubmit!=""){
$(_7.options.autoSubmit).submit;
}
};
},getUpdatedChoices:function(){
this.updateChoices(this.setValues());
},setValues:function(){
return ("<ul>"+this.selectOptions.join("")+"</ul>");
},setOptions:function(_e){
this.options=Object.extend({redirect:false,debug:false,autoSubmit:""},_e||{});
}});

