var AutoCompleteInstance=function(){var $D=YAHOO.util.Dom,$E=YAHOO.util.Event,auto=[],clsCheck='autoconvert',rtnObj={};function _isValidSel(sel){var selMult=sel.getAttribute('multiple');selSize=sel.getAttribute('size');if(selMult||selSize){return false;}return true;};function _getOptions(sel){var opt=sel.options,textArr=valueArr=[];for(var i=0;i<opt.length;i++){textArr[i]=opt[i].text;valueArr[textArr[i]]=opt[i].value;}return{txt:textArr,val:valueArr,sel:opt.selectedIndex};};function _replaceSelects(){var optObj,sel=$D.getElementsByClassName(clsCheck,'SELECT'),selId,selName,modElem,inputElem,inputId,contElem,hiddenElem;for(var i=0;i<sel.length;i++){opt=[];if(_isValidSel(sel[i])){selId=(sel[i].getAttribute('id'))?sel[i].getAttribute('id'):$D.generateId(inputElem,'autoID');selName=(sel[i].getAttribute('name'))?sel[i].getAttribute('name'):$D.generateId(inputElem,'autoName');optObj=_getOptions(sel[i]);reg=$D.getRegion(sel[i]);modElem=document.createElement('DIV');$D.addClass(modElem,'autocompleteModule');$D.setStyle(modElem,'width',(reg['right']-reg['left'])+'px');hiddenElem=document.createElement('INPUT');hiddenElem.setAttribute('type','hidden',true);hiddenElem.setAttribute('id',selId,true);hiddenElem.setAttribute('name',selName,true);inputId=$D.generateId(inputElem,'auto');inputElem=document.createElement('INPUT');inputElem.setAttribute('type','text',true);inputElem.setAttribute('id',inputId,true);$D.addClass(inputElem,'autocompleteInput');if(optObj.sel!=-1){inputElem.value=optObj.txt[optObj.sel];hiddenElem.value=optObj.val[optObj.txt[optObj.sel]];}contElem=document.createElement('DIV');contElem.setAttribute('id',selId+'Container',true);$D.addClass(contElem,'autocompleteContainer');modElem.appendChild(hiddenElem);modElem.appendChild(inputElem);modElem.appendChild(contElem);sel[i].parentNode.insertBefore(modElem,sel[i]);var insertedInput=$D.get(inputId);insertedInput['onblur']=insertedInput['onchange']=sel[i]['onchange'];insertedInput['onclick']=sel[i]['onclick'];sel[i].parentNode.removeChild(sel[i]);auto[i]=[];auto[i][0]=new YAHOO.widget.DS_JSArray(optObj.txt);auto[i][1]=new YAHOO.widget.AutoComplete(inputElem,contElem,auto[i][0]);auto[i][1].prehighlightClassName="yui-ac-prehighlight";auto[i][1].typeAhead=true;auto[i][1].useShadow=true;auto[i][1].minQueryLength=0;auto[i][1].textboxFocusEvent.subscribe(function(){var oSelf=this;setTimeout(function(){oSelf.sendQuery("");},0);});auto[i][1].formatResult=function(oResultItem,sQuery){return oResultItem;};auto[i][1].itemSelectEvent.subscribe(function(){hiddenElem.value=optObj.val[inputElem.value];})}}};rtnObj.replaceSelects=_replaceSelects;$E.addListener(window,'load',function(){rtnObj.replaceSelects();});return rtnObj;}();
