var ACOpenDefault=true;var AutoCompleteInstance=function(){var $D=YAHOO.util.Dom,$E=YAHOO.util.Event,auto=[],clsCheck=['autoconvert','contain'],zindex=100000,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,contain,sel=$D.getElementsByClassName(clsCheck[0],'SELECT'),selId,selName,modElem,inputElem,inputId,contElem,hiddenElem;for(var i=0;i<sel.length;i++){contain=$D.hasClass(sel[i],clsCheck[1]);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');$D.setStyle(modElem,'z-index',zindex);zindex=zindex-100;hiddenElem=document.createElement('INPUT');hiddenElem.setAttribute('type','hidden',true);hiddenElem.setAttribute('id',selId,true);hiddenElem.setAttribute('name',selName,true);inputElem=document.createElement('INPUT');inputElem.setAttribute('type','text',true);$D.addClass(inputElem,'autocompleteInput');inputId=$D.generateId(inputElem,'auto');inputElem.setAttribute('id',inputId,true);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]=[];if(contain){auto[i][0]=new YAHOO.widget.DS_JSFunction(function(sQuery){t=optObj.txt;l=t.length;r=[];if(sQuery&&sQuery.length>0){sQueryLow=sQuery.toLowerCase();sQueryLow=sQueryLow.replace(/^(%20)+/g,'').replace(/(%20)+$/g,'');for(var i=0;i<l;i++){tt=t[i].toLowerCase();tt=tt.replace(/\s+/g,' ').replace(/^\s+/g,'').replace(/\s+$/g,'');if(sQueryLow.indexOf('%20')==-1){tmp=tt.split(' ');tmpl=tmp.length;for(var j=0;j<tmpl;j++){if(encodeURI(tmp[j]).indexOf(sQueryLow)===0){r.push(t[i]);break;}}}else{tmp=encodeURI(tt);if(tmp.indexOf(sQueryLow)===0){r.push(t[i]);}}}}else{r=t;}return r;});}else{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=!contain;auto[i][1].useShadow=true;auto[i][1].minQueryLength=0;auto[i][1].autoHighlight=true;auto[i][1].useIFrame=true;if(ACOpenDefault){auto[i][1].textboxFocusEvent.subscribe(function(){this.sendQuery("");});}auto[i][1].formatResult=function(oResultItem,sQuery){return oResultItem;};auto[i][1].itemSelectEvent.subscribe(function(){var o=arguments[arguments.length-1];o.i.value=arguments[1][arguments[1].length-1];o.h.value=o.o.val[o.i.value];},{h:hiddenElem,i:inputElem,o:optObj});if(inputElem.form){$E.addListener(inputElem.form,'submit',function(){var o=arguments[arguments.length-1];if(o.o.val[o.i.value]){o.h.value=o.o.val[o.i.value];}else{o.h.value=o.i.value;}},{h:hiddenElem,i:inputElem,o:optObj});}}}};rtnObj.replaceSelects=_replaceSelects;$E.addListener(window,'load',function(){rtnObj.replaceSelects();});return rtnObj;}();