Search Results for Paul Revere & The Raiders (2024)

';if(!com_sirsi_ent_page.isMobile){ $J('#results_cell'+hitNum).closest('.cell_wrapper').append(sumOuterDiv);}else{ $J('#results_cell'+hitNum).append(sumOuterDiv);} var catKey=$J('#'+rId+'_DOC_ID').text().split(':')[1];var detailLinkUrl='/client/' + com_sirsi_ent_page.localeCode+'/' +com_sirsi_ent_page.friendlyUrl+'/search/results.displaypanel.displaycell_0:detailclick/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:'+ catKey+'/'+hitNum+'/'+hitNum+'/tabDISCOVERY_ALLlistItem?d=ent%3A%2F%2FSD_ILS%2F0%2FSD_ILS%3A'+catKey+'%7E'+curTarget+'%7E'+hitNum+'&h=8;';//;&ic=true';if(com_sirsi_ent_page.isMobile){detailLinkUrl+='&ic=true';}//var detailLinkUrl='/client/' + com_sirsi_ent_page.localeCode+'/' +com_sirsi_ent_page.friendlyUrl+'/search/results.displaypanel.displaycell_0:detailclick/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:'+ catKey+'/'+hitNum+'/'+hitNum+'/tab';if(curLimit){detailLinkUrl+='&lm='+curLimit;}//console.log('detail url is ' + detailLinkUrl);var itemAjax=$J.ajax({ url:detailLinkUrl, type:"POST", data:itemdata});itemAjax.done(function(itemData){ var htmlContent=JSON.stringify(itemData).replace('\n',''); htmlContent=htmlContent.replace('\"','"'); var cleanHtmlContent=htmlContent.replace(/\\n/g,'');//console.log('cleanHtmlContent: ' + cleanHtmlContent); var parsedHtml=$J.parseHTML(cleanHtmlContent);//console.log(cleanHtmlContent);var detailHtml;detailHtml=$J(parsedHtml).find('.detailItemsDiv .detailItems').html();if(typeof(detailHtml)=='undefined'){detailHtml='';} if(showOnOrder){ detailHtml+='

' }if(useMarcHoldings){var hasMarcHoldings=($J(parsedHtml).find('.detailHoldingsDiv table tr').length>0 || $J(parsedHtml).find('.detailChildFieldValue').length>0);if(hasMarcHoldings){ var holdingsHtml,holdingsHtmlCaption,holdingsHtmlContent; holdingsHtmlCaption='

Marc Holdings

'; if($J(parsedHtml).find('.detailHoldingsDiv').length>0){ holdingsHtmlContent=$J(parsedHtml).find('.detailHoldingsDiv')[0].outerHTML; if(typeof(holdingsHtmlContent)!="undefined"){ holdingsHtml=holdingsHtmlCaption+holdingsHtmlContent; detailHtml+=holdingsHtml; } } } //end if hasMarcHoldings } //end if useMarcHoldings appendObj=$J('#summaryitems-'+hitNum); writeTable(appendObj,detailHtml,hitNum); if(hasMarcHoldings){ /***kludge: the nonmobile html doesn't include the captions, not sure yet where they are. adding something for now based on class of fields***/ $J('#summaryitems-'+hitNum).find('.detailHoldingsDiv').find('th').each(function(){ if($J(this).find('div').text().trim().length==0){ var curCaption=$J(this).attr('class').split('_')[1]; $J(this).find('.detailItemTable_th').text(curCaption); } }); } $J(appendObj).find('.detailItemTable').attr('id','detailItemTableCust'+hitNum); }); //end itemAjax donevar availAjax=itemAjax.then(function(itemData){var availUrl='/client/' + com_sirsi_ent_page.localeCode+'/' + com_sirsi_ent_page.friendlyUrl+'/search/results.displaypanel.displaycell_0.detail.detailavailabilityaccordions:lookuptitleinfo/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:'+catKey+'/'+curTarget+'/'+hitNum+'/true/true?&d=ent%3A%2F%2FSD_ILS%2F0%2FSD_ILS%3A'+catKey+'%7E'+curTarget+'%7E'+hitNum+'&h=8';if(curLimit){availUrl+='&lm='+curLimit}; return $J.ajax({ "url":availUrl, "type":"GET"}); //end availAjax}); //end thenavailAjax.done(function(availData){ $J(availData.childRecords).each(function(){ var curLib=this.LIBRARY; var curBarcode=this.barcode; var curStatus=this.SD_ITEM_STATUS; var altBarcode=curBarcode.replace(/[^\w\s]/gi, '');/***IF THE BARCODE HAS STRICTLY ALPHA-NUM CHARACTERS***/if (! (/[^\w\s-]/.test(curBarcode)) ){//if(curBarcode==altBarcode){ var curTr=$J('#detailItemTableCust'+hitNum).find('div[id$="'+curBarcode+'"]').closest('tr'); //$J(curTr).find('.asyncFieldLIBRARY').text(curLib); //$J(curTr).find('.asyncFieldSD_ITEM_STATUS').text(curStatus);$J('#asyncFieldDefaultdetailItemsDiv'+hitNum+'LIBRARY'+curBarcode).text(curLib);$J('.summaryitems #asyncFieldDefaultdetailItemsDiv'+hitNum+'SD_ITEM_STATUS'+curBarcode).text(curStatus);} /**if we 'miss' due to funky item id...***/ // if($J('.summaryitems #asyncFieldDefaultdetailItemsDiv'+hitNum+'SD_ITEM_STATUS'+curBarcode).length==0){/***IF THE BARCODE HAS ILLEGAL DOM CHARACTERS***/else{ var curValue='';$J('#detailItemTableCust'+hitNum+ ' .asyncFieldSD_ITEM_STATUS').each(function(index,value){ var candBarcode=$J(this).attr('id').split('SD_ITEM_STATUS')[1]; if(candBarcode==curBarcode){ $J(value).text(curStatus); //return false; }}); // $J(curValue).text(curStatus); } }); });/***If item holds are enabled, grab that too***//**https://ctsbeta.ent.sirsi.net/client/en_US/displaywidgets/search/results.displaypanel.displaycell_0.detail.detailavailabilityaccordions.boundwithzone:lookupavailability/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:666794/ILS/0/true/LIBRARY$002cCALLNUMBER?qu=reading+grisham&d=ent%3A%2F%2FSD_ILS%2F0%2FSD_ILS%3A666794%7EILS%7E0&h=8**/var holdUrl='/client/' + com_sirsi_ent_page.localeCode+'/'+com_sirsi_ent_page.friendlyUrl+'/search/results.displaypanel.displaycell_0.detail.detailavailabilityaccordions.boundwithzone:lookupavailability/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:'+catKey+ '/ILS/' + hitNum+'/true/LIBRARY$002cCALLNUMBER?&d=ent%3A%2F%2FSD_ILS%2F0%2FSD_ILS%3A'+catKey+'%7EILS%7E'+hitNum+'&h=8';var holdParam='detailboundWithDiv'+hitNum;var holdData={"t:zoneid": holdParam}; var holdAjax=availAjax.then(function(availData){ return $J.ajax({ "url":holdUrl, "type":"POST", "dataType":"JSON", "data":"holdData", "success":function(holdInfo){ $J(holdInfo.inits).each(function(){ var evalScript=this.evalScript[0]; var stringEvalScript=JSON.stringify(evalScript); // console.log(stringEvalScript); stringEvalScript=stringEvalScript.replace("updateWebServiceFields","updateWebServiceFieldsSum"); var alteredEvalScript=JSON.parse(stringEvalScript); $J('#summaryitems-'+hitNum).find('div[id^="asyncFieldDefaultdetailItemsDiv'+hitNum+'"]').each(function(){ var curId=$J(this).attr('id'); var newId=curId.replace('asyncFieldDefaultdetailItemsDiv','asyncFieldhitlistHoldingsDiv'); $J(this).attr('id',newId); var inProgressObj=$J(this).prev(); var curId=$J(inProgressObj).attr('id'); var newId=curId.replace('detailItems','hitlistHoldings'); $J(inProgressObj).attr('id',newId); }); if($J('#detailItemTableCust'+hitNum).length !==0){ eval(alteredEvalScript); } }); if(showOnOrder){ var ordersHtml1=holdInfo.zones;//detailOnOrderDiv'+hitNum if(typeof(ordersHtml1)!=='undefined'){ var ordersHtml='

On Order

'+JSON.stringify(ordersHtml1).split(':')[1].split('}')[0].replace(/"|\\n/g,''); $J('#summaryOnOrderDiv'+hitNum).append(ordersHtml); } } //end if showonorder if($J('#detailItemTableCust' + hitNum).length>0 && !com_sirsi_ent_page.isMobile && $J('#detailItemTableCust' + hitNum).find('.detailChildRecord').length==0){ sorttable.makeSortable(document.getElementById('detailItemTableCust'+hitNum)); } setDisplayOptions(appendObj); setTimeout(function(){$J('#summaryitems-'+hitNum).find('div[class*="asyncInProgress"]').addClass('hidden').next().removeClass('hidden');},5000); } }); holdAjax.done(function(holdInfo){ /***fallback in case any ASYNC fields somehow slip the update net***/ }); //end then on availAjax});}//end entWsSummaryItems funcfunction returnAvail(retAvail){ $J(retAvail.childRecords).each(function(){ var curLib=this.LIBRARY; var curBarcode=this.barcode; });}function setDisplayOptions(appendObj){if (writeAnimatedLinks){writeAnimatedLink(appendObj);}else if(writeButtons){writeButton(appendObj);}else {writePlainTable(appendObj);}}function writePlainTable(appendObj){$J(appendObj).css('display','block');}function writeTable(appendObj,detailHtml,hitNum){//console.log('in writetable for hitNum ' + hitNum + ' with html of length ' + detailHtml.length);$J(appendObj).append(detailHtml);//$J('#summaryitems-'+hitNum).css({"overflow-y":"auto","max-height":"300px"});$J(appendObj).css({"display":"none","overflow-y":"auto","max-height":"300px"});}function writeAnimatedLink(appendObj){$J(appendObj).css('display','none');var hitNum=$J(appendObj).attr('id').split('summaryitems-')[1];if ($J('#showhidecopies' + hitNum).length==0){var toggleButton = '';if($J('.availability-button'+hitNum).length==0){$J(appendObj).before(toggleButton);/*******$J("#showhidecopies" + hitNum).click(function(evt){ $J('#showhidecopies'+hitNum).clearQueue(); $J('#summaryitems-'+hitNum).clearQueue(); //console.log('click function on link ' + hitNum); $J("#summaryitems-" + hitNum).slideToggle("slow");evt.stopPropagation();//evt.preventDefault(); return false;}); // end click to toggle function*****/}//end new if}}function writeButton(appendObj){if($J(appendObj).parent().find('button[class^="availability-button"]').length==0){$J(appendObj).css('display','none')//var docString='SD_ILS:'+catKey;//var tableId = 'itemTable' + catKey;var hitNum=$J(appendObj).attr('id').split('summaryitems-')[1];var tableId='summaryitems-'+hitNum;var itemHtml=$J(appendObj)[0].outerHTML;buttonHtml = '';$J(appendObj).before(buttonHtml); $J('.availability-button' + hitNum).html(' Click to show holdings'); $J('.availability-button' + hitNum).hover(function() { $J(this).css('cursor', 'pointer'); });}}function toggleAvailabilityTable(hitNum) { if ($J('#summaryitems-' + hitNum).css('display') == 'none') { $J('#summaryitems-' + hitNum).css('display', 'block'); $J('.availability-button' + hitNum).html(' Hide'); } else { $J('.availability-button' + hitNum).html(' Click to show holdings'); $J('#summaryitems-' + hitNum).css('display', 'none'); }}function updateWebServiceFieldsSum(c) { var localHitNum; if (c.parentIds) { var f = c.fields; if (f) { if (c.childRecords) { for (var d = 0; d < c.childRecords.length; d++) { var h = c.childRecords[d]; var a = h.barcode; for (var j = 0; j < f.length; j++) { var g = f[j]; for (var b = 0; b < c.parentIds.length; b++) { var e = c.parentIds[b]; //is "detailHoldingsDiv0" /*** switch e to use new hitlist naming ***/ e = e.replace('detail','hitlist'); localHitNum=e.split("hitlistHoldingsDiv")[1]; var i = document.getElementById("asyncField" + e + g + a); console.log('hold selector is asyncField'+e+g+a); if (i && h[g]) { /*i is div#asyncFielddetailItemsDiv0SD_ITEM_HOLD_LINK0030302807067.asyncFieldSD_ITEM_HOLD_LINK.asyncInProgressSD_ITEM_HOLD_LINK*/ //i.innerHTML = h[g]; $J('#summaryitems-'+localHitNum).find(i).html(h[g]); $J('#summaryitems-'+localHitNum).find(i).removeClass("asyncInProgress" + g) var tempId=$J(i).attr('id'); // if(tempId.indexOf('SD_ITEM_HOLD_LINK')!==-1){ // tempId+='sumItems'; $J(i).attr('id',tempId); //} } } } } } for (var j = 0; j < f.length; j++) { var g = f[j]; for (var b = 0; b < c.parentIds.length; b++) { var e = c.parentIds[b]; /*** switch e to use new hitlist naming ***/ e = e.replace('detail','hitlist'); //$J("#" + e + " .asyncInProgress" + g).each(function() { $J('#summary-items'+localHitNum+ ' .asyncInProgress'+e).each(function(){ var k = this.id.substring(("asyncField" + e + g).length); var l = document.getElementById("asyncFieldDefault" + e + g + k); if (l) { this.innerHTML = l.innerHTML } else { this.innerHTML = "" } }) } } } } if (c.resultIndex) { if (c.availableCount) { $J("#totalAvailable" + c.resultIndex).prop("innerHTML", c.availableCount) } if (c.holdCount) { updateWebServiceParentFieldSum($J("#detailTitleHoldsNumber" + c.resultIndex), c.holdCount) } if (c.copyCount) { updateWebServiceParentFieldSum($J("#detailCopiesCountNumber" + c.resultIndex), c.copyCount) } ResultActions.updateResultAction("PLACE_HOLD", "result" + c.resultIndex, "detail", c.holdable) }}function updateWebServiceParentFieldSum(a, b) { if (a.length && a.hasClass("asyncInProgress")) { a.removeAttr("name"); stopSpinnersForSelector(a); a.prop("innerHTML", b) }}var locationMap={};var baseWsURL='https://sdws08.sirsidynix.net/kzpl_ilsws/';var clientID='DS_CLIENT';var locationDone=false;var maxAttempts=40;var curAttempt=0;function startReshelvingHitlist(rId){showReshelvingHitlist(rId);}// WAIT FOR POLICIESfunction waitReshelvingItemsh*tlist (bibKey,hitNum) {if (locationDone==false){curAttempt++;if(curAttempt<=maxAttempts){setTimeout(function() { waitReshelvingItemsh*tlist(bibKey,hitNum); },500);}// if 2 }// if 1else{ getReshelvingHitlist(bibKey,hitNum);}// else}// GET BIB IDfunction showReshelvingHitlist(rId) {var hitNum = rId.split("hitlist")[1];var bibKey = $J('#'+rId+'_DOC_ID .DOC_ID_value').text().split(':')[1]; getReshelvingPoliciesh*tlist(); waitReshelvingItemsh*tlist(bibKey,hitNum); }// GET RESHELVINGfunction getReshelvingHitlist (bibKey,hitNum) {$J.getJSON(baseWsURL+'rest/standard/lookupTitleInfo?clientID='+clientID+'&titleID='+bibKey+'&includeItemInfo=true&includeOPACInfo=false&json=true&callback=?',function(data){for (i=0;i

.ERC_ID_value').text(); }, //loading the data loadTheData:function() { var idString = ''; for(var i = 0; i < eRC_Base.ercIds.length; i++) { var idVal = eRC_Base.ercIds[i]; if(idString.indexOf(idVal) === -1) { idString += ','+idVal.ercId; } } if(idString.length > 0) { idString = idString.substr(1); } if(idString) { var titlesUrl = addPathParams(com_sirsi_ent_widgets.URLS.eRC.titleInfoUrl, encodeAsTapestry(idString)); eRC_Base.titleAjaxCallsOut++; new AjaxHandler(null, titlesUrl, null, eRC_Base.handleTitlesResponse, null, true).invokeAjax(); } else { eRC_Base.titlesReady = true; } }, handleTitlesResponse:function(response) { eRC_Base.titleAjaxCallsOut--; if((typeof eRC_Base.ercTitleData !== 'undefined') && eRC_Base.ercTitleData) { if ((typeof response.responseJSON !== 'undefined')) { // could the response be undefined? What should we do in that scenario? if(response.responseJSON.eResourceList) { response.responseJSON.eResourceList.forEach(function (er) { eRC_Base.ercTitleData.push(er); }); } if(response.responseJSON.eFormatList) { response.responseJSON.eFormatList.forEach(function (er) { if(!eRC_Base.ercFormats.contains(er)) { eRC_Base.ercFormats.push(er); } }); } } } else { if (response.responseJSON) { eRC_Base.ercTitleData = response.responseJSON.eResourceList; eRC_Base.ercFormats = response.responseJSON.eFormatList; } } eRC_Base.titlesReady = true; var unCalled = []; for(var i = 0; i < eRC_Base.titleWaitingCallbacks.length; i++) { var callback = eRC_Base.titleWaitingCallbacks[i]; var data = eRC_Base.getData(callback.ercId); if(data || eRC_Base.titleAjaxCallsOut == 0) { callback.callback(data); } else { unCalled.push(callback); } } eRC_Base.titleWaitingCallbacks = unCalled; }, getSingleTitle:function(eResourceId) { var titlesUrl = addPathParams(com_sirsi_ent_widgets.URLS.eRC.titleInfoUrl, encodeAsTapestry(eResourceId)); eRC_Base.titleAjaxCallsOut++; new AjaxHandler(null, titlesUrl, null, eRC_Base.handleTitlesResponse, null, true).invokeAjax(); }, //functions getData:function(ercDocumentId) { if (!ercDocumentId) { return; } if (eRC_Base.ercTitleData) { var eResourceList = eRC_Base.ercTitleData; for (var i = 0; i < eResourceList.length; i++) { if (eResourceList[i].id == ercDocumentId) { return eResourceList[i]; } } } //we didn't find it, so request it. // but don't request it if we've already got too many callouts still pending if (eRC_Base.titleAjaxCallsOut < 50) { eRC_Base.getSingleTitle(ercDocumentId); } }, getErcId:function(resultId, isRetry) { if(!resultId) { return; } for(var i = 0; i < eRC_Base.ercIds.length; i++) { var ercId = eRC_Base.ercIds[i]; if(ercId.resultId == resultId) { return ercId.ercId; } } //we might have never seen this result id before. //so, add it to the list (which should pull the ercId from the dom) //and then try again. if(!isRetry) { eRC_Base.addErcId(resultId); return eRC_Base.getErcId(resultId, true); } }, getFormatDetails:function(formatName) { for(format of eRC_Base.ercFormats) { if(format.format === formatName) { return format; } } return null; }, createAnchorTextLinks:function(string, linkInfo) { let div = document.createElement('div'); //linkInfo in an object with keys {replacement, text, and link} if (linkInfo && linkInfo.length > 0) { let regx = /\{[A-Za-z0-9.]+\}/g; let index = 0; string.replace(regx, (match, offset) => { let obj = this.findLinkMatch(linkInfo, match); //append everything before the link div.append(document.createTextNode(string.substring(index, offset))); if(obj) { let a = document.createElement("a"); a.appendChild(document.createTextNode(obj.text)); a.setAttribute("href", "//" + obj.url); a.setAttribute("target", "_blank"); div.append(a); } index = offset + match.length; } ); if(index < string.length -1) { div.append(document.createTextNode(string.substr(index))); } } else { div.append(document.createTextNode(string)); } return div; }, findLinkMatch:function(linkInfo, match) { for(let i = 0; i < linkInfo.length; i++) { if(linkInfo[i].replacement === match) { return linkInfo[i]; } } }, //'API' functions getTitleData:function(callbackFunction, resultId) { var data; // we need to limit the call outs to a reasonable number so that we don't overwhelm the system resources. if(eRC_Base.titlesReady && eRC_Base.titleAjaxCallsOut < 200) { data = eRC_Base.getData(eRC_Base.getErcId(resultId)); } if(data) { callbackFunction(data); } else { eRC_Base.titleWaitingCallbacks.push({'callback':callbackFunction,'ercId':eRC_Base.getErcId(resultId)}); } }, getAccountsResponse:function(callbackFunction, ercAccountsUrl) { var getAccountsUrl = addPathParams(com_sirsi_ent_widgets.URLS.eRC.accountsUrl, encodeAsTapestry(ercAccountsUrl)); new AjaxHandler(null, getAccountsUrl, null, function(response) { callbackFunction(response.responseJSON) }, null, true).invokeAjax(); }, getDownloadResponse:function(callbackFunction, ercResourceUrl, needPin) { var downloadUrl = addPathParams(com_sirsi_ent_widgets.URLS.eRC.getEResourceUrl, encodeAsTapestry(ercResourceUrl)+'/'+!!needPin); new Ajax.Request(downloadUrl, { onSuccess:function(response) { callbackFunction(response.responseJSON) }, onException: Tapestry.ajaxFailureHandler, onFailure: Tapestry.ajaxFailureHandler, asynchronous: true }); }, getPlaceHoldResponse:function(callbackFunction, resultId, emailHold, autoCheckout) { if(typeof autoCheckout !== 'boolean') { autoCheckout = false; } var array = emailHold.split("@"); // tapestry doesn't want us to pass @ characters, so let's split the email address // tapestry doesn't like empty params, so we need to use encodeAsTapestry to pass special values (like empty strings) var getHoldUrl = addPathParams(com_sirsi_ent_widgets.URLS.eRC.placeHoldUrl, encodeAsTapestry(eRC_Base.getErcId(resultId)) + '/' + encodeAsTapestry(array[0]) + '/' + encodeAsTapestry(array[1]) + '/' + autoCheckout); new AjaxHandler(null, getHoldUrl, null, function(response) { callbackFunction(response.responseJSON) }, null, true).invokeAjax(); }, getHoldEmail:function(callbackFunction, resultId) { var getHoldEmail = addPathParams(com_sirsi_ent_widgets.URLS.eRC.emailHoldUrl, encodeAsTapestry(eRC_Base.getErcId(resultId))); new AjaxHandler(null, getHoldEmail, null, function(response) { callbackFunction(response.responseJSON) }, null, true).invokeAjax(); }, fixErcIds:function(sortedDocIds) { // we want to maintain the new sort order var newErcIds = []; if (eRC_Base.ercIds && eRC_Base.ercIds.length > 0) { var ercIdIndex = 0; if (sortedDocIds) { for (var idIndex = 0; idIndex < sortedDocIds.length; idIndex++) { var docId = sortedDocIds[idIndex]; for (var ercIdIndex = 0; ercIdIndex < eRC_Base.ercIds.length; ercIdIndex++) { var currentErcIdObject = eRC_Base.ercIds[ercIdIndex]; var containsErcId = docId.indexOf(currentErcIdObject.ercId); if (containsErcId !== -1) { var currentErcId = currentErcIdObject.ercId; newErcIds.push({'ercId': currentErcId, 'resultId': 'hitlist' + idIndex}); break; } } } } else { var processedResultIdSet = []; var resultIdMap = new Map(); for (var i = 0; i < eRC_Base.ercIds.length; i++) { var ercIdObject = eRC_Base.ercIds[i]; if (!processedResultIdSet.contains(ercIdObject.resultId)) { var resultId = ercIdObject.resultId; var ercId = $J('#' + resultId + '_ERC_ID > .ERC_ID_value').text(); resultIdMap.set(ercId, resultId); processedResultIdSet.push(currentResultId); } } var keys = resultIdMap.keys; for (var j = 0; j < keys.length; j++) { var currentResultId = resultIdMap.get(keys[j]); newErcIds.push({'ercId': j, 'resultId': currentResultId}); } } } eRC_Base.ercIds = newErcIds; }, reorderErcIds:function(docId, destinationIndex, keepItem) { if (eRC_Base.ercIds) { var ercIdFound = false; var ercId, currentIndex; var processedResultIdSet = []; var destination = keepItem ? destinationIndex : eRC_Base.ercIds.length; //check if it's even in the list, otherwise don't worry about it for (var ercIndex = 0; ercIndex < eRC_Base.ercIds.length; ercIndex++) { var currentErcIdObject = eRC_Base.ercIds[ercIndex]; var containsErcId = docId.indexOf(currentErcIdObject.ercId); if (containsErcId !== -1) { ercIdFound = true; ercId = currentErcIdObject.ercId; // remove 'hitlist' to get list index currentIndex = currentErcIdObject.resultId.toString().substring(7); } if (!processedResultIdSet.contains(currentErcIdObject.resultId)) { processedResultIdSet.push(currentErcIdObject.resultId); } } if ('undefined' !== typeof currentIndex) { eRC_Base.adjustResultIds(currentIndex, destination, ercIdFound, ercId, processedResultIdSet.length, keepItem); } else { eRC_Base.fixErcIds(null); } } }, // keepItem - boolean - whether or not we're keeping the item (delete, then no; move, then no; reorder, then yes) adjustResultIds:function(currentResultId, destinationResultId, ercIdInList, ercId, hitlistSize, keepItem) { var newErcIds = []; var processedResultIdSet = []; var currentPosition = currentResultId; var destinationPosition = destinationResultId; var smallerIndex = currentPosition < destinationPosition ? currentPosition : destinationPosition; var upperIndex = currentPosition < destinationPosition ? destinationPosition : currentPosition; // set values before moved items for (var index = 0; index < smallerIndex; index++) { var loopResultId = eRC_Base.getResultIdFromPosition(index); if (eRC_Base.getErcId(loopResultId) && !(eRC_Base.getErcId(loopResultId) === ercId)) { newErcIds.push({'ercId': eRC_Base.getErcId(loopResultId), 'resultId': loopResultId}); } } // put item in list where it goes if it was in the list if (ercIdInList && keepItem) { newErcIds.push({'ercId': ercId, 'resultId': eRC_Base.getResultIdFromPosition(destinationResultId)}); } // set values of moved items if ((currentPosition < destinationPosition) || !keepItem) { var nextPosition = currentResultId; // pull everyone up one while (nextPosition < destinationPosition) { var resultId = nextPosition; var nextErcId = eRC_Base.getNextErcId(resultId); if (nextErcId) { newErcIds.push({'ercId': nextErcId, 'resultId': eRC_Base.getResultIdFromPosition(resultId)}); } nextPosition++; } } else { // push everyone down one var nextPosition = destinationPosition; while (nextPosition < currentPosition) { var nextResultId = eRC_Base.getResultIdFromPosition(nextPosition); var nextErcId = eRC_Base.getErcId(nextResultId, false); if (nextErcId) { newErcIds.push({'ercId': nextErcId, 'resultId': eRC_Base.getResultIdFromPosition(nextPosition + 1)}); } nextPosition++; } } // set values after moved items for (var index = upperIndex + 1; index < hitlistSize; index++) { var loopResultId = eRC_Base.getResultIdFromPosition(index); if (eRC_Base.getErcId(loopResultId)) { newErcIds.push({'ercId': eRC_Base.getErcId(loopResultId, false), 'resultId': loopResultId}); } } eRC_Base.ercIds = newErcIds; }, getResultIdFromPosition:function(position) { return 'hitlist' + position; }, getNextErcId:function(resultId) { var position = parseInt(resultId) + 1; var newResultId = eRC_Base.getResultIdFromPosition(position); return eRC_Base.getErcId(newResultId, false); } }; $J(function() { eRC_Base.loadTheData(); });}// Important: Modifications to this file may be overwritten during an upgrade.// If you want to customize this widget and have those modifications persist through upgrades,// make a copy of this widget and make modifications to the copied widget.// You can then assign the copied widget to the detail or search result displays you want.if('undefined' === typeof eRC_Availability) { eRC_Availability = { addAvailabilityToResult:function(resultId) { var idDiv = document.getElementById(resultId+'_ERC_ID'); if(!idDiv || !idDiv.innerHTML) { return; } eRC_Availability.makeIfNeeded(resultId); if(eRC_Base) { eRC_Base.getTitleData(function(data){ eRC_Availability.fill(resultId, data); }, resultId); } else { eRC_Availability.fill(resultId); } }, fill:function(resultId, data) { var aDiv = document.getElementById('availableNumber_'+resultId); if(aDiv) { var avail = 'Unavailable'; if (data && data.status && 'OK' === data.status && data.formats && data.formats.length > 0) { if (data.availability && data.availability.available) { if (data.availability.availableCopies) { // show copies available avail = data.availability.availableCopies; } else { // unlimited duration avail = 'Unlimited'; } } else { // no copies available avail = 0; } } aDiv.innerHTML = avail; $J(aDiv).removeAttr('name'); } }, makeIfNeeded:function(resultId) { if(document.getElementById('availableNumber_'+resultId)) { return; } var matches = resultId.match(/^(detail|hitlist)(\d+)$/); if(matches) { if (com_sirsi_ent_page.isMobile) { var label = document.createElement('span'); label.setAttribute('class','availableLabel ercAvailableCountLabel text-h5'); if ($J('*[class^="detail_"]').length) { label.innerHTML = 'Available:'; } else { label.innerHTML = 'Available'; } number = document.createElement('span'); number.setAttribute('id','availableNumber_'+resultId); number.setAttribute('class','availableNumber ercAvailableCountNumber text-p'); number.setAttribute('name','smallSearchingGif'); number.setAttribute('style','display:inline-block;'); var div = document.createElement('div'); div.setAttribute('id','ercAvailableDiv_'+resultId); div.setAttribute('class','availableDiv ercAvailableCountSection'); div.appendChild(label); div.appendChild(number); if('detail' === matches[1]) { $J('.detailFieldsAlign').append(div); } else { document.getElementById('results_bio' + matches[2]).appendChild(div); } } else { var label = document.createElement('span'); label.setAttribute('class','availableLabel ercAvailableCountLabel '); label.innerHTML = 'Available:'; number = document.createElement('span'); number.setAttribute('id','availableNumber_'+resultId); number.setAttribute('class','availableNumber ercAvailableCountNumber'); number.setAttribute('name','smallSearchingGif'); number.setAttribute('style','display:inline-block;'); var div = document.createElement('div'); div.setAttribute('id','ercAvailableDiv_'+resultId); div.setAttribute('class','availableDiv ercAvailableCountSection'); div.appendChild(label); div.appendChild(number); var idStr = ('detail' === matches[1] ? 'detail_biblio' : 'results_bio') + matches[2]; document.getElementById(idStr).appendChild(div); } createSpinnersForSelector($J('#availableNumber_' + resultId), smallSpinnerOptions); } }, }}function importCoverArtImages (rId) {if(document.getElementById('detailActions'+rId) != undefined){var displayType='detail';var imgIdPrefix='#detailCover';}else{var displayType='hitlist';var imgIdPrefix='#syndeticsImg';}var hitnum=rId.split(displayType)[1];var imgId=imgIdPrefix+hitnum;var textId=imgIdPrefix+hitnum+'Title';var imageURL = jQuery('#'+rId+'_COVER_IMAGES_URL .COVER_IMAGES_URL_value:first-child').text();if(imageURL){jQuery(imgId).attr('src',imageURL);jQuery(textId).text('');jQuery(imgId).parent().find('.no_image_text').css('visibility', 'hidden');// comment out the following to turn on the grey book covers and text } //else//{//jQuery(imgId).css('visibility','hidden');//jQuery(textId).css('visibility','hidden');//}// end turn on the grey book covers and text}// Important: Modifications to this file may be overwritten during an upgrade.// If you want to customize this widget and have those modifications persist through upgrades,// make a copy of this widget and make modifications to the copied widget.// You can then assign the copied widget to the detail or search result displays you want.if('undefined' === typeof eRC_PreviewButton) { eRC_PreviewButton = { ercPreviewButtonClass:'ercPreviewButton', addPreviewButtonToResult:function(resultId) { eRC_Base.getTitleData(function(data){ var hitlistOrDetail = 'detail'; if (resultId.match(/hitlist/)) { hitlistOrDetail = 'hitlist'; } var resultIndex = resultId.replace(hitlistOrDetail, ''); if(data && data.previews && data.previews.length > 0) { if (com_sirsi_ent_page.isMobile) { var ercPreviewActions = ResultActions.asyncResultActions['ERC_PREVIEW']; if (!ercPreviewActions) { ResultActions.asyncResultActions['ERC_PREVIEW'] = {}; ercPreviewActions = ResultActions.asyncResultActions['ERC_PREVIEW']; } ercPreviewActions['result' + resultIndex] = {'action': eRC_PreviewButton.getErcPreviewFormats}; // Show the preview button. ResultActions.updateResultAction('ERC_PREVIEW', 'result' + resultIndex, hitlistOrDetail, true, 'Preview'); } else { var resultNumber = resultId.match(/\d+/)[0]; if (hitlistOrDetail.match(/hitlist/)) { // add button to button column $J('#results_right' + resultId).append(''); } else { // add button to button column $J('#detailActions' + resultId).append(''); } } } else { ResultActions.updateResultAction('ERC_PREVIEW', 'result' + resultIndex, hitlistOrDetail, false); } }, resultId); }, getErcPreviewFormats:function(resultIndex, hitlistOrDetail) { var resultId = hitlistOrDetail + resultIndex; eRC_Dialogs.openFormatDialog(function(selectedFormat) { if(!selectedFormat || selectedFormat.error) { return; } var message; if('DOWNLOAD' === selectedFormat.action) { message = 'Your download will start shortly.'; window.location.assign(selectedFormat.url); } else if('REDIRECT' === selectedFormat.action) { message = 'You will be redirected to your content.'; safeWindowOpen(selectedFormat.url, '_blank'); } if(message) { if (com_sirsi_ent_page.isMobile) { showMessageModal('Preview', [message], false); } else { eRC_Dialogs.openMessageDialog(null, resultId, {message:message, title:'Preview'}); } } }, resultId, true); } };}function checkPlaceXrefLinks() { var friendlyUrl=getFriendlyUrl() //if (friendlyUrl == "NOCAROUSEL") { if (jQuery('#results_wrapper').length || jQuery('#no_results_wrapper').length) { if (jQuery('#thesaurus_tabs').length == 0) { placeXrefLinks(); } } //}}function placeXrefLinks() {console.log('placeXrefLinks'); var xrefTarget="XREF"; var xrefLimit=""; var xrefLimitField=""; var xrefLimitText="Related Terms"; var myTarget=""; var myLimit=""; var myLimitField=""; var myRow=""; var myLimitText=""; var myHits=""; var currentTarget=getSearchParam("te"); var currentLimit=getSearchParam("lm"); var currentRow=getSearchParam("rw"); var currentLimitField=getSearchParam("rt"); var currentFacet=getSearchParam("qf"); if (currentFacet == "") { var currentLimitText =jQuery("#searchLimitDropDown option:selected" ).text(); if (currentTarget != xrefTarget) { myTarget=currentTarget; myLimit=currentLimit; myRow=currentRow; myLimitText=currentLimitText; myLimitField=currentLimitField; } else { if (sessionStorage.mySavedLimitText) { myTarget = sessionStorage.mySavedTarget; } if (sessionStorage.myHits) { myHits = sessionStorage.myHits; myRow = sessionStorage.myRow; } if (sessionStorage.mySavedLimit) { myLimit = sessionStorage.mySavedLimit; } if (sessionStorage.mySavedLimitText) { myLimitText = sessionStorage.mySavedLimitText; } if (sessionStorage.mySavedLimitField) { myLimitField = sessionStorage.mySavedLimitField; } } } if (currentTarget == xrefTarget) { $J('#content .resultsToolbar_view_btns').css('visibility', 'hidden'); $J('#content .selectAllCheck').hide(); $J('#content .customDropdown .dropDownButton').hide(); $J('#content #adaActionSelect.resultsToolbar').hide(); $J('#content .resultsToolbar_right .sortDropDown').css('visibility', 'hidden'); $J('#content .list .hitNumber,#content .list .results_chkbox').css('display', 'none'); $J('#content .list .results_cell').css('padding-bottom', 'unset'); $J('#content .list .results_bio').css('min-height', 'unset'); $J('#restrictionDropDown option[value!=""]').hide(); $J('#restrictionDropDown option[value*="XREF"]').show(); } var currentFacet=getSearchParam("qf"); if (currentFacet == "") { var newSearch=location.search; newSearch=removeParameter(newSearch,"lm"); newSearch=removeParameter(newSearch,"te"); newSearch=removeParameter(newSearch,"rt"); newSearch=removeParameter(newSearch,"rw"); var results = jQuery('div.resultsToolbar_num_results').text(); var hits = results.match(/\d+/,""); if (hits == null) {hits=""}; if (currentTarget != xrefTarget) { var xrefLimitField="false|||XREF_SRCH|||Authority"; if (unescape(currentLimitField) == "false|||AUTHOR|||Author") {xrefLimitField="false|||XREF_SRCH_AU|||Authority";} if (unescape(currentLimitField)== "false|||SUBJECT|||Subject") {xrefLimitField="false|||XREF_SRCH_SU|||Authority";} if (unescape(currentLimitField) == "false|||TITLE|||Title") {xrefLimitField="false|||XREF_SRCH_TI|||Authority";} newSearch = newSearch + "&te="+xrefTarget; newSearch = newSearch + "&lm="+xrefLimit; newSearch = newSearch + "&rt="+xrefLimitField; sessionStorage.myHits = hits; sessionStorage.myRow = myRow; sessionStorage.mySavedTarget = myTarget; sessionStorage.mySavedLimit = myLimit; sessionStorage.mySavedLimitText = myLimitText; sessionStorage.mySavedLimitField = myLimitField; } else { if (myTarget != "") {newSearch = newSearch + "&te="+myTarget}; if (myLimit != "") {newSearch = newSearch + "&lm="+myLimit}; if (myRow != "") {newSearch = newSearch + "&rw="+myRow}; if (myLimitField != "") {newSearch = newSearch + "&rt="+myLimitField}; } if (currentTarget != xrefTarget ) { mySearch ='Displaying Original Search Results'; } else { if (newSearch == "") { newSearch = window.location.href; newSearch=removeParameter(newSearch,"lm"); newSearch=removeParameter(newSearch,"te"); newSearch=removeParameter(newSearch,"rt"); newSearch=removeParameter(newSearch,"rw"); } mySearch ='' + 'Search catalog'; //'Return to Search'; if (myHits=="turned off") { mySearch =mySearch+' ('+myHits+')'; } mySearch = mySearch+''; } if (currentTarget == xrefTarget) { xrefSearch ='Displaying ' + xrefLimitText +''; } else { xrefSearch =''+ 'Search for ' + xrefLimitText; xrefSearch =xrefSearch+''; } var libtabsHTML = ""; if (currentTarget == xrefTarget) { libtabsHTML = '

' + mySearch + '

'; } if (currentTarget != xrefTarget) { libtabsHTML = '

' + xrefSearch + '

'; if (jQuery('#hitlist0_XREF_FORMAT').length > 0) { libtabsHTML = '

No catalog results

'; } } if (jQuery('#results_wrapper').length && jQuery('#xref-link').length == 0) { jQuery('.resultsToolbar_num_results').after(libtabsHTML); } }}function getSearchParam(name){ name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if( results == null ) return ""; else return results[1];}function removeParameter(sourceURL,key) { var rtn = sourceURL.split("?")[0], param, params_arr = [], queryString = (sourceURL.indexOf("?") !== -1) ? sourceURL.split("?")[1] : ""; if (queryString !== "") { params_arr = queryString.split("&"); for (var i = params_arr.length - 1; i >= 0; i -= 1) { param = params_arr[i].split("=")[0]; if (param === key) { params_arr.splice(i, 1); } } rtn = rtn + "?" + params_arr.join("&"); } return rtn;} function resetSessionData() { sessionStorage.removeItem("mySavedLimit"); sessionStorage.removeItem("mySavedLimitText"); sessionStorage.removeItem("myHits"); sessionStorage.removeItem("myRW");}function getFriendlyUrl(){return com_sirsi_ent_page.friendlyUrl;}function formatToText (rId) {var hitnum = rId.split('hitlist')[1];var formatText = jQuery('#results_bio'+hitnum).find('.formatType:first-child').attr('title');jQuery('#results_bio'+hitnum).find('.formatType:first-child span').text(formatText);}function searchAheadXref() { var currentUrl = window.location.href; var currentLimitField = getSearchAheadParam("rt"); var currentSearchTerm = getSearchAheadParam("qu"); console.log("curSearch:"+currentSearchTerm+"|"); if (unescape(currentLimitField) == "false|||AUTHOR|||Author" || unescape(currentSearchTerm).indexOf("AUTHOR=") > -1) { console.log("current search is author search"); }}function getSearchAheadParam(name){ name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if (results == null ) { return ""; } else if (results.length > 1) { return results.join('+'); } else { return results[1]; }}/*Fill in the LTFL Id*/var libraryThingForLibrariesAccountNumber='2172-102732069';var libraryThingForLibrariesEnabled=true;var libraryThingForLibrariesOtherEditionsAndTranslations=true;var libraryThingForLibrariesTagBrowser=true;var libraryThingForLibrariesReviews=true;var libraryThingForLibrariesShelfBrowseMini=true;var libraryThingForLibrariesShelfBrowseFull=true;var libraryThingForLibrariesSimilarItems=true;currentLTAttempt=0;//var customIsbn;function customLibraryThingForLibraries(customIsbn,detail) { $('detail_accordion'+detail).insert({'bottom' : '

More Like This

'}); if (libraryThingForLibrariesOtherEditionsAndTranslations == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } if (libraryThingForLibrariesSimilarItems == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } if (libraryThingForLibrariesTagBrowser == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } if (libraryThingForLibrariesReviews == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } if (libraryThingForLibrariesShelfBrowseMini == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } if (libraryThingForLibrariesShelfBrowseFull == true) { $('libraryThingForLibrariesContent'+detail).insert({'bottom' : ''}); } doLibraryThingConnector(customIsbn, "libraryThingForLibrariesContent"+detail);}function doLibraryThingConnector(isbn, elementName){jQuery('#LT_LB_iframeloading').hide();if (typeof(LibraryThingConnector) == 'undefined') {currentLTAttempt++;if(currentLTAttempt<= 10) { setTimeout("doLibraryThingConnector('"+isbn+"', '"+elementName+"' )", 250);}}else { LibraryThingConnector.backend.widgets.run(isbn, document.getElementById(elementName));jQuery('#LT_LB_iframeloading').hide(); jQuery('#LT_LB_divcontainer').show();}} function startLTFL(detail){jQuery('#LT_LB_iframeloading').hide();customIsbn=jQuery('#detail'+detail+'_ISBN').text().substring(0,13).trim();if(customIsbn!==''){ if (libraryThingForLibrariesEnabled == true) {currentLTAttempt = 1;if( typeof(LibraryThingConnector) == 'undefined' ) {libraryThingForLibrariesScript = new Element('script', { type: 'text/javascript', src: 'https://ltfl.librarything.com/forlibraries/js/enterprise_js.php?manual=1&id='+libraryThingForLibrariesAccountNumber,success:function(removeLoadImage){console.log('in success function');jQuery('#LT_LB_iframeloading').hide(); jQuery('#LT_LB_divcontainer').show();}});$$('head')[0].appendChild(libraryThingForLibrariesScript);}customLibraryThingForLibraries(customIsbn,detail); } //endIF}}//end startLibraryThingfunction fixHoldings () {jQuery('.detailItemsTableRow td:contains("1:EASTWOOD")').each(function(){ jQuery(this).text('Eastwood Branch');});jQuery('.detailItemsTableRow td:contains("1:OSHTEMO")').each(function(){ jQuery(this).text('Oshtemo Branch');});jQuery('.detailItemsTableRow td:contains("1:POWELL")').each(function(){ jQuery(this).text('Alma Powell Branch');});}function searchAuthorDetails(rId){var curAuthor=jQuery('#'+rId+'_INITIAL_AUTHOR_SRCH').text();var clickUrl='http://authoralerts.org/?siteid=24&AuthorName='+curAuthor;window.location.href = clickUrl;}function moveMeAuthorDetails(rId){var curObj=jQuery('#'+rId+'_AUTHOR_BUTTON');var curAuthor=jQuery('#'+rId+'_INITIAL_AUTHOR_SRCH').text();if(curAuthor=='' || !curAuthor){jQuery(curObj).remove();}else{var hitNum=rId.split('detail')[1];var appendObj=jQuery('#detailActions'+ rId);console.log(appendObj);jQuery (curObj).appendTo(appendObj);}}function processXrefs(rId) { var termSelector = '#' + rId.replace(/hitlist/,"results_bio"); var cellSelector = "#" + jQuery(termSelector).parent().attr('id'); // Left-justify repeated fields jQuery(termSelector + ' .displayElementText').css("display","inline-block"); // Hide the first line, so the main heading is first but can still be a link jQuery(termSelector + ' .displayElementLabel.XREF_KEY').hide(); // Turn the authority key into a button to show the full record jQuery(termSelector + ' .XREF_KEY').siblings('.displayDetailLink').children('a').text('Display full details'); jQuery(termSelector + ' .XREF_KEY').siblings('.displayDetailLink').children('a').addClass('xref-button'); if (window.location.href.indexOf("te=XREF") > -1) { setTimeout(function(){ jQuery('#facetFormAUTHOR').parent().hide(); }, 100); } jQuery('body.mobile ' + termSelector + ' .XREF_KEY').siblings('.displayDetailLink').children('a').addClass('xrefDetailLink'); // Change the main heading's link to an Everything search, and give it extra display weight jQuery(termSelector + ' .XREF_PERSONAL,.XREF_CORPORATE,.XREF_MEETING,.XREF_UNIFORM,.XREF_TOPICAL,.XREF_GEOGRAPHIC,.XREF_GENRE').find('a').each(function(){ var u = jQuery(this).attr("href"); var newSearchURL = u.replace("te=XREF","te="); newSearchURL = quoteParameter(newSearchURL,"qu") jQuery(this).attr("href",newSearchURL); jQuery(this).css("font-weight","700"); }); // end each loop //Add a button to search the catalog var mobileButtonBreak = ""; if (jQuery('.mobile').length) { mobileButtonBreak = ""; } var searchUrl = jQuery(termSelector + ' .displayElementLabel.XREF_KEY').parent().siblings('.displayElementWrapper:first').find('.searchlink a').attr("href"); searchUrl = quoteParameter(searchUrl,"qu") jQuery(termSelector + ' .displayElementLabel.XREF_KEY').parent().append(mobileButtonBreak + 'Search the catalog'); //Adjust cover image var coverImgSelector = '#'+rId.replace(/hitlist/,"syndeticsImg"); if (jQuery(cellSelector + ' .XREF_PERSONAL').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_CORPORATE').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_MEETING').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_UNIFORM').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_TOPICAL').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_GEOGRAPHIC').length) { jQuery(coverImgSelector).after(""); } else if (jQuery(cellSelector + ' .XREF_GENRE').length) { jQuery(coverImgSelector).after(""); } //if (jQuery('#' + rId + '_XREF_FORMAT').text() == "Uniform Title") { // jQuery(cellSelector + ' .results_img_div i.fa-user').removeClass("fa-user").addClass("fa-book"); // jQuery(cellSelector + ' .results_img_div i.fa-university').removeClass("fa-university").addClass("fa-book"); // jQuery(cellSelector + ' .results_img_div i.fa-users').removeClass("fa-users").addClass("fa-book"); //} if (jQuery('#' + rId + '_XREF_IS_SERIES').text() == "Yes") { if (jQuery('.mobile').length) { jQuery(cellSelector).siblings('.results_top_half').find('.results_img_div i.fa-user').removeClass("fa-user").addClass("fa-database"); jQuery(cellSelector).siblings('.results_top_half').find('.results_img_div i.fa-university').removeClass("fa-university").addClass("fa-database"); jQuery(cellSelector).siblings('.results_top_half').find('.results_img_div i.fa-users').removeClass("fa-users").addClass("fa-database"); jQuery(cellSelector).siblings('.results_top_half').find('.results_img_div i.fa-book').removeClass("fa-book").addClass("fa-database"); } else { jQuery(cellSelector + ' .results_img_div i.fa-user').removeClass("fa-user").addClass("fa-database"); jQuery(cellSelector + ' .results_img_div i.fa-university').removeClass("fa-university").addClass("fa-database"); jQuery(cellSelector + ' .results_img_div i.fa-users').removeClass("fa-users").addClass("fa-database"); jQuery(cellSelector + ' .results_img_div i.fa-book').removeClass("fa-book").addClass("fa-database"); } } //Hide the Facebook button jQuery(cellSelector + ' .facebook_like').hide(); //Hide any action buttons jQuery(cellSelector + ' .results_right .button').not('.button[id$="SHOW_MARC_AUTH_ROA"]').hide(); //Insert usage iconsif (jQuery('.nonmobile').length) { if (jQuery('#' + rId + '_XREF_IS_NAME_TITLE').text() == "Yes") { jQuery(cellSelector + ' .results_right').append('

Name/Title:

'); } else { jQuery(cellSelector + ' .results_right').append('

Name/Title:

'); } if (jQuery('#' + rId + '_XREF_IS_SERIES').text() == "Yes") { jQuery(cellSelector + ' .results_right').append('

Series:

'); } else { jQuery(cellSelector + ' .results_right').append('

Series:

'); } if (jQuery('#' + rId + '_XREF_IS_SUBJECT').text() == "Yes") { jQuery(cellSelector + ' .results_right').append('

Subject:

'); } else { jQuery(cellSelector + ' .results_right').append('

Subject:

'); }} //jQuery(termSelector + ' img.results_img').hide(); var coverImgSelector = '#'+rId.replace(/hitlist/,"syndeticsImg"); jQuery(coverImgSelector).attr('src', ''); //.hide(); jQuery(coverImgSelector).attr('title', ''); jQuery(coverImgSelector).attr('alt', ''); jQuery(coverImgSelector+'Title').remove();}function quoteParameter(sourceURL,key) { var rtn = sourceURL.split("?")[0], param, params_arr = [], queryString = (sourceURL.indexOf("?") !== -1) ? sourceURL.split("?")[1] : ""; if (queryString !== "") { params_arr = queryString.split("&"); for (var i = params_arr.length - 1; i >= 0; i -= 1) { param = params_arr[i].split("=")[0]; if (param === key) { var tmpParam = params_arr[i].split("="); tmpParam.splice(0,1) if (tmpParam.join("=").indexOf('"') == -1 && tmpParam.join("=").indexOf('%22') == -1) { params_arr[i] = param + '=%22' + tmpParam.join("=") + '%22' } } } rtn = rtn + "?" + params_arr.join("&"); } return rtn;}function importCreativeBugImages (rId) {if(document.getElementById('detailActions'+rId) != undefined){var displayType='detail';var imgIdPrefix='#detailCover';}else{var displayType='hitlist';var imgIdPrefix='#syndeticsImg';}var hitnum=rId.split(displayType)[1];var imgId=imgIdPrefix+hitnum;var textId=imgIdPrefix+hitnum+'Title';var imageURL = jQuery('#'+rId+'_CREATIVE_BUG_THUMBNAIL .CREATIVE_BUG_THUMBNAIL_value:first-child').text();if(imageURL){jQuery(imgId).attr('src',imageURL);jQuery(textId).text('');jQuery(imgId).parent().find('.no_image_text').css('visibility', 'hidden');// comment out the following to turn on the grey book covers and text } //else//{//jQuery(imgId).css('visibility','hidden');//jQuery(textId).css('visibility','hidden');//}// end turn on the grey book covers and text}function getBib(rId){var catKey;catKey=jQuery('#'+rId+'_DOC_ID').find('.DOC_ID_value').text().split(':')[1];getFullBib(catKey);}function getFullBib(catKey){jQuery.getJSON('https://sdws03.sirsidynix.net/kzpl_ilsws/rest/standard/lookupTitleInfo?clientID=DS_CLIENT&titleID='+catKey+'&includeOPACInfo=false&marcEntryFilter=all&json=true&callback=?',function(data){marcInfo=data.TitleInfo[0].BibliographicInfo.MarcEntryInfo;var marcOutput='';jQuery.each(marcInfo,function(entryIndex,entry){marcOutput+= this.entryID + ' ' + this.indicators + ' ' + this.text + "\n";});alert(marcOutput); });}// Important: Modifications to this file may be overwritten during an upgrade.// If you want to customize this widget and have those modifications persist through upgrades,// make a copy of this widget and make modifications to the copied widget.// You can then assign the copied widget to the detail or search result displays you want.if('undefined' === typeof eRC_Dialogs) { eRC_Dialogs = { //variables shownFormatCount:4, // edit this value to adjust when the format dialog expands holdNeedsEmail: false, dialogButtonClass:'ercDialogButton', primaryButtonClass:'ercPrimaryButton', secondaryButtonClass:'ercSecondaryButton', formatDialogClass:'ercFormatDialog', holdDialogClass:'ercHoldDialog', previewDialogClass:'ercPreviewDialog', durationId:'ercCurrentDays', formatDivId:'ercFormatDiv', holdDivId:'ercHoldDiv', formatDivClass:'ercFormatDiv', holdDivClass:'ercHoldDiv', formatRadioId:'ercFormatRadioDiv', radioName:'ercRadioGroup', radioClass:'ercRadio', msgDialogId:'ercMessageDialog', messageClass:'ercMessage', accountDialogClass:'ercAccountsDialog', accountErrorDiv:'ercAcctErrorDiv', accountFormClass:'ercAccountsForm', accountDivClass:'ercAccountDiv', accountLabelClass:'ercAccountLabel', accountSelectClass:'ercAccountSelect', accountInputClass:'ercAccountInput', //functions makeId:function(baseId, resultId) { return baseId + '_' + resultId; }, makeError:function(message) { return {status:'error', error:message}; }, showLoad:function() { var div = $J('body > .loadingDiv'); if(div.length < 1) { div = $J('').addClass('loadingDiv'); $J('body').append(div); } var backdrop = $J('body > .loadingBackdrop'); if(backdrop.length < 1) { backdrop = $J('').addClass('loadingBackdrop'); $J('body').append(backdrop); } backdrop.show(); div.show(); createSpinnersForSelector(div); }, hideLoad:function() { $J('.loadingBackdrop').hide(); $J('.loadingDiv').hide(); stopSpinnersForSelector($J('.loadingDiv')); }, expandRadioLabel:function(id, classes) { $J('#icon_' + id).toggleClass(classes); let description = document.getElementById("ercDescription_" + id); if(description.style.maxHeight) { description.style.maxHeight = null; } else { description.style.maxHeight = description.scrollHeight + "px"; } }, //format dialog functions findFormatDialog:function(callback, resultId, ercItem, isPreview) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing or malformed eResource Central item data')); return; } var formats = isPreview ? ercItem.previews : ercItem.formats; if(!formats || formats.length < 1) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing or malformed eResource Central format data')); return; } if(formats.length === 1 || !ercItem.formatsUnique) { // Just one format to select, make it happen! eRC_Dialogs.hideLoad(); callback(formats[0], ercItem.drm, true); return; } var dialogId = eRC_Dialogs.makeId(isPreview ? eRC_Dialogs.previewDialogClass : eRC_Dialogs.formatDialogClass, resultId); var formatDialog = document.getElementById(dialogId); if(!formatDialog) { // We didn't find one, build it. eRC_Dialogs.showLoad(); formatDialog = eRC_Dialogs.buildFormatDialog(dialogId, ercItem, resultId, isPreview, callback); } formatDialog.setAttribute('value',''); // Ensure an empty value until one is selected. eRC_Dialogs.hideLoad(); $J(formatDialog).dialog('open'); }, buildFormatDialog:function(dialogId, ercItem, resultId, isPreview, callback) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing or malformed eResource Central item data')); return; } var formats = isPreview ? ercItem.previews : ercItem.formats; var formatDiv = eRC_Dialogs.buildFormatDiv(dialogId, formats, resultId, isPreview); var dialog = document.createElement('div'); dialog.setAttribute('id', dialogId); dialog.setAttribute('class', (isPreview ? eRC_Dialogs.previewDialogClass : eRC_Dialogs.formatDialogClass)+' ercDialog'); var form = document.createElement('form'); form.on('submit', function(event) { event.preventDefault(); closeModal($J('#' + dialogId), true); eRC_Dialogs.getFormat(callback, eRC_Dialogs.getRadioFormat(dialogId)); }); form.appendChild(formatDiv); if(formats.length > eRC_Dialogs.shownFormatCount) { form.appendChild(eRC_Dialogs.buildExpanderHandle(dialogId)); } dialog.appendChild(form); var dlgButtonDiv = document.createElement('div'); dlgButtonDiv.setAttribute('class', 'ercDialogButtonsDiv buttonSection'); var buttonValue = isPreview ? 'Preview' : (ercItem.drm ? 'Check Out' : 'Download'); dlgButtonDiv.appendChild(eRC_Dialogs.buildPrimaryButton('submit', buttonValue, dialogId + '_okButton')); dlgButtonDiv.appendChild(eRC_Dialogs.buildCancelButton(dialogId)); form.appendChild(dlgButtonDiv); document.body.appendChild(dialog); var title = isPreview ? 'Preview Options' : (ercItem.drm ? 'Checkout Options' : 'Download Options'); openModal($J(dialog), title, { autoOpen: false, resizable: false, appendTo: null, allowAutofocus: true, keepAlive: true, close: function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); }} }, true); return dialog; }, buildFormatDiv:function(dialogId, formats, resultId, isPreview) { var formatDivId = eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivId); var formatDiv = document.createElement('div'); formatDiv.setAttribute('id', formatDivId); formatDiv.setAttribute('class', 'fieldSection ercFieldSection'); for(var i = 0; i < formats.length; i++) { var radioValue = (isPreview ? 'prev:' : 'down:') + resultId + ':' + formats[i].key; var isDisabled = formats[i].totalCopies && !formats[i].availableCopies; if (i > 0) { var hRule = document.createElement('hr'); var hrClass = 'ercFormatSep'; if (i >= eRC_Dialogs.shownFormatCount) { hrClass += ' hidden'; } hRule.setAttribute('class', hrClass); formatDiv.appendChild(hRule); } formatDiv.appendChild(eRC_Dialogs.buildRadioButton(dialogId, radioValue, formats[i].name, isDisabled, i)); } return formatDiv; }, //hold dialog functions findHoldDialog:function(callback, resultId, ercItem, responseJson) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing or malformed eResource Central item data')); return; } var dialogId = eRC_Dialogs.makeId(eRC_Dialogs.holdDialogClass, resultId); var holdDialog = document.getElementById(dialogId); if(!holdDialog) { // We didn't find one, build it. eRC_Dialogs.showLoad(); holdDialog = eRC_Dialogs.buildHoldDialog(dialogId, ercItem, resultId, responseJson); } $J(holdDialog).find('.emailError').remove(); holdDialog.setAttribute('value',''); // Ensure an empty value until one is selected. $J(holdDialog).unbind('dialogclose').bind('dialogclose', function(event) { callback($J(holdDialog).val(), $J(holdDialog).find('input[id$=_autoCheckoutInput]').is(':checked')); }); eRC_Dialogs.hideLoad(); $J(holdDialog).dialog('open'); }, //responseJson could be the accounts call from erc or the email response, it's a bit overloaded buildHoldDialog:function(dialogId, ercItem, resultId, responseJson) { var dialog = document.createElement('div'); dialog.setAttribute('value',''); // Ensure an empty value until one is selected. dialog.setAttribute('id', dialogId); dialog.setAttribute('class', (eRC_Dialogs.holdDialogClass)+' ercDialog'); var holdDiv; if (com_sirsi_ent_page.isMobile) { eRC_Dialogs.addMobileHoldDiv(dialog, dialogId, ercItem, resultId, responseJson); } else { holdDiv = eRC_Dialogs.buildHoldDiv(dialogId, ercItem, resultId, responseJson); dialog.appendChild(holdDiv); } var makeableAccounts = []; if(responseJson.accountType) { for(var i = 0; i < responseJson.accountType.length; i++) { // JSON.parse(JSON.stringify(obj)) appears to be the fastest way to DEEP-copy an object // (see: http://jsperf.com/cloning-an-object/2) var account = JSON.parse(JSON.stringify(responseJson.accountType[i])); if(account.externalAccountUrl) { makeableAccounts.push(account); } } } var buttonHolder = document.createElement('div'); buttonHolder.setAttribute('class', 'ercDialogButtonsDiv buttonSection'); var buttonOnClick = 'javascript:$J(\'#' + dialogId + '\').val(eRC_Dialogs.getEmailHold(\'' + dialogId + '\',\'' + ercItem.id + '\')); if ($J(\'#' + dialogId + '\').val()) { closeModal($J(\'#' + dialogId + '\')); }'; buttonHolder.appendChild(eRC_Dialogs.buildPrimaryButton('button', 'Place Hold', dialogId + '_okButton', buttonOnClick)); dialog.appendChild(buttonHolder); if (com_sirsi_ent_page.isMobile) { buttonHolder.appendChild(eRC_Dialogs.buildCancelButton(dialogId)); var accountHolder = document.createElement('div') accountHolder.setAttribute('class', 'linkSection'); eRC_Dialogs.addAccountButtons(makeableAccounts, accountHolder, dialogId); dialog.appendChild(accountHolder); } else { eRC_Dialogs.addAccountButtons(makeableAccounts, buttonHolder, dialogId); buttonHolder.appendChild(eRC_Dialogs.buildCancelButton(dialogId)); } document.body.appendChild(dialog); openModal($J(dialog), 'Hold Options', {autoOpen: false, width: 'auto', resizable: false, appendTo: null, allowAutofocus: true, keepAlive: true}, true); return dialog; }, buildHoldDiv:function(dialogId, ercItem, resultId, responseJson) { var holdDivId = eRC_Dialogs.makeId(dialogId, eRC_Dialogs.holdDivId); var holdDiv = document.createElement('div'); holdDiv.setAttribute('id', holdDivId); var title = $J('#'+resultId+'_TITLE > .TITLE_value:first').text(); var format = $J('#'+resultId+'_FORMAT > .FORMAT_value').text(); var tbl = document.createElement('table'); tbl.setAttribute('id','holdTable'); tbl.setAttribute('class','holdsTable'); var thead = document.createElement('thead'); var tr = document.createElement('tr'); var th = document.createElement('th'); th.setAttribute('class','titleColumn'); var titleLabel = document.createTextNode('Title'); th.appendChild(titleLabel); tr.appendChild(th); th = document.createElement('th'); var formatLabel = document.createTextNode('Format'); th.appendChild(formatLabel); tr.appendChild(th); if (eRC_Dialogs.holdNeedsEmail) { th = document.createElement('th'); var emailLabel = document.createTextNode('Email Address'); th.appendChild(emailLabel); tr.appendChild(th); } if(ercItem['autoCheckoutSupported']) { th = document.createElement('th'); var autoCheckoutColumnLabel = document.createTextNode('Automatic Checkout'); th.appendChild(autoCheckoutColumnLabel); tr.appendChild(th); } thead.appendChild(tr); var tbody = document.createElement('tbody'); var tr1 = document.createElement('tr'); tr1.setAttribute('height','40'); tr1.setAttribute('valign','top'); var td = document.createElement('td'); td.setAttribute('class','titleCell'); var titleText = document.createTextNode(title); td.appendChild(titleText); tr1.appendChild(td); td = document.createElement('td'); td.setAttribute('class','formatCell'); var formatText = document.createTextNode(format); td.appendChild(formatText); tr1.appendChild(td); if (eRC_Dialogs.holdNeedsEmail) { td = document.createElement('td'); td.setAttribute('class','emailCell'); var emailInput = document.createElement("input"); emailInput.setAttribute('type','text'); emailInput.setAttribute('name','emailInput'); emailInput.setAttribute('class',dialogId+'_emailInput'); emailInput.setAttribute('size',30); if(responseJson.email) { emailInput.setAttribute('value', responseJson.email); } td.appendChild(emailInput); tr1.appendChild(td); } if(ercItem['autoCheckoutSupported']) { td = document.createElement('td'); td.setAttribute('class','autoCheckoutCell'); var autoCheckoutDiv = document.createElement('div'); var autoCheckoutInput = document.createElement("input"); autoCheckoutInput.setAttribute('type','checkbox'); autoCheckoutInput.setAttribute('name','autoCheckoutInput'); autoCheckoutInput.setAttribute('class',dialogId+'_autoCheckoutInput'); autoCheckoutInput.setAttribute('id',holdDivId+'_autoCheckoutInput'); autoCheckoutInput.setAttribute('size',30); autoCheckoutDiv.appendChild(autoCheckoutInput); var autoCheckoutLabel = document.createElement("label"); autoCheckoutLabel.setAttribute('for', holdDivId+'_autoCheckoutInput'); autoCheckoutLabel.setAttribute('class', 'cbLabel'); autoCheckoutLabel.innerText = "Automatically check out item when available"; autoCheckoutDiv.appendChild(autoCheckoutLabel); td.appendChild(autoCheckoutDiv); tr1.appendChild(td); } tbody.appendChild(tr1); tbl.appendChild(thead); tbl.appendChild(tbody); holdDiv.appendChild(tbl); return holdDiv; }, addMobileHoldDiv:function(dialog, dialogId, ercItem, resultId, responseJson) { var holdDivId = eRC_Dialogs.makeId(dialogId, eRC_Dialogs.holdDivId); var holdDiv = document.createElement('div'); holdDiv.setAttribute('id', holdDivId); holdDiv.setAttribute('class', 'holdsDiv'); var fieldList = document.createElement('div'); fieldList.setAttribute('class', 'fieldSection fieldList'); var title = $J('#'+resultId+'_TITLE > .TITLE_value:first').text(); var format = $J('#'+resultId+'_FORMAT > .FORMAT_value').text(); var titleFieldSection = document.createElement('div'); titleFieldSection.setAttribute('class','field'); var titleLabelDiv = document.createElement('div'); titleLabelDiv.setAttribute('class','label text-h5'); var titleLabel = document.createTextNode('Title'); titleLabelDiv.appendChild(titleLabel); titleFieldSection.appendChild(titleLabelDiv); var titleDiv = document.createElement('div'); titleDiv.setAttribute('class','fieldValue text-p'); var titleValue = document.createTextNode(title); titleDiv.appendChild(titleValue); titleFieldSection.appendChild(titleDiv); var formatFieldSection = document.createElement('div'); formatFieldSection.setAttribute('class','field'); var formatLabelDiv = document.createElement('div'); formatLabelDiv.setAttribute('class','label text-h5'); var formatLabel = document.createTextNode('Format'); formatLabelDiv.appendChild(formatLabel); formatFieldSection.appendChild(formatLabelDiv); var formatField = document.createElement('div'); formatField.setAttribute('class','fieldValue text-p'); var formatValue = document.createTextNode(format); formatField.appendChild(formatValue); formatFieldSection.appendChild(formatField); if (eRC_Dialogs.holdNeedsEmail) { var emailFieldSection = document.createElement('div'); emailFieldSection.setAttribute('class','fieldSection'); emailFieldSection.appendChild(eRC_Dialogs.buildLabel('Email Address', '')); var emailInput = document.createElement("input"); if(responseJson.email) { emailInput.setAttribute('value', responseJson.email); } emailInput.setAttribute('class', dialogId + '_emailInput fullwidth textbox'); emailFieldSection.appendChild(emailInput); } if(ercItem['autoCheckoutSupported']) { var autoCheckoutFieldSection = document.createElement('div'); autoCheckoutFieldSection.setAttribute('class','table fieldSection fullwidth'); var autoCheckoutDiv = document.createElement('div'); autoCheckoutDiv.setAttribute('class','checkbox-align'); var autoCheckoutInput = document.createElement("input"); autoCheckoutInput.setAttribute('type', 'checkbox'); autoCheckoutInput.setAttribute('name', 'autoCheckoutInput'); autoCheckoutInput.setAttribute('class', dialogId + '_autoCheckoutInput checkbox'); autoCheckoutInput.setAttribute('id', holdDivId + '_autoCheckoutInput'); var autoCheckoutLabel = document.createElement("label"); autoCheckoutLabel.setAttribute('for', holdDivId + '_autoCheckoutInput'); autoCheckoutLabel.setAttribute('class', 'label text-p checkbox-align'); autoCheckoutLabel.innerText = "Automatically check out item when available"; autoCheckoutDiv.appendChild(autoCheckoutInput); autoCheckoutFieldSection.appendChild(autoCheckoutDiv); autoCheckoutFieldSection.appendChild(autoCheckoutLabel); } fieldList.appendChild(titleFieldSection); fieldList.appendChild(formatFieldSection); holdDiv.appendChild(fieldList); dialog.appendChild(holdDiv); if (emailFieldSection) { dialog.appendChild(emailFieldSection); } if (autoCheckoutFieldSection) { dialog.appendChild(autoCheckoutFieldSection); } }, getEmailHold:function(dialogId,id) { if (!eRC_Dialogs.holdNeedsEmail) { return "@"; // This isn't a valid email address but that's okay, because we won't really use it } var dialog = $J('#' + dialogId); var emailField = dialog.find('.' + dialogId + '_emailInput'); var email = emailField.val().trim(); var regex = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/; if (regex.test(email) === true) { if (com_sirsi_ent_page.isMobile) { dialog.find('.errorSection').remove(); } return email; } else { if (dialog.find('.emailError').length === 0) { if (com_sirsi_ent_page.isMobile) { $J('#'+eRC_Dialogs.makeId(dialogId, eRC_Dialogs.holdDivId)).before(buildErrorDisplay(['Email addresses must match the pattern user@domain.extension'],'emailError')); } else { var span = document.createElement("span"); span.setAttribute('class','emailError'); $J('#'+eRC_Dialogs.makeId(dialogId, eRC_Dialogs.holdDivId)).before(span); $J('.emailError').text('Email addresses must match the pattern user@domain.extension'); } } return ""; } }, buildExpanderHandle:function(dialogId) { var expanderId = dialogId+'_expander'; var more = document.createElement('div'); more.setAttribute('id', expanderId); more.setAttribute('class', 'ercFormatExpander fieldSection'); more.setAttribute('onclick', '$J(\'#' + eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivClass) + ' .hidden\').each(function() { $J(this).removeClass("hidden"); }); $J(\'#' + expanderId + '\').hide();'); more.innerHTML = ''; return more; }, getRadioFormat:function(dialogId) { var key; $J('#'+dialogId+' .'+eRC_Dialogs.radioClass).each(function() { if(this.checked) { key = $J(this).val(); } }); return key; }, getFormat:function(callback, key) { var type = key.substring(0, key.indexOf(':')); key = key.substring(key.indexOf(':')+1); var resultId = key.substring(0, key.indexOf(':')); var formatKey = key.substring(key.indexOf(':')+1); eRC_Base.getTitleData(function(ercItem) { if(ercItem) { var formats = (type == 'prev') ? ercItem.previews : ercItem.formats; for(var i = 0; i < formats.length; i++) { if(formats[i].key == formatKey) { callback(formats[i], ercItem.drm); return; } } } callback(); }, resultId); }, //accounts dialog functions getSpecificAccountInputsClass:function(baseId) { return eRC_Dialogs.accountInputClass + baseId; }, findAccountsDialog:function(callback, resultId, format, responseJson, duration) { if(responseJson && responseJson.error) { eRC_Dialogs.openErrorMessageDialog(callback, responseJson); return; } if(!(responseJson && responseJson.accountType && responseJson.accountType.length > 0)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing or malformed response for eResource Central getAccounts call')); return; } var baseId = format.key+resultId; var dialogId = eRC_Dialogs.accountDialogClass + baseId; var accountDialog = document.getElementById(dialogId); if(!accountDialog) { // We didn't find one, build it. eRC_Dialogs.showLoad(); accountDialog = eRC_Dialogs.buildAccountDialog(baseId, dialogId, format, responseJson, duration); } if (!com_sirsi_ent_page.isMobile) { for (var i = 0; i < responseJson.accountType.length; i++) { eRC_Dialogs.fillAccountSelectionOptions(baseId, responseJson.accountType[i]); } } // Clear this value (it will be set upon form validation). accountDialog.removeAttribute('value'); $J('.'+eRC_Dialogs.accountErrorDiv).hide(); eRC_Dialogs.hideLoad(); var dialogOptions = { autoOpen: true, resizable: false, appendTo: null, close: function(event) { callback(accountDialog.getAttribute('value')); }, keepAlive: true, allowAutofocus: true } openModal($J(accountDialog), 'Checkout', dialogOptions, true); }, // you can get to this dialog by downloading RBdigital (Record a books, which is part of one click digital) buildAccountDialog:function(baseId, dialogId, format, responseJson, duration) { var errorDiv = document.createElement('div'); errorDiv.setAttribute('id', eRC_Dialogs.accountErrorDiv + baseId); errorDiv.setAttribute('class', eRC_Dialogs.accountErrorDiv); errorDiv.setAttribute('style', 'display: none;'); errorDiv.innerHTML = 'Error! The following fields are either missing or invalid.'; var formId = eRC_Dialogs.accountFormClass + baseId; var form = document.createElement('form'); form.setAttribute('id', formId); form.setAttribute('class', eRC_Dialogs.accountFormClass); form.setAttribute('onsubmit', 'javascript: eRC_Dialogs.handleAccountFormSubmit(\'' + baseId + '\', \'' + format.url + '\'); return false;'); var makeableAccounts = []; for(var i = 0; i < responseJson.accountType.length; i++) { // JSON.parse(JSON.stringify(obj)) appears to be the fastest way to DEEP-copy an object // (see: http://jsperf.com/cloning-an-object/2) var account = JSON.parse(JSON.stringify(responseJson.accountType[i])); if(format.authentication.ereaderAccount === account.key) { account.type = 'ereaderAccount'; } if(format.authentication.partnerAccount === account.key) { account.type = 'partnerAccount'; } if(!account.type) { return null; } if(account.externalAccountUrl) { makeableAccounts.push(account); } var accountDiv = eRC_Dialogs.buildAccountDiv(baseId, account); if(accountDiv) { form.appendChild(accountDiv); } } var slider = eRC_Dialogs.buildDurationSelector(baseId, duration); if(slider) { form.appendChild(slider); } var buttonHolder = document.createElement('div'); buttonHolder.setAttribute('class', 'ercDialogButtonsDiv buttonSection'); buttonHolder.appendChild(eRC_Dialogs.buildPrimaryButton('submit', 'Check Out')); form.appendChild(buttonHolder); if (com_sirsi_ent_page.isMobile) { buttonHolder.appendChild(eRC_Dialogs.buildCancelButton(dialogId)); var accountHolder = document.createElement('div') accountHolder.setAttribute('class', 'linkSection'); eRC_Dialogs.addAccountButtons(makeableAccounts, accountHolder, dialogId); form.appendChild(accountHolder); } else { eRC_Dialogs.addAccountButtons(makeableAccounts, buttonHolder, dialogId); } var accountDialog = document.createElement('div'); accountDialog.setAttribute('id', dialogId); accountDialog.setAttribute('class', eRC_Dialogs.accountDialogClass+' ercDialog'); accountDialog.appendChild(errorDiv); accountDialog.appendChild(form); document.body.appendChild(accountDialog); if (!com_sirsi_ent_page.isMobile) { // UI/UX recommended having a default for the selector, so leaving this for nonmobile $J('#' + formId + ' select').each(function () { this.selectedIndex = -1 }); } $J('#' + eRC_Dialogs.accountErrorDiv + baseId).hide(); return accountDialog; }, buildAccountDiv:function(baseId, account) { if(!(account && account.key)) { return null; } // we're going to be using this, set it up com_sirsi_ent_strings.setStringFormatFunc_JavaStyle(); var accountId = eRC_Dialogs.makeId(baseId, account.key); var accountDiv = document.createElement('div'); accountDiv.setAttribute('id', eRC_Dialogs.accountDivClass+accountId); accountDiv.setAttribute('class', eRC_Dialogs.accountDivClass + ' fieldSection'); var heading = document.createElement('h3'); heading.setAttribute('class', 'ercAcctDialogHeading headerField'); heading.innerHTML = String.format('Enter %s Account', account.name); accountDiv.appendChild(heading); var inputId = eRC_Dialogs.accountInputClass + accountId; var comboDiv = document.createElement('div'); var comboInput = document.createElement('input'); comboInput.setAttribute('id', inputId); comboInput.setAttribute('type', 'text'); comboInput.setAttribute('name', account.type); comboInput.setAttribute('autocomplete', 'off'); if (com_sirsi_ent_page.isMobile) { comboDiv.setAttribute('class', 'fieldSection'); var labelText = 'Username:'; if (labelText.indexOf(':') > 0) { labelText = labelText.substr(0, labelText.indexOf(':')) } comboDiv.appendChild(eRC_Dialogs.buildLabel(labelText, inputId)); comboInput.setAttribute('class', 'ercAccountSelectInput textbox fullwidth'); } else { accountDiv.appendChild(eRC_Dialogs.buildLabel('Username:', inputId)); comboInput.setAttribute('class', 'ercAccountSelectInput ' + eRC_Dialogs.getSpecificAccountInputsClass(baseId)); var selectId = eRC_Dialogs.accountSelectClass + accountId; var comboSelect = document.createElement('select'); comboSelect.setAttribute('id', selectId); comboSelect.setAttribute('tabindex', -1); comboSelect.setAttribute('class', eRC_Dialogs.accountSelectClass); comboSelect.setAttribute('onchange', 'javascript:document.getElementById(\'' + inputId + '\').value=document.getElementById(\'' + selectId + '\').value;'); $J(comboInput).keyup(function(e){ if(e && e.keyCode == 40) { $J(comboSelect).focus().click(); } comboSelect.selectedIndex = -1; }); comboDiv.appendChild(comboSelect); } comboDiv.appendChild(comboInput); accountDiv.appendChild(comboDiv); // provide a required password field, but only if actually required if (true === account.passwordRequired) { var passwordFieldId = 'ercAccountPasswordField' + accountId; var fieldHolder; var inputClass; if (com_sirsi_ent_page.isMobile) { fieldHolder = document.createElement('div'); fieldHolder.setAttribute('class', 'fieldSection'); accountDiv.appendChild(fieldHolder); } else { fieldHolder = accountDiv; } fieldHolder.appendChild(eRC_Dialogs.buildLabel('Password:', passwordFieldId)); var passwordField = document.createElement('input'); passwordField.setAttribute('type', 'password'); passwordField.setAttribute('id', passwordFieldId); passwordField.setAttribute('class', eRC_Dialogs.accountInputClass + ' textbox fullwidth ' + eRC_Dialogs.getSpecificAccountInputsClass(baseId)); passwordField.setAttribute('name', account.type + 'Pw'); fieldHolder.appendChild(passwordField); } // we're done using this, revert com_sirsi_ent_strings.resetString_dot_format(); return accountDiv; }, buildDurationSelector:function(baseId, duration) { if(!(duration && duration.maxCheckout)) { return null; } var defaultDays = duration.defaultCheckout ? duration.defaultCheckout : duration.maxCheckout; var durationId = eRC_Dialogs.makeId(eRC_Dialogs.durationId, baseId); var label = document.createElement('div'); var checkoutClass = 'ercCheckoutDiv'; if (com_sirsi_ent_page.isMobile) { checkoutClass += ' fieldSection'; if(duration.maxCheckout === duration.minCheckout) { label.setAttribute('class', 'label text-h5'); checkoutClass += ' field'; } else { label.setAttribute('class', 'label text-p'); } var labelText = 'Checkout duration:'; if (labelText.indexOf(':') > 0) { labelText = labelText.substr(0, labelText.indexOf(':')) } labelText += ' (day(s))'; label.innerHTML = labelText; } else { label.setAttribute('class', 'ercCheckoutLabel'); label.innerHTML = 'Checkout duration:'; } var checkout = document.createElement('div'); checkout.setAttribute('id', 'ercCheckout_' + baseId); checkout.setAttribute('class', checkoutClass); checkout.appendChild(label); var currentDays = document.createElement('span'); currentDays.setAttribute('id', durationId); currentDays.innerHTML = defaultDays; var selection = document.createElement('div'); if (com_sirsi_ent_page.isMobile) { selection.setAttribute('class', 'fieldValue text-p'); } else { selection.setAttribute('class', 'ercCheckoutSelection'); } selection.innerHTML = ' day(s)'; selection.insertBefore(currentDays, selection.childNodes[0]); if(duration.maxCheckout === duration.minCheckout) { checkout.appendChild(selection); } else { if (com_sirsi_ent_page.isMobile) { // non mobile slider is not mobile friendly, make a dropdown var min = duration.minCheckout ? duration.minCheckout : 1; var selectorId = 'ercSelector_' + baseId; var selector = document.createElement('select'); selector.setAttribute('id', selectorId); selector.setAttribute('blankOption', 'NEVER'); selector.setAttribute('class', 'checkoutTimeSelector dropDown fullwidth'); for (var i = duration.minCheckout; i <= duration.maxCheckout; i++) { var option = document.createElement('option'); option.setAttribute('value', i); if (i == duration.minCheckout) { option.setAttribute('selected', 'true'); option.selected } option.innerHTML = i; selector.appendChild(option); } selector.setAttribute('value', duration.minCheckout); checkout.appendChild(selector); var iArrow = document.createElement('i'); iArrow.setAttribute('class', 'fa fa-caret-down select-arrow'); iArrow.setAttribute('aria-hidden', 'true'); checkout.appendChild(iArrow); } else { // original non mobile slider var min = duration.minCheckout ? duration.minCheckout : 1; var minSpan = document.createElement('span'); minSpan.setAttribute('class', 'ercMinDays'); minSpan.innerHTML = min; var maxSpan = document.createElement('span'); maxSpan.setAttribute('class', 'ercMaxDays'); maxSpan.innerHTML = duration.maxCheckout; var selectorId = 'ercSelector_' + baseId; var selector = document.createElement('div'); selector.setAttribute('id', selectorId); selector.setAttribute('class', 'checkoutTimeSelector'); var slider = document.createElement('div'); slider.setAttribute('class', 'ercCheckoutSlider'); slider.appendChild(minSpan); slider.appendChild(maxSpan); slider.appendChild(selector); slider.appendChild(selection); checkout.appendChild(slider); $J(selector).slider({ min:min, max:duration.maxCheckout, value:defaultDays, slide: function( event, ui ) { document.getElementById(durationId).innerHTML = ui.value; } }); } } return checkout; }, buildPrimaryButton: function(inputType, buttonLabel, buttonId, buttonClick) { var primaryButton = document.createElement('input'); primaryButton.setAttribute('type', inputType); primaryButton.setAttribute('value', buttonLabel); if (com_sirsi_ent_page.isMobile) { primaryButton.setAttribute('class', 'button fullwidth'); } else { primaryButton.setAttribute('class', eRC_Dialogs.primaryButtonClass + ' ' + eRC_Dialogs.dialogButtonClass); } if(buttonId) { primaryButton.setAttribute('id', buttonId); } if(buttonClick) { primaryButton.setAttribute('onclick', buttonClick); } return primaryButton; }, buildCancelButton: function(dialogId) { var cancelButton = document.createElement('input'); cancelButton.setAttribute('type', 'button'); cancelButton.setAttribute('id', dialogId + '_cancelButton'); cancelButton.setAttribute('onclick', 'javascript:closeModal($J(\'#' + dialogId + '\'));$J(".errorSection").remove();'); cancelButton.setAttribute('value', 'Cancel'); if (com_sirsi_ent_page.isMobile) { cancelButton.setAttribute('class', 'button fullwidth cancel'); } else { cancelButton.setAttribute('class', eRC_Dialogs.secondaryButtonClass + ' ' + eRC_Dialogs.dialogButtonClass); } return cancelButton; }, buildLabel: function(labelText, labelFor) { var labelElement = document.createElement('label'); labelElement.innerHTML = labelText; if(labelFor) { labelElement.setAttribute('for', labelFor); } if (com_sirsi_ent_page.isMobile) { var labelHolder = document.createElement('div'); labelHolder.setAttribute('class', 'label text-p'); labelHolder.appendChild(labelElement); return labelHolder; } else { labelElement.setAttribute('class', eRC_Dialogs.accountLabelClass); return labelElement; } }, buildRadioButton: function(dialogId, radioValue, formatNameText, isDisabled, radioIndex) { let radioId = eRC_Dialogs.makeId(eRC_Dialogs.radioClass, eRC_Dialogs.makeId(dialogId, radioIndex)); let radio = document.createElement('input'); radio.setAttribute('type', 'radio'); radio.setAttribute('name', eRC_Dialogs.makeId(eRC_Dialogs.radioName, dialogId)); radio.setAttribute('id', radioId); radio.setAttribute('class', eRC_Dialogs.radioClass + ' v-middle radio'); radio.setAttribute('value', radioValue); if(radioIndex === 0) { radio.setAttribute('checked', 'checked'); } if(isDisabled) { radio.setAttribute('disabled', 'disabled'); } let label = document.createElement('label'); label.setAttribute('for', radioId); let formatDiv = document.createElement('div'); formatDiv.setAttribute("class", "ercCollapsible"); //get format details let formatDetails = eRC_Base.getFormatDetails(formatNameText); if(formatDetails) { radio.className += ' formatDescription'; //used to distinguish from hold modal let idBase = eRC_Dialogs.makeId(dialogId, radioIndex); let icon = document.createElement('i'); let accessibleVia = document.createElement('div'); let description = document.createElement('p'); icon.setAttribute("class", com_sirsi_ent_page.isMobile ? "fa fa-angle-down fa-2x" : "fa fa-caret-right"); label.setAttribute("onclick", "eRC_Dialogs.expandRadioLabel('" + idBase + "'," + ( com_sirsi_ent_page.isMobile ? "'fa-angle-up fa-angle-down'" : "'fa-caret-right fa-caret-down'") + ")"); radio.addEventListener("keydown", event => { if(event.key === ' ' || event.code === 'Space') { eRC_Dialogs.expandRadioLabel(idBase, com_sirsi_ent_page.isMobile ? 'fa-angle-up fa-angle-down' : 'fa-caret-right fa-caret-down') } }); if(com_sirsi_ent_page.isMobile) { description.appendChild(document.createElement('br')); } description.append(eRC_Base.createAnchorTextLinks(formatDetails.description, formatDetails.descriptionParams)); icon.setAttribute("id", "icon_" + idBase); icon.setAttribute("aria-hidden", "true"); formatDiv.appendChild(document.createTextNode(formatDetails.type + " (" + formatNameText + ")")); accessibleVia.append(eRC_Base.createAnchorTextLinks(formatDetails.accessibleVia, formatDetails.accessibleViaParams)); accessibleVia.setAttribute("class", "ercAccessibleVia"); description.setAttribute("class", "ercDescriptionContent"); description.setAttribute("id", "ercDescription_" + idBase); label.appendChild(icon); label.appendChild(formatDiv); label.appendChild(accessibleVia); label.appendChild(description); } else { formatDiv.appendChild(document.createTextNode(formatNameText)); label.appendChild(formatDiv); } let radioRowClass = eRC_Dialogs.formatDivClass + ' ' + eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivClass); if(radioIndex >= eRC_Dialogs.shownFormatCount) { radioRowClass += ' hidden'; } let radioHolder; if (com_sirsi_ent_page.isMobile) { label.setAttribute('class', 'text-p label checkbox-align'); radioRowClass += ' radioRow table fullwidth'; radioHolder = document.createElement('div'); radioHolder.setAttribute('class', 'checkbox-align ' + (formatDetails ? ' formatDescription' : '')); radioHolder.appendChild(radio); } else { let labelClass = 'ercRadioLabel'; if(isDisabled) { labelClass += ' disabledLabel'; } label.setAttribute('class', labelClass); radioHolder = radio; } var radioRow = document.createElement('div'); radioRow.setAttribute('id', eRC_Dialogs.makeId(eRC_Dialogs.formatRadioId, eRC_Dialogs.makeId(dialogId, radioIndex))); radioRow.setAttribute('class', radioRowClass); radioRow.appendChild(radioHolder); radioRow.appendChild(label); return radioRow; }, //this function builds buttons (and a link) and add to the div based on the accounts passed in addAccountButtons:function(accounts, parentElement, dialogId) { // we're going to be using this, set it up com_sirsi_ent_strings.setStringFormatFunc_JavaStyle(); if (com_sirsi_ent_page.isMobile) { for (var i = 0; i < accounts.length; i++) { var linkDiv = document.createElement('div'); linkDiv.setAttribute('class', 'linkWrapper'); var onClickText = 'javascript: safeWindowOpen("' + accounts[i].externalAccountUrl + '", "_blank"); return false;'; var accountLink = document.createElement('a'); accountLink.setAttribute('href', "#"); accountLink.setAttribute('onclick', onClickText); accountLink.innerHTML = String.format('Create %s Account', accounts[i].name); linkDiv.appendChild(accountLink); parentElement.appendChild(linkDiv); } } else { // leave non mobile as is for (var i = 0; i < accounts.length; i++) { var onClickText = 'javascript: safeWindowOpen("' + accounts[i].externalAccountUrl + '", "_blank"); return false;'; var newButton = document.createElement('button'); newButton.setAttribute('class', eRC_Dialogs.secondaryButtonClass + ' ' + eRC_Dialogs.dialogButtonClass); newButton.setAttribute('onclick', onClickText); newButton.innerHTML = String.format('Create %s Account', accounts[i].name); parentElement.appendChild(newButton); } } // we're done using this, revert com_sirsi_ent_strings.resetString_dot_format(); }, fillAccountSelectionOptions:function(baseId, account) { var accountId = eRC_Dialogs.makeId(baseId, account.key); var comboSelect = document.getElementById(eRC_Dialogs.accountSelectClass+accountId); while (comboSelect.hasChildNodes()) { comboSelect.removeChild(comboSelect.lastChild); } for (var i = 0; i < account.account.length; i++) { var acct = account.account[i]; var option = document.createElement('option'); option.setAttribute('value', acct.id); if(acct.isDefault) { document.getElementById(eRC_Dialogs.accountInputClass+accountId).value = acct.id; } option.innerHTML = acct.id; comboSelect.appendChild(option); } comboSelect.selectedIndex = -1; $J('#'+eRC_Dialogs.accountDivClass+accountId+' input').first().select(); }, handleAccountFormSubmit:function(baseId, formatUrl) { var data = formatUrl + '?'; var proceed = true; // looking for input that starts with input class because tapestry puts random junk on the end. $J('input[id^="'+eRC_Dialogs.accountInputClass+'"]').each(function() { var value = this.value; if(value){ data += this.getAttribute('name') + '=' + value + '&'; } else { $J('#' + eRC_Dialogs.accountErrorDiv + baseId).show(); proceed = false; } }); if(proceed) { var duration = document.getElementById(eRC_Dialogs.makeId(eRC_Dialogs.durationId, baseId)); if(duration && duration.innerHTML) { data += 'duration=' + duration.innerHTML + '&'; } document.getElementById(eRC_Dialogs.accountDialogClass+baseId).setAttribute('value',data.substring(0, data.length - 1)); closeModal($J('#' + eRC_Dialogs.accountDialogClass + baseId)); } }, //API functions openFormatDialog:function(callback, resultId, isPreview) { if(!(resultId && 'function' === typeof callback)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Function call made with one or more invalid parameters: "callback", "resultId"')); return; } if(eRC_DownloadButton.reloadNeeded) { closeModal($J('#loginModal')); } var ercChildInfo = eRC_Dialogs.getErcChildInfo(resultId); if (ercChildInfo) { eRC_Dialogs.findFormatDialog(callback, resultId, ercChildInfo, isPreview); } else { eRC_Base.getTitleData(function(ercItem) { if (ercItem) { eRC_Dialogs.findFormatDialog(callback, resultId, ercItem, isPreview); } }, resultId); } }, getErcChildInfo:function(hitlistOrDetailResultId) { var resultId = hitlistOrDetailResultId.replace('detail', ''); // Don't replace hitlist, because we only want to use child info for detail actions. if (typeof ErcChildRecordRiver != 'undefined' && ErcChildRecordRiver.titleChildInfo && ErcChildRecordRiver.titleChildInfo[resultId]) { // Get active child index from the appropriate carousel for this result. var activeChildId = $J('#jsChildCarousel_' + resultId).find('.erc_child_image_div.active').attr('id'); if (activeChildId) { var childIndex = activeChildId.substring(activeChildId.lastIndexOf('_') + 1); var childData = ErcChildRecordRiver.titleChildInfo[resultId]; if(typeof childData != 'undefined' && childData) { return childData.children[childIndex]; } } } return null; }, openHoldDialog:function(callback, resultId) { if(!(resultId && 'function' === typeof callback)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Function call made with one or more invalid parameters: "callback", "resultId"')); return; } eRC_Dialogs.showLoad(); eRC_Base.getTitleData(function(ercItem) { eRC_Dialogs.openEmailDialog(callback, resultId, ercItem); }, resultId); }, openEmailDialog:function(callback, resultId, ercItem) { if(!(resultId && 'function' === typeof callback)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Function call made with one or more invalid parameters: "callback", "resultId"')); return; } // TODO Replace these when eRC adds in a flag to the availability response to tell us when the vendor needs an email address. eRC_Dialogs.holdNeedsEmail = ercItem.id.indexOf("OVERDRIVE") === 0 || ercItem.id.indexOf("BAKER_TAYLOR") === 0 || ercItem.id.indexOf("CANTOOKSTATION") === 0; if (eRC_Dialogs.holdNeedsEmail) { eRC_Base.getHoldEmail(function(responseJson) { eRC_Dialogs.findHoldDialog(callback, resultId, ercItem, responseJson); }, resultId); } else { var auth = ercItem.formats[0].authentication; //I'm using the first format here, as there's no format selection for holds if(auth.accountsUrl) { eRC_Base.getAccountsResponse(function(responseJson) { eRC_Dialogs.findHoldDialog(callback, resultId, ercItem, responseJson); }, auth.accountsUrl); } else { eRC_Dialogs.findHoldDialog(callback, resultId, ercItem, {}); } } }, openAccountDialog:function(callback, resultId, format, duration) { // the patron MUST be logged in for this function to work var isValidFormat = format && format.key && format.url && format.authentication; if(!(resultId && isValidFormat && 'function' === typeof callback)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Function call made with one or more invalid parameters: "callback", "resultId", "format"')); return; } var auth = format.authentication; if(!(auth.partnerAccount || auth.ereaderAccount)) { // No more authentication needed, make it happen! callback(format.url); return; } if(!(auth.accountsUrl)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Missing eResource Central getAccounts URL')); return; } eRC_Dialogs.showLoad(); eRC_Base.getAccountsResponse(function(responseJson) { eRC_Dialogs.findAccountsDialog(callback, resultId, format, responseJson, duration); }, auth.accountsUrl); }, openMessageDialog: function(callback, resultId, messageInfo, showEReadersLink, isIframe) { if(!(resultId && messageInfo && messageInfo.message)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('Error! Function call made with one or more invalid parameters: "resultId", "messageInfo"')); return; } eRC_Dialogs.closeMessageDialog(resultId); eRC_Dialogs.showLoad(); var dialogId = eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId); var msgDialog = document.getElementById(dialogId); if(!msgDialog) { msgDialog = document.createElement('div'); msgDialog.setAttribute('id', dialogId); var closeButton = document.createElement('a'); closeButton.setAttribute('class',eRC_Dialogs.primaryButtonClass+' '+eRC_Dialogs.dialogButtonClass); closeButton.setAttribute('href', '#'); closeButton.setAttribute('onclick','javascript:eRC_Dialogs.closeMessageDialog(\'' + resultId + '\');'); closeButton.innerHTML = 'Close'; msgDialog.appendChild(closeButton); document.body.appendChild(msgDialog); } var messageId = eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId); var message = document.getElementById(messageId); if(!message) { message = document.createElement('div'); message.setAttribute('id', messageId); message.setAttribute('class', eRC_Dialogs.messageClass); msgDialog.insertBefore(message, msgDialog.childNodes[0]); } message.innerHTML = messageInfo.message; eRC_Dialogs.hideLoad(); var title = messageInfo.title ? messageInfo.title : ''; var dialogOptions = { dialogClass:eRC_Dialogs.formatDialogClass, resizable: false, close: callback, appendTo: null, allowAutofocus: true }; if (isIframe) { dialogOptions.width = 'auto'; } openModal($J('#'+dialogId), title, dialogOptions, false); }, closeMessageDialog:function(resultId) { if(resultId) { var dialogId = '#'+eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId); // check if initialized before trying to close if ($J(dialogId).hasClass("ui-dialog-content") && $J(dialogId).dialog("isOpen")) { $J('#' + eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId)).dialog('close'); } } }, // All parameters are required, and response MUST have a 'error' message object! // Also, you should likely never edit this function; you've been warned. openErrorMessageDialog:function(callback, response) { if(response.error) { $J('.'+eRC_Dialogs.messageClass).each(function() { $J(this).dialog('close'); }); if (com_sirsi_ent_page.isMobile) { showMessageModal('Error', [response.error], true, function() { if('function' === typeof callback) { callback(response); } }); } else { eRC_Dialogs.openMessageDialog(function() { if('function' === typeof callback) { callback(response); } }, 'ercErrorDialog', {title:'Error', message:response.error}); } } else { if('function' === typeof callback) { callback(response); } } }, closeErrorMessageDialog:function(resultId) { eRC_Dialogs.closeMessageDialog(resultId); }, };}/*********************************************************************************//**** Copyright 2010-2023 SirsiDynix Written by Consulting Services ****//**** CTS-159 Updates for Enterprise 5.2.1 ****//*********************************************************************************/function modifyNewSearchIndex (rId) { var personalAuthor = 'AUTHOR_DETAIL_KZPL'; // Reference the name of your custom Search Field for Personal Author between the quotes. var addedAuthor = 'ADDED_AUTHOR_DISPLAY_NAME'; // Reference the name of your custom Search Field for Added Author between the quotes. var series = 'KZPL_SERIES_TITLE'; // Reference the name of your custom Search Field for Series between the quotes. /**NOTE: ADDED_AUTHOR loop's hidden marc map/search field of DSP_ADDED_AUTHOR_NS has a subfield a suffixed with a '~#', which we split off of to isolate the subfield a content from the subfield t content. The presence of the subfield t allows the search field to produce multiple fields for cases where the multiple 700 tags are for the same author, but differ based on the subfield t***/ if (rId.indexOf('detail') !== -1) { var resultsId = rId.split("detail")[1]; var selector = '#detail_biblio'+resultsId; } else { var resultsId = rId.split("hitlist")[1]; var selector = '#results_bio'+resultsId; } jQuery(selector).find('.displayElementText.SUBJECT_TERM a').each(function(){ var searchString = '&rt=false|||SUBJECT|||Subject'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.GEOGRAPHIC_TERM a').each(function(){ var searchString = '&rt=false|||SUBJECT|||Subject'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.CORPORATE_SUBJECT a').each(function(){ var searchString = '&rt=false|||SUBJECT|||Subject'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.CONFERENCE_SUBJECT a').each(function(){ var searchString = '&rt=false|||SUBJECT|||Subject'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.GENRE_TERM a').each(function(){ var searchString = '&rt=false|||GENRE_TERM|||Genre'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.PERSONAL_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var myHREFStart = myHREF.match(/^.*qu=/g); var myHREFEnd = myHREF.match(/&.*/g); var newHREF = jQuery('#'+rId+'_'+personalAuthor+' .'+personalAuthor+'_value').text(); newHREF = myHREFStart+newHREF+myHREFEnd+searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.CORPORATE_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.CONFERENCE_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.ADDED_AUTHOR a').each(function(i){ var authorCounter = ++i; var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var myHREFStart = myHREF.match(/^.*qu=/g); var myHREFEnd = myHREF.match(/&.*/g); var newHREF = jQuery('#'+rId+'_'+addedAuthor+' .'+addedAuthor+'_value:nth-child('+authorCounter+')').text().split('~#')[0]; newHREF = myHREFStart+newHREF+myHREFEnd+searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.ADDED_CONFERENCE_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.ADDED_CORPORATE_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); var newHREF = myHREF + searchString; jQuery(this).attr('href', newHREF); }); jQuery(selector).find('.displayElementText.SERIES a').each(function(j){ var seriesCounter = ++j; var searchString = '&rt=false|||SERIES|||Series'; var myHREF = jQuery(this).attr('href'); var myHREFStart = myHREF.match(/^.*qu=/g); var myHREFEnd = myHREF.match(/&.*/g); var newHREF = jQuery('#'+rId+'_'+series+' .'+series+'_value:nth-child('+seriesCounter+')').text(); newHREF = myHREFStart+newHREF+myHREFEnd+searchString; jQuery(this).attr('href', newHREF); }); } // End function// Important: Modifications to this file may be overwritten during an upgrade.// If you want to customize this widget and have those modifications persist through upgrades,// make a copy of this widget and make modifications to the copied widget.// You can then assign the copied widget to the detail or search result displays you want.var libraryThingDevKey = "2172-102732069"; //This is key required to use Library Thing services. Each library should get their own key. The key is normally limited to 1000 requests a day.var libraryThingCoverImages = true; //A cover image from Library Thing (if available) will be inserted into the left side of the search result.var libraryThingCoverImageSize = "medium"; // small/medium/large dictates the size of the cover image returned by Library Thing.var libraryThingRatingImage = true; //A rating of one to five stars will appear in the left side of a search result.var libraryThingRating = true; //A numerical rating will appear in the left side of a search result.var libraryThingReviews = true; //A link to the review for the search result will appear on the left side of the search result.var libraryThingCopies = true; //The number of Library Thing members with a copy of the book will appear on the left side of the search result.var libraryThingGet = true; //A link labled Get This Item will appear on the left side of a search result. This link will take the user to a page that shows where they can get the book mentioned in the search result.var libraryThingDataLabel = true; //A "Library Thing Data:" label will appear in front of the links in the summary section of a search result.var libraryThingOverview = true; //A link to the item overview will appear in the summary section of the search result.var libraryThingCovers = true; //A link to the item covers will appear in the summary section of the search result.var libraryThingRecommendations = true; //A link to the item recommendations will appear in the summary section of the search result.var libraryThingDescriptions = true; //A link to the item description will appear in the summary section of the search result.var libraryThingConversations = true; //A link to the item conversations will appear in the summary section of the search result.var libraryThingCommonKnowledge = true; //A link to the item's common knowledge page will appear in the summary section of the search result.var libraryThingEditions = true; //A link to the item editions will appear in the summary section of the search result.var libraryThingResultISBNSelector = '[id^="hitlist"][id$="ISBN"]';var libraryThingTabsCallbacksCount = 0;function prepLibraryThing(resultId, tabId){ var items = ""; var isbns = []; var resultContainer = $J(getSelectorForResults(tabId)); resultContainer.find(libraryThingResultISBNSelector).each(function(index) { if(this.hasChildNodes()) { isbn = this.childNodes[0].innerHTML; if(isbn) { if(items=="") { items += isbn; } else { items+=","+isbn; } } } }); var callbackName = 'goLibraryThing' + libraryThingTabsCallbacksCount++; window[callbackName] = function(data) { goLibraryThing(data, tabId); }; libraryThingScript = new Element('script', { type: 'text/javascript', src: '//www.librarything.com/api/json/workinfo.js?ids='+items+'&callback=' + callbackName }); $J('head').append(libraryThingScript);}function goLibraryThing(data, tabId) { var resultContainer = $J(getSelectorForResults(tabId)); var resultsHandled = []; var libraryThingWrapperOpen = com_sirsi_ent_page.isMobile ? '

' : "

"; for (bookKey in data) { var book = data[bookKey]; var customHits = resultContainer.find(libraryThingResultISBNSelector + ':contains(' + bookKey + ')').closest('[id^=results_cell]').each(function() { var customHit = $J(this); if(resultsHandled.indexOf(customHit.attr('id')) == -1) { resultsHandled.push(customHit.attr('id')); /* cover images */ if (libraryThingCoverImages == true) { var imgSrc = '//covers.librarything.com/devkey/'+libraryThingDevKey+'/'+libraryThingCoverImageSize+'/isbn/'+bookKey; var coverImage = new Image(); coverImage.src = imgSrc; if (coverImage.width > 1) { customHit.find('.results_img').attr('src', imgSrc); customHit.find('.no_image_text').css('display', 'none'); } } var coverLinkInsert = ''; /* rating image */ if (libraryThingRatingImage && book.rating_img) { coverLinkInsert += libraryThingWrapperOpen + "Search Results for Paul Revere & The Raiders (1)

"; } /* rating number */ if (libraryThingRating && book.rating != "0") { coverLinkInsert += libraryThingWrapperOpen + "Book Rating: "+book.rating+"

"; } if (book.link) { /* reviews */ if (libraryThingReviews) { coverLinkInsert += libraryThingWrapperOpen + "Reviews

"; } /* copies */ if (libraryThingCopies) { if (book.copies != "0") { coverLinkInsert += libraryThingWrapperOpen + "Members: "+book.copies+"

Search Results for Paul Revere & The Raiders (2024)

References

Top Articles
$200 Off Home Zone Furniture Coupon (6 Promo Codes) July 2024
£5 Off Shoe Zone - Discount Codes July 2024 - The Sun
The Civil Rights Movement: A Very Short Introduction
Osrs Tokkul Calculator
Syracuse Pets Craigslist
Edutone Skyward
Renfield Showtimes Near Amc Kent Station 14
Msc Open House Fall 2023
Keanu Reeves cements his place in action genre with ‘John Wick: Chapter 4’
Wieting Funeral Home
Swap Shop Elberton Ga
102 Weatherby Dr Greenville Sc 29615
Uw Oshkosh Wrestling
Syoss Oleo Intense - 5-10 Cool Bruin - Permanente Haarverf - Haarkleuring - 1 stuk | bol
303-615-0055
Nutrislice White Bear Lake
Vector Driver Setup
1v1 lol unblocked Game- Play Unblocked Game Online for Free!
Dovob222
Bannerlord How To Get Your Wife Pregnant
Accuweather Mold Count
Dumb Money Showtimes Near Regal Edwards Nampa Spectrum
Eurail Pass Review: Is It Worth the Price?
Standard Specification for Annealed or Cold-Worked Austenitic Stainless Steel Sheet, Strip, Plate, and Flat Bar
Shawn N. Mullarkey Facebook
Harris Teeter Weekly Ad Williamsburg Va
Monkey Werx Sitrep 2022
Atdhe Net
Greet In Cheshire Crossword Clue
Author T. Jefferson Parker
Rachel Campos-Duffy - Net Worth, Salary, Age, Height, Bio, Family, Career
Terraria Water Gun
Academy Sports Meridian Ms
Eastman Classifieds Kingsport
Keyn Car Shows
Fallen Avatar Mythic Solo
Presentato il Brugal Maestro Reserva in Italia: l’eccellenza del rum dominicano
Pathfinder 2E Beginner Box Pdf Trove
Burkes Outlet Credit Card Sign In
Nashville Predators Wiki
Indium Mod Fabric
1984 Argo JM16 GTP for sale by owner - Holland, MI - craigslist
Road Techs
Inter Miami Vs Fc Dallas Total Sportek
Eurorack Cases & Skiffs
600 Aviator Court Vandalia Oh 45377
Hkx File Compatibility Check Skyrim/Sse
Trapshooters.com Discussion Forum
Power Outage Chehalis
Discord Id Grabber
Family Court Forms | Maricopa County Superior Court
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 5770

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.