/* (c) 2009 Blue Indigo, LLC */
AEXP=YAHOO.namespace("AEXP");YAHOO.namespace("AEXP.search");AEXP.search.ac=function(searchinput,searchcontainer,ajx_url){var oDataSource;var oAutoComp;var match_count,num_returned,price;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.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){if(args[2][0]=='__more_apps__'){location.href='//www.appexplorer.com'+(args[2][1]);return;}
display_short_urls(args[2][1])});oAutoComp.suppressInputUpdate=true;}
var ajx_req_short;function display_short_urls(path){uid=path.substr(3,9)
ajx_req_short=getXMLHttpReq();if(ajx_req_short==null){$AE('appli_results').innerHTML='Service not available - your browser does not support async requests (ajax)'
return;}
ajx_req_short.open("POST",'/ajx/short/'+uid+'/',true);ajx_req_short.onreadystatechange=proc_short;ajx_req_short.send("");}
function proc_short(){if(ajx_req_short.readyState==4){if(ajx_req_short.status==200){resp=ajx_req_short.responseText;var results;try{results=JSON.parse(resp);}catch(e){$AE('appli_results').innerHTML="There was a problem retrieving the result:<br />"+e;$AE('appli_results').style.visibility="visible";return;}
var resp=results.Response;if(resp.status!='success'){$AE('appli_results').innerHTML="There was a problem retrieving the result:<br />"+resp.message;$AE('appli_results').style.visibility="visible";return;}
if(resp.message){$AE('id_short_msg').innerHTML=resp.message;}
$AE('short_name').innerHTML=resp.app_name;if(resp.token_url){$AE('id_token_url').innerHTML=resp.token_url;}}else{$AE('appli_results').innerHTML="There was a problem retrieving the result:<br /><em>"+ajx_req_short.statusText+"</em><br />";}
$AE('appli_results').style.visibility="visible";return;}}
