Type.registerNamespace("USAirways.Web.Shared.UI.Controls.AirportTextbox");var currentAirportTextboxID;USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior=function(a){USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior.initializeBase(this,[a]);this._servicePath=null;this._serviceMethod=null;this._contextKey=null;this._useContextKey=false;this._minimumPrefixLength=2;this._completionSetCount=20;this._completionInterval=10;this._completionListElement=null;this._mouseOverLinkClassName="scmenuhighlightlinkcolor";this._mouseOverClassName="on";this._mouseOutClassName="off";this._mouseOutLinkClassName="ltblue";this._onShowJson=null;this._onHideJson=null;this._timer=null;this._cache=null;this._currentPrefix=null;this._selectIndex=-1;this._focusHandler=null;this._blurHandler=null;this._baseTextboxClassName=null;this._keyDownHandler=null;this._mouseDownHandler=null;this._mouseUpHandler=null;this._mouseOverHandler=null;this._tickHandler=null;this._enableCaching=true;this._flyoutHasFocus=false;this._textBoxHasFocus=false;this._delimiterCharacters=null;this._firstRowSelected=true;this._webRequest=null;this._showingChoices=false;this._countryCode=null;this._searchContext=null};USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior.prototype={initialize:function(){USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior.callBaseMethod(this,"initialize");$common.prepareHiddenElementForATDeviceUpdate();this._popupBehaviorHiddenHandler=Function.createDelegate(this,this._popupHidden);this._tickHandler=Function.createDelegate(this,this._onTimerTick);this._focusHandler=Function.createDelegate(this,this._onGotFocus);this._blurHandler=Function.createDelegate(this,this._onLostFocus);this._keyDownHandler=Function.createDelegate(this,this._onKeyDown);this._mouseDownHandler=Function.createDelegate(this,this._onListMouseDown);this._mouseUpHandler=Function.createDelegate(this,this._onListMouseUp);this._mouseOverHandler=Function.createDelegate(this,this._onListMouseOver);this._timer=new Sys.Timer();this.initializeTimer(this._timer);var a=this.get_element();this._baseTextboxClassName=a.className;a.iswatermarked=false;this.initializeTextBox(a);if(this._focusonstartup){this._onGotFocus(null)}else{a.blur();this._onLostFocus()}if(this._completionlistelementid!==null){this._completionListElement=$get(this._completionlistelementid)}this.initializeCompletionList(this._completionListElement);var b=document.getElementById(this._popoverid);this._popupBehavior=b.PopOverBehavior},dispose:function(){this._onShowJson=null;this._onHideJson=null;if(this._timer){this._timer.dispose();this._timer=null}var a=this.get_element();if(a){$removeHandler(a,"focus",this._focusHandler);$removeHandler(a,"blur",this._blurHandler);$removeHandler(a,"keydown",this._keyDownHandler);$removeHandler(this._completionListElement,"mousedown",this._mouseDownHandler);$removeHandler(this._completionListElement,"mouseup",this._mouseUpHandler);$removeHandler(this._completionListElement,"mouseover",this._mouseOverHandler)}this._tickHandler=null;this._focusHandler=null;this._blurHandler=null;this._keyDownHandler=null;this._mouseDownHandler=null;this._mouseUpHandler=null;this._mouseOverHandler=null;USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior.callBaseMethod(this,"dispose")},initializeTimer:function(a){a.set_interval(this._completionInterval);a.add_tick(this._tickHandler)},initializeTextBox:function(a){a.autocomplete="off";$addHandler(a,"focus",this._focusHandler);$addHandler(a,"blur",this._blurHandler);$addHandler(a,"keydown",this._keyDownHandler)},initializeCompletionList:function(a){$addHandler(a,"mousedown",this._mouseDownHandler);$addHandler(a,"mouseup",this._mouseUpHandler);$addHandler(a,"mouseover",this._mouseOverHandler)},_currentCompletionWord:function(){var a=this.get_element();var e=a.value;var c=e;if(this.get_isMultiWord()){var d=this._getCurrentWordStartIndex();var b=this._getCurrentWordEndIndex(d);if(b<=d){c=e.substring(d)}else{c=e.substring(d,b)}}return c},_getCursorIndex:function(){return this.get_element().selectionStart},_getCurrentWordStartIndex:function(){var d=this.get_element();var e=d.value.substring(0,this._getCursorIndex());var a=0;var f=-1;for(var c=0;c<this._delimiterCharacters.length;++c){var b=e.lastIndexOf(this._delimiterCharacters.charAt(c));if(b>f){f=b}}a=f;if(a>=this._getCursorIndex()){a=0}return a<0?0:a+1},_getCurrentWordEndIndex:function(a){var e=this.get_element();var f=e.value.substring(a);var b=0;for(var d=0;d<this._delimiterCharacters.length;++d){var c=f.indexOf(this._delimiterCharacters.charAt(d));if(c>0&&(c<b||b==0)){b=c}}return b<=0?e.value.length:b+a},get_isMultiWord:function(){return(this._delimiterCharacters!=null)&&(this._delimiterCharacters!="")},_getTextWithInsertedWord:function(e){var h=e;var i=0;var b=this.get_element();var a=b.value;if(this.get_isMultiWord()){var f=this._getCurrentWordStartIndex();var c=this._getCurrentWordEndIndex(f);var d="";var g="";if(f>0){d=a.substring(0,f)}if(c>f){g=a.substring(c)}h=d+e+g}return h},_hideCompletionList:function(){var a=new Sys.CancelEventArgs();this.raiseHiding(a);if(a.get_cancel()){return}this.hidePopup()},showPopup:function(){this._popupBehavior.show();this.raiseShown(Sys.EventArgs.Empty)},hidePopup:function(){if(this._popupBehavior){this._popupBehavior.hide()}else{this._popupHidden()}},_popupHidden:function(){this._clearairports();this._selectIndex=-1;this._flyoutHasFocus=false;this.raiseHidden(Sys.EventArgs.Empty)},_highlightItem:function(d){var c=this._completionListElement.childNodes;for(var b=0;b<c.length;b++){var e=c[b];if(e._highlighted){e.className=this._mouseOutClassName;var a=e.getElementsByTagName("A");if(a.length>0){a[0].className=this._mouseOutLinkClassName}this.raiseItemOut(new USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs(e,e.firstChild.nodeValue,e._value))}}if(d!=null&&d!=undefined&&d.nodeName=="LI"){d.className=this._mouseOverClassName;var a=d.getElementsByTagName("A");if(a.length>0){a[0].className=this._mouseOverLinkClassName}d._highlighted=true;this.raiseItemOver(new USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs(d,d.firstChild.nodeValue,d._value))}},_onCompletionListBlur:function(a){this._hideCompletionList()},_onListMouseDown:function(b){var a=b.target;if(a.id!=this._baseitemdividerid&&a.id!=this._baseitembottomid){if((a!==this._completionListElement&&a.nodeName=="LI")||a.onclick!=null){a=this._getSelectedItem(a);if(a.onclick!=null){this.hidePopup();a.onclick()}else{this._setText(b.target);this._flyoutHasFocus=false}}else{this._flyoutHasFocus=true}}},_onListMouseUp:function(a){this.get_element().focus()},_onListMouseOver:function(b){var a=b.target;if(a.id!=this._baseitemdividerid&&a.id!=this._baseitembottomid){if(a!==this._completionListElement&&a.nodeName=="LI"){this._setIndexAndHighlight(a,this._completionListElement.childNodes)}else{if(a!==this._completionListElement&&a.click!=null){while(a.nodeName!="LI"&&a.parentElement!=null){a=a.parentElement}this._setIndexAndHighlight(a,this._completionListElement.childNodes)}}}},_setIndexAndHighlight:function(c,b){for(var a=0;a<b.length;++a){if(c===b[a]){this._highlightItem(c);this._selectIndex=a;break}}},_onGotFocus:function(b){this._textBoxHasFocus=true;if(this._flyoutHasFocus){this._hideCompletionList()}if((this._minimumPrefixLength==0)&&(!this.get_element().value)){this._timer.set_enabled(true)}var a=this.get_element();a.focus();a.select()},_onLostFocus:function(){this._textBoxHasFocus=false;this._timer.set_enabled(false);window.setTimeout(Function.createDelegate(this,this._handleFlyoutFocus),500)},_getSelectedItem:function(b){while(b.childNodes.length>0&&b.onclick==null){if(b.childNodes.length==1){return b.childNodes[0]}else{for(var a=0;a<b.childNodes.length;a++){if(b.childNodes[a].onclick!=null){return b.childNodes[a]}}}}return b},_onKeyDown:function(c){this._timer.set_enabled(false);var a=c.keyCode?c.keyCode:c.rawEvent.keyCode;switch(a){case Sys.UI.Key.del:case Sys.UI.Key.backspace:this._selectIndex=-1;this._timer.set_enabled(true);break;case Sys.UI.Key.esc:this._hideCompletionList();c.preventDefault();break;case Sys.UI.Key.up:if(this._selectIndex>0){if(this._completionListElement.childNodes.length>3){this._selectIndex--}if(this._completionListElement.childNodes[this._selectIndex].id==this._baseitemdividerid&&this._completionListElement.childNodes.length>3){this._selectIndex--}this._handleScroll(this._completionListElement.childNodes[this._selectIndex],this._selectIndex);this._highlightItem(this._completionListElement.childNodes[this._selectIndex]);c.stopPropagation();c.preventDefault()}break;case Sys.UI.Key.down:if(this._selectIndex<(this._completionListElement.childNodes.length-1)&&this._selectIndex>-1){this._selectIndex++;if(this._completionListElement.childNodes[this._selectIndex].id==this._baseitemdividerid){this._selectIndex++}if(this._completionListElement.childNodes[this._selectIndex].id==this._baseitembottomid){this._selectIndex--}this._handleScroll(this._completionListElement.childNodes[this._selectIndex],this._selectIndex);this._highlightItem(this._completionListElement.childNodes[this._selectIndex]);c.stopPropagation();c.preventDefault()}break;case Sys.UI.Key.enter:case Sys.UI.Key.tab:if(this._selectIndex!==-1){var b=this._completionListElement.childNodes[this._selectIndex];b=this._getSelectedItem(b);this._showingChoices=true;if(b.onclick!=null){this.hidePopup();b.onclick()}else{this._setText(b)}this._selectIndex=-1}else{this.hidePopup()}this._checkForPostback(a,c);break;default:this._timer.set_enabled(true);break}},_checkForPostback:function(a,b){if(a===Sys.UI.Key.enter&&this._showingChoices){this._showingChoices=false;b.preventDefault()}else{if(a===Sys.UI.Key.enter&&!this._showingChoices){b.preventDefault()}}},_handleScroll:function(d,b){var a=this._completionListElement;if(d.nodeName=="LI"){var e=$common.getBounds(d);var c=this._completionListElement.childNodes.length;if(((e.height*b)-(a.clientHeight+a.scrollTop))>=0){a.scrollTop+=(((e.height*b)-(a.clientHeight+a.scrollTop))+e.height)}if(((e.height*(c-(b+1)))-(a.scrollHeight-a.scrollTop))>=0){a.scrollTop-=(((e.height*(c-(b+1)))-(a.scrollHeight-a.scrollTop))+e.height)}if(a.scrollTop%e.height!==0){if(((e.height*(b+1))-(a.clientHeight+a.scrollTop))>=0){a.scrollTop-=(a.scrollTop%e.height)}else{a.scrollTop+=(e.height-(a.scrollTop%e.height))}}}},_handleFlyoutFocus:function(){if(!this._textBoxHasFocus){if(!this._flyoutHasFocus){if(this._webRequest){this._webRequest.get_executor().abort();this._webRequest=null}this._hideCompletionList()}}},_onMethodComplete:function(a,b){this._webRequest=null;this._update(b,a,true)},_onMethodFailed:function(c,a,b){this._webRequest=null},_onTimerTick:function(b,a){this._timer.set_enabled(false);if(this._servicePath&&this._serviceMethod){var d=this._currentCompletionWord();if(d.trim().length<this._minimumPrefixLength){this._currentPrefix=null;this._update("",null,false);return}if((this._currentPrefix!==d)||((d=="")&&(this._minimumPrefixLength==0))){this._currentPrefix=d;if((d!="")&&this._cache&&this._cache[d]){this._update(d,this._cache[d],false);return}else{this._update("",null,false)}var a=new Sys.CancelEventArgs();this.raisePopulating(a);if(a.get_cancel()){return}var c={prefixText:this._currentPrefix,count:this._completionSetCount,countryCode:this._countryCode,searchContext:this._searchContext};if(this._useContextKey){c.contextKey=this._contextKey}if(this._webRequest){this._webRequest.get_executor().abort();this._webRequest=null}this._webRequest=Sys.Net.WebServiceProxy.invoke(this.get_servicePath(),this.get_serviceMethod(),false,c,Function.createDelegate(this,this._onMethodComplete),Function.createDelegate(this,this._onMethodFailed),d);$common.updateFormToRefreshATDeviceBuffer()}}},_setText:function(b){var d=b.nodeValue;if(b&&b.firstChild){d=b.firstChild.nodeValue}this._timer.set_enabled(false);var a=this.get_element();var c=a.control;if(c&&c.set_text){c.set_text(d);$common.tryFireEvent(c,"change")}else{a.value=d;$common.tryFireEvent(a,"change")}if(b!=null){this.raiseItemSelected(new USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs(b,d,b?b._value:null))}this._currentPrefix=this._currentCompletionWord();if(b!=null){this._hideCompletionList()}a.focus();a.select()},_update:function(f,j,m){if(m&&this.get_enableCaching()){if(!this._cache){this._cache={}}this._cache[f]=j}if((!this._textBoxHasFocus)||(f!=this._currentCompletionWord())||f.length==0){this._hideCompletionList();return}currentAirportTextboxID=this.get_element().id;this._clearairports();this._selectIndex=-1;var o=null;var l=document.getElementById(this._baseitemfindairportid);var b=document.getElementById(this._baseitemdividerid);if(j&&j.length&&f.length>0){var p=JSON2.parse(j);var n=null;var k=null;for(var e=0;e<p.length;e++){var c=document.createElement("li");if(o==null){o=c}try{var d=p[e];if(d&&d.DisplayName){n=d.DisplayName;k=d.Code}else{n=d;k=d}}catch(g){n=p[e];k=p[e]}c.style.whiteSpace="nowrap";c.appendChild(document.createTextNode(this._getTextWithInsertedWord(n)));c._value=k;c.__item="";this._completionListElement.insertBefore(c,b)}this._completionListElement.style.display=""}else{if(f.length>0){this._hideCompletionList();this._highlightItem(null);if(o==null&&l!=null){o=l}var h=$common.getBounds(this.get_element())}else{this._hideCompletionList()}}this.raisePopulated(Sys.EventArgs.Empty);var a=new Sys.CancelEventArgs();this.raiseShowing(a);if(!a.get_cancel()){this.showPopup();if(this._firstRowSelected&&(o!=null)){this._highlightItem(o);this._selectIndex=0;if(l.id==o.id){this._selectIndex=1}}}},_clearairports:function(){if(this._completionListElement!=null){while(this._completionListElement.hasChildNodes()){if(this._completionListElement.childNodes[0].id!=this._baseitemfindairportid&&this._completionListElement.childNodes[0].id!=this._baseitembottomid&&this._completionListElement.childNodes[0].id!=this._baseitemdividerid){this._completionListElement.removeChild(this._completionListElement.childNodes[0])}else{break}}}},get_baseitemfindairportid:function(){return this._baseitemfindairportid},set_baseitemfindairportid:function(a){this._baseitemfindairportid=a},get_baseitembottomid:function(){return this._baseitembottomid},set_baseitembottomid:function(a){this._baseitembottomid=a},get_baseitemdividerid:function(){return this._baseitemdividerid},set_baseitemdividerid:function(a){this._baseitemdividerid=a},get_popoverid:function(){return this._popoverid},set_popoverid:function(a){this._popoverid=a},get_focusonstartup:function(){return this._focusonstartup},set_focusonstartup:function(a){this._focusonstartup=a},get_completionlistelementid:function(){return this._completionlistelementid},set_completionlistelementid:function(a){this._completionlistelementid=a},get_onShow:function(){return this._popupBehavior?this._popupBehavior.get_onShow():this._onShowJson},set_onShow:function(a){if(this._popupBehavior){this._popupBehavior.set_onShow(a)}else{this._onShowJson=a}this.raisePropertyChanged("onShow")},get_onShowBehavior:function(){return this._popupBehavior?this._popupBehavior.get_onShowBehavior():null},onShow:function(){if(this._popupBehavior){this._popupBehavior.onShow()}},get_onHide:function(){return this._popupBehavior?this._popupBehavior.get_onHide():this._onHideJson},set_onHide:function(a){if(this._popupBehavior){this._popupBehavior.set_onHide(a)}else{this._onHideJson=a}this.raisePropertyChanged("onHide")},get_onHideBehavior:function(){return this._popupBehavior?this._popupBehavior.get_onHideBehavior():null},onHide:function(){if(this._popupBehavior){this._popupBehavior.onHide()}},get_completionInterval:function(){return this._completionInterval},set_completionInterval:function(a){if(this._completionInterval!=a){this._completionInterval=a;this.raisePropertyChanged("completionInterval")}},get_completionList:function(){return this._completionListElement},set_completionList:function(a){if(this._completionListElement!=a){this._completionListElement=a;this.raisePropertyChanged("completionList")}},get_completionSetCount:function(){return this._completionSetCount},set_completionSetCount:function(a){if(this._completionSetCount!=a){this._completionSetCount=a;this.raisePropertyChanged("completionSetCount")}},get_minimumPrefixLength:function(){return this._minimumPrefixLength},set_minimumPrefixLength:function(a){if(this._minimumPrefixLength!=a){this._minimumPrefixLength=a;this.raisePropertyChanged("minimumPrefixLength")}},get_serviceMethod:function(){return this._serviceMethod},set_serviceMethod:function(a){if(this._serviceMethod!=a){this._serviceMethod=a;this.raisePropertyChanged("serviceMethod")}},get_servicePath:function(){return this._servicePath},set_servicePath:function(a){if(this._servicePath!=a){this._servicePath=a;this.raisePropertyChanged("servicePath")}},get_contextKey:function(){return this._contextKey},set_contextKey:function(a){if(this._contextKey!=a){this._contextKey=a;this.set_useContextKey(true);this.raisePropertyChanged("contextKey")}},set_contextKeyClear:function(a){if(this._contextKey!=a){this._contextKey=a;this.set_useContextKey(true);this.raisePropertyChanged("contextKey");this._cache={}}},get_useContextKey:function(){return this._useContextKey},set_useContextKey:function(a){if(this._useContextKey!=a){this._useContextKey=a;this.raisePropertyChanged("useContextKey")}},get_countryCode:function(){return this._countryCode},set_countryCode:function(a){if(this._countryCode!=a){this._countryCode=a;this.raisePropertyChanged("countryCode")}},get_searchContext:function(){return this._searchContext},set_searchContext:function(a){if(this._searchContext!=a){this._searchContext=a;this.raisePropertyChanged("searchContext")}},get_enableCaching:function(){return this._enableCaching},set_enableCaching:function(a){if(this._enableCaching!=a){this._enableCaching=a;this.raisePropertyChanged("enableCaching")}},get_completionListElementID:function(){return this._completionListElementID},set_completionListElementID:function(a){if(this._completionListElementID!=a){this._completionListElementID=a;this.raisePropertyChanged("completionListElementID")}},get_delimiterCharacters:function(){return this._delimiterCharacters},set_delimiterCharacters:function(a){if(this._delimiterCharacters!=a){this._delimiterCharacters=a;this.raisePropertyChanged("delimiterCharacters")}},get_firstRowSelected:function(){return this._firstRowSelected},set_firstRowSelected:function(a){if(this._firstRowSelected!=a){this._firstRowSelected=a;this.raisePropertyChanged("firstRowSelected")}},add_populating:function(a){this.get_events().addHandler("populating",a)},remove_populating:function(a){this.get_events().removeHandler("populating",a)},raisePopulating:function(a){var b=this.get_events().getHandler("populating");if(b){b(this,a)}},add_populated:function(a){this.get_events().addHandler("populated",a)},remove_populated:function(a){this.get_events().removeHandler("populated",a)},raisePopulated:function(a){var b=this.get_events().getHandler("populated");if(b){b(this,a)}},add_showing:function(a){this.get_events().addHandler("showing",a)},remove_showing:function(a){this.get_events().removeHandler("showing",a)},raiseShowing:function(a){var b=this.get_events().getHandler("showing");if(b){b(this,a)}},add_shown:function(a){this.get_events().addHandler("shown",a)},remove_shown:function(a){this.get_events().removeHandler("shown",a)},raiseShown:function(a){var b=this.get_events().getHandler("shown");if(b){b(this,a)}},add_hiding:function(a){this.get_events().addHandler("hiding",a)},remove_hiding:function(a){this.get_events().removeHandler("hiding",a)},raiseHiding:function(a){var b=this.get_events().getHandler("hiding");if(b){b(this,a)}},add_hidden:function(a){this.get_events().addHandler("hidden",a)},remove_hidden:function(a){this.get_events().removeHandler("hidden",a)},raiseHidden:function(a){var b=this.get_events().getHandler("hidden");if(b){b(this,a)}},add_itemSelected:function(a){this.get_events().addHandler("itemSelected",a)},remove_itemSelected:function(a){this.get_events().removeHandler("itemSelected",a)},raiseItemSelected:function(a){var b=this.get_events().getHandler("itemSelected");if(b){b(this,a)}},add_itemOver:function(a){this.get_events().addHandler("itemOver",a)},remove_itemOver:function(a){this.get_events().removeHandler("itemOver",a)},raiseItemOver:function(a){var b=this.get_events().getHandler("itemOver");if(b){b(this,a)}},add_itemOut:function(a){this.get_events().addHandler("itemOut",a)},remove_itemOut:function(a){this.get_events().removeHandler("itemOut",a)},raiseItemOut:function(a){var b=this.get_events().getHandler("itemOut");if(b){b(this,a)}}};USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior.registerClass("USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportBehavior",AjaxControlToolkit.BehaviorBase);USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs=function(a,c,b){USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs.initializeBase(this);this._item=a;this._text=c;this._value=(b!==undefined)?b:null};USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs.prototype={get_item:function(){return this._item},set_item:function(a){this._item=a},get_text:function(){return this._text},set_text:function(a){this._text=a},get_value:function(){return this._value},set_value:function(a){this._value=a}};USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs.registerClass("USAirways.Web.Shared.UI.Controls.AirportTextbox.AirportExtenderItemEventArgs",Sys.EventArgs);if(typeof(Sys)!=="undefined"){Sys.Application.notifyScriptLoaded()};