YAHOO.widget.AutoComplete=function(R,M,O,K){if(R&&M&&O){if(O instanceof YAHOO.widget.DataSource){this.dataSource=O}else{return }if(YAHOO.util.Dom.inDocument(R)){if(YAHOO.lang.isString(R)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+R;this._oTextbox=document.getElementById(R)}else{this._sName=(R.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+R.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._oTextbox=R}YAHOO.util.Dom.addClass(this._oTextbox,"yui-ac-input")}else{return }if(YAHOO.util.Dom.inDocument(M)){if(YAHOO.lang.isString(M)){this._oContainer=document.getElementById(M)}else{this._oContainer=M}if(this._oContainer.style.display=="none"){}var T=this._oContainer.parentNode;var N=T.tagName.toLowerCase();if(N=="div"){YAHOO.util.Dom.addClass(T,"yui-ac")}else{}}else{return }if(K&&(K.constructor==Object)){for(var P in K){if(P){this[P]=K[P]}}}this._initContainer();this._initProps();this._initList();this._initContainerHelpers();var Q=this;var S=this._oTextbox;var L=this._oContainer._oContent;YAHOO.util.Event.addListener(S,"keyup",Q._onTextboxKeyUp,Q);YAHOO.util.Event.addListener(S,"keydown",Q._onTextboxKeyDown,Q);YAHOO.util.Event.addListener(S,"focus",Q._onTextboxFocus,Q);YAHOO.util.Event.addListener(S,"blur",Q._onTextboxBlur,Q);YAHOO.util.Event.addListener(L,"mouseover",Q._onContainerMouseover,Q);YAHOO.util.Event.addListener(L,"mouseout",Q._onContainerMouseout,Q);YAHOO.util.Event.addListener(L,"scroll",Q._onContainerScroll,Q);YAHOO.util.Event.addListener(L,"resize",Q._onContainerResize,Q);YAHOO.util.Event.addListener(S,"keypress",Q._onTextboxKeyPress,Q);YAHOO.util.Event.addListener(window,"unload",Q._onWindowUnload,Q);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);S.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++}else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen};YAHOO.widget.AutoComplete.prototype.getListItems=function(){return this._aListItems};YAHOO.widget.AutoComplete.prototype.getListItemData=function(B){if(B._oResultData){return B._oResultData}else{return false}};YAHOO.widget.AutoComplete.prototype.setHeader=function(B){if(B){if(this._oContainer._oContent._oHeader){this._oContainer._oContent._oHeader.innerHTML=B;this._oContainer._oContent._oHeader.style.display="block"}}else{this._oContainer._oContent._oHeader.innerHTML="";this._oContainer._oContent._oHeader.style.display="none"}};YAHOO.widget.AutoComplete.prototype.setFooter=function(B){if(B){if(this._oContainer._oContent._oFooter){this._oContainer._oContent._oFooter.innerHTML=B;this._oContainer._oContent._oFooter.style.display="block"}}else{this._oContainer._oContent._oFooter.innerHTML="";this._oContainer._oContent._oFooter.style.display="none"}};YAHOO.widget.AutoComplete.prototype.setBody=function(B){if(B){if(this._oContainer._oContent._oBody){this._oContainer._oContent._oBody.innerHTML=B;this._oContainer._oContent._oBody.style.display="block";this._oContainer._oContent.style.display="block"}}else{this._oContainer._oContent._oBody.innerHTML="";this._oContainer._oContent.style.display="none"}this._maxResultsDisplayed=0};YAHOO.widget.AutoComplete.prototype.formatResult=function(F,E){var D=F[0];if(D){return D}else{return""}};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(E,H,F,G){return true};YAHOO.widget.AutoComplete.prototype.sendQuery=function(B){this._sendQuery(B)};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(B){return B};YAHOO.widget.AutoComplete.prototype.destroy=function(){var H=this.toString();var E=this._oTextbox;var F=this._oContainer;this.textboxFocusEvent.unsubscribe();this.textboxKeyEvent.unsubscribe();this.dataRequestEvent.unsubscribe();this.dataReturnEvent.unsubscribe();this.dataErrorEvent.unsubscribe();this.containerExpandEvent.unsubscribe();this.typeAheadEvent.unsubscribe();this.itemMouseOverEvent.unsubscribe();this.itemMouseOutEvent.unsubscribe();this.itemArrowToEvent.unsubscribe();this.itemArrowFromEvent.unsubscribe();this.itemSelectEvent.unsubscribe();this.unmatchedItemSelectEvent.unsubscribe();this.selectionEnforceEvent.unsubscribe();this.containerCollapseEvent.unsubscribe();this.textboxBlurEvent.unsubscribe();YAHOO.util.Event.purgeElement(E,true);YAHOO.util.Event.purgeElement(F,true);F.innerHTML="";for(var G in this){if(YAHOO.lang.hasOwnProperty(this,G)){this[G]=null}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete._nIndex=0;YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._oTextbox=null;YAHOO.widget.AutoComplete.prototype._bFocused=true;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._oContainer=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._aListItems=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._maxResultsDisplayed=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sSavedQuery=null;YAHOO.widget.AutoComplete.prototype._oCurItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var J=this.minQueryLength;if(!YAHOO.lang.isNumber(J)){this.minQueryLength=1}var H=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(H)||(H<1)){this.maxResultsDisplayed=10}var G=this.queryDelay;if(!YAHOO.lang.isNumber(G)||(G<0)){this.queryDelay=0.2}var F=this.delimChar;if(YAHOO.lang.isString(F)&&(F.length>0)){this.delimChar=[F]}else{if(!YAHOO.lang.isArray(F)){this.delimChar=null}}var I=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(I)||(I<0)){this.animSpeed=0.3}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._oContainer._oContent,{},this.animSpeed)}else{this._oAnim.duration=this.animSpeed}}if(this.forceSelection&&F){}};YAHOO.widget.AutoComplete.prototype._initContainerHelpers=function(){if(this.useShadow&&!this._oContainer._oShadow){var D=document.createElement("div");D.className="yui-ac-shadow";this._oContainer._oShadow=this._oContainer.appendChild(D)}if(this.useIFrame&&!this._oContainer._oIFrame){var C=document.createElement("iframe");C.src=this._iFrameSrc;C.frameBorder=0;C.scrolling="no";C.style.position="absolute";C.style.width="100%";C.style.height="100%";C.tabIndex=-1;this._oContainer._oIFrame=this._oContainer.appendChild(C)}};YAHOO.widget.AutoComplete.prototype._initContainer=function(){YAHOO.util.Dom.addClass(this._oContainer,"yui-ac-container");if(!this._oContainer._oContent){var F=document.createElement("div");F.className="yui-ac-content";F.style.display="none";this._oContainer._oContent=this._oContainer.appendChild(F);var H=document.createElement("div");H.className="yui-ac-hd";H.style.display="none";this._oContainer._oContent._oHeader=this._oContainer._oContent.appendChild(H);var G=document.createElement("div");G.className="yui-ac-bd";this._oContainer._oContent._oBody=this._oContainer._oContent.appendChild(G);var E=document.createElement("div");E.className="yui-ac-ft";E.style.display="none";this._oContainer._oContent._oFooter=this._oContainer._oContent.appendChild(E)}else{}};YAHOO.widget.AutoComplete.prototype._initList=function(){this._aListItems=[];while(this._oContainer._oContent._oBody.hasChildNodes()){var J=this.getListItems();if(J){for(var F=J.length-1;F>=0;F--){J[F]=null}}this._oContainer._oContent._oBody.innerHTML=""}var G=document.createElement("ul");G=this._oContainer._oContent._oBody.appendChild(G);for(var I=0;I<this.maxResultsDisplayed;I++){var H=document.createElement("li");H=G.appendChild(H);this._aListItems[I]=H;this._initListItem(H,I)}this._maxResultsDisplayed=this.maxResultsDisplayed};YAHOO.widget.AutoComplete.prototype._initListItem=function(E,F){var D=this;E.style.display="none";E._nItemIndex=F;E.mouseover=E.mouseout=E.onclick=null;YAHOO.util.Event.addListener(E,"mouseover",D._onItemMouseover,D);YAHOO.util.Event.addListener(E,"mouseout",D._onItemMouseout,D);YAHOO.util.Event.addListener(E,"click",D._onItemMouseclick,D)};YAHOO.widget.AutoComplete.prototype._onIMEDetected=function(B){B._enableIntervalDetection()};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var C=this._oTextbox.value;var D=this._sLastTextboxValue;if(C!=D){this._sLastTextboxValue=C;this._sendQuery(C)}};YAHOO.widget.AutoComplete.prototype._cancelIntervalDetection=function(B){if(B._queryInterval){clearInterval(B._queryInterval)}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(B){if((B==9)||(B==13)||(B==16)||(B==17)||(B>=18&&B<=20)||(B==27)||(B>=33&&B<=35)||(B>=36&&B<=40)||(B>=44&&B<=45)){return true}return false};YAHOO.widget.AutoComplete.prototype._sendQuery=function(I){if(this.minQueryLength==-1){this._toggleContainer(false);return }var M=(this.delimChar)?this.delimChar:null;if(M){var K=-1;for(var N=M.length-1;N>=0;N--){var J=I.lastIndexOf(M[N]);if(J>K){K=J}}if(M[N]==" "){for(var H=M.length-1;H>=0;H--){if(I[K-1]==M[H]){K--;break}}}if(K>-1){var L=K+1;while(I.charAt(L)==" "){L+=1}this._sSavedQuery=I.substring(0,L);I=I.substr(L)}else{if(I.indexOf(this._sSavedQuery)<0){this._sSavedQuery=null}}}if((I&&(I.length<this.minQueryLength))||(!I&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID)}this._toggleContainer(false);return }I=encodeURIComponent(I);this._nDelayID=-1;I=this.doBeforeSendQuery(I);this.dataRequestEvent.fire(this,I);this.dataSource.getResults(this._populateList,I,this)};YAHOO.widget.AutoComplete.prototype._populateList=function(X,W,Z){if(W===null){Z.dataErrorEvent.fire(Z,X)}if(!Z._bFocused||!W){return }var S=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);var T=Z._oContainer._oContent.style;T.width=(!S)?null:"";T.height=(!S)?null:"";var a=decodeURIComponent(X);Z._sCurQuery=a;Z._bItemSelected=false;if(Z._maxResultsDisplayed!=Z.maxResultsDisplayed){Z._initList()}var Q=Math.min(W.length,Z.maxResultsDisplayed);Z._nDisplayedItems=Q;if(Q>0){Z._initContainerHelpers();var P=Z._aListItems;for(var b=Q-1;b>=0;b--){var U=P[b];var R=W[b];U.innerHTML=Z.formatResult(R,a);U.style.display="list-item";U._sResultKey=R[0];U._oResultData=R}for(var c=P.length-1;c>=Q;c--){var V=P[c];V.innerHTML=null;V.style.display="none";V._sResultKey=null;V._oResultData=null}var Y=Z.doBeforeExpandContainer(Z._oTextbox,Z._oContainer,X,W);Z._toggleContainer(Y);if(Z.autoHighlight){var d=P[0];Z._toggleHighlight(d,"to");Z.itemArrowToEvent.fire(Z,d);Z._typeAhead(d,X)}else{Z._oCurItem=null}}else{Z._toggleContainer(false)}Z.dataReturnEvent.fire(Z,X,W)};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var E=this._oTextbox.value;var F=(this.delimChar)?this.delimChar[0]:null;var D=(F)?E.lastIndexOf(F,E.length-2):-1;if(D>-1){this._oTextbox.value=E.substring(0,D)}else{this._oTextbox.value=""}this._sSavedQuery=this._oTextbox.value;this.selectionEnforceEvent.fire(this)};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var F=null;for(var E=this._nDisplayedItems-1;E>=0;E--){var G=this._aListItems[E];var H=G._sResultKey.toLowerCase();if(H==this._sCurQuery.toLowerCase()){F=G;break}}return(F)};YAHOO.widget.AutoComplete.prototype._typeAhead=function(K,I){if(!this.typeAhead||(this._nKeyCode==8)){return }var N=this._oTextbox;var J=this._oTextbox.value;if(!N.setSelectionRange&&!N.createTextRange){return }var M=J.length;this._updateValue(K);var L=N.value.length;this._selectText(N,M,L);var H=N.value.substr(M,L);this.typeAheadEvent.fire(this,I,H)};YAHOO.widget.AutoComplete.prototype._selectText=function(E,H,G){if(E.setSelectionRange){E.setSelectionRange(H,G)}else{if(E.createTextRange){var F=E.createTextRange();F.moveStart("character",H);F.moveEnd("character",G-E.value.length);F.select()}else{E.select()}}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(H){var F=false;var G=this._oContainer._oContent.offsetWidth+"px";var E=this._oContainer._oContent.offsetHeight+"px";if(this.useIFrame&&this._oContainer._oIFrame){F=true;if(H){this._oContainer._oIFrame.style.width=G;this._oContainer._oIFrame.style.height=E}else{this._oContainer._oIFrame.style.width=0;this._oContainer._oIFrame.style.height=0}}if(this.useShadow&&this._oContainer._oShadow){F=true;if(H){this._oContainer._oShadow.style.width=G;this._oContainer._oShadow.style.height=E}else{this._oContainer._oShadow.style.width=0;this._oContainer._oShadow.style.height=0}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(S){var Q=this._oContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return }if(!S){this._oContainer._oContent.scrollTop=0;var N=this._aListItems;if(N&&(N.length>0)){for(var V=N.length-1;V>=0;V--){N[V].style.display="none"}}if(this._oCurItem){this._toggleHighlight(this._oCurItem,"from")}this._oCurItem=null;this._nDisplayedItems=0;this._sCurQuery=null}if(!S&&!this._bContainerOpen){Q._oContent.style.display="none";return }var O=this._oAnim;if(O&&O.getEl()&&(this.animHoriz||this.animVert)){if(!S){this._toggleContainerHelpers(S)}if(O.isAnimated()){O.stop()}var U=Q._oContent.cloneNode(true);Q.appendChild(U);U.style.top="-9000px";U.style.display="block";var W=U.offsetWidth;var M=U.offsetHeight;var P=(this.animHoriz)?0:W;var X=(this.animVert)?0:M;O.attributes=(S)?{width:{to:W},height:{to:M}}:{width:{to:P},height:{to:X}};if(S&&!this._bContainerOpen){Q._oContent.style.width=P+"px";Q._oContent.style.height=X+"px"}else{Q._oContent.style.width=W+"px";Q._oContent.style.height=M+"px"}Q.removeChild(U);U=null;var T=this;var R=function(){O.onComplete.unsubscribeAll();if(S){T.containerExpandEvent.fire(T)}else{Q._oContent.style.display="none";T.containerCollapseEvent.fire(T)}T._toggleContainerHelpers(S)};Q._oContent.style.display="block";O.onComplete.subscribe(R);O.animate();this._bContainerOpen=S}else{if(S){Q._oContent.style.display="block";this.containerExpandEvent.fire(this)}else{Q._oContent.style.display="none";this.containerCollapseEvent.fire(this)}this._toggleContainerHelpers(S);this._bContainerOpen=S}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(D,E){var F=this.highlightClassName;if(this._oCurItem){YAHOO.util.Dom.removeClass(this._oCurItem,F)}if((E=="to")&&F){YAHOO.util.Dom.addClass(D,F);this._oCurItem=D}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(D,E){if(D==this._oCurItem){return }var F=this.prehighlightClassName;if((E=="mouseover")&&F){YAHOO.util.Dom.addClass(D,F)}else{YAHOO.util.Dom.removeClass(D,F)}};YAHOO.widget.AutoComplete.prototype._updateValue=function(H){var K=this._oTextbox;var I=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var L=this._sSavedQuery;var J=H._sResultKey;K.focus();K.value="";if(I){if(L){K.value=L}K.value+=J+I;if(I!=" "){K.value+=" "}}else{K.value=J}if(K.type=="textarea"){K.scrollTop=K.scrollHeight}var G=K.value.length;this._selectText(K,G,G);this._oCurItem=H};YAHOO.widget.AutoComplete.prototype._selectItem=function(B){this._bItemSelected=true;this._updateValue(B);this._cancelIntervalDetection(this);this.itemSelectEvent.fire(this,B,B._oResultData);this._toggleContainer(false)};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._oCurItem){this._selectItem(this._oCurItem)}else{this._toggleContainer(false)}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(I){if(this._bContainerOpen){var L=this._oCurItem;var J=-1;if(L){J=L._nItemIndex}var M=(I==40)?(J+1):(J-1);if(M<-2||M>=this._nDisplayedItems){return }if(L){this._toggleHighlight(L,"from");this.itemArrowFromEvent.fire(this,L)}if(M==-1){if(this.delimChar&&this._sSavedQuery){if(!this._textMatchesOption()){this._oTextbox.value=this._sSavedQuery}else{this._oTextbox.value=this._sSavedQuery+this._sCurQuery}}else{this._oTextbox.value=this._sCurQuery}this._oCurItem=null;return }if(M==-2){this._toggleContainer(false);return }var N=this._aListItems[M];var K=this._oContainer._oContent;var H=((YAHOO.util.Dom.getStyle(K,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(K,"overflowY")=="auto"));if(H&&(M>-1)&&(M<this._nDisplayedItems)){if(I==40){if((N.offsetTop+N.offsetHeight)>(K.scrollTop+K.offsetHeight)){K.scrollTop=(N.offsetTop+N.offsetHeight)-K.offsetHeight}else{if((N.offsetTop+N.offsetHeight)<K.scrollTop){K.scrollTop=N.offsetTop}}}else{if(N.offsetTop<K.scrollTop){this._oContainer._oContent.scrollTop=N.offsetTop}else{if(N.offsetTop>(K.scrollTop+K.offsetHeight)){this._oContainer._oContent.scrollTop=(N.offsetTop+N.offsetHeight)-K.offsetHeight}}}}this._toggleHighlight(N,"to");this.itemArrowToEvent.fire(this,N);if(this.typeAhead){this._updateValue(N)}}};YAHOO.widget.AutoComplete.prototype._onItemMouseover=function(C,D){if(D.prehighlightClassName){D._togglePrehighlight(this,"mouseover")}else{D._toggleHighlight(this,"to")}D.itemMouseOverEvent.fire(D,this)};YAHOO.widget.AutoComplete.prototype._onItemMouseout=function(C,D){if(D.prehighlightClassName){D._togglePrehighlight(this,"mouseout")}else{D._toggleHighlight(this,"from")}D.itemMouseOutEvent.fire(D,this)};YAHOO.widget.AutoComplete.prototype._onItemMouseclick=function(C,D){D._toggleHighlight(this,"to");D._selectItem(this)};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(C,D){D._bOverContainer=true};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(C,D){D._bOverContainer=false;if(D._oCurItem){D._toggleHighlight(D._oCurItem,"to")}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(C,D){D._oTextbox.focus()};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(C,D){D._toggleContainerHelpers(D._bContainerOpen)};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(E,G){var F=E.keyCode;switch(F){case 9:if(G._oCurItem){if(G.delimChar&&(G._nKeyCode!=F)){if(G._bContainerOpen){YAHOO.util.Event.stopEvent(E)}}G._selectItem(G._oCurItem)}else{G._toggleContainer(false)}break;case 13:var H=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(!H){if(G._oCurItem){if(G._nKeyCode!=F){if(G._bContainerOpen){YAHOO.util.Event.stopEvent(E)}}G._selectItem(G._oCurItem)}else{G._toggleContainer(false)}}break;case 27:G._toggleContainer(false);return ;case 39:G._jumpSelection();break;case 38:YAHOO.util.Event.stopEvent(E);G._moveSelection(F);break;case 40:YAHOO.util.Event.stopEvent(E);G._moveSelection(F);break;default:break}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(E,G){var F=E.keyCode;var H=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(H){switch(F){case 9:if(G._oCurItem){if(G.delimChar&&(G._nKeyCode!=F)){YAHOO.util.Event.stopEvent(E)}}break;case 13:if(G._oCurItem){if(G._nKeyCode!=F){if(G._bContainerOpen){YAHOO.util.Event.stopEvent(E)}}G._selectItem(G._oCurItem)}else{G._toggleContainer(false)}break;case 38:case 40:YAHOO.util.Event.stopEvent(E);break;default:break}}else{if(F==229){G._queryInterval=setInterval(function(){G._onIMEDetected(G)},500)}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(J,H){H._initProps();var G=J.keyCode;H._nKeyCode=G;var I=this.value;if(H._isIgnoreKey(G)||(I.toLowerCase()==H._sCurQuery)){return }else{H._bItemSelected=false;YAHOO.util.Dom.removeClass(H._oCurItem,H.highlightClassName);H._oCurItem=null;H.textboxKeyEvent.fire(H,G)}if(H.queryDelay>0){var F=setTimeout(function(){H._sendQuery(I)},(H.queryDelay*1000));if(H._nDelayID!=-1){clearTimeout(H._nDelayID)}H._nDelayID=F}else{H._sendQuery(I)}};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(C,D){D._oTextbox.setAttribute("autocomplete","off");D._bFocused=true;if(!D._bItemSelected){D.textboxFocusEvent.fire(D)}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(D,F){if(!F._bOverContainer||(F._nKeyCode==9)){if(!F._bItemSelected){var E=F._textMatchesOption();if(!F._bContainerOpen||(F._bContainerOpen&&(E===null))){if(F.forceSelection){F._clearSelection()}else{F.unmatchedItemSelectEvent.fire(F)}}else{if(F.forceSelection){F._selectItem(E)}}}if(F._bContainerOpen){F._toggleContainer(false)}F._cancelIntervalDetection(F);F._bFocused=false;F.textboxBlurEvent.fire(F)}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(C,D){if(D&&D._oTextbox&&D.allowBrowserAutocomplete){D._oTextbox.setAttribute("autocomplete","on")}};YAHOO.widget.DataSource=function(){};YAHOO.widget.DataSource.ERROR_DATANULL="Response data was null";YAHOO.widget.DataSource.ERROR_DATAPARSE="Response data could not be parsed";YAHOO.widget.DataSource.prototype.maxCacheEntries=15;YAHOO.widget.DataSource.prototype.queryMatchContains=false;YAHOO.widget.DataSource.prototype.queryMatchSubset=false;YAHOO.widget.DataSource.prototype.queryMatchCase=false;YAHOO.widget.DataSource.prototype.toString=function(){return"DataSource "+this._sName};YAHOO.widget.DataSource.prototype.getResults=function(E,F,H){var G=this._doQueryCache(E,F,H);if(G.length===0){this.queryEvent.fire(this,H,F);this.doQuery(E,F,H)}};YAHOO.widget.DataSource.prototype.doQuery=function(D,E,F){};YAHOO.widget.DataSource.prototype.flushCache=function(){if(this._aCache){this._aCache=[]}if(this._aCacheHelper){this._aCacheHelper=[]}this.cacheFlushEvent.fire(this)};YAHOO.widget.DataSource.prototype.queryEvent=null;YAHOO.widget.DataSource.prototype.cacheQueryEvent=null;YAHOO.widget.DataSource.prototype.getResultsEvent=null;YAHOO.widget.DataSource.prototype.getCachedResultsEvent=null;YAHOO.widget.DataSource.prototype.dataErrorEvent=null;YAHOO.widget.DataSource.prototype.cacheFlushEvent=null;YAHOO.widget.DataSource._nIndex=0;YAHOO.widget.DataSource.prototype._sName=null;YAHOO.widget.DataSource.prototype._aCache=null;YAHOO.widget.DataSource.prototype._init=function(){var B=this.maxCacheEntries;if(!YAHOO.lang.isNumber(B)||(B<0)){B=0}if(B>0&&!this._aCache){this._aCache=[]}this._sName="instance"+YAHOO.widget.DataSource._nIndex;YAHOO.widget.DataSource._nIndex++;this.queryEvent=new YAHOO.util.CustomEvent("query",this);this.cacheQueryEvent=new YAHOO.util.CustomEvent("cacheQuery",this);this.getResultsEvent=new YAHOO.util.CustomEvent("getResults",this);this.getCachedResultsEvent=new YAHOO.util.CustomEvent("getCachedResults",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.cacheFlushEvent=new YAHOO.util.CustomEvent("cacheFlush",this)};YAHOO.widget.DataSource.prototype._addCacheElem=function(D){var C=this._aCache;if(!C||!D||!D.query||!D.results){return }if(C.length>=this.maxCacheEntries){C.shift()}C.push(D)};YAHOO.widget.DataSource.prototype._doQueryCache=function(j,b,W){var c=[];var d=false;var a=this._aCache;var e=(a)?a.length:0;var Z=this.queryMatchContains;var g;if((this.maxCacheEntries>0)&&a&&(e>0)){this.cacheQueryEvent.fire(this,W,b);if(!this.queryMatchCase){g=b;b=b.toLowerCase()}for(var U=e-1;U>=0;U--){var f=a[U];var i=f.results;var h=(!this.queryMatchCase)?encodeURIComponent(f.query).toLowerCase():encodeURIComponent(f.query);if(h==b){d=true;c=i;if(U!=e-1){a.splice(U,1);this._addCacheElem(f)}break}else{if(this.queryMatchSubset){for(var V=b.length-1;V>=0;V--){var S=b.substr(0,V);if(h==S){d=true;for(var X=i.length-1;X>=0;X--){var T=i[X];var Y=(this.queryMatchCase)?encodeURIComponent(T[0]).indexOf(b):encodeURIComponent(T[0]).toLowerCase().indexOf(b);if((!Z&&(Y===0))||(Z&&(Y>-1))){c.unshift(T)}}f={};f.query=b;f.results=c;this._addCacheElem(f);break}}if(d){break}}}}if(d){this.getCachedResultsEvent.fire(this,W,g,c);j(g,c,W)}}return c};YAHOO.widget.DS_XHR=function(G,E,F){if(F&&(F.constructor==Object)){for(var H in F){this[H]=F[H]}}if(!YAHOO.lang.isArray(E)||!YAHOO.lang.isString(G)){return }this.schema=E;this.scriptURI=G;this._init()};YAHOO.widget.DS_XHR.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_XHR.TYPE_JSON=0;YAHOO.widget.DS_XHR.TYPE_XML=1;YAHOO.widget.DS_XHR.TYPE_FLAT=2;YAHOO.widget.DS_XHR.ERROR_DATAXHR="XHR response failed";YAHOO.widget.DS_XHR.prototype.connMgr=YAHOO.util.Connect;YAHOO.widget.DS_XHR.prototype.connTimeout=0;YAHOO.widget.DS_XHR.prototype.scriptURI=null;YAHOO.widget.DS_XHR.prototype.scriptQueryParam="query";YAHOO.widget.DS_XHR.prototype.scriptQueryAppend="";YAHOO.widget.DS_XHR.prototype.responseType=YAHOO.widget.DS_XHR.TYPE_JSON;YAHOO.widget.DS_XHR.prototype.responseStripAfter="\n<!-";YAHOO.widget.DS_XHR.prototype.doQuery=function(T,R,M){var O=(this.responseType==YAHOO.widget.DS_XHR.TYPE_XML);var K=this.scriptURI+"?"+this.scriptQueryParam+"="+R;if(this.scriptQueryAppend.length>0){K+="&"+this.scriptQueryAppend}var L=null;var S=this;var P=function(B){if(!S._oConn||(B.tId!=S._oConn.tId)){S.dataErrorEvent.fire(S,M,R,YAHOO.widget.DataSource.ERROR_DATANULL);return }for(var C in B){}if(!O){B=B.responseText}else{B=B.responseXML}if(B===null){S.dataErrorEvent.fire(S,M,R,YAHOO.widget.DataSource.ERROR_DATANULL);return }var D=S.parseResponse(R,B,M);var A={};A.query=decodeURIComponent(R);A.results=D;if(D===null){S.dataErrorEvent.fire(S,M,R,YAHOO.widget.DataSource.ERROR_DATAPARSE);D=[]}else{S.getResultsEvent.fire(S,M,R,D);S._addCacheElem(A)}T(R,D,M)};var N=function(A){S.dataErrorEvent.fire(S,M,R,YAHOO.widget.DS_XHR.ERROR_DATAXHR);return };var Q={success:P,failure:N};if(YAHOO.lang.isNumber(this.connTimeout)&&(this.connTimeout>0)){Q.timeout=this.connTimeout}if(this._oConn){this.connMgr.abort(this._oConn)}S._oConn=this.connMgr.asyncRequest("POST",K,Q,"query="+R)};YAHOO.widget.DS_XHR.prototype.parseResponse=function(sQuery,oResponse,oParent){var aSchema=this.schema;var aResults=[];var bError=false;var nEnd=((this.responseStripAfter!=="")&&(oResponse.indexOf))?oResponse.indexOf(this.responseStripAfter):-1;if(nEnd!=-1){oResponse=oResponse.substring(0,nEnd)}switch(this.responseType){case YAHOO.widget.DS_XHR.TYPE_JSON:var jsonList,jsonObjParsed;var isNotMac=(navigator.userAgent.toLowerCase().indexOf("khtml")==-1);if(oResponse.parseJSON&&isNotMac){jsonObjParsed=oResponse.parseJSON();if(!jsonObjParsed){bError=true}else{try{jsonList=eval("jsonObjParsed."+aSchema[0])}catch(e){bError=true;break}}}else{if(YAHOO.lang.JSON&&isNotMac){jsonObjParsed=YAHOO.lang.JSON.parse(oResponse);if(!jsonObjParsed){bError=true;break}else{try{jsonList=eval("jsonObjParsed."+aSchema[0])}catch(e){bError=true;break}}}else{if(window.JSON&&isNotMac){jsonObjParsed=JSON.parse(oResponse);if(!jsonObjParsed){bError=true;break}else{try{jsonList=eval("jsonObjParsed."+aSchema[0])}catch(e){bError=true;break}}}else{try{while(oResponse.substring(0,1)==" "){oResponse=oResponse.substring(1,oResponse.length)}if(oResponse.indexOf("{")<0){bError=true;break}if(oResponse.indexOf("{}")===0){break}var jsonObjRaw=eval("("+oResponse+")");if(!jsonObjRaw){bError=true;break}jsonList=eval("(jsonObjRaw."+aSchema[0]+")")}catch(e){bError=true;break}}}}if(!jsonList){bError=true;break}if(!YAHOO.lang.isArray(jsonList)){jsonList=[jsonList]}for(var i=jsonList.length-1;i>=0;i--){var aResultItem=[];var jsonResult=jsonList[i];for(var j=aSchema.length-1;j>=1;j--){var dataFieldValue=jsonResult[aSchema[j]];if(!dataFieldValue){dataFieldValue=""}aResultItem.unshift(dataFieldValue)}if(aResultItem.length==1){aResultItem.push(jsonResult)}aResults.unshift(aResultItem)}break;case YAHOO.widget.DS_XHR.TYPE_XML:var xmlList=oResponse.getElementsByTagName(aSchema[0]);if(!xmlList){bError=true;break}for(var k=xmlList.length-1;k>=0;k--){var result=xmlList.item(k);var aFieldSet=[];for(var m=aSchema.length-1;m>=1;m--){var sValue=null;var xmlAttr=result.attributes.getNamedItem(aSchema[m]);if(xmlAttr){sValue=xmlAttr.value}else{var xmlNode=result.getElementsByTagName(aSchema[m]);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0).firstChild){sValue=xmlNode.item(0).firstChild.nodeValue}else{sValue=""}}aFieldSet.unshift(sValue)}aResults.unshift(aFieldSet)}break;case YAHOO.widget.DS_XHR.TYPE_FLAT:if(oResponse.length>0){var newLength=oResponse.length-aSchema[0].length;if(oResponse.substr(newLength)==aSchema[0]){oResponse=oResponse.substr(0,newLength)}var aRecords=oResponse.split(aSchema[0]);for(var n=aRecords.length-1;n>=0;n--){aResults[n]=aRecords[n].split(aSchema[1])}}break;default:break}sQuery=null;oResponse=null;oParent=null;if(bError){return null}else{return aResults}};YAHOO.widget.DS_XHR.prototype._oConn=null;YAHOO.widget.DS_ScriptNode=function(F,E,G){if(G&&(G.constructor==Object)){for(var H in G){this[H]=G[H]}}if(!YAHOO.lang.isArray(E)||!YAHOO.lang.isString(F)){return }this.schema=E;this.scriptURI=F;this._init()};YAHOO.widget.DS_ScriptNode.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_ScriptNode.prototype.getUtility=YAHOO.util.Get;YAHOO.widget.DS_ScriptNode.prototype.scriptURI=null;YAHOO.widget.DS_ScriptNode.prototype.scriptQueryParam="query";YAHOO.widget.DS_ScriptNode.prototype.asyncMode="allowAll";YAHOO.widget.DS_ScriptNode.prototype.scriptCallbackParam="callback";YAHOO.widget.DS_ScriptNode.callbacks=[];YAHOO.widget.DS_ScriptNode._nId=0;YAHOO.widget.DS_ScriptNode._nPending=0;YAHOO.widget.DS_ScriptNode.prototype.doQuery=function(G,H,K){var L=this;if(YAHOO.widget.DS_ScriptNode._nPending===0){YAHOO.widget.DS_ScriptNode.callbacks=[];YAHOO.widget.DS_ScriptNode._nId=0}var I=YAHOO.widget.DS_ScriptNode._nId;YAHOO.widget.DS_ScriptNode._nId++;YAHOO.widget.DS_ScriptNode.callbacks[I]=function(A){if((L.asyncMode!=="ignoreStaleResponses")||(I===YAHOO.widget.DS_ScriptNode.callbacks.length-1)){L.handleResponse(A,G,H,K)}else{}delete YAHOO.widget.DS_ScriptNode.callbacks[I]};YAHOO.widget.DS_ScriptNode._nPending++;var J=this.scriptURI+"&"+this.scriptQueryParam+"="+H+"&"+this.scriptCallbackParam+"=YAHOO.widget.DS_ScriptNode.callbacks["+I+"]";this.getUtility.script(J,{autopurge:true,onsuccess:YAHOO.widget.DS_ScriptNode._bumpPendingDown,onfail:YAHOO.widget.DS_ScriptNode._bumpPendingDown})};YAHOO.widget.DS_ScriptNode.prototype.handleResponse=function(oResponse,oCallbackFn,sQuery,oParent){var aSchema=this.schema;var aResults=[];var bError=false;var jsonList,jsonObjParsed;try{jsonList=eval("(oResponse."+aSchema[0]+")")}catch(e){bError=true}if(!jsonList){bError=true;jsonList=[]}else{if(!YAHOO.lang.isArray(jsonList)){jsonList=[jsonList]}}for(var i=jsonList.length-1;i>=0;i--){var aResultItem=[];var jsonResult=jsonList[i];for(var j=aSchema.length-1;j>=1;j--){var dataFieldValue=jsonResult[aSchema[j]];if(!dataFieldValue){dataFieldValue=""}aResultItem.unshift(dataFieldValue)}if(aResultItem.length==1){aResultItem.push(jsonResult)}aResults.unshift(aResultItem)}if(bError){aResults=null}if(aResults===null){this.dataErrorEvent.fire(this,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATAPARSE);aResults=[]}else{var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;this._addCacheElem(resultObj);this.getResultsEvent.fire(this,oParent,sQuery,aResults)}oCallbackFn(sQuery,aResults,oParent)};YAHOO.widget.DS_ScriptNode._bumpPendingDown=function(){YAHOO.widget.DS_ScriptNode._nPending--};YAHOO.widget.DS_JSFunction=function(D,E){if(E&&(E.constructor==Object)){for(var F in E){this[F]=E[F]}}if(!YAHOO.lang.isFunction(D)){return }else{this.dataFunction=D;this._init()}};YAHOO.widget.DS_JSFunction.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSFunction.prototype.dataFunction=null;YAHOO.widget.DS_JSFunction.prototype.doQuery=function(K,H,J){var L=this.dataFunction;var I=[];I=L(H);if(I===null){this.dataErrorEvent.fire(this,J,H,YAHOO.widget.DataSource.ERROR_DATANULL);return }var G={};G.query=decodeURIComponent(H);G.results=I;this._addCacheElem(G);this.getResultsEvent.fire(this,J,H,I);K(H,I,J);return };YAHOO.widget.DS_JSArray=function(D,E){if(E&&(E.constructor==Object)){for(var F in E){this[F]=E[F]}}if(!YAHOO.lang.isArray(D)){return }else{this.data=D;this._init()}};YAHOO.widget.DS_JSArray.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSArray.prototype.data=null;YAHOO.widget.DS_JSArray.prototype.doQuery=function(T,P,N){var S;var L=this.data;var O=[];var K=false;var M=this.queryMatchContains;if(P){if(!this.queryMatchCase){P=P.toLowerCase()}for(S=L.length-1;S>=0;S--){var Q=[];if(YAHOO.lang.isString(L[S])){Q[0]=L[S]}else{if(YAHOO.lang.isArray(L[S])){Q=L[S]}}if(YAHOO.lang.isString(Q[0])){var R=(this.queryMatchCase)?encodeURIComponent(Q[0]).indexOf(P):encodeURIComponent(Q[0]).toLowerCase().indexOf(P);if((!M&&(R===0))||(M&&(R>-1))){O.unshift(Q)}}}}else{for(S=L.length-1;S>=0;S--){if(YAHOO.lang.isString(L[S])){O.unshift([L[S]])}else{if(YAHOO.lang.isArray(L[S])){O.unshift(L[S])}}}}this.getResultsEvent.fire(this,N,P,O);T(P,O,N)};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.4.0",build:"733"});