Namespace.Manager.Register("com.aa.i11l.smartSearch");com.aa.i11l.smartSearch.search=function(){this.requestObj={};this.domHandler=new com.aa.i11l.utils.dom.actions();this.rObj;this.query;this.inputObj;this.outputObj;this.killCallback=false;this.stopRequest=false};com.aa.i11l.smartSearch.search.prototype.doRequest=function(e){if(this.stopRequest){this.stopRequest=false;return}this.requestObj=e;this.query=this.requestObj.query;this.language=this.requestObj.language||"";this.country=this.requestObj.country||"";this.inputObj=this.domHandler.createDomRef(this.requestObj.inputId);this.outputObj=this.domHandler.createDomRef(this.requestObj.outputId);this.inputPos=jQuery(this.inputObj).offset();this.inputPos.top+=jQuery(this.inputObj).outerHeight();this.hiddenInputObj=this.domHandler.createDomRef(this.requestObj.hiddenInputId);this.hiddenInputObj.value="";var a=3,b=false;if((this.language=="ja")||(this.language=="zh")||(this.language=="ko")){a=1}if((this.language=="ja")||(this.language=="zh")||(this.language=="ko")||(this.language=="ru")){var c=/[\u0000-\u007F\uFF41-\uFF5A]/i;b=c.test(this.query);if(((this.language=="zh")||(this.language=="ko")||(this.language=="ru"))&&b){a=3;b=false}}if(this.query.length<a){this.closeList();this.killCallback=true}else{if(!b){this.killCallback=false;var d=this.requestObj.url+"?q="+encodeURI(this.query)+"&lg="+encodeURI(this.language)+"&cnt="+encodeURI(this.country);this.rObj=new com.aa.i11l.utils.jsonp.JSONscriptRequest(d);this.rObj.buildScriptTag();this.rObj.addScriptTag()}}};com.aa.i11l.smartSearch.search.prototype.handleResponse=function(c){var a=jQuery("#smartsearch_out_cont");a.css({top:-10000,left:-10000}).show();if(typeof c!="undefined"&&c!=null){this.preventDefaultScroll();suggestStr=[];for(var b=0;b<c.result.length;b++){suggestStr.push('<div tabindex="-1" id="resultDiv_');suggestStr.push(b);suggestStr.push('" onkeyup="javascript:i11l_suggest.keyCheck(event, this.id,\'');suggestStr.push(c.result[b].display+"','"+c.result[b].data+'\');" onmouseover="javascript:i11l_suggest.divMouseOver(this);" ');suggestStr.push('onmouseout="javascript:i11l_suggest.divMouseOut(this);"');suggestStr.push("onclick=\"javascript:i11l_suggest.setResult('");suggestStr.push(c.result[b].display+"','"+c.result[b].data+'\');" onkeypress="i11l_suggest.closeOnEnter(event);" ');suggestStr.push('class="resultLink">');suggestStr.push(this.emphasizeMatch(decodeURI(c.result[b].display),this.query));suggestStr.push("</div>")}this.outputObj.innerHTML=suggestStr.join("");this.outputObj.className="container";a.css(this.inputPos).bgiframe();jQuery(i11l_suggest.inputObj).bind("keyup",i11l_suggest.focusOnList)}else{jQuery(i11l_suggest.inputObj).unbind("keyup",i11l_suggest.focusOnList);this.closeList()}};com.aa.i11l.smartSearch.search.prototype.divMouseOver=function(a){var b=this.domHandler.createDomRef("resultDiv_0");if(b!=null){b.className="resultLink";a.className="highLight";a.focus()}};com.aa.i11l.smartSearch.search.prototype.divMouseOut=function(a){a.className="resultLink";a.blur()};com.aa.i11l.smartSearch.search.prototype.keyCheck=function(f,g,d,c){var a=(window.event)?event.keyCode:f.keyCode;var b;switch(a){case 38:b="up";this.doKeyAction(g,b,d,c);break;case 40:b="down";this.doKeyAction(g,b,d,c);break}return false};com.aa.i11l.smartSearch.search.prototype.closeOnEnter=function(b){var a=(window.event)?event.keyCode:b.keyCode;if((a==13)||(a==27)){if(this.inputObj){this.inputObj.focus()}this.closeList()}};com.aa.i11l.smartSearch.search.prototype.preventDefaultScroll=function(){document.onkeydown=function(a){var a=a||window.event;return a.keyCode==38||a.keyCode==40?false:true};document.onkeypress=function(a){var a=a||window.event;return a.keyCode==38||a.keyCode==40?false:true}};com.aa.i11l.smartSearch.search.prototype.allowDefaultScroll=function(){document.onkeydown=function(){return true};document.onkeypress=function(){return true}};com.aa.i11l.smartSearch.search.prototype.doKeyAction=function(a,e,j,f){var d=this.domHandler.createDomRef(a);var h=a.split("_");var g=parseInt(h[1],10);if(e=="down"){var b=h[0]+"_"+(g+1)}else{if(e=="up"){var b=h[0]+"_"+(g-1)}}var c=this.domHandler.createDomRef(b);if(c!=null){this.divMouseOut(d);this.divMouseOver(c);c.focus();var k=this.parseInnerHTML(c.innerHTML);this.updateSearchBox(k[0],k[1])}};com.aa.i11l.smartSearch.search.prototype.parseInnerHTML=function(d){var c=d;var b=new Array();c=c.replace(/\\n/g,"");c=c.replace(/<(.|\n)*?>/gi,"");b[0]=c;c=c.split("(");var a=c[1];a=a.split(")");b[1]=a[0];return b};com.aa.i11l.smartSearch.search.prototype.emphasizeMatch=function(c,a){var b=c.replace(a,a.bold());return b};com.aa.i11l.smartSearch.search.prototype.updateSearchBox=function(c,b){var a=this.domHandler.createDomRef(this.requestObj.hiddenInputId);if(a!=null){this.inputObj.value=c;a.value=b}};com.aa.i11l.smartSearch.search.prototype.setResult=function(b,a){this.updateSearchBox(b,a);if(this.inputObj){this.inputObj.focus()}this.closeList()};com.aa.i11l.smartSearch.search.prototype.closeList=function(){jQuery(this.inputObj).unbind("keyup",this.focusOnList);jQuery("#smartsearch_out_cont").css({top:-10000,left:-10000});if(this.outputObj){this.outputObj.innerHTML=""}this.allowDefaultScroll()};com.aa.i11l.smartSearch.search.prototype.focusOnList=function(c){if(c.keyCode==40){i11l_suggest.stopRequest=true;var b=i11l_suggest.domHandler.createDomRef("resultDiv_0");if(b!=null){c.stopImmediatePropagation();jQuery(i11l_suggest.inputObj).unbind("keyup",i11l_suggest.focusOnList);i11l_suggest.divMouseOver(b);b.focus();var a=i11l_suggest.parseInnerHTML(b.innerHTML);i11l_suggest.updateSearchBox(a[0],a[1])}}};com.aa.i11l.smartSearch.search.prototype.resetDefaults=function(){var a=this.domHandler.createDomRef(this.requestObj.hiddenInputId);a.value=""};com.aa.i11l.smartSearch.search.prototype.runWidget=function(d,b){var d=d||"en",b=b||"IE",c="smartsearch_out_cont",a=jQuery("#"+c);if(a.length==0){a=jQuery('<div class="shadow-container" id="'+c+'" style="display:none"><div class="shadow1"><div class="shadow2"><div class="shadow3"><div id="smartsearch_out" class=""></div></div></div></div></div>')}jQuery("input.smartInput").each(function(k,h){var j=jQuery(h),g=j.attr("rel"),e=h.id,l=e+"_hidden";j.parent().append('<input type="hidden" name="'+g+'" value="" id="'+l+'">');var f="http://i11l-services.aa.com/apps/smartsearch/search.php";if(d=="ja"){f="http://i11l-services.aa.com/apps/smartsearch/jp/search.php"}AAI11L.registerImeHandler(e,function(){i11l_suggest.doRequest({url:f,query:h.value,language:d,country:b,inputId:e,hiddenInputId:l,outputId:"smartsearch_out"})});j.blur(function(){if(document.getElementById(l).value.length==0){var i=j.val().trim(),n=/([a-zA-Z\s\'\-\uFF41-\uFF5A]+)/gi,m=(i.match(n)||[]).join("").trim();document.getElementById(l).value=m}})});a.css("z-index","9999");jQuery("body").append(a)};var i11l_suggest=new com.aa.i11l.smartSearch.search();document.onclick=i11l_suggest.closeList.bind(i11l_suggest);function __callback(a){if(!i11l_suggest.killCallback){i11l_suggest.handleResponse(a)}i11l_suggest.rObj.removeScriptTag()};
