function SearchViewModel(){if(typeof PBooks!="undefined"&&typeof PBooks.searchDetails!="undefined"){var n=this;if(n.mainCat=ko.observable(),n.breadCrumb=ko.observable(),n.mainLink=ko.observable(),n.subjectsHeader=ko.observableArray(),n.subjects=ko.observableArray(),n.subjectsList=ko.observableArray(),n.subjectSearchQuery=ko.observableArray(),n.performSubjectSearch=function(){},n.availablePageSize=ko.observableArray([12,24,48,96]),n.selectedPageSize=ko.observable(12),n.selectedPage=ko.observable(1),n.totalPages=ko.observable(1),n.leftTitle=ko.observable(""),n.totalResults=ko.observable(),n.booksGridViewModel=ko.observable(),n.breadCrumb=ko.observable(),Search.SubjectsHeader(n,PBooks),typeof PBooks.searchDetails!="undefined"){if(PBooks.searchDetails.searchType=="subjectList"){Search.Subjects.List(n,PBooks);return}if(PBooks.searchDetails.searchType=="subject"){Search.Subjects(n,PBooks);return}}n.numberOfFilters=ko.observable();Search.Books(n,PBooks)}}function calculatePublishYear(n){if(n!=null&&n.length>=4)return n.substring(0,4)}function getProductForm(n){switch(n){case"BC":return"capa mole";case"BB":return"capa dura";default:return""}}function booksRendered(){$(".modal").modal("hide")}function subjectsRendered(){}function scrollToElement(n,t){n.preventDefault();var i="#"+t;window.scrollTo(0,$(i).offset().top-52)}function removeSearchFilters(n){var r,u,t,i,f;if(n.preventDefault(),r=window.location.search,u=r.split("?"),u.length>=2){for(t=u[1].split(/[&;]/g),i=t.length;i-->0;)if(f=t[i].split("="),f.length==2)switch(f[0]){case"page":t[i]="page=1";break;case"title":break;case"type":break;default:t.splice(i,1)}r=u[0]+(t.length>0?"?"+t.join("&"):"");window.location.search=r}}function string_to_slug(n){var i,r,t,u;for(n=n.replace(/^\s+|\s+$/g,""),n=n.toLowerCase(),i="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",r="aaaaeeeeiiiioooouuuunc------",t=0,u=i.length;t<u;t++)n=n.replace(new RegExp(i.charAt(t),"g"),r.charAt(t));return n.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}var koSubjectSearch=!1,SearchView,Search,PBooks,maxShow;$(document).ready(function(){typeof PBooks!="undefined"&&typeof PBooks.searchDetails!="undefined"&&(PBooks.searchDetails.searchType=="subject"?($("#leftLoading").show(),$("#subjectsList").show(),koSubjectSearch=!0):$(".dropdown-subjects").hide(),SearchView=new SearchViewModel,ko.applyBindings(SearchView))});Search=Search||{};Search.SubjectsHeader=function(n){if(typeof PBooks!="undefined"&&typeof PBooks.searchDetails!="undefined"){var t;t=PBooks.searchDetails==undefined||PBooks.searchDetails.libraryId==undefined?PBooks.libraryId:PBooks.searchDetails.libraryId;$.getJSON(apiUrl+"subjects/lang/1/library/"+t).done(function(t){n.subjectsHeader(t)})}};Search.Books=function(n,t){var r,i;if(t==null||!t.books||t.books.length<=0)return $(".modal").modal("hide"),breadcrumb="",breadcrumb+="Infelizmente não encontramos o produto que pesquisou.<br><br> Por favor, tente de novo mas:<br>",breadcrumb+='<ul style="list-style-type: lower-roman;">',breadcrumb+="<li>use palavras completas<\/li>",breadcrumb+="<li>não coloque sinais ortográficos<\/li>",breadcrumb+="<li>verifique ortografia<\/li>",breadcrumb+="<li>coloque menos termos de pesquisa<\/li>",breadcrumb+="<\/ul>",breadcrumb+="<br/><br/>&nbsp;&nbsp;<small><a href='/Search'><< Voltar à página de pesquisa<\/small><\/br>",n.breadCrumb(breadcrumb),$("#ResultsDiv").hide(),!1;Search.Actions(n);t.facets&&PBooks.searchDetails.searchType!="subject"&&(r=PBooks.RefineService(t.facets));i=Search.BreadCrumb(t.searchDetails);n.breadCrumb(i);Search.Pager.Update(n,t);n.booksGridViewModel(t)};Search.Subjects=function(n){function t(){$("#leftLoading").html("Erro ao carregar a lista de assuntos.")}function i(t){n.subjects(t);$("#leftLoading").hide()}function r(n,t){nLevels=n.bic2sc.length;html=PBooks.searchDetails.libraryId==5||PBooks.searchDetails.libraryId==1094?"<a href='/Search/'>Especialidades<\/a> > ":"<a href='/Search/'>Assuntos<\/a> > ";u(n.bic2sc,html,t)}function u(n,t,i){$.getJSON(apiUrl+"subjects/child/"+n+"/lang/1").done(function(n){if(n!=null)for(var r=0;r<n.length;r++)t+=PBooks.searchDetails.sType!="ebook"?"<a href='/subject/"+n[r].bic2sc+"'>"+n[r].description+"<\/a>"+(r+1!=n.length?" > ":""):"<a href='/subject/Ebooks/"+n[r].bic2sc+"'>"+n[r].description+"<\/a>"+(r+1!=n.length?" > ":""),i.breadCrumb(t)})}n.leftTitle=PBooks.searchDetails.libraryId==5||PBooks.searchDetails.libraryId==1094?"ESPECIALIDADES":"NOVIDADES POR ASSUNTO<br /><small>Clique no assunto para aceder às novidades<\/small>";currentSubject=PBooks.searchDetails.sSubjectCode;currentSubject.length<=0?($("#leftLoading").show(),$.getJSON(apiUrl+"subjects/lang/1/library/"+PBooks.searchDetails.libraryId).error(t).done(i)):$.getJSON(apiUrl+"subjects/main/"+currentSubject+"/lang/"+(PBooks.searchDetails.currentLang||"pt")+"/library/"+PBooks.searchDetails.libraryId).error(t).done(function(t){t.length>0&&(n.mainCat(t[0].description),prevCode=t[0].bic2sc,prevCode.length==1?n.mainLink("/Subject/"):n.mainLink(t[0].bic2sc.substring(0,t[0].bic2sc.length-1)),r(t[0],n),t.splice(0,1),i(t))})};Search.Subjects.List=function(n){$.getJSON(apiUrl+"subjects/query/"+PBooks.searchDetails.sSubject+"/lang/"+PBooks.searchDetails.currentLang+"/library/"+PBooks.searchDetails.libraryId).error(function(){$("#leftLoading").html("Erro ao carregar a lista de assuntos.")}).done(function(t){n.subjectsList(t)})};Search.Actions=function(n){n.SubscribeToEvents=function(){setTimeout(function(){$("select#pageSize").change(function(){var t=$(this).val();Search.Pager.Navigate(1,t,n.totalPages())})},1e3);$(".pagerS .pageNav").click(function(){var t=Search.Pager.NextOrPrevious(n.selectedPage(),n.totalPages(),$(this).hasClass("sForward"));t!=n.selectedPage()&&Search.Pager.Navigate(t,n.selectedPageSize(),n.totalPages())});n.booksGridViewModel.subscribe(function(){},this)};n.SubscribeToEvents()};Search.BreadCrumb=function(n){if(PBooks.searchDetails.libraryId==5||PBooks.searchDetails.libraryId==1094?(html=n.searchType=="subjectList"?"<a href='/Subject/'>":"<a href='/Search/'>",html+="Pesquisa "+(n.searchType=="simple"?"":n.searchType.indexOf("subject")>=0?"por Especialidade":"Avançada"),html+="<\/a> > "):(html=n.searchType=="subjectList"?"<a href='/Subject/'>":"<a href='/Search/'>",html+=typeof n.searchTypeDescription!="undefined"&&n.searchTypeDescription&&n.searchTypeDescription.length>0?n.searchTypeDescription:"Pesquisa "+(n.searchType=="simple"?"":n.searchType.indexOf("subject")>=0?"por Assunto":"Avançada"),html+="<\/a>"),n.searchType=="subjectList")html+=n.sSubject;else{var t=[];(n.queryBy==3||n.sISBN)&&t.push("ISBN: "+n.sISBN);(n.queryBy==1||n.sTitle)&&t.push("título: "+n.sTitle);(n.queryBy==2||n.sAuthor)&&t.push("autor: "+n.sAuthor);n.sEditor&&t.push("editor: "+n.sEditor);n.sSubjectCode&&t.push("assunto: "+n.sSubject);n.sYear&&t.push("ano de publicação: "+PBooks.sYear);n.sLang&&t.push("língua: "+n.sLang);t.length>0&&(html+=" > ("+t.join(", ")+")")}return html};Search.Pager={NextOrPrevious:function(n,t,i){return n==0||n==t?n:n+(i?1:-1)},Navigate:function(n,t,i){if(n!=0&&!(n>i)){var r=window.location.search;r=Utils.UpdateQueryString(r,"page",n,!0);r=Utils.UpdateQueryString(r,"pagesize",t,!0);window.location.search=r}},View:function(n,t){var i=$(".pagerS").show(),r=i.find(".pageNav.sForward").show(),u=i.find(".pageNav.sBack").show();n==t&&r.addClass("disabled");n==1&&u.addClass("disabled")},Update:function(n,t){n.totalPages(t.numberOfPages);n.totalResults(t.total);var i=0;t.searchDetails.sSubjectCode!==null&&i++;t.searchDetails.sRecent!==null&&i++;t.searchDetails.sLang!==null&&i++;t.searchDetails.sEditor!==null&&i++;i>0?(n.numberOfFilters=" ("+i+")",$("#filterResetHolderMobile").show()):(n.numberOfFilters="",$("#filterResetHolderMobile").hide());n.selectedPageSize(t.resultsPage);n.selectedPage(t.currentPage);Search.Pager.View(n.selectedPage(),n.totalPages())}};Search.AutoComplete={Init:function(){$.widget("custom.catcomplete",$.ui.autocomplete,{_create:function(){this._super();this.widget().menu("option","items","> :not(.ui-autocomplete-category)")},_renderMenu:function(n,t){var r=this,i="";$.each(t,function(t,u){var f;u.category!=i&&(n.append("<li class='ui-autocomplete-category'>"+u.category+"<\/li>"),i=u.category);f=r._renderItemData(n,u);u.category&&f.attr("aria-label",u.category+" : "+u.label)});n.append("<li class='see-all'><a href='/Search/Index?type=simple&title="+$("#search").val()+"'>Ver todos<\/li>")},_renderItem:function(n,t){var r;switch(t.suggestionClass){case"title":case"isbn":var u="/book/",f="",s=string_to_slug(t.label);switch(t.markaProductType){case"ebook":u="/eBook/"+s+"/";t.label=t.label+" (eBook)";f="https://images.marka.pt/api/v1/cover/ebook/"+t.isbn+"/Size/s";break;case"book":u="/book/";f="https://images.marka.pt/api/v1/cover/book/"+t.isbn;break;default:u="/book/";f="https://images.marka.pt/api/v1/cover/book/"+t.isbn}r=$("<table class='autocompleteTable' onclick='window.location=\""+u+t.isbn+"\"'><\/table>");var e=$("<tr><a href='/book/"+t.isbn+"'><\/a><\/tr>"),o=$("<td class='imgColumn'><\/td>"),i=$("<td class='contentColumn'><\/td>");o.append("<img height='50px' src='"+f+"'/>");i.append("<a class='title'>"+t.label+"<\/a>");t.authors&&(i.append("<br/>"),i.append("<span class='author'> de "+t.authors+"<\/a>"));t.isbn&&(i.append("<br/>"),i.append("<span class='isbn'> ISBN "+t.isbn+"<\/a>"));e.append(o);e.append(i);r.append(e);break;default:r=$("<a>"+t.label+"<\/a>")}return $("<li><\/li>").data("item.autocomplete",t).append(r).appendTo(n)}})},Execute:function(n,t){Search.AutoComplete.Init();$(n).catcomplete({delay:500,minLength:3,source:function(n,i){var r=$("#search").val().split(" ");r=$.grep(r,function(n){return n.length>2});$.ajax({url:t,data:{term:r.join(" "),bic:$("#firstsearch").attr("name")},dataType:"json",success:function(n){var e=[],f,t,r,u;if(n&&n.suggestions)for(f=0;f<n.suggestions.length;f++)if(t=n.suggestions[f],t.total>0)for(r=0;r<t.suggestions.length;r++)u={},u.label=t.suggestions[r].term,u.value=t.suggestions[r].term,u.category="",t.suggestions[r].isbn&&(u.isbn=t.suggestions[r].isbn),t.suggestions[r].title&&(u.title=t.suggestions[r].title),t.suggestions[r].subtitle&&(u.subtitle=t.suggestions[r].subtitle),t.suggestions[r].authors&&(u.authors=t.suggestions[r].authors),t.suggestions[r].date&&(u.date=t.suggestions[r].date),t.suggestions[r].markaProductType&&(u.markaProductType=t.suggestions[r].markaProductType),t.suggestions[r].suggestionClass&&(u.suggestionClass=t.suggestions[r].suggestionClass),e.push(u);i(e)}})}})}};PBooks=PBooks||{};maxShow=5;PBooks.RefineService=function(n){function r(n){t=$(".facets-container");t.show();i(n)}function i(n){function o(n,t){var r=$(n),f=r.find(".facets-group.none"),i=f.clone().removeClass("none").attr("identifier",t.identifier),u=i.find(".facets-group-header");return u.find(".facets-title").text(t.text),u.find(".facets-total").text(t.total),r.append(i),i}function s(n,t,i,r){if(!i.refined&&!i.inHierarchy&&i.total<=0)return null;var f=$(n).find(".facets-items"),e=f.find(".facets-item.none"),u=e.clone().removeClass("none").addClass(i.refined||i.inHierarchy?"selected":"").attr("identifier",i.identifier);u.on("click",function(){i.refined?PBooks.RefineService.Remove(this):PBooks.RefineService.Refine(this)});return t=="subjects"&&i.identifier.length>1&&u.css("padding-left",5*i.identifier.length),u.find(".facets-title").text(i.text),u.find(".facets-total").html(i.refined?"<span class='remove glyphicon glyphicon-remove-sign' title='remover filtro'><\/span>":i.inHierarchy?"":""+i.total),r||u.addClass("toggle").hide(),f.append(u),u}function h(n,t){n.find(".facets-more").show().on("click",function(){PBooks.RefineService.Toggle($(this))});n.find(".facets-more .more .facets-more-total").text(t.values.length-maxShow)}var u,i,e,f,r;if(n&&!(n.length<=0))for(u=0;u<n.length;u++)if(i=n[u],e=0,i&&i.values&&i.values.length>0){for(f=o(t,i),maxShow>0&&i.values.length>maxShow&&h(f,i),r=0;r<i.values.length;r++)s(f,i.identifier,i.values[r],maxShow<=0||r<maxShow)!=null&&e++;e<=0&&f.hide()}}var t;return r(n),{Filters:i,Refine:PBooks.RefineService.Refine,Toggle:PBooks.RefineService.Toggle,Expand:PBooks.RefineService.Expand,Collapse:PBooks.RefineService.Collapse}};PBooks.RefineService.Refine=function(n,t){var i;if(!n)return!1;var u=$(n),f=u.parents(".facets-group").attr("identifier"),r=u.attr("identifier");r=r.replace("&","%26");i=window.location.search;i=Utils.UpdateQueryString(i,f,r,!0);i=Utils.UpdateQueryString(i,"page","1",!0);window.location.search=i;t&&t(f,r)};PBooks.RefineService.Remove=function(n,t){var f;if(!n)return!1;var u=$(n),r=u.parents(".facets-group").attr("identifier"),i=null;r=="subjects"&&(i=u.attr("identifier"),i=i.length>1?i.substring(0,i.length-1):null);f=Utils.UpdateQueryString(window.location.search,r,i,!0);window.location.search=f;t&&t(r,null)};PBooks.RefineService.Toggle=function(n){if(!n)return!1;n.find(".more, .less").toggle();var t=n.parents(".facets-group");t.find(".facets-item.toggle").toggle()};PBooks.RefineService.Expand=function(n){if(!n)return!1;var t=$(n);t.find(".facets-item.toggle").show()};PBooks.RefineService.Collapse=function(n){if(!n)return!1;var t=$(n);t.find(".facets-item.toggle").hide()}