GuideSelector.SERVICE_NAME="/services/Guides";if(window.WIDGET_MODE){GuideSelector.SERVICE_NAME+=".php"}function GuideSelector(C,A,E,B,G,D){this.valueField=C;this.textField=A;this.optionArea=E;this.serverParam=B;this.selectionCallback=G;this.invalidationCallback=D;this.validGuide=(this.valueField&&this.valueField.value!="");this.guideQuery=new YAHOO.widget.DS_XHR(GuideSelector.SERVICE_NAME,["results","name","regionName","countryName","id","lat","lng","zoom"]);this.guideQuery.responseType=YAHOO.widget.DS_XHR.TYPE_JSON;this.guideQuery.scriptQueryParam="name";this.prepareQuery();this.selector=new YAHOO.widget.AutoComplete(A,E,this.guideQuery);this.selector.useShadow=true;this.selector.maxResultsDisplayed=20;this.selector.minQueryLength=2;var F=this;this.selector.formatResult=function(H,I){return F.getFullName(H)};this.selector.doBeforeExpandContainer=function(H,I,L,K){var J=YAHOO.util.Dom.getXY(H);J[1]+=YAHOO.util.Dom.get(H).offsetHeight;YAHOO.util.Dom.setXY(I,J);return true};YAHOO.util.Event.addListener(this.textField,"blur",this.validateEntry,this,true);this.selector.guideSelector=this;this.selector.textboxKeyEvent.subscribe(function(K,J){var H=J[0];var I=H.guideSelector;I.markEntryInvalid()});this.selector.itemSelectEvent.subscribe(function(K,J){var H=J[0];var I=H.guideSelector;I.id=J[2][3];I.lat=J[2][4];I.lng=J[2][5];I.zoom=J[2][6];I.fullName=I.getFullName(J[2]);if(I.valueField){I.valueField.value=I.id}I.markEntryValid(I.id)})}GuideSelector.prototype.getFullName=function(A){var B=A[0];return B};GuideSelector.prototype.validateEntry=function(){var A=this;setTimeout(function(){if(!A.validGuide){A.checkNameMatch()}},500)};GuideSelector.prototype.markEntryValid=function(A){this.validGuide=true;this.textField.style.backgroundColor="#fff";if(this.selectionCallback){this.selectionCallback(A)}};GuideSelector.prototype.markEntryInvalid=function(A){this.validGuide=false;this.textField.style.backgroundColor="#fab327";if(this.invalidationCallback){this.invalidationCallback()}};GuideSelector.prototype.updateParent=function(A){this.parentId=A;this.prepareQuery()};GuideSelector.prototype.prepareQuery=function(){var A="event=getSimilarNames";if(this.serverParam){A+="&"+this.serverParam}else{A+="&max=20"}if(this.parentId){A+="&parent="+this.parentId}else{A+="&getParentNames=true"}this.guideQuery.scriptQueryAppend=A};GuideSelector.prototype.checkNameMatch=function(){var B=this.guideQuery.scriptQueryAppend+"&name="+encode(this.textField.value);var A=this;YAHOO.util.Connect.asyncRequest("GET",GuideSelector.SERVICE_NAME+"?"+B,{success:A.checkMatch,failure:function(C){},scope:A})};GuideSelector.prototype.checkMatch=function(A){};
