Drupal.behaviors.roblib_search_eds = { attach: function (context, settings) { $url = settings.roblib_search_eds.search_url; profile = settings.roblib_search_eds.eds_profile; proxy_url = "http://proxy.library.upei.ca/login?url="; jQuery.getJSON($url, function (data) { var items = []; var numberOfDocs = 0; try { numberOfDocs = data.numFound; } catch (err) { // do nothing leave docLength at 0 } if (numberOfDocs < 1) { jQuery('#' + 'roblib-search-content-eds').empty().append('No Results'); jQuery('.' + 'pane-roblib-search-eds-roblib-search-eds-results').hide(); } else { var counter = 0; var divs = new Array(); var content = new Array(); var queries = []; jQuery.each(data.queries, function (key7, query) { queries.push(query.query); }) var query_str = data.queries[0].query; var href_str = 'https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&scope=site&type=1&custid=uprince&groupid=main&profid=lite&mode=bool&lang=en&bquery='; jQuery.each(data.documents, function (key, val) { id = 'roblib-search-eds-' + counter; divs[counter++] = id; if (typeof val.Items !== 'undefined') { items.push('
'); if (typeof val.Items.Title !== 'undefined') { items.push('
'); items.push('' + val.Items.Title.Data + '
'); } val.PubType == 'Book' ? pubType = 'Print Book' : pubType = val.PubType; pubYear = val.RecordInfo.BibRelationships.IsPartOfRelationships["date"]; !pubYear ? pubYear = " " : pubYear = pubYear[0]["Y"]; items.push('
' + pubYear + ' - ' + pubType + '
'); var roblib_authors =[]; jQuery.each(val.RecordInfo.BibRelationships.HasContributorRelationships, function (key3, author) { roblib_authors.push(author.NameFull); }) items.push('
'); roblib_authors = roblib_shorten(roblib_authors.join('; '), 50, " "); items.push(roblib_authors); items.push('
'); var url; !val.Items.URL ? url = " " : url = val.Items.URL.Data; if(url) { items.push('
' + url + '
'); } if(pubType == "Print Book") { anNumber = val.An.split("."); if (anNumber[0] && anNumber[0] == 'upei') { catalogUrl = 'View in UPEI Catalogue'; items.push(''); } } items.push('
'); } else { items.push('
You must login to view this result, click here to login
' ); } }); jQuery('#' + 'roblib-search-content-eds').empty().append(items.join('')); } var non_upei_link = ''; var upei_link = 'SEE ALL (' + data.recordCount + ') '; if(!data.is_local_ip) { non_upei_link = '[Non-UPEI]'; upei_link = upei_link + non_upei_link; } jQuery('#roblib-search-eds-more').empty().append(upei_link); jQuery('#roblib-eds-books-more-results').empty().append(upei_link); jQuery('#roblib-eds-books-toc').empty().append('Books (' + data.recordCount + ')'); }); } } function roblib_intersects(a, b) { var d = {}; var results = []; for (var i = 0; i < b.length; i++) { d[b[i]] = true; } for (var j = 0; j < a.length; j++) { if (d[a[j]]) results.push(a[j]); } return results; } function roblib_shorten(str, maxLen, separator) { if (str.length <= maxLen) return str; return str.substr(0, str.lastIndexOf(separator, maxLen)) + ' et al.'; }