var RESULTS_PER_PAGE=20,MAX_PAGER_ITEMS=10;(function($){AjaxSolr.SearchWidget=AjaxSolr.AbstractWidget.extend({beforeRequest:function(){this.manager.store.remove('fq');this.manager.store.remove('q');if($('.domain-2').length)oyezFilterType='news_story';if(oyezFilterType!=''){this.manager.store.addByValue('fq',"type:"+oyezFilterType);}else{this.manager.store.addByValue('fq',"-type:media_item");this.manager.store.addByValue('fq',"-type:media_collection");this.manager.store.addByValue('fq',"-type:case_brief");}
if(oyezSearchTerm.match(caseCitationFormat)!=null)oyezSearchTerm='"'+oyezSearchTerm+'"';this.manager.store.addByValue('q',oyezSearchTerm.toLowerCase());this.manager.store.addByValue('qs',5);},afterRequest:function(){node_type_ordering={"case":new Array(),"justice":new Array(),"court":new Array(),"advocate":new Array(),"benefactor":new Array(),"tour":new Array(),"docket_sheet":new Array(),"featured_content":new Array(),"news_story":new Array()};for(doc in this.manager.response.response.docs){if(!node_type_ordering[this.manager.response.response.docs[doc].type]){continue;}
node_type_ordering[this.manager.response.response.docs[doc].type].push(this.manager.response.response.docs[doc]);}
results=new Array();for(type_reordering in node_type_ordering){if(node_type_ordering[type_reordering].length==0)continue;for(reordering in node_type_ordering[type_reordering]){results.push(node_type_ordering[type_reordering][reordering]);}}
htmlString="Search results:<br />";last_type='';multiple_types=false;for(doc in results){if(results[doc].type!=last_type){if(last_type!=''&&Math.ceil(this.manager.response.response.numFound/RESULTS_PER_PAGE)>1){htmlString+='<a href="#" rel="'+last_type+'" class="more-link">More '+pluralizeType(last_type)+'</a></div>';multiple_types=true;}
htmlString+='<div class="'+results[doc].type.replace(" ","_")+' results">';htmlString+='<h2 class="section-title">'+pluralizeType(results[doc].type)+'</h2>';}
decodedTeaser=results[doc].teaser.replace(/\&amp;/g,'&');;htmlString+='<div class="result">'+decodedTeaser+"</div>"
htmlString+='<div class="highlights">';for(highlight in this.manager.response.highlighting[results[doc].id].body){htmlString+="<p>"+this.manager.response.highlighting[results[doc].id].body[highlight]+"</p>";}
htmlString+='</div>';htmlString+="</div></div>";last_type=results[doc].type;}
var maxPages=Math.ceil(this.manager.response.response.numFound/RESULTS_PER_PAGE),currentPage=Math.floor(this.manager.response.response.start/RESULTS_PER_PAGE),pageIterator=currentPage-5>0?currentPage-5:0,i=0;if(currentPage<maxPages&&maxPages>1&&oyezFilterType==''&&multiple_types){htmlString+='<a href="#" rel="'+last_type+'" class="more-link">More '+pluralizeType(last_type)+'</a></div>';}
if(currentPage<maxPages){var pager=$('<div />').addClass('item-list').append($('<ul />').addClass('search pager')).children('ul');while(pageIterator<maxPages&&i<MAX_PAGER_ITEMS){var item=$('<li />');if(pageIterator==currentPage){item.text(pageIterator+1).addClass('pager-current');}else{item.append($('<a />').attr({href:'javascript:;',rel:pageIterator}).text(pageIterator+1)).addClass('pager-item');}
pager.append(item);++pageIterator;++i;}
if(currentPage>5){pager.prepend($('<li />').addClass('pager-ellipsis').text('...'));}
if(pageIterator<maxPages){pager.append($('<li />').addClass('pager-ellipsis').text('...'));}
if(currentPage!=0){pager.prepend($('<li />').addClass('pager-previous').append($('<a />').attr({href:'javascript:;',rel:(currentPage-1)}).text('‹ previous')));pager.prepend($('<li />').addClass('pager-first').append($('<a />').attr({href:'javascript:;',rel:0}).text('« first')));}
if(currentPage+1<maxPages){pager.append($('<li />').addClass('pager-next').append($('<a />').attr({href:'javascript:;',rel:(currentPage+1)}).text('next ›')));pager.append($('<li />').addClass('pager-last').append($('<a />').attr({href:'javascript:;',rel:(maxPages-1)}).text('last »')));}
htmlString+=$('<div />').append(pager.parent()).html();}
$("#content").fadeTo(0,1);$('#content').html(htmlString);$('.search.pager a').click(changePage);$('.more-link').click(filterType);}});})(jQuery);function filterType(e){oyezFilterType=$(e.currentTarget).attr('rel');srchManager.doRequest();$('html,body').animate({scrollTop:$('#container').position().top},500);}
function changePage(e){if(!srchManager){return;}
var target_page=$(e.currentTarget).attr('rel'),start=target_page*RESULTS_PER_PAGE;srchManager.doRequest(start);$('html,body').animate({scrollTop:$('#container').position().top},500);}
function pluralizeType(inType){readableType=inType.replace("_"," ");if(readableType.charAt(readableType.length-1)=='x'||readableType.charAt(readableType.length-1)=='s'||readableType.charAt(readableType.length-1)=='z'||readableType.substring(readableType.length-2)=='sh'||readableType.substring(readableType.length-2)=='ch'){return readableType+'es';}else if(readableType.charAt(readableType.length-1)=='y'){return readableType.substring(0,readableType.length-1)+'ies';}
return readableType+'s';}
