YAHOO.widget.AutoComplete=function(c,a,h,g){if(c&&a&&h){if(h instanceof YAHOO.widget.DataSource){this.dataSource=h}else{return}if(YAHOO.util.Dom.inDocument(c)){if(YAHOO.lang.isString(c)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+c;this._elTextbox=document.getElementById(c)}else{this._sName=(c.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+c.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._elTextbox=c}YAHOO.util.Dom.addClass(this._elTextbox,"yui-ac-input")}else{return}if(YAHOO.util.Dom.inDocument(a)){if(YAHOO.lang.isString(a)){this._elContainer=document.getElementById(a)}else{this._elContainer=a}if(this._elContainer.style.display=="none"){}var d=this._elContainer.parentNode;var e=d.tagName.toLowerCase();if(e=="div"){YAHOO.util.Dom.addClass(d,"yui-ac")}else{}}else{return}if(g&&(g.constructor==Object)){for(var j in g){if(j){this[j]=g[j]}}}this._initContainer();this._initProps();this._initList();this._initContainerHelpers();var i=this;var f=this._elTextbox;var b=this._elContent;YAHOO.util.Event.addListener(f,"keyup",i._onTextboxKeyUp,i);YAHOO.util.Event.addListener(f,"keydown",i._onTextboxKeyDown,i);YAHOO.util.Event.addListener(f,"focus",i._onTextboxFocus,i);YAHOO.util.Event.addListener(f,"blur",i._onTextboxBlur,i);YAHOO.util.Event.addListener(b,"mouseover",i._onContainerMouseover,i);YAHOO.util.Event.addListener(b,"mouseout",i._onContainerMouseout,i);YAHOO.util.Event.addListener(b,"scroll",i._onContainerScroll,i);YAHOO.util.Event.addListener(b,"resize",i._onContainerResize,i);YAHOO.util.Event.addListener(f,"keypress",i._onTextboxKeyPress,i);YAHOO.util.Event.addListener(window,"unload",i._onWindowUnload,i);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);f.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(a){if(a._oResultData){return a._oResultData}else{return false}};YAHOO.widget.AutoComplete.prototype.setHeader=function(b){if(this._elHeader){var a=this._elHeader;if(b){a.innerHTML=b;a.style.display="block"}else{a.innerHTML="";a.style.display="none"}}};YAHOO.widget.AutoComplete.prototype.setFooter=function(b){if(this._elFooter){var a=this._elFooter;if(b){a.innerHTML=b;a.style.display="block"}else{a.innerHTML="";a.style.display="none"}}};YAHOO.widget.AutoComplete.prototype.setBody=function(b){if(this._elBody){var a=this._elBody;if(b){a.innerHTML=b;a.style.display="block";a.style.display="block"}else{a.innerHTML="";a.style.display="none"}this._maxResultsDisplayed=0}};YAHOO.widget.AutoComplete.prototype.formatResult=function(a,b){var c=a[0];if(c){return c}else{return""}};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(c,b,d,a){return true};YAHOO.widget.AutoComplete.prototype.sendQuery=function(a){this._sendQuery(a)};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(a){return a};YAHOO.widget.AutoComplete.prototype.destroy=function(){var c=this.toString();var b=this._elTextbox;var a=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(b,true);YAHOO.util.Event.purgeElement(a,true);a.innerHTML="";for(var d in this){if(YAHOO.lang.hasOwnProperty(this,d)){this[d]=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._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=true;YAHOO.widget.AutoComplete.prototype._oAnim=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 d=this.minQueryLength;if(!YAHOO.lang.isNumber(d)){this.minQueryLength=1}var c=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(c)||(c<1)){this.maxResultsDisplayed=10}var e=this.queryDelay;if(!YAHOO.lang.isNumber(e)||(e<0)){this.queryDelay=0.2}var b=this.delimChar;if(YAHOO.lang.isString(b)&&(b.length>0)){this.delimChar=[b]}else{if(!YAHOO.lang.isArray(b)){this.delimChar=null}}var a=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(a)||(a<0)){this.animSpeed=0.3}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed)}else{this._oAnim.duration=this.animSpeed}}if(this.forceSelection&&b){}};YAHOO.widget.AutoComplete.prototype._initContainerHelpers=function(){if(this.useShadow&&!this._elShadow){var b=document.createElement("div");b.className="yui-ac-shadow";this._elShadow=this._elContainer.appendChild(b)}if(this.useIFrame&&!this._elIFrame){var a=document.createElement("iframe");a.src=this._iFrameSrc;a.frameBorder=0;a.scrolling="no";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.tabIndex=-1;this._elIFrame=this._elContainer.appendChild(a)}};YAHOO.widget.AutoComplete.prototype._initContainer=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var b=document.createElement("div");b.className="yui-ac-content";b.style.display="none";this._elContent=this._elContainer.appendChild(b);var d=document.createElement("div");d.className="yui-ac-hd";d.style.display="none";this._elHeader=this._elContent.appendChild(d);var a=document.createElement("div");a.className="yui-ac-bd";this._elBody=this._elContent.appendChild(a);var c=document.createElement("div");c.className="yui-ac-ft";c.style.display="none";this._elFooter=this._elContent.appendChild(c)}else{}};YAHOO.widget.AutoComplete.prototype._initList=function(){this._aListItems=[];while(this._elBody.hasChildNodes()){var d=this.getListItems();if(d){for(var c=d.length-1;c>=0;c--){d[c]=null}}this._elBody.innerHTML=""}var e=document.createElement("ul");e=this._elBody.appendChild(e);for(var a=0;a<this.maxResultsDisplayed;a++){var b=document.createElement("li");b=e.appendChild(b);this._aListItems[a]=b;this._initListItem(b,a)}this._maxResultsDisplayed=this.maxResultsDisplayed};YAHOO.widget.AutoComplete.prototype._initListItem=function(b,a){var c=this;b.style.display="none";b._nItemIndex=a;b.mouseover=b.mouseout=b.onclick=null;YAHOO.util.Event.addListener(b,"mouseover",c._onItemMouseover,c);YAHOO.util.Event.addListener(b,"mouseout",c._onItemMouseout,c);YAHOO.util.Event.addListener(b,"click",c._onItemMouseclick,c)};YAHOO.widget.AutoComplete.prototype._onIMEDetected=function(a){a._enableIntervalDetection()};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var a=this._elTextbox.value;var b=this._sLastTextboxValue;if(a!=b){this._sLastTextboxValue=a;this._sendQuery(a)}};YAHOO.widget.AutoComplete.prototype._cancelIntervalDetection=function(a){if(a._queryInterval){clearInterval(a._queryInterval)}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(a){if((a==9)||(a==13)||(a==16)||(a==17)||(a>=18&&a<=20)||(a==27)||(a>=33&&a<=35)||(a>=36&&a<=40)||(a>=44&&a<=45)){return true}return false};YAHOO.widget.AutoComplete.prototype._sendQuery=function(g){if(this.minQueryLength==-1){this._toggleContainer(false);return}var a=(this.delimChar)?this.delimChar:null;if(a){var d=-1;for(var b=a.length-1;b>=0;b--){var e=g.lastIndexOf(a[b]);if(e>d){d=e}}if(a[b]==" "){for(var c=a.length-1;c>=0;c--){if(g[d-1]==a[c]){d--;break}}}if(d>-1){var f=d+1;while(g.charAt(f)==" "){f+=1}this._sSavedQuery=g.substring(0,f);g=g.substr(f)}else{if(g.indexOf(this._sSavedQuery)<0){this._sSavedQuery=null}}}if((g&&(g.length<this.minQueryLength))||(!g&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID)}this._toggleContainer(false);return}g=encodeURIComponent(g);this._nDelayID=-1;g=this.doBeforeSendQuery(g);this.dataRequestEvent.fire(this,g);this.dataSource.getResults(this._populateList,g,this)};YAHOO.widget.AutoComplete.prototype._populateList=function(q,b,o){if(b===null){o.dataErrorEvent.fire(o,q)}if(!o._bFocused||!b){return}var e=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);var c=o._elContent.style;c.width=(!e)?null:"";c.height=(!e)?null:"";var p=decodeURIComponent(q);o._sCurQuery=p;o._bItemSelected=false;if(o._maxResultsDisplayed!=o.maxResultsDisplayed){o._initList()}var g=Math.min(b.length,o.maxResultsDisplayed);o._nDisplayedItems=g;if(g>0){o._initContainerHelpers();var a=o._aListItems;for(var d=g-1;d>=0;d--){var k=a[d];var n=b[d];k.innerHTML=o.formatResult(n,p);k.style.display="list-item";k._sResultKey=n[0];k._oResultData=n}for(var f=a.length-1;f>=g;f--){var l=a[f];l.innerHTML=null;l.style.display="none";l._sResultKey=null;l._oResultData=null}var m=o.doBeforeExpandContainer(o._elTextbox,o._elContainer,q,b);o._toggleContainer(m);if(o.autoHighlight){var h=a[0];o._toggleHighlight(h,"to");o.itemArrowToEvent.fire(o,h);o._typeAhead(h,q)}else{o._oCurItem=null}}else{o._toggleContainer(false)}o.dataReturnEvent.fire(o,q,b)};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var c=this._elTextbox.value;var b=(this.delimChar)?this.delimChar[0]:null;var a=(b)?c.lastIndexOf(b,c.length-2):-1;if(a>-1){this._elTextbox.value=c.substring(0,a)}else{this._elTextbox.value=""}this._sSavedQuery=this._elTextbox.value;this.selectionEnforceEvent.fire(this)};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var a=null;for(var b=this._nDisplayedItems-1;b>=0;b--){var c=this._aListItems[b];var d=c._sResultKey.toLowerCase();if(d==this._sCurQuery.toLowerCase()){a=c;break}}return(a)};YAHOO.widget.AutoComplete.prototype._typeAhead=function(d,f){if(!this.typeAhead||(this._nKeyCode==8)){return}var a=this._elTextbox;var g=this._elTextbox.value;if(!a.setSelectionRange&&!a.createTextRange){return}var c=g.length;this._updateValue(d);var b=a.value.length;this._selectText(a,c,b);var e=a.value.substr(c,b);this.typeAheadEvent.fire(this,f,e)};YAHOO.widget.AutoComplete.prototype._selectText=function(a,c,b){if(a.setSelectionRange){a.setSelectionRange(c,b)}else{if(a.createTextRange){var d=a.createTextRange();d.moveStart("character",c);d.moveEnd("character",b-a.value.length);d.select()}else{a.select()}}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(b){var a=false;var d=this._elContent.offsetWidth+"px";var c=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){a=true;if(b){this._elIFrame.style.width=d;this._elIFrame.style.height=c}else{this._elIFrame.style.width=0;this._elIFrame.style.height=0}}if(this.useShadow&&this._elShadow){a=true;if(b){this._elShadow.style.width=d;this._elShadow.style.height=c}else{this._elShadow.style.width=0;this._elShadow.style.height=0}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(b){var c=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return}if(!b){this._elContent.scrollTop=0;var a=this._aListItems;if(a&&(a.length>0)){for(var f=a.length-1;f>=0;f--){a[f].style.display="none"}}if(this._oCurItem){this._toggleHighlight(this._oCurItem,"from")}this._oCurItem=null;this._nDisplayedItems=0;this._sCurQuery=null}if(!b&&!this._bContainerOpen){this._elContent.style.display="none";return}var g=this._oAnim;if(g&&g.getEl()&&(this.animHoriz||this.animVert)){if(!b){this._toggleContainerHelpers(b)}if(g.isAnimated()){g.stop()}var h=this._elContent.cloneNode(true);c.appendChild(h);h.style.top="-9000px";h.style.display="block";var m=h.offsetWidth;var e=h.offsetHeight;var l=(this.animHoriz)?0:m;var d=(this.animVert)?0:e;g.attributes=(b)?{width:{to:m},height:{to:e}}:{width:{to:l},height:{to:d}};if(b&&!this._bContainerOpen){this._elContent.style.width=l+"px";this._elContent.style.height=d+"px"}else{this._elContent.style.width=m+"px";this._elContent.style.height=e+"px"}c.removeChild(h);h=null;var k=this;var j=function(){g.onComplete.unsubscribeAll();if(b){k.containerExpandEvent.fire(k)}else{k._elContent.style.display="none";k.containerCollapseEvent.fire(k)}k._toggleContainerHelpers(b)};this._elContent.style.display="block";g.onComplete.subscribe(j);g.animate();this._bContainerOpen=b}else{if(b){this._elContent.style.display="block";this.containerExpandEvent.fire(this)}else{this._elContent.style.display="none";this.containerCollapseEvent.fire(this)}this._toggleContainerHelpers(b);this._bContainerOpen=b}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(a,c){var b=this.highlightClassName;if(this._oCurItem){YAHOO.util.Dom.removeClass(this._oCurItem,b)}if((c=="to")&&b){YAHOO.util.Dom.addClass(a,b);this._oCurItem=a}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(a,c){if(a==this._oCurItem){return}var b=this.prehighlightClassName;if((c=="mouseover")&&b){YAHOO.util.Dom.addClass(a,b)}else{YAHOO.util.Dom.removeClass(a,b)}};YAHOO.widget.AutoComplete.prototype._updateValue=function(c){var a=this._elTextbox;var d=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var f=this._sSavedQuery;var e=c._sResultKey;a.focus();a.value="";if(d){if(f){a.value=f}a.value+=e+d;if(d!=" "){a.value+=" "}}else{a.value=e}if(a.type=="textarea"){a.scrollTop=a.scrollHeight}var b=a.value.length;this._selectText(a,b,b);this._oCurItem=c};YAHOO.widget.AutoComplete.prototype._selectItem=function(a){this._bItemSelected=true;this._updateValue(a);this._cancelIntervalDetection(this);this.itemSelectEvent.fire(this,a,a._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(c){if(this._bContainerOpen){var e=this._oCurItem;var b=-1;if(e){b=e._nItemIndex}var d=(c==40)?(b+1):(b-1);if(d<-2||d>=this._nDisplayedItems){return}if(e){this._toggleHighlight(e,"from");this.itemArrowFromEvent.fire(this,e)}if(d==-1){if(this.delimChar&&this._sSavedQuery){if(!this._textMatchesOption()){this._elTextbox.value=this._sSavedQuery}else{this._elTextbox.value=this._sSavedQuery+this._sCurQuery}}else{this._elTextbox.value=this._sCurQuery}this._oCurItem=null;return}if(d==-2){this._toggleContainer(false);return}var f=this._aListItems[d];var a=this._elContent;var g=((YAHOO.util.Dom.getStyle(a,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(a,"overflowY")=="auto"));if(g&&(d>-1)&&(d<this._nDisplayedItems)){if(c==40){if((f.offsetTop+f.offsetHeight)>(a.scrollTop+a.offsetHeight)){a.scrollTop=(f.offsetTop+f.offsetHeight)-a.offsetHeight}else{if((f.offsetTop+f.offsetHeight)<a.scrollTop){a.scrollTop=f.offsetTop}}}else{if(f.offsetTop<a.scrollTop){this._elContent.scrollTop=f.offsetTop}else{if(f.offsetTop>(a.scrollTop+a.offsetHeight)){this._elContent.scrollTop=(f.offsetTop+f.offsetHeight)-a.offsetHeight}}}}this._toggleHighlight(f,"to");this.itemArrowToEvent.fire(this,f);if(this.typeAhead){this._updateValue(f)}}};YAHOO.widget.AutoComplete.prototype._onItemMouseover=function(b,a){if(a.prehighlightClassName){a._togglePrehighlight(this,"mouseover")}else{a._toggleHighlight(this,"to")}a.itemMouseOverEvent.fire(a,this)};YAHOO.widget.AutoComplete.prototype._onItemMouseout=function(b,a){if(a.prehighlightClassName){a._togglePrehighlight(this,"mouseout")}else{a._toggleHighlight(this,"from")}a.itemMouseOutEvent.fire(a,this)};YAHOO.widget.AutoComplete.prototype._onItemMouseclick=function(b,a){a._toggleHighlight(this,"to");a._selectItem(this)};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(b,a){a._bOverContainer=true};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(b,a){a._bOverContainer=false;if(a._oCurItem){a._toggleHighlight(a._oCurItem,"to")}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(b,a){a._elTextbox.focus()};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(b,a){a._toggleContainerHelpers(a._bContainerOpen)};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(c,b){var a=c.keyCode;switch(a){case 9:if((navigator.userAgent.toLowerCase().indexOf("mac")==-1)){if(b._oCurItem){if(b.delimChar&&(b._nKeyCode!=a)){if(b._bContainerOpen){YAHOO.util.Event.stopEvent(c)}}b._selectItem(b._oCurItem)}else{b._toggleContainer(false)}}break;case 13:if((navigator.userAgent.toLowerCase().indexOf("mac")==-1)){if(b._oCurItem){if(b._nKeyCode!=a){if(b._bContainerOpen){YAHOO.util.Event.stopEvent(c)}}b._selectItem(b._oCurItem)}else{b._toggleContainer(false)}}break;case 27:b._toggleContainer(false);return;case 39:b._jumpSelection();break;case 38:YAHOO.util.Event.stopEvent(c);b._moveSelection(a);break;case 40:YAHOO.util.Event.stopEvent(c);b._moveSelection(a);break;default:break}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(c,b){var a=c.keyCode;if((navigator.userAgent.toLowerCase().indexOf("mac")!=-1)){switch(a){case 9:if(b._oCurItem){if(b.delimChar&&(b._nKeyCode!=a)){if(b._bContainerOpen){YAHOO.util.Event.stopEvent(c)}}b._selectItem(b._oCurItem)}else{b._toggleContainer(false)}break;case 13:if(b._oCurItem){if(b._nKeyCode!=a){if(b._bContainerOpen){YAHOO.util.Event.stopEvent(c)}}b._selectItem(b._oCurItem)}else{b._toggleContainer(false)}break;default:break}}else{if(a==229){b._queryInterval=setInterval(function(){b._onIMEDetected(b)},500)}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(e,c){c._initProps();var b=e.keyCode;c._nKeyCode=b;var d=this.value;if(c._isIgnoreKey(b)||(d.toLowerCase()==c._sCurQuery)){return}else{c._bItemSelected=false;YAHOO.util.Dom.removeClass(c._oCurItem,c.highlightClassName);c._oCurItem=null;c.textboxKeyEvent.fire(c,b)}if(c.queryDelay>0){var a=setTimeout(function(){c._sendQuery(d)},(c.queryDelay*1000));if(c._nDelayID!=-1){clearTimeout(c._nDelayID)}c._nDelayID=a}else{c._sendQuery(d)}};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(b,a){a._elTextbox.setAttribute("autocomplete","off");a._bFocused=true;if(!a._bItemSelected){a.textboxFocusEvent.fire(a)}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(c,b){if(!b._bOverContainer||(b._nKeyCode==9)){if(!b._bItemSelected){var a=b._textMatchesOption();if(!b._bContainerOpen||(b._bContainerOpen&&(a===null))){if(b.forceSelection){b._clearSelection()}else{b.unmatchedItemSelectEvent.fire(b)}}else{if(b.forceSelection){b._selectItem(a)}}}if(b._bContainerOpen){b._toggleContainer(false)}b._cancelIntervalDetection(b);b._bFocused=false;b.textboxBlurEvent.fire(b)}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(b,a){if(a&&a._elTextbox&&a.allowBrowserAutocomplete){a._elTextbox.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(b,d,c){var a=this._doQueryCache(b,d,c);if(a.length===0){this.queryEvent.fire(this,c,d);this.doQuery(b,d,c)}};YAHOO.widget.DataSource.prototype.doQuery=function(a,c,b){};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 a=this.maxCacheEntries;if(!YAHOO.lang.isNumber(a)||(a<0)){a=0}if(a>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(b){var a=this._aCache;if(!a||!b||!b.query||!b.results){return}if(a.length>=this.maxCacheEntries){a.shift()}a.push(b)};YAHOO.widget.DataSource.prototype._doQueryCache=function(o,t,p){var d=[];var f=false;var b=this._aCache;var n=(b)?b.length:0;var e=this.queryMatchContains;var s;if((this.maxCacheEntries>0)&&b&&(n>0)){this.cacheQueryEvent.fire(this,p,t);if(!this.queryMatchCase){s=t;t=t.toLowerCase()}for(var g=n-1;g>=0;g--){var q=b[g];var a=q.results;var m=(!this.queryMatchCase)?encodeURIComponent(q.query).toLowerCase():encodeURIComponent(q.query);if(m==t){f=true;d=a;if(g!=n-1){b.splice(g,1);this._addCacheElem(q)}break}else{if(this.queryMatchSubset){for(var h=t.length-1;h>=0;h--){var u=t.substr(0,h);if(m==u){f=true;for(var l=a.length-1;l>=0;l--){var c=a[l];var r=(this.queryMatchCase)?encodeURIComponent(c[0]).indexOf(t):encodeURIComponent(c[0]).toLowerCase().indexOf(t);if((!e&&(r===0))||(e&&(r>-1))){d.unshift(c)}}q={};q.query=t;q.results=d;this._addCacheElem(q);break}}if(f){break}}}}if(f){this.getCachedResultsEvent.fire(this,p,s,d);o(s,d,p)}}return d};YAHOO.widget.DS_XHR=function(d,a,b){if(b&&(b.constructor==Object)){for(var c in b){this[c]=b[c]}}if(!YAHOO.lang.isArray(a)||!YAHOO.lang.isString(d)){return}this.schema=a;this.scriptURI=d;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(c,i,d){var a=(this.responseType==YAHOO.widget.DS_XHR.TYPE_XML);var j=this.scriptURI+"?"+this.scriptQueryParam+"="+i;if(this.scriptQueryAppend.length>0){j+="&"+this.scriptQueryAppend}var e=null;var f=this;var h=function(m){if(!f._oConn||(m.tId!=f._oConn.tId)){f.dataErrorEvent.fire(f,d,i,YAHOO.widget.DataSource.ERROR_DATANULL);return}for(var l in m){}if(!a){m=m.responseText}else{m=m.responseXML}if(m===null){f.dataErrorEvent.fire(f,d,i,YAHOO.widget.DataSource.ERROR_DATANULL);return}var k=f.parseResponse(i,m,d);var n={};n.query=decodeURIComponent(i);n.results=k;if(k===null){f.dataErrorEvent.fire(f,d,i,YAHOO.widget.DataSource.ERROR_DATAPARSE);k=[]}else{f.getResultsEvent.fire(f,d,i,k);f._addCacheElem(n)}c(i,k,d)};var g=function(k){f.dataErrorEvent.fire(f,d,i,YAHOO.widget.DS_XHR.ERROR_DATAXHR);return};var b={success:h,failure:g};if(YAHOO.lang.isNumber(this.connTimeout)&&(this.connTimeout>0)){b.timeout=this.connTimeout}if(this._oConn){this.connMgr.abort(this._oConn)}f._oConn=this.connMgr.asyncRequest("GET",j,b,null)};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;if(YAHOO.lang.JSON){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(oResponse.parseJSON){jsonObjParsed=oResponse.parseJSON();if(!jsonObjParsed){bError=true}else{try{jsonList=eval("jsonObjParsed."+aSchema[0])}catch(e){bError=true;break}}}else{if(window.JSON){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)}if(oResponse.length>0){var aRecords=oResponse.split(aSchema[0]);for(var n=aRecords.length-1;n>=0;n--){if(aRecords[n].length>0){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(d,a,b){if(b&&(b.constructor==Object)){for(var c in b){this[c]=b[c]}}if(!YAHOO.lang.isArray(a)||!YAHOO.lang.isString(d)){return}this.schema=a;this.scriptURI=d;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(b,e,c){var d=this;if(YAHOO.widget.DS_ScriptNode._nPending===0){YAHOO.widget.DS_ScriptNode.callbacks=[];YAHOO.widget.DS_ScriptNode._nId=0}var a=YAHOO.widget.DS_ScriptNode._nId;YAHOO.widget.DS_ScriptNode._nId++;YAHOO.widget.DS_ScriptNode.callbacks[a]=function(g){if((d.asyncMode!=="ignoreStaleResponses")||(a===YAHOO.widget.DS_ScriptNode.callbacks.length-1)){d.handleResponse(g,b,e,c)}else{}delete YAHOO.widget.DS_ScriptNode.callbacks[a]};YAHOO.widget.DS_ScriptNode._nPending++;var f=this.scriptURI+"&"+this.scriptQueryParam+"="+e+"&"+this.scriptCallbackParam+"=YAHOO.widget.DS_ScriptNode.callbacks["+a+"]";this.getUtility.script(f,{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(b,a){if(a&&(a.constructor==Object)){for(var c in a){this[c]=a[c]}}if(!YAHOO.lang.isFunction(b)){return}else{this.dataFunction=b;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(b,f,d){var c=this.dataFunction;var a=[];a=c(f);if(a===null){this.dataErrorEvent.fire(this,d,f,YAHOO.widget.DataSource.ERROR_DATANULL);return}var e={};e.query=decodeURIComponent(f);e.results=a;this._addCacheElem(e);this.getResultsEvent.fire(this,d,f,a);b(f,a,d);return};YAHOO.widget.DS_JSArray=function(a,b){if(b&&(b.constructor==Object)){for(var c in b){this[c]=b[c]}}if(!YAHOO.lang.isArray(a)){return}else{this.data=a;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(g,k,h){var f;var a=this.data;var c=[];var e=false;var d=this.queryMatchContains;if(k){if(!this.queryMatchCase){k=k.toLowerCase()}for(f=a.length-1;f>=0;f--){var b=[];if(YAHOO.lang.isString(a[f])){b[0]=a[f]}else{if(YAHOO.lang.isArray(a[f])){b=a[f]}}if(YAHOO.lang.isString(b[0])){var j=(this.queryMatchCase)?encodeURIComponent(b[0]).indexOf(k):encodeURIComponent(b[0]).toLowerCase().indexOf(k);if((!d&&(j===0))||(d&&(j>-1))){c.unshift(b)}}}}else{for(f=a.length-1;f>=0;f--){if(YAHOO.lang.isString(a[f])){c.unshift([a[f]])}else{if(YAHOO.lang.isArray(a[f])){c.unshift(a[f])}}}}this.getResultsEvent.fire(this,h,k,c);g(k,c,h)};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.5.2",build:"1076"});
