function DisplayResults(n){var r,o,s,c,l;if(typeof n=="string"&&(n=JSON.parse(n)),n.Success!=!0)$(".loadMoreWait").text("Session has expired. Please refresh your page."),ShowSearchErrorDialog(),console.log(n.Error);else{var t=n.Type,f=n.Query.GetSearchResults,e=n.Query.GetFacetCount;if(console.log("DisplayResults: Results="+f+" Facets="+e+" "+n.QueryString),f){if(currentQueryString=n.QueryString,n.Query.Page=="1"?($("#"+t+"LoadMoreResultsContainer").html(""),r=n.Items.length):r=loadMoreDict[n.Type].ResultsShowing+n.Items.length,loadMoreDict[n.Type]={CurrentQueryString:currentQueryString,CurrentQueryObject:n.Query,ResultsShowing:r},e||n.Query.Page!=1||(loadMoreDict[t].CurrentFacetsAjaxCall=$.ajax({method:"GET",url:"/searchajax/"+t+"/facets",type:"GET",data:n.QueryString}).done(DisplayResults).fail(function(n,t){console.log("Facets Request Failed: "+t)})),n.Type=="Search"||n.Type=="eBook"||n.Type=="Video"){if($("#searchWithinTerm").val(""),$("#searchWithinTermGray").val(""),n.Type=="eBook"||n.Type=="Video"?(firstCall||n.Query.Page!="1"||(n.Type=="eBook"?history.pushState({},document.title,"/eBooks?"+RemovePage(currentQueryString)):n.Type=="Video"&&history.pushState({},document.title,"/conference-presentations?"+RemovePage(currentQueryString))),o=RemoveQueryStringParam(RemoveQueryStringParam(RemoveQueryStringParam(currentQueryString,sortByRegex),pageSizeRegex),ssoRegex),firstCall&&(o==""||window.location.href.indexOf("dldesign.spie.org")>-1)?$("#SearchResultResults").hide():firstCall||o!=""?($("#SearchResultResults").show(),$("#SearchResultLandingContent").hide()):($("#SearchResultResults").hide(),$("#SearchResultLandingContent").show())):firstCall||n.Query.Page!="1"||history.pushState(null,document.title,"/"+n.Type+"?"+RemovePage(currentQueryString)),$("#searchTopFilterTotalResults").text(n.ResultsCount.toLocaleString()+" results"),s=n.Query.DisplayFilter,n.Type=="Search"||n.Type=="eBook"||n.Type=="Video")if($("#searchHeaderTotalResults").html(n.ResultsCount.toLocaleString()+" results found for: "),s!=""||n.Type=="Search")for(i=0;i<n.Query.TermsQueryList.length;i++){var u=n.Query.TermsQueryList[i],a=$('<div id="searchTermBreadcrumb'+EscapeDOM(u)+'" class="searchBreadcrumb" tabindex="0" onclick="RemoveTermsQuery(\''+EscapeDOM(u)+"')\"><\/div>").text(u).prepend('<img src="/Content/themes/SPIEImages/Yellow_Close_Filter.svg" class="searchBreadcrumbButton" alt="Remove Search Term">'),h=EscapeDOM(u);$("#searchHeaderTotalResults").append(a);$("#searchTermBreadcrumb"+h).keydown({arg1:h},function(n){(n.which==46||n.which==13)&&RemoveTermsQuery(n.data.arg1)})}else $("#searchHeaderTotalResults").hide();$("#displayQueryText").val(s);resultsType=n.Type}$("#"+t+"LoadMoreResultsContainer").append(n.ResultsHTML.replace(/&lt;\/script&gt;/g,"&lt;/scripttag>").replace(/&lt;\/scripttag/g,"<\/script"));try{c={separateWordSearch:!1,ignorePunctuation:"-–—‒".split("")};$.urlParam=function(n){var t=new RegExp("[?&]"+n+"=([^&#]*)").exec(window.location.href);return t[1]||0};l=new Mark(".SearchHighlightContainer");l.mark(n.Query.HighlightTerms,c)}catch(v){console.log("Highlighting is not supported for this page. If this page needs highlighing support, add Mark.js to the view and add the class 'SearchHighlightContainer' to necessary html tags")}typeof $("#searchResultErrorList"+n.Query.Page).val()!="undefined"&&console.log("Search Result Error List: "+$("#searchResultErrorList"+n.Query.Page).val());$("#"+t+"LoadMoreWait").css("display","none");$("#"+t+"LoadMoreCountButton").css("display","block");r<n.ResultsCount?($("#"+t+"LoadMoreButton").css("display","inline-block"),$("#"+t+"LoadMoreNewQuery").css("display","none")):$("#"+t+"LoadMoreButton").css("display","none");$("#"+t+"LoadMoreResultCount").html("Showing <strong>"+r.toLocaleString()+"<\/strong> of <strong>"+n.ResultsCount.toLocaleString()+"<\/strong> results");$(".showabstract").unbind("click").click(function(n){var t="#"+n.target.id;$(t).text(function(){return $(t).text().indexOf("+")!==-1?$(t).text().replace("+","-"):$(t).text().replace("-","+")});$(t).siblings(".theabstract").toggle("blind",{},500)});$(".showdescription").unbind("click").click(function(n){var t="#"+n.target.id;$(t).text(function(){return $(t).text().indexOf("+")!==-1?$(t).text().replace("+","-"):$(t).text().replace("-","+")});$(t).siblings(".theabstract").toggle("blind",{},500)});$(".showexcerpt").unbind("click").click(function(n){var t="#"+n.target.id;$(t).text(function(){return $(t).text().indexOf("+")!==-1?$(t).text().replace("+","-"):$(t).text().replace("-","+")});$(t).siblings(".theabstract").toggle("blind",{},500)})}e&&(n.Type=="Search"||n.Type=="eBook"||n.Type=="Video")&&n.Query.Page==1&&(DisplayFacets(n),$("#searchResultsFacets").css({opacity:"1",filter:"","pointer-events":""}),$("#"+t+"LoadFacetWait").css("display","none"));f&&r<n.ResultsCount&&PreLoadMoreResults(t)}firstCall=!1}function PreLoadMoreResults(n){loadMoreDict[n].PreLoadMoreResults=null;loadMoreDict[n].DisplayPreLoadMoreResults=!1;nextPage=parseInt(loadMoreDict[n].CurrentQueryObject.Page)+1;var t=AddReplaceQueryStringParam(loadMoreDict[n].CurrentQueryString,pageRegex,"page="+nextPage);LoadMoreResultsRequest(n,t,!1,!0,!1)}function LoadMoreResultsOnClick(n){nextPage<=50?(LoadMoreWait(n,!1),loadMoreDict[n].DisplayPreLoadMoreResults=!0,loadMoreDict[n].PreLoadMoreResults!=null&&DisplayResults(loadMoreDict[n].PreLoadMoreResults)):($("#"+n+"LoadMoreButton").css("display","none"),$("#"+n+"LoadMoreNewQuery").css("display","inline-block"))}function StorePreloadMoreResults(n){if(typeof n=="string"&&(n=JSON.parse(n)),n.Success!=!0)console.log("StorePreloadMoreResults: Failure"),$(".loadMoreButton").css("display","none"),$(".loadMoreNewQuery").css("display","inline-block"),$(".loadMoreNewQuery").text("Your search has expired. Please refresh your page or refine your search query."),ShowSearchErrorDialog(),console.log(n.Error);else{var t=n.Type;console.log("StorePreloadMoreResults: Success "+t+" "+n.QueryString);loadMoreDict[t].PreLoadMoreResults=n;loadMoreDict[t].DisplayPreLoadMoreResults==!0&&DisplayResults(loadMoreDict[t].PreLoadMoreResults)}}function LoadMoreWait(n,t){t==!0&&($("#"+n+"LoadMoreResultsContainer").html(""),$("#"+n+"LoadMoreCountButton").css("display","none"),$("#searchResultsFacets").css({opacity:"0.5",filter:"alpha(opacity=50)","pointer-events":"none"}),$("#"+n+"LoadFacetWait").css("display","inline-block"));$("#"+n+"LoadMoreButton").css("display","none");$("#"+n+"LoadMoreNewQuery").css("display","none");$("#"+n+"LoadMoreWait").css("display","inline-block")}function GetNewQuery(n){return RemovePage(loadMoreDict[n].CurrentQueryString)}function RemovePage(n){return RemoveQueryStringParam(n,pageRegex)}function jQueryEscapeSelector(n){return EscapeDOM(n.replace(/(:|\.|\[|\])/g,"\\$1"))}function EscapeDOM(n){return n.replace(/([^\w]| |'|"|\/)/g,function(n){return"_"+n[0].charCodeAt(0).toString(16)+"_"})}function LoadMoreResultsRequest(n,t,i,r,u){var f,e;loadMoreDict[n].CurrentQueryString=t;f=r?"Preloading ":"";console.log("LoadMoreResultsRequest: "+f+n+" "+t);loadMoreDict[n].CurrentResultsAjaxCall&&loadMoreDict[n].CurrentResultsAjaxCall.readyState!=4&&loadMoreDict[n].CurrentResultsAjaxCall.abort();u&&loadMoreDict[n].CurrentFacetsAjaxCall&&loadMoreDict[n].CurrentFacetsAjaxCall.readyState!=4&&loadMoreDict[n].CurrentFacetsAjaxCall.abort();(n.toLowerCase()=="ebook"||n.toLowerCase()=="video")&&r!=!0&&(e=RemoveQueryStringParam(RemoveQueryStringParam(t,sortByRegex),pageSizeRegex),e==""?($("#SearchResultResults").hide(),$("#SearchResultLandingContent").show()):($("#SearchResultResults").show(),$("#SearchResultLandingContent").hide()));i!=!1&&JumpToID("divFilterMenu");loadMoreDict[n].CurrentResultsAjaxCall=r==!0?$.ajax({method:"GET",url:"/searchajax/"+n+"/results",type:"GET",data:t}).done(StorePreloadMoreResults).fail(function(n,t){console.log("Results Request Failed: "+t)}):$.ajax({method:"GET",url:"/searchajax/"+n+"/results",type:"GET",data:t}).done(DisplayResults).fail(function(n,t){console.log("Results Request Failed: "+t)})}var pageRegex="page=\\d*",pageSizeRegex="pageSize=\\d*",sortByRegex="sortBy=\\w*",ssoRegex="SSO=1",loadMoreDict={},firstCall=!0,currentVideoDetail="",currentQueryString="";window.addEventListener("popstate",function(){location.reload()},!1)