/* (c) 2010 Blue Indigo, LLC */
AEXP=YAHOO.namespace("AEXP");YAHOO.namespace("AEXP.search");AEXP.search.ac=function(searchinput,searchcontainer,ajx_url,store){var oDataSource;var oAutoComp;var match_count,num_returned,price;var store_id;if(store){store_id=store;}else{store_id=''}
oDataSource=new YAHOO.util.XHRDataSource(ajx_url);oDataSource.responseType=YAHOO.util.XHRDataSource.TYPE_JSON;oDataSource.responseSchema={resultsList:"Response.Results",fields:[{key:"name"},{key:"url"},{key:"price"}],metaFields:{}};oDataSource.connXhrMode="ignoreStaleResponses";oAutoComp=new YAHOO.widget.AutoComplete(searchinput,searchcontainer,oDataSource,{autoHighlight:false,animVert:true,animHoriz:false,animSpeed:0.3,minQueryLength:1,queryDelay:0.33,useShadow:true,prehighlightClassName:"yui-ac-prehighlight"});oAutoComp.maxResultsDisplayed=13;oAutoComp.generateRequest=function(sQuery){return"?query="+sQuery+"&sid="+store_id};oAutoComp.formatResult=function(oResultData,sQuery,sResultMatch){if(sResultMatch=='__more_apps__'){return'<div style="font-style:italic;color:#002080;font-size:12px;margin-top:2px;">more apps...</div>';}
var textLower=sResultMatch.toLowerCase();var qLower=sQuery.trim().toLowerCase();var qlen=qLower.length
var lites=new Array(textLower.length);for(var p=0;p<textLower.length;p++){if(textLower.substring(p).startsWith(qLower)){for(p2=p;p2<p+qlen;p2++){lites[p2]=true;}
p+=qlen}}
var result='',inlite=false;for(var i=0;i<lites.length;i++){if(lites[i]){if(!inlite){result+='<b>';inlite=true;}}else{if(inlite){result+='</b>';inlite=false;}}
result+=escape_entities(sResultMatch.substr(i,1));}
if(inlite)result+='</b>';price=' &nbsp;';if(oResultData[2]){price=oResultData[2];}
return result+' &nbsp; <span style="font-style:italic; color:#707070; font-size:11px;">'+price+'</span>';};oAutoComp.doBeforeExpandContainer=function(oTextbox,oContainer,sQuery,aResults){var txtReg=YAHOO.util.Dom.getRegion(oTextbox);var txtWidth=txtReg.right-txtReg.left;YAHOO.util.Dom.setStyle(oContainer,'width',(txtWidth-4)+'px')
var pos=YAHOO.util.Dom.getXY(oTextbox);pos[1]+=YAHOO.util.Dom.get(oTextbox).offsetHeight-1;YAHOO.util.Dom.setXY(oContainer,pos);return true;};oAutoComp.itemSelectEvent.subscribe(function(type,args){location.href=(args[2][1]);});oAutoComp.suppressInputUpdate=true;}
