Resultados de búsqueda para DreamWorks Home Entertainment (Firm),   (2024)

').addClass('loadingDiv'); $J('body').append(div); } var backdrop = $J('body > .loadingBackdrop'); if(backdrop.length < 1) { backdrop = $J('

').addClass('loadingBackdrop'); $J('body').append(backdrop); } backdrop.show(); div.show(); createSpinnersForSelector(div); }, hideLoad:function() { $J('.loadingBackdrop').hide(); $J('.loadingDiv').hide(); stopSpinnersForSelector($J('.loadingDiv')); }, expandRadioLabel:function(id, classes) { $J('#icon_' + id).toggleClass(classes); let description = document.getElementById("ercDescription_" + id); if(description.style.maxHeight) { description.style.maxHeight = null; } else { description.style.maxHeight = description.scrollHeight + "px"; } }, //format dialog functions findFormatDialog:function(callback, resultId, ercItem, isPreview) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('¡Atención! Los ítems en eResource Central no\nexisten o tienen formato incorrecto')); return; } var formats = isPreview ? ercItem.previews : ercItem.formats; if(!formats || formats.length < 1) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('¡Atención! Los datos de eResource Central no\nexisten o tienen formato incorrecto')); return; } if(formats.length === 1 || !ercItem.formatsUnique) { // Just one format to select, make it happen! eRC_Dialogs.hideLoad(); callback(formats[0], ercItem.drm, true); return; } var dialogId = eRC_Dialogs.makeId(isPreview ? eRC_Dialogs.previewDialogClass : eRC_Dialogs.formatDialogClass, resultId); var formatDialog = document.getElementById(dialogId); if(!formatDialog) { // We didn't find one, build it. eRC_Dialogs.showLoad(); formatDialog = eRC_Dialogs.buildFormatDialog(dialogId, ercItem, resultId, isPreview, callback); } formatDialog.setAttribute('value',''); // Ensure an empty value until one is selected. eRC_Dialogs.hideLoad(); $J(formatDialog).dialog('open'); }, buildFormatDialog:function(dialogId, ercItem, resultId, isPreview, callback) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('¡Atención! Los ítems en eResource Central no\nexisten o tienen formato incorrecto')); 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 ? 'Vista previa' : (ercItem.drm ? 'Préstamo(s) ' : 'Descargar'); 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 ? 'Opciones de vista previa' : (ercItem.drm ? 'Opciones de préstamo' : 'Opciones de descarga'); openModal($J(dialog), title, { autoOpen: false, resizable: false, appendTo: null, allowAutofocus: true, keepAlive: true, close: function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); }} }, true); return dialog; }, buildFormatDiv:function(dialogId, formats, resultId, isPreview) { var formatDivId = eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivId); var formatDiv = document.createElement('div'); formatDiv.setAttribute('id', formatDivId); formatDiv.setAttribute('class', 'fieldSection ercFieldSection'); for(var i = 0; i < formats.length; i++) { var radioValue = (isPreview ? 'prev:' : 'down:') + resultId + ':' + formats[i].key; var isDisabled = formats[i].totalCopies && !formats[i].availableCopies; if (i > 0) { var hRule = document.createElement('hr'); var hrClass = 'ercFormatSep'; if (i >= eRC_Dialogs.shownFormatCount) { hrClass += ' hidden'; } hRule.setAttribute('class', hrClass); formatDiv.appendChild(hRule); } formatDiv.appendChild(eRC_Dialogs.buildRadioButton(dialogId, radioValue, formats[i].name, isDisabled, i)); } return formatDiv; }, //hold dialog functions findHoldDialog:function(callback, resultId, ercItem, responseJson) { if(!ercItem) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('¡Atención! Los ítems en eResource Central no\nexisten o tienen formato incorrecto')); 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', 'Reservar', 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), 'Opciones de reserva', {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('Título'); th.appendChild(titleLabel); tr.appendChild(th); th = document.createElement('th'); var formatLabel = document.createTextNode('Formato'); th.appendChild(formatLabel); tr.appendChild(th); if (eRC_Dialogs.holdNeedsEmail) { th = document.createElement('th'); var emailLabel = document.createTextNode('Dirección de correo electrónico'); th.appendChild(emailLabel); tr.appendChild(th); } if(ercItem['autoCheckoutSupported']) { th = document.createElement('th'); var autoCheckoutColumnLabel = document.createTextNode('Préstamo automático'); 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 = "Prestar el ítem automáticamente cuando esté disponible"; 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('Título'); 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('Formato'); 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('Dirección de correo electrónico', '')); 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 = "Prestar el ítem automáticamente cuando esté disponible"; 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(['Las direcciones de correo electrónico deben coincidir con el modelo usuario@dominio.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('Las direcciones de correo electrónico deben coincidir con el modelo usuario@dominio.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('¡ Atención! la información no existe o fue editada mal para el eResource Central getAccount 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), 'Préstamo', 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 = '¡Atención! Los siguientes campos están ausentes o no son válidos.'; 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', 'Préstamo(s) ')); 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('Ingresar a cuenta %s', 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 = 'Nombre de usuario:'; 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('Nombre de usuario:', 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('Contraseña:', 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 = 'Duración del préstamo:'; if (labelText.indexOf(':') > 0) { labelText = labelText.substr(0, labelText.indexOf(':')) } labelText += ' (día(s))'; label.innerHTML = labelText; } else { label.setAttribute('class', 'ercCheckoutLabel'); label.innerHTML = 'Duración del préstamo:'; } 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 = ' día(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', 'Cancelar'); if (com_sirsi_ent_page.isMobile) { cancelButton.setAttribute('class', 'button fullwidth cancel'); } else { cancelButton.setAttribute('class', eRC_Dialogs.secondaryButtonClass + ' ' + eRC_Dialogs.dialogButtonClass); } return cancelButton; }, buildLabel: function(labelText, labelFor) { var labelElement = document.createElement('label'); labelElement.innerHTML = labelText; if(labelFor) { labelElement.setAttribute('for', labelFor); } if (com_sirsi_ent_page.isMobile) { var labelHolder = document.createElement('div'); labelHolder.setAttribute('class', 'label text-p'); labelHolder.appendChild(labelElement); return labelHolder; } else { labelElement.setAttribute('class', eRC_Dialogs.accountLabelClass); return labelElement; } }, buildRadioButton: function(dialogId, radioValue, formatNameText, isDisabled, radioIndex) { let radioId = eRC_Dialogs.makeId(eRC_Dialogs.radioClass, eRC_Dialogs.makeId(dialogId, radioIndex)); let radio = document.createElement('input'); radio.setAttribute('type', 'radio'); radio.setAttribute('name', eRC_Dialogs.makeId(eRC_Dialogs.radioName, dialogId)); radio.setAttribute('id', radioId); radio.setAttribute('class', eRC_Dialogs.radioClass + ' v-middle radio'); radio.setAttribute('value', radioValue); if(radioIndex === 0) { radio.setAttribute('checked', 'checked'); } if(isDisabled) { radio.setAttribute('disabled', 'disabled'); } let label = document.createElement('label'); label.setAttribute('for', radioId); let formatDiv = document.createElement('div'); formatDiv.setAttribute("class", "ercCollapsible"); //get format details let formatDetails = eRC_Base.getFormatDetails(formatNameText); if(formatDetails) { radio.className += ' formatDescription'; //used to distinguish from hold modal let idBase = eRC_Dialogs.makeId(dialogId, radioIndex); let icon = document.createElement('i'); let accessibleVia = document.createElement('div'); let description = document.createElement('p'); icon.setAttribute("class", com_sirsi_ent_page.isMobile ? "fa fa-angle-down fa-2x" : "fa fa-caret-right"); label.setAttribute("onclick", "eRC_Dialogs.expandRadioLabel('" + idBase + "'," + ( com_sirsi_ent_page.isMobile ? "'fa-angle-up fa-angle-down'" : "'fa-caret-right fa-caret-down'") + ")"); radio.addEventListener("keydown", event => { if(event.key === ' ' || event.code === 'Space') { eRC_Dialogs.expandRadioLabel(idBase, com_sirsi_ent_page.isMobile ? 'fa-angle-up fa-angle-down' : 'fa-caret-right fa-caret-down') } }); if(com_sirsi_ent_page.isMobile) { description.appendChild(document.createElement('br')); } description.append(eRC_Base.createAnchorTextLinks(formatDetails.description, formatDetails.descriptionParams)); icon.setAttribute("id", "icon_" + idBase); icon.setAttribute("aria-hidden", "true"); formatDiv.appendChild(document.createTextNode(formatDetails.type + " (" + formatNameText + ")")); accessibleVia.append(eRC_Base.createAnchorTextLinks(formatDetails.accessibleVia, formatDetails.accessibleViaParams)); accessibleVia.setAttribute("class", "ercAccessibleVia"); description.setAttribute("class", "ercDescriptionContent"); description.setAttribute("id", "ercDescription_" + idBase); label.appendChild(icon); label.appendChild(formatDiv); label.appendChild(accessibleVia); label.appendChild(description); } else { formatDiv.appendChild(document.createTextNode(formatNameText)); label.appendChild(formatDiv); } let radioRowClass = eRC_Dialogs.formatDivClass + ' ' + eRC_Dialogs.makeId(dialogId, eRC_Dialogs.formatDivClass); if(radioIndex >= eRC_Dialogs.shownFormatCount) { radioRowClass += ' hidden'; } let radioHolder; if (com_sirsi_ent_page.isMobile) { label.setAttribute('class', 'text-p label checkbox-align'); radioRowClass += ' radioRow table fullwidth'; radioHolder = document.createElement('div'); radioHolder.setAttribute('class', 'checkbox-align ' + (formatDetails ? ' formatDescription' : '')); radioHolder.appendChild(radio); } else { let labelClass = 'ercRadioLabel'; if(isDisabled) { labelClass += ' disabledLabel'; } label.setAttribute('class', labelClass); radioHolder = radio; } var radioRow = document.createElement('div'); radioRow.setAttribute('id', eRC_Dialogs.makeId(eRC_Dialogs.formatRadioId, eRC_Dialogs.makeId(dialogId, radioIndex))); radioRow.setAttribute('class', radioRowClass); radioRow.appendChild(radioHolder); radioRow.appendChild(label); return radioRow; }, //this function builds buttons (and a link) and add to the div based on the accounts passed in addAccountButtons:function(accounts, parentElement, dialogId) { // we're going to be using this, set it up com_sirsi_ent_strings.setStringFormatFunc_JavaStyle(); if (com_sirsi_ent_page.isMobile) { for (var i = 0; i < accounts.length; i++) { var linkDiv = document.createElement('div'); linkDiv.setAttribute('class', 'linkWrapper'); var onClickText = 'javascript: safeWindowOpen("' + accounts[i].externalAccountUrl + '", "_blank"); return false;'; var accountLink = document.createElement('a'); accountLink.setAttribute('href', "#"); accountLink.setAttribute('onclick', onClickText); accountLink.innerHTML = String.format('Crear cuenta%s ', 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('Crear cuenta%s ', 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('¡Atención! Llamada de función hecha con uno o más parámetros inválidos: "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('¡Atención! Llamada de función hecha con uno o más parámetros inválidos: "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('¡Atención! Llamada de función hecha con uno o más parámetros inválidos: "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('¡Atención! Llamada de función hecha con uno o más parámetros inválidos: "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('¡Atención! Está ausente el URL de eResource Central getAccounts ')); return; } eRC_Dialogs.showLoad(); eRC_Base.getAccountsResponse(function(responseJson) { eRC_Dialogs.findAccountsDialog(callback, resultId, format, responseJson, duration); }, auth.accountsUrl); }, openMessageDialog: function(callback, resultId, messageInfo, showEReadersLink, isIframe) { if(!(resultId && messageInfo && messageInfo.message)) { eRC_Dialogs.openErrorMessageDialog(callback, eRC_Dialogs.makeError('¡Atención! Llamada de función hecha con uno o más parámetros inválidos: "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 = 'Cerrar'; msgDialog.appendChild(closeButton); document.body.appendChild(msgDialog); } var messageId = eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId); var message = document.getElementById(messageId); if(!message) { message = document.createElement('div'); message.setAttribute('id', messageId); message.setAttribute('class', eRC_Dialogs.messageClass); msgDialog.insertBefore(message, msgDialog.childNodes[0]); } message.innerHTML = messageInfo.message; eRC_Dialogs.hideLoad(); var title = messageInfo.title ? messageInfo.title : ''; var dialogOptions = { dialogClass:eRC_Dialogs.formatDialogClass, resizable: false, close: callback, appendTo: null, allowAutofocus: true }; if (isIframe) { dialogOptions.width = 'auto'; } openModal($J('#'+dialogId), title, dialogOptions, false); }, closeMessageDialog:function(resultId) { if(resultId) { var dialogId = '#'+eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId); // check if initialized before trying to close if ($J(dialogId).hasClass("ui-dialog-content") && $J(dialogId).dialog("isOpen")) { $J('#' + eRC_Dialogs.makeId(eRC_Dialogs.messageClass, resultId)).dialog('close'); } } }, // All parameters are required, and response MUST have a 'error' message object! // Also, you should likely never edit this function; you've been warned. openErrorMessageDialog:function(callback, response) { if(response.error) { $J('.'+eRC_Dialogs.messageClass).each(function() { $J(this).dialog('close'); }); if (com_sirsi_ent_page.isMobile) { showMessageModal('Atención', [response.error], true, function() { if('function' === typeof callback) { callback(response); } }); } else { eRC_Dialogs.openMessageDialog(function() { if('function' === typeof callback) { callback(response); } }, 'ercErrorDialog', {title:'Atención', message:response.error}); } } else { if('function' === typeof callback) { callback(response); } } }, closeErrorMessageDialog:function(resultId) { eRC_Dialogs.closeMessageDialog(resultId); }, };}/****THIS IS A SINGLE WIDGET TO ALLOW FOR TABS/NOVELIST/UNBOUND.IT IS NOT INTENDED TO ENABLE NOVELIST/UNBOUND AT THE SAME TIME. MAKE SURE ONLY 1 OF weUseNovelist OR syndeticsUnboundEnabled IS SET TO true***//**If NoveList: set the weUseNovelist variable below to true or false (no quotes). The widget takes differing pathways depending on this. If you do use Novelist, don't forget the novelistUrl, novelistProfile, and novelistPassword variables a few lines below here**/var is451up=true;var useAccordions=false;/************IF USING NOVELIST, set weUseNovelist=true, and fill in account info**********/var weUseNovelist=false;var novelistUrl = "https://imageserver.ebscohost.com/novelistselect/ns2init.js";//The location of the NoveList jsvar novelistProfile = "s8967620.main.novselcsc"; //This is your profile as provided by Novelistvar novelistPassword = "dGJyMOPY8U60q7YA"; //This is your password as provided by Novelistvar currentNovSelectAttempt = 1;var detail='';var hitnumber='';/*****************************END NOVELIST VARIABLES**********************/var globalAvail;/*********************IF USING UNBOUND, set syndeticsUnboundEnabled=true, and fill in account info***/var syndeticsUnboundEnabled = false;var syndeticsUnboundAccountNumber = '68';//; // set Syndetics Unbound Account Id herevar syndeticsUnboundInstanceId = ''; //; // set Syndetics Unbound Instance Id if using a specific Instance/*****************************END UNBOUND VARIABLES************************//***for spinner purposes, defining a small version for inside the tabs***/var xsmallSpinnerOptions = { lines: 11, length: 2, width: 1, radius: 3, corners: 1, rotate: 90, color: "#000", speed: 1, trail: 60, shadow: false, hwaccel: false, className: "verySmallSpinner", zIndex: "auto", top: 3, left: 0};var syndeticsUnboundScriptSrc = 'https://unbound.syndetics.com/syndeticsunbound/connector/initiator.php?a_id=' + syndeticsUnboundAccountNumber+'&i_id='+syndeticsUnboundInstanceId;var RETRY_TIME_MILLISECONDS = 500; // ms between tries loading the Syndetics Unbound javascriptvar MAX_UNBOUND_RETRIES = 10; // give up after this number of tries to load Syndetics Unbound javascriptvar currentUnboundAttempt = 0;var customIsbn;var globalDetail;/****checking for rogue launches of Unbound***/unboundLoaded = function() {var numEnrichments = LibraryThingConnector.numberOfEnhancementsShown(); if( numEnrichments > 0 ) {/****ODD CASES WHERE UNBOUND ADDS CONTENT ON ITS OWN (basically by-passing this widget somehow), AND GETS THE CAPTION WRONG***/ if( $J('#detail_tabs'+detail).find('a:contains("Syndetics Unbound")').length>0){$J('#detail_tabs'+detail).find('a:contains("Syndetics Unbound")').text("Unbound Content");} if( $J('#detail_accordion'+detail).find('h3').find('a:contains("Syndetics Unbound")').length>0){$J('#detail_accordion'+detail).find('h3').find('a:contains("Syndetics Unbound")').text("Unbound Content");} }}function startTabsMonitor(rId){var documentId = $J('#'+rId+'_DOC_ID .DOC_ID_value').text(); var sourceType=documentId.split(':')[0];var hitnum = rId.split('detail')[1];globalDetail=hitnum;var catKey=documentId.split(':')[1]; var itemLibraryEvent='detail.detailavailabilityaccordions:lookuptitleinfo/ent:$002f$002f'+sourceType+'$002f0$002f'+documentId+'/ILS/'+hitnum;var itemAvailEvent='detail.detailavailabilityaccordions.boundwithzone:lookupavailability/ent:$002f$002f'+sourceType+'$002f0$002f'+documentId; var noItemAvailEvent='testing';var availParam='detailboundWithDiv'+hitnum;var availData={"t:zoneid": availParam};var availUrl='/client/' + com_sirsi_ent_page.localeCode+'/'+com_sirsi_ent_page.friendlyUrl+'/search/results.displaypanel.displaycell_0.detail.detailavailabilityaccordions.boundwithzone:lookupavailability/ent:$002f$002fSD_ILS$002f0$002fSD_ILS:'+catKey+ '/ILS/' + hitnum+'/true/LIBRARY$002cCALLNUMBER?&d=ent%3A%2F%2FSD_ILS%2F0%2FSD_ILS%3A'+catKey+'%7EILS%7E'+hitnum+'&h=8';/***tried moving this here, but causes problems if the available event runs before the titlelookup event (this is my best guess why sometimes the detail table WS fields get stuck in searching... mode, and the avail# doesn't get there. Possibly slower too? In any case, if we move this back to the ajaxComplete function, it will have to go back within the title event. In that case, we have no response for item-less bibsvar availAjax= $J.ajax({ "url":availUrl, "type":"POST", "dataType":"JSON", "data":"availData" });****/$J(document).ajaxComplete(function(e, xhr, detailCall) {var curEvent=detailCall.url; if(curEvent.indexOf(itemLibraryEvent)!==-1){ var availAjax= $J.ajax({ "url":availUrl, "type":"POST", "dataType":"JSON", "data":"availData" });} //end itemlibraryeventelse if(curEvent.indexOf(itemAvailEvent)!==-1 && $J('#detail_tabs'+hitnum).length==0){ var stringEvalJson=xhr.responseJSON.inits[0].evalScript[0]; var stringEvalScript=JSON.stringify(stringEvalJson).split('availableCount')[1];if(stringEvalScript){var availRegEx=/([0-9]+)/;globalAvail= stringEvalScript.match(availRegEx); console.log('globalAvail from tabs widget is ' + globalAvail); if($J('#detail_tabs'+ hitnum).length==0){ setTimeout(function(){accToTabs(rId);},200); }}} //end availeventelse if (curEvent.indexOf(noItemAvailEvent)!==-1){accToTabs(rId);}});}function accToTabs(rId){ detail=rId.split("detail")[1];var numAvail=$J('#detail_accordion'+detail).find('.totalAvailable').text();var availLabel=$J('#detail_accordion'+detail).find('.availableCountLabel').text().split(':')[0];var outerTabHtml='

    ';$J('#detail_accordion'+detail).before(outerTabHtml);var liHtml='';var divHtml='';var tabText='';var fullDivHtml='';var myIndex=0;var ltflIndex=0;$J('#detail_accordion'+detail+' h3.ui-accordion-header').each(function(index){if ($J(this).next().text().length > 0){myIndex++;tabText=$J(this).text();var divContent = $J(this).next().text();var divLength=divContent.length;liHtml='

  • ' + tabText + '
  • ';divHtml=$J(this).next().html();fullDivHtml='

    ' + divHtml + '

    ';var idString = 'tabs-'+ (index+1);$J('#detail_tabs'+detail + ' ul').append(liHtml);$J('#detail_tabs'+detail).append(fullDivHtml);}//end if acc length >0});//end eachif($J('#detail_tabs'+detail).text().length >0){$J('#detail_tabs' + detail).tabs();$J('#detail_accordion'+detail).remove();$J('#detail_tabs'+detail).find('a:contains(":*")').text(availLabel+ ':'+numAvail); $J('#detail_tabs' + detail).find('.sorttable_sortAnyInd').remove();$J('.sorttable_sortAnyInd').remove();var itemTable = document.getElementById('detailItemTable'+detail);/*****CHECK THIS. IS THIS AN ADEQUATE CHECK FOR CASES WHERE AN AVAILABLE TAB MAY NOT BE PRESENT?***/if(itemTable){sorttable.makeSortable(itemTable);}if (weUseNovelist){ setTimeout("goNovelist(detail);",50);}/***should this be an else-if, or should we allow both nov/syn to run?****/if(syndeticsUnboundEnabled){ startSyndeticsUnbound(detail)} }else{$J('#detail_tabs'+detail).remove();} checkAvailCount();}function goNovelist(detail){var isbn=document.getElementById('detail'+detail +'_ISBN').childNodes[0].innerHTML;// if(document.getElementById('detail'+detail+'_ISBN').hasChildNodes())if(document.getElementById('detail'+detail+'_ISBN').hasChildNodes() && isbn.length==13){var regEx=/^[0-9]*$/;isbn=isbn.match(regEx); if(regEx.match(isbn)){if (typeof(novSelect) == 'undefined' ){novelistScript = new Element('script', {type: 'text/javascript',id: 'EIT',src: ''+novelistUrl+''});jQuery('body').append(novelistScript);}var detailAccObj=$J('#detail_accordion' + detail);var detailTabObj=$J('#detail_tabs'+detail);//if an IOS device (which should have bypassed the tabs conversion), do traditional accordionsif (useAccordions){$J(detailAccObj).append('

    Content from NoveList

    ');NoveListSelectEnrichment(document.getElementById('detail'+detail+'_ISBN').childNodes[0].innerHTML);}else{if($J('#cust-nov-tab-'+detail).length==0){var newTabIndex=String(parseInt($J('#detail_tabs'+detail +' > div:last').attr('id').split('-')[1])+1);var tabLiHtml='

  • (NoveList Loading)
  • ';var tabDivHtml='

    ';$J(detailTabObj).find('ul').append(tabLiHtml); $J(detailTabObj).append(tabDivHtml);createSpinnersForSelector($J(detailTabObj).find('.spinnerspan'),xsmallSpinnerOptions);$J('#cust-nov-tab-'+detail).find('.verySmallSpinner')[0].style.cssText='top:0px !important;margin-left:50% !important';$J('#cust-nov-tab-'+detail).find('.verySmallSpinner div').css('top','2px');NoveListSelectEnrichment(isbn); }//end existing tab check}//end if/else for accordions or tabs } //end regex check} //end if valid ISBN}function isIOS(){var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);return iOS;}function NoveListSelectEnrichment(isbn) { if (typeof(novSelect) == 'undefined') { currentNovSelectAttempt++; if(currentNovSelectAttempt<= 10) { // setTimeout("NoveListSelectEnrichment("+isbn+")", 250); setTimeout(function(){NoveListSelectEnrichment(isbn);},250); } } else { novSelect.loadContentForQuery({ClientIdentifier:isbn, ISBN:isbn, version: '2.1'} , novelistProfile, novelistPassword, sdCallback); }}function sdCallback(jsonResult){ var tabObj=$J('#detail_tabs' + globalDetail);var activeIndex=$J(tabObj).tabs( "option", "selected" );if(jsonResult.length!==0){//note: the 'selected' parameter is for older jQuery UI. May need to change to 'active' if Enterprise jQueryUI upgraded beyond 1.9var activeIndex=$J( '#detail_tabs'+detail ).tabs( "option", "selected" );$J(tabObj).tabs("destroy").tabs({selected: activeIndex});$J(tabObj).find('.cust-nov-tab, .cust-nov-tab a').removeClass('hidden');}else{$J(tabObj).find('.cust-nov-tab').remove();$J(tabObj).tabs("destroy").tabs({selected: activeIndex});}presentLoaded();}function customSyndeticsUnbound(){var unboundContentDivId = 'syndeticsUnboundContent'+detail;if($J('#syndeticsUnboundContent'+detail).length==0){ if(document.getElementById('detail'+ detail+'_ISBN').hasChildNodes()) {var newTabIndex=String(parseInt($J('#detail_tabs'+detail+' > div:last').attr('id').split('-')[1])+1);//hidden class on next two lines changed to bogus 'nothidden' for now, so we can at least see if Unbound will write to these tab-based divsvar tabLiHtml='

    ';var tabDivHtml='

    ';$J('#detail_tabs'+detail + ' ul').append(tabLiHtml); $J('#detail_tabs'+detail).append(tabDivHtml);var activeIndex=$J( '#detail_tabs'+detail ).tabs( "option", "selected" );//note: the 'selected' parameter is for older jQuery UI. May need to change to 'active' if Enterprise jQueryUI upgraded beyond 1.9var activeIndex=$J( '#detail_tabs'+detail ).tabs( "option", "selected" );$J('#detail_tabs'+detail).tabs("destroy").tabs({selected: activeIndex}); //setTimeout(function(){ removeSyndetics(detail);},500);/***syn removal***/var detailSelector=$J('#detail_tabs' +detail);var summarySelector=$J(detailSelector).find('a:contains("Summary")').attr('href');//$J('#detail_tabs'+hitnum).find('a:contains("Summary")').closest('h3').next('div').hide(); $J(summarySelector).hide(); $J(detailSelector).find('a:contains("Summary")').closest('li').hide();var reviewSelector=$J(detailSelector).find('a:contains("Reviews")').attr('href');$J(reviewSelector).hide(); $J(detailSelector).find('a:contains("Reviews")').closest('li').hide(); var contentsSelector=$J(detailSelector).find('a:contains("Table of Contents")').attr('href');$J(contentsSelector).hide();$J(detailSelector).find('a:contains("Table of Contents")').closest('li').hide(); var excerptSelector=$J(detailSelector).find('a:contains("Excerpts")').attr('href');$J(excerptSelector).hide(); $J(detailSelector).find('a:contains("Excerpts")').closest('li').hide();/***syn removal***///$J('#detail_tabs'+detail).find('.cust-nov-tab, .cust-nov-tab a').removeClass('hidden');//}// }//end if tabs presentdoLibraryThingConnector(customIsbn, unboundContentDivId); } //end if valid ISBN } //end existing tab check}function doLibraryThingConnector(isbn, elementName){if (typeof(LibraryThingConnector) == 'undefined'){currentUnboundAttempt++;if (currentUnboundAttempt <= MAX_UNBOUND_RETRIES){setTimeout(function (){doLibraryThingConnector(isbn, elementName); }, RETRY_TIME_MILLISECONDS);}}else{LibraryThingConnector.backend.widgets.run(isbn, document.getElementById(elementName),sdcallback);//CALLBACK ATTEMPT HERE?}}function startSyndeticsUnbound(detail){customIsbn = jQuery('#detail' + detail).find('.displayElementText.ISBN:first').text();if (syndeticsUnboundEnabled == true){if (typeof(LibraryThingConnector) == 'undefined'){syndeticsUnboundScript = new Element('script', {type: 'text/javascript',src: syndeticsUnboundScriptSrc,success: function (removeLoadImage){}});$$('head')[0].appendChild(syndeticsUnboundScript);}customSyndeticsUnbound(detail);}}function removeSyndetics(rId) { var hitnum = rId;var detailSelector=$J('#detail_tabs' +hitnum);var summarySelector=$J(detailSelector).find('a:contains("Summary")').attr('href');//$J('#detail_tabs'+hitnum).find('a:contains("Summary")').closest('h3').next('div').hide(); $J(detailSelector).find('div[id="'+summarySelector+'"])').hide(); $J(detailSelector).find('a:contains("Summary")').closest('li').hide();}function presentLoaded(){$J('#cust-nov-tab-'+globalDetail).find('.spinnerspan').remove();$J('#detail_tabs'+globalDetail).find('.cust-nov-tab a:first').text("Content from NoveList");} function checkAvailCount(){ var blankAvail=$J('#detail_tabs' +hitnumber).find('a:contains(":*"):first'); if (blankAvail.length==1){ var curText=$J(blankAvail).find('a').text(); var newText=curText.replace('*',globalAvail); $J(blankAvail).text(newText); }}// Important: Modifications to this file may be overwritten during an upgrade.// If you want to customize this widget and have those modifications persist through upgrades,// make a copy of this widget and make modifications to the copied widget.// You can then assign the copied widget to the detail or search result displays you want.if('undefined' === typeof eRC_Availability) { eRC_Availability = { addAvailabilityToResult:function(resultId) { var idDiv = document.getElementById(resultId+'_ERC_ID'); if(!idDiv || !idDiv.innerHTML) { return; } eRC_Availability.makeIfNeeded(resultId); if(eRC_Base) { eRC_Base.getTitleData(function(data){ eRC_Availability.fill(resultId, data); }, resultId); } else { eRC_Availability.fill(resultId); } }, fill:function(resultId, data) { var aDiv = document.getElementById('availableNumber_'+resultId); if(aDiv) { var avail = 'No disponible'; if (data && data.status && 'OK' === data.status && data.formats && data.formats.length > 0) { if (data.availability && data.availability.available) { if (data.availability.availableCopies) { // show copies available avail = data.availability.availableCopies; } else { // unlimited duration avail = 'Ilimitado'; } } else { // no copies available avail = 0; } } aDiv.innerHTML = avail; $J(aDiv).removeAttr('name'); } }, makeIfNeeded:function(resultId) { if(document.getElementById('availableNumber_'+resultId)) { return; } var matches = resultId.match(/^(detail|hitlist)(\d+)$/); if(matches) { if (com_sirsi_ent_page.isMobile) { var label = document.createElement('span'); label.setAttribute('class','availableLabel ercAvailableCountLabel text-h5'); if ($J('*[class^="detail_"]').length) { label.innerHTML = 'Disponible:'; } else { label.innerHTML = 'Disponible'; } number = document.createElement('span'); number.setAttribute('id','availableNumber_'+resultId); number.setAttribute('class','availableNumber ercAvailableCountNumber text-p'); number.setAttribute('name','smallSearchingGif'); number.setAttribute('style','display:inline-block;'); var div = document.createElement('div'); div.setAttribute('id','ercAvailableDiv_'+resultId); div.setAttribute('class','availableDiv ercAvailableCountSection'); div.appendChild(label); div.appendChild(number); if('detail' === matches[1]) { $J('.detailFieldsAlign').append(div); } else { document.getElementById('results_bio' + matches[2]).appendChild(div); } } else { var label = document.createElement('span'); label.setAttribute('class','availableLabel ercAvailableCountLabel '); label.innerHTML = 'Disponible:'; number = document.createElement('span'); number.setAttribute('id','availableNumber_'+resultId); number.setAttribute('class','availableNumber ercAvailableCountNumber'); number.setAttribute('name','smallSearchingGif'); number.setAttribute('style','display:inline-block;'); var div = document.createElement('div'); div.setAttribute('id','ercAvailableDiv_'+resultId); div.setAttribute('class','availableDiv ercAvailableCountSection'); div.appendChild(label); div.appendChild(number); var idStr = ('detail' === matches[1] ? 'detail_biblio' : 'results_bio') + matches[2]; document.getElementById(idStr).appendChild(div); } createSpinnersForSelector($J('#availableNumber_' + resultId), smallSpinnerOptions); } }, }}// 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 = 'Atención'; var message; var action = function() {}; //a do-nothing function var error; if(!responseJson || responseJson.error) { error = true; message = 'Hubo un problema al efectuar su reservas. Reintentar luego o contactar con la biblioteca para obtener ayuda.'; if(responseJson && responseJson.error) { message = responseJson.error; } } else { title = 'Reservar'; 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 = 'Atención'; 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 : 'Se produjo un error al comunicarse con 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: 'Se produjo un error al comunicarse con eResource Central.'); if(responseJson && responseJson.description) { messages.push(responseJson.description); } } else if('SYNC' === responseJson.action) { title = 'Préstamo'; messages.push(responseJson.message.value); } else if('DOWNLOAD' === responseJson.action) { title = 'Descargar'; messages.push('Su descarga empezará dentro de poco o, de lo contrario, usted puede hacer clic en el botón de abajo'); action = function() { safeWindowOpen(responseJson.url, '_blank'); }; buttonLabel = 'Descargar'; buttonClick = "safeWindowOpen('" + responseJson.url + "', '_blank');"; } else if('REDIRECT' === responseJson.action) { title = 'Redirigiendo'; messages.push('usted ahora será enviado para ver su contenido o, de lo contrario, puede usted hacer clic en el botón que se encuentra aquí abajo'); action = function() { safeWindowOpen(responseJson.url, '_blank'); }; buttonLabel = 'Abrir contenido'; buttonClick = "safeWindowOpen('" + responseJson.url + "', '_blank');"; } else if (responseJson.message) { error = true; messages.push(responseJson.message); } else if (responseJson.cause && responseJson.cause.message) { error = true; messages.push(responseJson.cause.message); } else { error = true; messages.push('¡Atención! Tipo de préstamo no reconocido: %s '); } 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 : 'Se produjo un error al comunicarse con 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: 'Se produjo un error al comunicarse con eResource Central.'; if(responseJson && responseJson.description) { message += '

    ' + responseJson.description; } } else if('SYNC' === responseJson.action) { title = 'Préstamo'; message = responseJson.message.value; } else if('DOWNLOAD' === responseJson.action) { title = 'Descargar'; message = 'Su descarga empezará dentro de poco o, de lo contrario, usted puede hacer clic en el botón de abajo'; action = function() { safeWindowOpen(responseJson.url, '_blank'); }; message += '

    '; } else if('REDIRECT' === responseJson.action) { if (responseJson.isIFrameDisplay) { title = 'Préstamo'; message = '

    '; } else { title = 'Redirigiendo'; message = 'usted ahora será enviado para ver su contenido o, de lo contrario, puede usted hacer clic en el botón que se encuentra aquí abajo'; action = function () { safeWindowOpen(responseJson.url, '_blank'); }; message += '

    '; } } else if (responseJson.message) { error = true; message = responseJson.message; } else if (responseJson.cause && responseJson.cause.message) { error = true; message = responseJson.cause.message; } else { error = true; message = '¡Atención! Tipo de préstamo no reconocido: %s '; } eRC_Dialogs.hideLoad(); eRC_Dialogs.openMessageDialog(function() { if(eRC_DownloadButton.reloadNeeded) { window.location.reload(); } }, resultId, {message:message, title:title}, responseJson && 'SYNC' === responseJson.action, responseJson.isIFrameDisplay); } 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) { if (ercItem.availability.downloadText) { buttonLabel = ercItem.availability.downloadText; } else { buttonLabel = 'Descargar'; } 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 = 'Reservar'; 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 = 'Reservar'; var onClickText = 'javascript: '; if(ercItem.availability && ercItem.availability.available) { if (ercItem.availability.downloadText) { buttonLabel = ercItem.availability.downloadText; } else { buttonLabel = 'Descargar'; } 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(); } }, };}// 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, 'Vista previa'); } 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 = 'Su descarga empezará en breve.'; window.location.assign(selectedFormat.url); } else if('REDIRECT' === selectedFormat.action) { message = 'Será redirigido a su contenido.'; safeWindowOpen(selectedFormat.url, '_blank'); } if(message) { if (com_sirsi_ent_page.isMobile) { showMessageModal('Vista previa', [message], false); } else { eRC_Dialogs.openMessageDialog(null, resultId, {message:message, title:'Vista previa'}); } } }, resultId, true); } };}

    139 Resultados encontrados

    Seleccionar todo

    12345..12

    000000000000FCLS

    Seleccionar una lista

    Los siguientes ítems fueron añadidos.

      Se produjo un error al añadir los siguientes ítems. Inténtelo de nuevo.

        No se pudieron añadir uno o más ítems debido a que usted no ha iniciado sesión.

        1.

        Merry Madagascar

        Merry Madagascar

        por

        DreamWorks Home Entertainment (Firm)

        2009

        Formato:

        Material visual

        ISBN

        9781415751251

        UPC

        097360727043

        Extracto:

        Merry Madagascar DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        2.

        B.O.B.'s big break

        B.O.B.'s big break

        por

        DreamWorks Home Entertainment (Firm)

        2009

        Formato:

        Disco de vídeo

        UPC

        097360727142

        Extracto:

        B.O.B.'s big break DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        Ver otros resultados de búsqueda

        3.

        Shrek : the essential guide

        Shrek : the essential guide

        por

        Cole, Stephen.

        2004

        Formato:

        Libros

        ISBN

        9780756603045

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        4.

        On the run!

        On the run!

        por

        Bobowicz, Pamela.

        2012

        Formato:

        Libros

        ISBN

        9780843169041

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        5.

        Hammy's nutty-fun DVD!

        Hammy's nutty-fun DVD!

        por

        DreamWorks Animation.

        2006

        Formato:

        Disco de vídeo

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        6.

        The Penguins of Madagascar : New to the zoo

        The Penguins of Madagascar : New to the zoo

        por

        DreamWorks Animation.

        2010

        Formato:

        Material visual

        ISBN

        9781415755457

        UPC

        097368959149 (widescreen)

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        7.

        Kung fu panda awesome secrets collection

        Kung fu panda awesome secrets collection

        por

        Dreamworks Pictures, production company.

        2012 2008

        Formato:

        Disco de vídeo

        ISBN

        9781415762905

        UPC

        097361462844

        Extracto:

        DreamWorks Home Entertainment (Firm), publisher.

        Disponible: Reservas: Copias:

        8.

        American beauty

        American beauty

        por

        Mendes, Sam.

        2000 1999

        Formato:

        Disco de vídeo

        ISBN

        9780783241234

        UPC

        667068538229

        Extracto:

        DreamWorks Home Entertainment (Firm).

        Disponible: Reservas: Copias:

        9.

        Megamind : the button of doom

        Megamind : the button of doom

        por

        Ferrell, Will, 1967-

        2011

        Formato:

        Disco de vídeo

        ISBN

        9781415758267

        UPC

        097361437347

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        10.

        Gladiator

        Gladiator

        por

        Crowe, Russell, 1964-

        2000

        Formato:

        Disco de vídeo

        ISBN

        9780783252223

        UPC

        667068720426

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        11.

        Antz

        Antz

        por

        Alcott, Todd.

        2002 1998

        Formato:

        Disco de vídeo

        ISBN

        9780783231471

        UPC

        667068419924

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        12.

        Bee movie

        Bee movie

        por

        Seinfeld, Jerry.

        2008

        Formato:

        Disco de vídeo

        ISBN

        9781415739358

        UPC

        097361179445 (widescreen)

        Extracto:

        DreamWorks Home Entertainment (Firm)

        Disponible: Reservas: Copias:

        Seleccionar todo

        12345..12

        139 Resultados encontrados

        Resultados de búsqueda para DreamWorks Home Entertainment (Firm),   (2024)

        References

        Top Articles
        Latest Posts
        Article information

        Author: Nicola Considine CPA

        Last Updated:

        Views: 5894

        Rating: 4.9 / 5 (69 voted)

        Reviews: 84% of readers found this page helpful

        Author information

        Name: Nicola Considine CPA

        Birthday: 1993-02-26

        Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

        Phone: +2681424145499

        Job: Government Technician

        Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

        Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.