Namespace.Manager.Register("com.aa.i11l.smartSearch");com.aa.i11l.smartSearch.callerObj=function(){this.inputId;this.hiddenInputId;this.useHiddenInputId;this.outputId;this.iframeId};com.aa.i11l.smartSearch.callerObj.prototype.setFields=function(a,b,c,d,e){this.inputId=a;this.hiddenInputId=b;this.useHiddenInputId=c;this.outputId=d;this.iframeId=e};com.aa.i11l.smartSearch.callerObj.prototype.getInputId=function(){return this.inputId};com.aa.i11l.smartSearch.callerObj.prototype.getHiddenInputId=function(){return this.hiddenInputId};com.aa.i11l.smartSearch.callerObj.prototype.getUseHiddenInputId=function(){return this.useHiddenInputId};com.aa.i11l.smartSearch.callerObj.prototype.getOutputId=function(){return this.outputId};com.aa.i11l.smartSearch.callerObj.prototype.getIframeId=function(){return this.iframeId};com.aa.i11l.smartSearch.search=function(){this.callerObj=new com.aa.i11l.smartSearch.callerObj();this.domHandler=new com.aa.i11l.utils.dom.actions();this.scriptRemoved;this.rObj;this.query;this.inputObj;this.outputObj;this.killCallback=false};com.aa.i11l.smartSearch.search.prototype.doRequest=function(a,b,c,d,e,f,g){this.query=b;this.callerObj.setFields(c,d,e,f,g);this.inputObj=this.domHandler.createDomRef(this.callerObj.getInputId());this.outputObj=this.domHandler.createDomRef(this.callerObj.getOutputId());if(this.query==""){this.closeList();this.killCallback=true}else{var h=/[\u0000-\u007F\uFF41-\uFF5A]/i;if(!h.test(this.query)&&this.scriptRemoved!=false){this.killCallback=false;var i=a+'?q='+encodeURI(this.query);this.rObj=new com.aa.i11l.utils.jsonp.JSONscriptRequest(i);this.rObj.buildScriptTag();this.rObj.addScriptTag();this.scriptRemoved=false}}};com.aa.i11l.smartSearch.search.prototype.handleResponse=function(a){if(typeof a!='undefined'&&a!=null){var b=this.domHandler.createDomRef(this.callerObj.getIframeId());this.outputObj.innerHTML='';this.preventDefaultScroll();if(b!=null){for(var i=0;i'+this.emphasizeMatch(decodeURI(a.result[i].display),this.query)+''}else{c+='class="resultLink">'+this.emphasizeMatch(decodeURI(a.result[i].display),this.query)+''}this.outputObj.style.display='block';this.outputObj.innerHTML+=c;b.className='';b.className='iLayerShowIE';this.outputObj.className='container'}}}else{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(e,a,b,c){var d=(window.event)?event.keyCode:e.keyCode;var f;switch(d){case 38:f="up";this.doKeyAction(a,f,b,c);break;case 40:f="down";this.doKeyAction(a,f,b,c);break}return false};com.aa.i11l.smartSearch.search.prototype.focusHandler=function(e){var a=(window.event)?event.keyCode:e.keyCode;if(a==40){var b=this.domHandler.createDomRef('resultDiv_0');var c=this.domHandler.createDomRef('resultDiv_1');if(c!=null&&b!=null){c.focus();this.divMouseOut(b);this.divMouseOver(c)}}};com.aa.i11l.smartSearch.search.prototype.closeOnEnter=function(e){var a=(window.event)?event.keyCode:e.keyCode;if(a==13){this.closeList()}};com.aa.i11l.smartSearch.search.prototype.preventDefaultScroll=function(){document.onkeydown=function(e){var e=e||window.event;return e.keyCode==38||e.keyCode==40?false:true};document.onkeypress=function(e){var e=e||window.event;return e.keyCode==38||e.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,b,c,d){var e=this.domHandler.createDomRef(a);var f=a.split('_');var i=parseInt(f[1],10);if(b=='down'){var g=f[0]+'_'+(i+1)}else if(b=='up'){var g=f[0]+'_'+(i-1)}var h=this.domHandler.createDomRef(g);if(h!=null){this.divMouseOut(e);this.divMouseOver(h);h.focus();var j=this.parseInnerHTML(h.innerHTML);this.updateSearchBox(j[0],j[1])}};com.aa.i11l.smartSearch.search.prototype.parseInnerHTML=function(a){var b=a;var c=new Array();b=b.replace(/\\n/g,'');b=b.replace(/<(.|\n)*?>/gi,'');c[0]=b;b=b.split('(');var d=b[1];d=d.split(')');c[1]=d[0];return c};com.aa.i11l.smartSearch.search.prototype.emphasizeMatch=function(a,b){var c=a.replace(b,b.bold());return c};com.aa.i11l.smartSearch.search.prototype.updateSearchBox=function(a,b){var c=this.domHandler.createDomRef(this.callerObj.getHiddenInputId());var d=this.domHandler.createDomRef(this.callerObj.getUseHiddenInputId());if(c!=null&&d!=null){this.inputObj.value=a;c.value=b;d.value='true'}};com.aa.i11l.smartSearch.search.prototype.setResult=function(a,b){var c=this.domHandler.createDomRef(this.callerObj.getHiddenInputId());var d=this.domHandler.createDomRef(this.callerObj.getUseHiddenInputId());var e=this.domHandler.createDomRef(this.callerObj.getIframeId());if(c!=null&&d!=null){this.inputObj.value=a;c.value=b;d.value='true';this.outputObj.innerHTML='';this.outputObj.className='';e.className='iLayerHide'}};com.aa.i11l.smartSearch.search.prototype.defaultUpdate=function(){var a=this.domHandler.createDomRef(this.callerObj.getUseHiddenInputId());var b=this.domHandler.createDomRef('resultDiv_0');if(a.value=='false'&&b!=null){var c=this.parseInnerHTML(b.innerHTML);this.updateSearchBox(c[0],c[1])}};com.aa.i11l.smartSearch.search.prototype.closeList=function(){var a=this.domHandler.createDomRef(this.callerObj.getIframeId());var b=this.outputObj;if(a!=null){this.defaultUpdate();this.allowDefaultScroll();setTimeout(function(){b.innerHTML='';b.className='';a.className='iLayerHide';b=null;ifFrameId=null},100)}};com.aa.i11l.smartSearch.search.prototype.resetDefaults=function(){var a=this.domHandler.createDomRef(this.callerObj.getHiddenInputId());var b=this.domHandler.createDomRef(this.callerObj.getUseHiddenInputId());a.value='';b.value='false'};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();i11l_suggest.scriptRemoved=true};