function LiveSearch(){var resultsElement='';var searchBoxes='';}
LiveSearch.activeRequests=new Array();LiveSearch.init=function(){jQuery("body").append('<ul class="search_results"></ul>');this.resultsElement=jQuery('ul').filter('.search_results');this.resultsElement.hide();LiveSearch.searchBoxes=jQuery("input").filter("[name='s']");LiveSearch.searchBoxes.keyup(LiveSearch.handleKeypress);if(!LiveSearch.searchBoxes.outerHeight){alert(DavesWordPressLiveSearchConfig.outdatedJQuery);}
LiveSearch.searchBoxes.parents('form').attr('autocomplete','off');jQuery("html").click(LiveSearch.hideResults);LiveSearch.searchBoxes.add(this.resultsElement).click(function(e){e.stopPropagation();});jQuery(window).resize(function(){var wasVisible=LiveSearch.resultsElement.is(':visible');LiveSearch.positionResults(this);if(!wasVisible){LiveSearch.resultsElement.hide();}});}
LiveSearch.positionResults=function(){if(LiveSearch.searchBoxes.size()===0){return false;}
var searchBoxPosition=LiveSearch.searchBoxes.offset();searchBoxPosition.left+=parseInt(DavesWordPressLiveSearchConfig.xOffset,10);this.resultsElement.css('left',searchBoxPosition.left);this.resultsElement.css('display','block');switch(DavesWordPressLiveSearchConfig.resultsDirection)
{case'up':var topOffset=searchBoxPosition.top-this.resultsElement.height();break;case'down':default:var topOffset=searchBoxPosition.top+LiveSearch.searchBoxes.outerHeight();}
this.resultsElement.css('top',topOffset+'px');};LiveSearch.handleAJAXResults=function(e){LiveSearch.activeRequests.pop();if(e){resultsSearchTerm=e.searchTerms;if(resultsSearchTerm!=LiveSearch.searchBoxes.val()){if(LiveSearch.activeRequests.length==0){LiveSearch.removeIndicator();}
return;}
var resultsShownFor=jQuery("ul").filter(".search_results").children("input[name=query]").val();if(resultsShownFor!=""&&resultsSearchTerm==resultsShownFor)
{if(LiveSearch.activeRequests.length==0){LiveSearch.removeIndicator();}
return;}
var searchResultsList=jQuery("ul").filter(".search_results");searchResultsList.empty();searchResultsList.append('<input type="hidden" name="query" value="'+resultsSearchTerm+'" />');if(e.results.length==0){LiveSearch.hideResults();}
else{for(var postIndex=0;postIndex<e.results.length;postIndex++){var searchResult=e.results[postIndex];if(searchResult.post_title!==undefined){var renderedResult='';if(DavesWordPressLiveSearchConfig.showThumbs=="true"&&searchResult.attachment_thumbnail){var liClass="post_with_thumb";}
else{var liClass="";}
renderedResult+='<li class="'+liClass+'">';if(DavesWordPressLiveSearchConfig.showThumbs=="true"&&searchResult.attachment_thumbnail){renderedResult+='<img src="'+searchResult.attachment_thumbnail+'" class="post_thumb" />';}
renderedResult+='<a href="'+searchResult.permalink+'">'+searchResult.post_title+'</a>';if(searchResult.post_price!=undefined){renderedResult+='<p class="price">'+searchResult.post_price+'</p>';}
if(DavesWordPressLiveSearchConfig.showExcerpt=="true"&&searchResult.post_excerpt){renderedResult+='<p class="excerpt clearfix">'+searchResult.post_excerpt+'</p>';}
if(e.displayPostMeta){renderedResult+='<p class="meta clearfix" id="daves-wordpress-live-search_author">Posted by '+searchResult.post_author_nicename+'</p><p id="daves-wordpress-live-search_date" class="meta clearfix">'+searchResult.post_date+'</p>';}
renderedResult+='<div class="clearfix"></div></li>';searchResultsList.append(renderedResult);}}
if(searchResult.show_more!=undefined&&searchResult.show_more&&DavesWordPressLiveSearchConfig.showMoreResultsLink=="true"){searchResultsList.append('<div class="clearfix search_footer"><a href="'+DavesWordPressLiveSearchConfig.blogURL+'/?s='+resultsSearchTerm+'">'+DavesWordPressLiveSearchConfig.viewMoreText+'</a></div>');}
LiveSearch.showResults();}
if(LiveSearch.activeRequests.length==0){LiveSearch.removeIndicator();}}};LiveSearch.handleKeypress=function(e){var delayTime=0;var term=LiveSearch.searchBoxes.val();setTimeout(function(){LiveSearch.runQuery(term);},delayTime);};LiveSearch.runQuery=function(terms){var srch=LiveSearch.searchBoxes.val();if(srch===""||srch.length<DavesWordPressLiveSearchConfig.minCharsToSearch){LiveSearch.hideResults();LiveSearch.removeIndicator();}
else{LiveSearch.displayIndicator();while(LiveSearch.activeRequests.length>0)
{var req=LiveSearch.activeRequests.pop();req.abort();}
var parameters={s:terms};var searchSource=jQuery("input").filter("[name='search_source']").val();if(searchSource!=undefined){parameters.search_source=searchSource;}
var lang=jQuery("input").filter("[name='lang']").val();if(lang!=undefined){parameters.lang=lang;}
parameters.action="dwls_search";var req=jQuery.get(DavesWordPressLiveSearchConfig.ajaxURL,parameters,LiveSearch.handleAJAXResults,"json");LiveSearch.activeRequests.push(req);}};LiveSearch.hideResults=function(){switch(DavesWordPressLiveSearchConfig.resultsDirection)
{case'up':jQuery("ul").filter(".search_results:visible").fadeOut();return;case'down':default:jQuery("ul").filter(".search_results:visible").slideUp();return;}};LiveSearch.showResults=function(){this.positionResults();switch(DavesWordPressLiveSearchConfig.resultsDirection)
{case'up':jQuery("ul").filter(".search_results:hidden").fadeIn();return;case'down':default:jQuery("ul").filter(".search_results:hidden").slideDown();return;}};LiveSearch.displayIndicator=function(){if(jQuery("#search_results_activity_indicator").size()===0){jQuery("body").append('<img id="search_results_activity_indicator" src="'+DavesWordPressLiveSearchConfig.indicatorURL+'" />');var searchBoxPosition=LiveSearch.searchBoxes.offset();jQuery("#search_results_activity_indicator").css('position','absolute');var indicatorY=(searchBoxPosition.top+((LiveSearch.searchBoxes.outerHeight()-LiveSearch.searchBoxes.innerHeight())/2)+'px');jQuery("#search_results_activity_indicator").css('top',indicatorY);var indicatorX=(searchBoxPosition.left+LiveSearch.searchBoxes.outerWidth()-DavesWordPressLiveSearchConfig.indicatorWidth-2)+'px';jQuery("#search_results_activity_indicator").css('left',indicatorX);}};LiveSearch.removeIndicator=function(){jQuery("#search_results_activity_indicator").remove();};jQuery(function(){LiveSearch.init();});
