Search Results for tyrant's tomb riordan (2024)

"); } else if (jQuery(cellSelector + ' .XREF_CORPORATE').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } else if (jQuery(cellSelector + ' .XREF_MEETING').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } else if (jQuery(cellSelector + ' .XREF_UNIFORM').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } else if (jQuery(cellSelector + ' .XREF_TOPICAL').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } else if (jQuery(cellSelector + ' .XREF_GEOGRAPHIC').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } else if (jQuery(cellSelector + ' .XREF_GENRE').length) { jQuery(cellSelector + ' .detail_cover_art_div img').after("

"); } //if (jQuery('#' + rId + '_XREF_FORMAT').text() == "Uniform Title") { // jQuery(cellSelector + ' .detail_cover_art_div i.fa-user').removeClass("fa-user").addClass("fa-book"); // jQuery(cellSelector + ' .detail_cover_art_div i.fa-university').removeClass("fa-university").addClass("fa-book"); // jQuery(cellSelector + ' .detail_cover_art_div i.fa-users').removeClass("fa-users").addClass("fa-book"); //} if (jQuery('#' + rId + '_XREF_IS_SERIES').text() == "Yes") { jQuery(cellSelector + ' .detail_cover_art_div i.fa-user').removeClass("fa-user").addClass("fa-database"); jQuery(cellSelector + ' .detail_cover_art_div i.fa-university').removeClass("fa-university").addClass("fa-database"); jQuery(cellSelector + ' .detail_cover_art_div i.fa-users').removeClass("fa-users").addClass("fa-database"); jQuery(cellSelector + ' .detail_cover_art_div i.fa-book').removeClass("fa-book").addClass("fa-database"); } //Hide the Facebook button jQuery(cellSelector + ' .facebook_like_detail').hide(); //Hide the actions dropdown jQuery(cellSelector + ' .detail_buttons div:first').hide(); jQuery(cellSelector + ' .detail_buttons').css("border","none"); //Insert usage icons if (jQuery('#' + rId + '_XREF_IS_NAME_TITLE').text() == "Yes") { jQuery(cellSelector + ' .detail_buttons').append('

Name/Title:

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

Name/Title:

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

Series:

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

Series:

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

Subject:

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

Subject:

'); } //jQuery(termSelector + ' img.results_img').hide(); var coverImgSelector = '#'+rId.replace(/detail/,"detailCover"); //'#'+rId.replace(/hitlist/,"syndeticsImg"); jQuery(coverImgSelector).remove();// jQuery(coverImgSelector).attr('src', ''); //.hide();// jQuery(coverImgSelector).attr('title', '');// jQuery(coverImgSelector).attr('alt', '');// jQuery(coverImgSelector+'Title').remove();}function quoteParameterDetail(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 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); } // 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').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 modifyNewSearchIndex (rId) {var personalAuthor = 'DSP_AUTHOR_NS'; // Reference the name of your custom Search Field for Personal Author between the quotes.var addedAuthor = 'DSP_ADDED_AUTHOR_NS'; // Reference the name of your custom Search Field for Added Author between the quotes.var series = 'SERIES_NS'; // Reference the name of your custom Search Field for Series between the quotes.var resultsId = rId.split("detail")[1];jQuery('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).find('.displayElementText.LCL_DSP_ADDED_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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).find('.displayElementText.PERSONAL_AUTHOR a').each(function(){ var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); myHREF= myHREF.split('qu='); var newHREF = jQuery('#'+rId+'_'+personalAuthor+' .'+personalAuthor+'_value').text(); newHREF = myHREF[0]+'qu='+newHREF+'&te=ILS'+searchString; jQuery(this).attr('href', newHREF);});jQuery('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).find('.displayElementText.ADDED_AUTHOR a').each(function(i){ var authorCounter = ++i; var searchString = '&rt=false|||AUTHOR|||Author'; var myHREF = jQuery(this).attr('href'); myHREF= myHREF.split('qu='); var newHREF = jQuery('#'+rId+'_'+addedAuthor+' .'+addedAuthor+'_value:nth-child('+authorCounter+')').text(); newHREF = myHREF[0]+'qu='+newHREF+'&te=ILS'+searchString; jQuery(this).attr('href', newHREF);});jQuery('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).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('#detail_biblio'+resultsId).find('.displayElementText.LCL_DSP_SERIES a').each(function(j){ var seriesCounter = ++j; var searchString = '&rt=false|||SERIES|||Series'; var myHREF = jQuery(this).attr('href'); myHREF= myHREF.split('qu='); var newHREF = jQuery('#'+rId+'_'+series+' .'+series+'_value:nth-child('+seriesCounter+')').text(); if (newHREF.indexOf(' & ') !== -1) { newHREF = newHREF.replace(/&/g,'+%26+'); } newHREF = myHREF[0]+'qu='+newHREF+'&te=ILS'+searchString; jQuery(this).attr('href', newHREF);});} // End functionfunction formatSpecificDefaultImage (rId) {console.log(rId) if (rId.indexOf("_") === -1) { var srcBase = '/custom/web/formatcovers/images/';var language = window.location.href; language = language.split('/client/')[1].split('/')[0]; $J.getJSON('/custom/web/formatcovers/'+language+'_formats.json', function(formats){ var displayType = (rId.indexOf('detail') !== -1) ? "detail":"hitlist"; var hitNum = rId.split(displayType)[1]; var format = $J('#'+rId+'_FORMAT .FORMAT_value:first-child').text(); console.log(format);if (displayType === 'hitlist') {var imgObj = '#syndeticsImg'+hitNum; var textObj = '#syndeticsImg'+hitNum+'Title';} else {var imgObj = '#detailCover'+hitNum; var textObj = '#detailCover'+hitNum+'Title';} // end if hitlist or detailif (format !== undefined && formats[format] !== undefined && $J(imgObj+'[src$="no_image.png"]').length > 0) {$J(imgObj).attr('src',srcBase+formats[format]); $J(textObj).remove();} // end if format not defined}); }} // end formatSpecificDefaultImage 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.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')); }, //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) { // 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'); 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; var labelText = formats[i].name; if(formats[i].description) { labelText += ' - ' + formats[i].description; } if (!com_sirsi_ent_page.isMobile) { 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, labelText, 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, labelText, isDisabled, radioIndex) { var radioId = eRC_Dialogs.makeId(eRC_Dialogs.radioClass, eRC_Dialogs.makeId(dialogId, radioIndex)); var 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'); } var label = document.createElement('label'); label.setAttribute('for', radioId); label.innerHTML = labelText; var radioRowClass = eRC_Dialogs.formatDivClass + ' ' + eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivClass); if(radioIndex >= eRC_Dialogs.shownFormatCount) { radioRowClass += ' hidden'; } var 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'); radioHolder.appendChild(radio); } else { var 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) { 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 }; 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); }, };}function checkPlaceXrefLinks() { var friendlyUrl=getFriendlyUrl() //if (friendlyUrl == "TEST") { if (jQuery('#results_wrapper').length || jQuery('#no_results_wrapper').length) { if (jQuery('#thesaurus_tabs').length == 0) { placeXrefLinks(); } } //}}function 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;}// 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_DownloadButton) { eRC_DownloadButton = { reloadNeeded:false, ercDownloadButtonClass:'ercDownloadButton', addButtonToResult:function(resultId) { eRC_Base.getTitleData(function(data) { eRC_DownloadButton.addValidButton(resultId, data); },resultId); }, //GUI callbacks handleDownloadButtonClick:function(resultIndex, hitlistOrDetail, params) { var resultId = hitlistOrDetail + resultIndex; if(params.needLogin) { com_sirsi_ent_login.loginFirst(function(needReload) { eRC_DownloadButton.reloadNeeded = needReload; eRC_Dialogs.openFormatDialog(function(format, duration) { eRC_DownloadButton.handleFormatResponse(resultId, format, duration, params.needPin); }, resultId); }); return; } eRC_Dialogs.openFormatDialog(function(format, duration) { eRC_DownloadButton.handleFormatResponse(resultId, format, duration, params.needPin); }, resultId); }, handleHoldButtonClick:function(resultIndex, hitlistOrDetail) { var resultId = hitlistOrDetail + resultIndex; com_sirsi_ent_login.loginFirst(function(needReload) { eRC_DownloadButton.reloadNeeded = needReload; eRC_Dialogs.openHoldDialog(function(emailHold, autoCheckout) { eRC_DownloadButton.handleEmailHoldResponse(resultId, emailHold, autoCheckout); }, resultId); }); }, handleFormatResponse:function(resultId, format, duration, needPin) { if(format && !format.error) { eRC_Dialogs.openAccountDialog(function(resourceRetrievalUrl) { eRC_DownloadButton.handleAccountDialogResponse(resultId, resourceRetrievalUrl, needPin); }, resultId, format, duration); } else { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } } }, handleEmailHoldResponse:function(resultId, emailHold, autoCheckout) { if(emailHold && !emailHold.error) { eRC_Dialogs.showLoad(); eRC_Base.getPlaceHoldResponse(function(responseJson) { eRC_DownloadButton.handleHoldResponse(resultId, responseJson); }, resultId, emailHold, autoCheckout); } else { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } } }, handleHoldResponse:function(resultId, responseJson) { // we might be using this, set it up com_sirsi_ent_strings.setStringFormatFunc_JavaStyle(); var title = 'Error'; var message; var action = function() {}; //a do-nothing function var error; if(!responseJson || responseJson.error) { error = true; message = 'There was a problem placing your hold. Please try again later or contact your library for assistance.'; if(responseJson && responseJson.error) { message = responseJson.error; } } else { title = 'Place Hold'; message = responseJson.message; } // we're done using this, revert com_sirsi_ent_strings.resetString_dot_format(); eRC_Dialogs.hideLoad(); if (com_sirsi_ent_page.isMobile) { showMessageModal(title, [message], error, function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } }); } else { eRC_Dialogs.openMessageDialog(function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } }, resultId, {message:message, title:title}, responseJson); } if(!error && eRC_Dialogs.messageDialogTimeoutMS) { setTimeout(function() { eRC_Dialogs.closeMessageDialog(resultId); }, eRC_Dialogs.messageDialogTimeoutMS); } action(); }, handleAccountDialogResponse:function(resultId, resourceRetrievalUrl, needPin) { if(resourceRetrievalUrl && !resourceRetrievalUrl.error) { eRC_Dialogs.showLoad(); eRC_Base.getDownloadResponse(function(responseJson) { eRC_DownloadButton.handleCheckoutResponse(resultId, responseJson); }, resourceRetrievalUrl, needPin); } else { eRC_Dialogs.openFormatDialog(function(format, duration, onlyOne) { if(onlyOne) { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } } else { eRC_DownloadButton.handleFormatResponse(resultId, format, duration, needPin); } }, resultId); } }, handleCheckoutResponse:function(resultId, responseJson) { var title = 'Error'; var action = function() {}; //a do-nothing function var error; if (com_sirsi_ent_page.isMobile) { var buttonLabel; var buttonClick; var messages = []; if(!responseJson || responseJson.error) { error = true; messages.push(responseJson.error ? responseJson.error : 'There was an error communicating with eResource Central.'); if(responseJson && responseJson.description) { messages.push(responseJson.description); } } else if(responseJson.hasOwnProperty('success') && !responseJson.success) { error = true; messages.push(responseJson.message.value ? responseJson.message.value: 'There was an error communicating with eResource Central.'); if(responseJson && responseJson.description) { messages.push(responseJson.description); } } else if('SYNC' === responseJson.action) { title = 'Checkout'; messages.push(responseJson.message.value); } else if('DOWNLOAD' === responseJson.action) { title = 'Download'; messages.push('Your download will start shortly, or you may click the button below.'); action = function() { safeWindowOpen(responseJson.url, '_blank'); }; buttonLabel = 'Download'; buttonClick = "safeWindowOpen('" + responseJson.url + "', '_blank');"; } else if('REDIRECT' === responseJson.action) { title = 'Redirecting'; messages.push('You will be redirected to your content, or you may click the button below.'); action = function() { safeWindowOpen(responseJson.url, '_blank'); }; buttonLabel = 'Open Content'; buttonClick = "safeWindowOpen('" + responseJson.url + "', '_blank');"; } else if (responseJson.message) { error = true; messages.push(responseJson.message); } else { error = true; messages.push('There was an error accessing your title. Please try again later. If the problem persists, contact your library for assistance.'); } eRC_Dialogs.hideLoad(); showMessageModal(title, messages, error, function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } }, false, buttonLabel, buttonClick); } else { var message; if(!responseJson || responseJson.error) { error = true; message = responseJson.error ? responseJson.error : 'There was an error communicating with eResource Central.'; if(responseJson && responseJson.description) { message += '

' + responseJson.description; } } else if(responseJson.hasOwnProperty('success') && !responseJson.success) { error = true; message = responseJson.message.value ? responseJson.message.value: 'There was an error communicating with eResource Central.'; if(responseJson && responseJson.description) { message += '

' + responseJson.description; } } else if('SYNC' === responseJson.action) { title = 'Checkout'; message = responseJson.message.value; } else if('DOWNLOAD' === responseJson.action) { title = 'Download'; message = 'Your download will start shortly, or you may click the button below.'; action = function() { safeWindowOpen(responseJson.url, '_blank'); }; message += '

'; } else if('REDIRECT' === responseJson.action) { title = 'Redirecting'; message = 'You will be redirected to your content, or you may click the button below.'; action = function() { safeWindowOpen(responseJson.url, '_blank'); }; message += ''; } else if (responseJson.message) { error = true; message = responseJson.message; } else { error = true; message = 'There was an error accessing your title. Please try again later. If the problem persists, contact your library for assistance.'; } eRC_Dialogs.hideLoad(); eRC_Dialogs.openMessageDialog(function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } }, resultId, {message:message, title:title}, responseJson && 'SYNC' === responseJson.action); } if(!error && eRC_Dialogs.messageDialogTimeoutMS) { setTimeout(function() { eRC_Dialogs.closeMessageDialog(resultId); }, eRC_Dialogs.messageDialogTimeoutMS); } action(); }, //helper funcs addValidButton:function(resultId, ercItem) { if(!resultId) { return; } var hitlistOrDetail = 'detail'; if(resultId.match(/hitlist/)) { hitlistOrDetail = 'hitlist'; } var resultIndex = resultId.replace(hitlistOrDetail, ''); if($J('#content.mobile').length) { var actionResultId = 'result' + resultIndex; if(!ercItem) { ResultActions.updateResultAction('ERC_FULL', actionResultId, hitlistOrDetail, false); return; } if(ercItem.status && 'OK' === ercItem.status && ercItem.formats && ercItem.formats.length > 0) { var ercDownloadOrHoldActions = ResultActions.asyncResultActions['ERC_FULL']; if(!ercDownloadOrHoldActions) { ResultActions.asyncResultActions['ERC_FULL'] = {}; ercDownloadOrHoldActions = ResultActions.asyncResultActions['ERC_FULL']; } var buttonLabel; if(ercItem.availability && ercItem.availability.available) { buttonLabel = 'Download'; var params = {}; for(var i = 0; i < ercItem.formats.length; i++) { var auth = ercItem.formats[i].authentication; if(auth && (auth.patronId || (auth.accountsUrl && (auth.ereaderAccount || auth.partnerAccount)))) { params['needLogin'] = true; if(auth.patronPin) { params['needPin'] = true; } break; } } ercDownloadOrHoldActions[actionResultId] = {'action': eRC_DownloadButton.handleDownloadButtonClick, 'params': params}; } else if (ercItem.holdable) { buttonLabel = 'Place Hold'; ercDownloadOrHoldActions[actionResultId] = {'action': eRC_DownloadButton.handleHoldButtonClick}; } else { ResultActions.updateResultAction('ERC_FULL', actionResultId, hitlistOrDetail, false); return; } // Show the button. ResultActions.updateResultAction('ERC_FULL', actionResultId, hitlistOrDetail, true, buttonLabel); } else { ResultActions.updateResultAction('ERC_FULL', actionResultId, hitlistOrDetail, false); } } else if(!ercItem) { return; } else if(ercItem.status && 'OK' === ercItem.status && ercItem.formats && ercItem.formats.length > 0) { var buttonLabel = 'Place Hold'; var onClickText = 'javascript: '; if(ercItem.availability && ercItem.availability.available) { buttonLabel = 'Download'; onClickText += "$(this).focus();eRC_DownloadButton.handleDownloadButtonClick('" + resultIndex + "','" + hitlistOrDetail + "',"; var params = {}; for(var i = 0; i < ercItem.formats.length; i++) { var auth = ercItem.formats[i].authentication; if(auth && (auth.patronId || (auth.accountsUrl && (auth.ereaderAccount || auth.partnerAccount)))) { params['needLogin'] = true; if(auth.patronPin) { params['needPin'] = true; } break; } } onClickText += JSON.stringify(params) + ");"; } else if (ercItem.holdable) { onClickText += "$(this).focus();eRC_DownloadButton.handleHoldButtonClick('" + resultIndex + "','" + hitlistOrDetail + "');"; } if(onClickText.substr(12)) { // if there's no onClick text besides 'javascript: ', don't bother with a button eRC_DownloadButton.showButton(resultId, buttonLabel, onClickText); } } }, showButton:function(resultId, displayText, onClickText) { var matches = resultId.match(/^(detail|hitlist)(\d+)$/); if (matches) { var buttonId = resultId+eRC_DownloadButton.ercDownloadButtonClass; var button = document.getElementById(buttonId); if(!button) { button = document.createElement('button'); button.setAttribute('id', buttonId); button.setAttribute('class', eRC_DownloadButton.ercDownloadButtonClass+' button'); var parentJsId; if('detail' === matches[1]) { parentJsId = '#detailActions' + matches[0]; } else { parentJsId = '#results_cell' + matches[2] + ' .results_right'; } $J(parentJsId).append(button); } button.innerHTML = displayText; button.setAttribute('onClick',onClickText); $J(button).show(); } }, };}function searchAuthor(rId){var curAuthor=jQuery('#'+rId+'_INITIAL_AUTHOR_SRCH').text();var clickUrl='http://authoralerts.org/?siteid=6354&AuthorName='+curAuthor;window.location.href = clickUrl;}function moveMe(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('hitlist')[1];var appendObj=jQuery('#results_cell'+hitNum + ' .results_right');//.find('.results_right');jQuery (curObj).appendTo(appendObj);}}// 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_Base) { eRC_Base = { //variables ercIds:[], ercTitleData:{}, titleWaitingCallbacks:[], titlesReady:false, titleAjaxCallsOut:0, //initialization addErcId:function(rId) { var ercId = eRC_Base.getErcIdFromDom(rId); if(ercId) { eRC_Base.ercIds.push({'ercId':ercId,'resultId':rId}); } }, getErcIdFromDom:function (rId) { return $J('#'+rId+'_ERC_ID > .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.eResourceList) { if ((typeof response.responseJSON !== 'undefined')) { // could the response be undefined? What should we do in that scenario? response.responseJSON.eResourceList.forEach(function (er) { eRC_Base.ercTitleData.eResourceList.push(er); }); } } else { eRC_Base.ercTitleData = response.responseJSON; } 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 && eRC_Base.ercTitleData.eResourceList) { var eResourceList = eRC_Base.ercTitleData.eResourceList; 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); } }, //'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.var novelistUrl = "https://imageserver.ebscohost.com/novelistselect/ns2init.js";//The location of the NoveList jsvar novelistProfile = "s4210561.main.novselcsc"; //This is your profile as provided by Novelistvar novelistPassword = "dGJyMOPmtUqvr7NQ"; //This is your password as provided by Novelistvar currentNovSelectAttempt = 1;function goNovelist(detail){ var detailIndex=""; if(detail!=undefined) { detailIndex = "detail"+detail; } else { detail=""; } if (typeof(novSelect) == 'undefined') { novelistScript = new Element('script', { type: 'text/javascript', id: 'EIT', src: ''+novelistUrl+''}); $J('body').append(novelistScript); } var detailElement = document.getElementById(detailIndex + '_ISBN'); if(detailElement && detailElement.hasChildNodes()) { var accordionHeader = $J('

Reading Recommendations

'); var accordionContent = $J('
'); addToAccordion('#detail_accordion'+detail, accordionHeader, accordionContent); NoveListSelectEnrichment(detailElement.childNodes[0].innerHTML); }}function NoveListSelectEnrichment(isbn) { if (typeof(novSelect) == 'undefined') { currentNovSelectAttempt++; if(currentNovSelectAttempt<= 10) { setTimeout("NoveListSelectEnrichment("+isbn+")", 250); } } else { novSelect.loadContentForISBN(String(isbn), novelistProfile, novelistPassword); }}// 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); } };}

Select an Action
  • Place Hold(s)
  • Add to My Lists
  • Email
  • Print

3 Results Found

000DEFAULT

Select a list

The following items were successfully added.

    There was an error while adding the following items. Please try again.

      One or more items could not be added because you are not logged in.

      1.

      The tyrant's tomb

      by

      Riordan, Rick,

      Publication Date

      2019

      Series

      The trials of Apollo ; 4

      Call Number

      J RIORDAN

      Format:

      Books

      Excerpt:

      The tyrant's tomb / Riordan, Rick,

      Available: Holds: Copies:

      Books

      The trials of Apollo ;

      Trials of Apollo ;

      Riordan, Rick,

      2.

      The Tyrant's Tomb

      by

      Riordan, Rick

      Format:

      eAudiobook

      Electronic Format:

      LIBBY AUDIOBOOK, MP3

      Vendor

      Libby

      Excerpt:

      The Tyrant's Tomb Riordan, Rick

      OVERDRIVE:aaa6f979-91b6-4b0f-871c-1f7c1b7cfb3b

      eAudiobook

      The Tyrant's Tomb

      3.

      The Tyrant's Tomb

      by

      Riordan, Rick

      Format:

      eBook

      Electronic Format:

      HTML, ADOBE EPUB, KINDLE

      Vendor

      Libby

      Excerpt:

      The Tyrant's Tomb Riordan, Rick

      OVERDRIVE:4c06af56-4c1c-443d-a5fa-31dc1c1af2b1

      eBook

      The Tyrant's Tomb

      Select an Action
      • Place Hold(s)
      • Add to My Lists
      • Email
      • Print

      1

      Search Results for tyrant's tomb riordan (2024)
      Top Articles
      Crispy Cheddar Crisps "Cheez-It Copycat" | Keto Cheese Chips Recipe
      Filling vegan salads that will actually fill you up. Healthy recipes!
      Washu Parking
      Mopaga Game
      Www Movieswood Com
      Aries Auhsd
      Over70Dating Login
      414-290-5379
      litter - tłumaczenie słowa – słownik angielsko-polski Ling.pl
      Walgreens On Nacogdoches And O'connor
      DIN 41612 - FCI - PDF Catalogs | Technical Documentation
      Vichatter Gifs
      Detroit Lions 50 50
      Ssefth1203
      California Department of Public Health
      How Much Are Tb Tests At Cvs
      Scenes from Paradise: Where to Visit Filming Locations Around the World - Paradise
      Dtab Customs
      Craigslist Missoula Atv
      Abby's Caribbean Cafe
      Noaa Ilx
      Mikayla Campinos Laek: The Rising Star Of Social Media
      Indystar Obits
      European city that's best to visit from the UK by train has amazing beer
      Masterbuilt Gravity Fan Not Working
      Lbrands Login Aces
      Frank Vascellaro
      Ridge Culver Wegmans Pharmacy
      Boneyard Barbers
      Siskiyou Co Craigslist
      Verizon TV and Internet Packages
      Song That Goes Yeah Yeah Yeah Yeah Sounds Like Mgmt
      Tendermeetup Login
      Metra Schedule Ravinia To Chicago
      Dadeclerk
      Gpa Calculator Georgia Tech
      Rage Of Harrogath Bugged
      A Comprehensive 360 Training Review (2021) — How Good Is It?
      511Pa
      Energy Management and Control System Expert (f/m/d) for Battery Storage Systems | StudySmarter - Talents
      Deepwoken: How To Unlock All Fighting Styles Guide - Item Level Gaming
      Avatar: The Way Of Water Showtimes Near Jasper 8 Theatres
      Mother Cabrini, the First American Saint of the Catholic Church
      Latina Webcam Lesbian
      Runescape Death Guard
      Treatise On Jewelcrafting
      Fresno Craglist
      303-615-0055
      Jasgotgass2
      Syrie Funeral Home Obituary
      Stone Eater Bike Park
      Affidea ExpressCare - Affidea Ireland
      Latest Posts
      Article information

      Author: Aron Pacocha

      Last Updated:

      Views: 5603

      Rating: 4.8 / 5 (68 voted)

      Reviews: 91% of readers found this page helpful

      Author information

      Name: Aron Pacocha

      Birthday: 1999-08-12

      Address: 3808 Moen Corner, Gorczanyport, FL 67364-2074

      Phone: +393457723392

      Job: Retail Consultant

      Hobby: Jewelry making, Cooking, Gaming, Reading, Juggling, Cabaret, Origami

      Introduction: My name is Aron Pacocha, I am a happy, tasty, innocent, proud, talented, courageous, magnificent person who loves writing and wants to share my knowledge and understanding with you.