El aprendíz

Justin Scott

Fragmento

cap-1

 

El Marmon 32 Speedster aparcó en Wall Street, en una zona oscura ubicada entre dos farolas.

El agente O’Riordan hacía su ronda cuando se percató de su presencia. Era plena noche. Tenía órdenes de no permitir que nadie molestara a los peces gordos de la política y del gobierno que hacían negocios en el edificio Congdon. Además, desde el coche se podía efectuar un tiro limpio hacia las limusinas que los esperaban junto a la acera.

La humedad del puerto había empañado las ventanillas laterales del vehículo. O’Riordan tuvo que acercarse para mirar en el interior. El conductor le deparó una agradable sorpresa: era una hermosa mujer pelirroja, así que el policía se relajó un poco. Lo único que podía ver del caballero sentado a su lado era una silueta rígida. A pesar de las consignas, no le pareció oportuno golpear con la porra en un Marmon 32 y pedirles a unas personas encopetadas que circularan, como si fueran unos vagabundos en la acera. De modo que, manteniendo la mano derecha junto a la pistola, llamó suavemente a la ventanilla, como quien deja su copa en la mesa de caoba para indicarle al camarero de un local elegante que le apetece otra, pero sin darle prisa.

Una mano grande, con dedos largos y ágiles, bajó la ventanilla. O’Riordan vislumbró el puño blanco inmaculado de una camisa, unos gemelos de diamantes y la manga negra de un frac. La mano estrechó la suya con fuerza.

—Paddy O’Riordan. Qué alegría encontrarlo aquí.

Escrutado por unos penetrantes ojos azules, el agente reconoció la melena dorada, el poblado bigote rubísimo y la expresión de seriedad que solo podía pertenecer a Isaac Bell, el investigador jefe de la agencia de detectives Van Dorn.

Se llevó la porra al casco.

—Buenas noches, señor Bell. No lo había reconocido en la oscuridad.

—¿Qué haces en la calle a estas horas?

O’Riordan se disponía a contestar cuando la sonrisa de Bell le indicó que se trataba de una broma. Se suponía que los policías debían estar en la calle a esas horas.

El detective señaló las limusinas con la cabeza.

—Asuntos importantes.

—El juez Congdon tiene un tren especial esperándole en Grand Central. La vía está despejada hasta Chicago, y lamento decirle que he recibido órdenes directas del capitán de que la calle esté libre.

Bell no pareció oírle.

—Paddy, quiero que conozcas a mi esposa. Marion, te presento al agente O’Riordan, verdadero azote de los piratas de Staten Island cuando estaba en la brigada portuaria. No había un solo granuja en los muelles de Nueva York que no invitara a copas la noche que Paddy desembarcaba.

Ella estiró por encima de su marido una mano sin guante que parecía brillar como el marfil. O’Riordan la tomó con cuidado con su enorme puño e hizo una reverencia.

—Es un honor conocerla, señora. Conozco a su marido desde hace muchos años, y si me permite decirlo, la señora O’Riordan y yo hemos disfrutado mucho de sus películas.

Ella le dio las gracias con una voz musical que resonaría en su mente durante días.

—Bueno, no queremos entretenerte —comentó el inspector jefe Bell.

O’Riordan se llevó la porra al casco otra vez. Si un detective de primera decidía besuquearse con su esposa en un automóvil a oscuras en Wall Street en mitad de la noche, al diablo con las órdenes.

—Les diré a los muchachos que no les molesten.

Pero Bell le hizo señas para que se acercara y susurró:

—No me importaría que estuvieran alerta si tengo que dejarla sola un momento.

—Echarán a suertes quién es el privilegiado.

Varios políticos salieron del edificio dándose palmadas en la espalda y se dirigieron a la limusina más pequeña, una Rambler Knickerbocker de siete plazas.

Bell abrió la ventanilla para poder oírles.

—¡Chófer! Directo a Grand Central.

—No me hace gracia cederle la vicepresidencia a un inútil como Congdon, pero la política es así.

—El dinero manda.

La Rambler Knickerbocker se alejó. Pocos minutos después aparecieron varios hombres de más edad. Con movimientos lentos, subieron a la segunda limusina, una enorme y carísima Cunningham modelo J, construida artesanalmente siguiendo el diseño del juez James Congdon. A Bell le parecieron más resignados que reconciliados.

—Congdon tiene casi todos los delegados que necesita, y comprará los que le falten.

—Si nuestro candidato no hubiera muerto...

—Siempre nos equivocamos de hombre.

El detective esperó a que la limusina doblase la esquina. Una escolta formada por motocicletas de la policía aparcadas en Broadway siguió ruidosamente al vehículo.

—Si James Congdon se hace con la vicepresidencia, la vida del presidente valdrá menos que un centavo falso.

Besó a Marion en los labios.

—Gracias por hacerme parecer inofensivo delante de la policía. ¿Seguro que no quieres irte a casa?

—Esta vez, no.

La firmeza de su voz lo convenció de que no había forma de disuadirla. Esta vez era distinto.

A pesar de ir vestido para acudir al teatro, dejó su chistera de seda sobre el asiento trasero y se puso un sombrero de ala ancha con la copa baja.

Marion le colocó derecha la corbata.

—Siempre he querido saber por qué nunca me dices que tenga cuidado —preguntó Bell.

—No me gustaría retrasarte.

Él le guiñó el ojo.

—Lo dudo.

Sonreía cuando se despidió de su esposa, pero su expresión se endureció a medida que cruzaba Wall Street, y la calidez de su mirada abandonó sus ojos.

Joseph van Dorn, el hombre barbudo y corpulento que había fundado la agencia, esperaba sumido en las sombras, quieto como una estatua. Hizo guardia mientras Bell forzaba la cerradura de la puerta exterior y entró tras él; a continuación, el detective hizo saltar la cerradura de otra puerta de acero con el cartel «Cuarto de máquinas». Dentro hacía un calor húmedo. Un ordenado laberinto de gruesas tuberías atravesaba hileras de válvulas acondicionadoras de vapor. Van Dorn comparó las ruedecillas de control con el dibujo que les había facilitado un ingeniero y que sacó de su bolsillo interior.

Isaac Bell salió otra vez a la calle y dio la vuelta hasta la fachada del edificio. Su ropa de etiqueta provocó una respetuosa inclinación de cabeza por parte del portero. Como bien habían dicho los políticos, el dinero mandaba.

—Al último piso —le dijo al ascensorista, que lo recibió entre bostezos.

—Creía que ya habían terminado arriba.

—No del todo.

cap

Libro uno

Carbón

MINA DE GLEASON Nº 1,

GLEASONBURG,

VIRGINIA OCCIDENTAL

1902

cap-2 </div> <div id="div_newsletter" class=""> <h3 id="h3_news">Suscríbete para continuar leyendo y recibir nuestras novedades editoriales</h3> <h3 id="h3_OK">¡Ya estás apuntado/a! Gracias.<span id="close_news">X</span></h3> <div class="row" id="row_input"> <div class="col-xs-12 col-md-12"> <button type="button" class="btn btn-primary margin-center hidden-sm-up subscription-categories-btn modalSubscriptionForm btnsn" data-toggle="modal" data-target="#modalSubscriptionForm"> ME APUNTO </button> <button type="button" class="btn btn-primary hidden-xs-down subscription-categories-btn margin-center modalSubscriptionForm btnsn" data-toggle="modal" data-target="#modalSubscriptionForm"> ME APUNTO </button> </div> </div> </div> </div> <div class="modal fade" id="modalSubscriptionConfirm" tabindex="-1" role="dialog" aria-labelledby="modalSubscriptionConfirm" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <span class="modal-title">Thanks</span> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> ¡Apuntada tu nueva preferencia! Muchas Gracias </div> <div class="modal-footer"> <button type="button" class="btn btn-primary margin-center subscription-categories-btn btnsnc" data-dismiss="modal">Cerrar</button> </div> </div> </div> </div> <div class="modal fade" id="modalSubscriptionForm" tabindex="-1" role="dialog" aria-labelledby="modalSubscriptionForm" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <form action="//www.penguinlibros.com/us/module/lblusersubscription/miscelania?action=setTematicaModal&ajax=1" method="post" id="submitNewsletterModal-form" class="pl-3 pr-3"> <div class="modal-header"> <span class="modal-title">Write your datas</span> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="col-xs-12 alert alert-success alert-warning hidden-xs-up" id="iqitreviews-productreview-form-alert"></div> <div class="form-fields" id="iqitreviews-productreview-fields"> <input type="hidden" name="autor" value="116681"> <input type="hidden" name="editorial" value="947187"> <input type="hidden" name="tematicas" value="207258"> <input type="hidden" name="origen" value="subscripcionFragmento"> <input type="hidden" name="suscribeNewsletter" value="1"> <div class="form-group row"> <label class="col-md-3 form-control-label">Name</label> <div class="col-md-9"> <input type="text" class="form-control" name="name" id="name" value="" placeholder="Your name"/> </div> </div> <div class="form-group row"> <label class="col-md-3 form-control-label">Surname</label> <div class="col-md-9"> <input type="text" class="form-control" name="surname" id="surname" value="" placeholder="Your surname"/> </div> </div> <div class="form-group row"> <label class="col-md-3 form-control-label">Email</label> <div class="col-md-9"> <input type="email" class="form-control" name="email" id="email" value="" placeholder="Your email address"/> </div> </div> <div class="form-group row"> <label class="col-md-3 form-control-label">Shop</label> <div class="col-md-9"> <select name="shop" id="shop"> <option value="1">Penguinlibros España</option> <option value="4">Penguinlibros Argentina</option> <option value="14">Penguinlibros Colombia</option> <option value="15">Penguinlibros México</option> <option value="16">Penguinlibros Chile</option> <option value="17">Penguinlibros Perú</option> <option value="18">Penguinlibros Uruguay</option> <option selected value="19">Penguinlibros Miami</option> </select> </div> </div> <div class="mt-2 text-muted"> <div id="gdpr_consent_153" class="gdpr_module gdpr_module_153"> <div class="custom-checkbox" style="display: flex;"> <input id="psgdpr_consent_checkbox_153" name="psgdpr_consent_checkbox" type="checkbox" value="1"> <span class="psgdpr_consent_checkbox_span mr-2"><i class="fa fa-check rtl-no-flip checkbox-checked psgdpr_consent_icon" aria-hidden="true"></i></span> <label for="psgdpr_consent_checkbox_153" class="psgdpr_consent_message" style="display: inline"> Responsible: Penguin Random House Grupo Editorial,S.A.U. (Penguinlibros) with social domicile in Travessera de Gràcia, 47-49 08021 Barcelona NIF: A 08116147 contact: lopd@penguinrandomhouse.com. Purpose: Will treat your personal data to inform you about our products, services, news, draws, contests and events. You can see more details <a href="https://www.penguinlibros.com/us/content/10-proteccion-de-datos">here</a>. Legitimation: Execution of the contract and consent of the interested party. Recipients: we transfer your data to the companies of our group to be able to show the available catalog. You can see more details <a href="https://www.penguinlibros.com/us/content/10-proteccion-de-datos">here</a>. Rights: Access, rectify and delete the data, as well as other rights, as explained in our policy that you can consult in the following <a href="https://www.penguinlibros.com/us/content/10-proteccion-de-datos">link.</a> </label> </div> </div> <script type="text/javascript"> var psgdpr_front_controller = "https://www.penguinlibros.com/us/module/psgdpr/FrontAjaxGdpr"; psgdpr_front_controller = psgdpr_front_controller.replace(/\amp;/g,''); var psgdpr_id_customer = "0"; var psgdpr_customer_token = "da39a3ee5e6b4b0d3255bfef95601890afd80709"; var psgdpr_id_guest = "0"; var psgdpr_guest_token = "6ea6fa27ae214398a97fcbb76dd5352df518262b"; document.addEventListener('DOMContentLoaded', function() { let psgdpr_id_module = "153"; let parentForm = $('.gdpr_module_' + psgdpr_id_module).closest('form'); let toggleFormActive = function() { let checkbox = $('#psgdpr_consent_checkbox_' + psgdpr_id_module); let element = $('.gdpr_module_' + psgdpr_id_module); let iLoopLimit = 0; // Look for parent elements until we find a submit button, or reach a limit while(0 === element.nextAll('[type="submit"]').length && // Is there any submit type ? element.get(0) !== parentForm.get(0) && // the limit is the form element.length && iLoopLimit != 1000) { // element must exit element = element.parent(); iLoopLimit++; } if (checkbox.prop('checked') === true) { if (element.find('[type="submit"]').length > 0) { element.find('[type="submit"]').removeAttr('disabled'); } else { element.nextAll('[type="submit"]').removeAttr('disabled'); } } else { if (element.find('[type="submit"]').length > 0) { element.find('[type="submit"]').attr('disabled', 'disabled'); } else { element.nextAll('[type="submit"]').attr('disabled', 'disabled'); } } } // Triggered on page loading toggleFormActive(); $('body').on('change', function(){ // Triggered after the dom might change after being loaded toggleFormActive(); // Listener ion the checkbox click $(document).on("click" , "#psgdpr_consent_checkbox_"+psgdpr_id_module, function() { toggleFormActive(); }); $(document).on('submit', parentForm, function(event) { $.ajax({ data: 'POST', //dataType: 'JSON', url: psgdpr_front_controller, data: { ajax: true, action: 'AddLog', id_customer: psgdpr_id_customer, customer_token: psgdpr_customer_token, id_guest: psgdpr_id_guest, guest_token: psgdpr_guest_token, id_module: psgdpr_id_module, }, success: function (data) { // parentForm.submit(); }, error: function (err) { console.log(err); } }); }); }); }); </script> </div> </div> </div> <div class="modal-footer"> <input class="btn btn-primary margin-center hidden-sm-up subscription-categories-btn btnsns" data-id_product=196948 type="submit" value=" OK"> <input class="btn btn-primary hidden-xs-down subscription-categories-btn margin-center modal-newsletter btnsns" data-id_product=196948 type="submit" value=" Suscribirse"> </div> </form> </div> </div> </div> </div> </section> <footer id="footer"> <div class="preview-footer"> <div class="container content row col-12 col-md-10 col-sm-8 overflow-hidden m-auto content row "> <div class="col-12"> <p class="product_name" style="font-size: 27px;font-family: 'montserrat';margin:0 auto;text-align:center;">El aprendíz</p> </div> <div id="textoRelated" class="col-lg-12 col-md-12 col-sm-10 col-xs-12"> <h2>¡Disfruta del libro entero!</h2> <p style="font-weight: bold;padding:0px;margin:0px;">Elige tu formato favorito y empieza tu próxima lectura</p> </div> <div class="col-lg-12 col-md-12 col-xs-12"> <div class="info-libro row" style="padding:0px;"> <div class="precios-libro row"> <div class="col-xl-3 col-lg-4 libroRelated" style="display:inline-block;"> <a href="//www.penguinlibros.com/us/literatura-contemporanea/196948-libro-el-aprendiz-9788466341233 "> <picture class="lazy"> <source data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.webp" type="image/webp"> <source data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.jpg"> <img data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.jpg" alt="El aprendíz" class="img-fluid photo"> </picture> <span class="formato">eBook</span> <div class="row"> <span class="col precio">$9.95 </span> </div> </a> </div> <div class="col-xl-3 col-lg-4 libroRelated selected" style="display:inline-block;"> <a href="//www.penguinlibros.com/us/literatura-contemporanea/196948-libro-el-aprendiz-9788466341233 "> <picture class="lazy"> <source data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.webp" type="image/webp"> <source data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.jpg"> <img data-srcset="https://www.penguinlibros.com/us/3485627-home_default/el-aprendiz.jpg" alt="El aprendíz" class="img-fluid photo"> </picture> <span class="formato">Tapa blanda</span> <div class="row"> <span class="col precio">$9.95 </span> </div> </a> </div> </div> </div> </div> <div class="clearfix"></div> </div> </div> </footer> </main> <script type="text/javascript" src="https://www.penguinlibros.com/us/themes/megustaleer/assets/cache/bottom-ca75ce419.js" data-cookieconsent="ignore" ></script> <script type="text/javascript" src="/us/modules/motive/views/js/front.js?v=2.26.0" data-cookieconsent="ignore" ></script> <div id="iqitwishlist-modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <span class="modal-title">You need to login or create account</span> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <section class="login-form"> <p> Save products on your wishlist to buy them later or share with your friends.</p> <div class="blocklogin-content-mobile"> <ul class="nav-tabs" id="tabs-login" role="tablist"> <li class="nav-item"> <a class="nav-link active" id="login-tab" href="https://www.penguinlibros.com/us/identity" >Inicia sesión</a> </li> <li class="nav-item"> <a class="nav-link" id="registro-tab" href="https://www.penguinlibros.com/us/login?create_account=1" >Regístrate</a> </li> </ul> </div> <form id="login-form" action="index.php?controller=authentication&back=my-account" method="post"> <section class="row"> <input type="hidden" name="back" value=""> <div class="form-group align-items-center "> <label class="col-md-2 col-form-label required"> Email </label> <div class="col-md-8"> <input class="form-control" name="email" type="email" value="" required > </div> <div class="col-md-2 form-control-comment"> </div> </div> <div class="form-group align-items-center "> <label class="col-md-2 col-form-label required"> Password </label> <div class="col-md-8"> <div class="input-group js-parent-focus"> <input class="form-control js-child-focus js-visible-password" name="password" title="At least 5 characters long" autocomplete="new-password" type="password" value="" pattern=".{5,}" required > <span class="input-group-append"> <button class="btn btn-outline-secondary" type="button" data-action="show-password" > <i class="fa fa-eye-slash" aria-hidden="true"></i> </button> </span> </div> </div> <div class="col-md-2 form-control-comment"> </div> </div> <div class="form-group align-items-center "> <label class="col-md-2 col-form-label"> </label> <div class="col-md-8"> <span class="custom-checkbox"> <input name="remember" id="ff_remember" type="checkbox" value="1" > <span><i class="fa fa-check rtl-no-flip checkbox-checked" aria-hidden="true"></i></span> <label for="ff_remember">Recuerdame</label > </span> </div> <div class="col-md-2 form-control-comment"> </div> </div> <div class="forgot-password col-md-12"> <a href="https://www.penguinlibros.com/us/password-recovery" rel="nofollow"> Forgot your password? </a> </div> </section> <footer class="form-footer text-center clearfix"> <input type="hidden" name="submitLogin" value="1"> <button id="submit-login" class="loginPresta btn btn-primary form-control-submit" data-link-action="sign-in" type="submit"> Sign in </button> </footer> </form> <div class="espacio"> <span>o</span> </div> <div class="iqitsociallogin iqitsociallogin-checkout iqitsociallogin-colors-theme pb-3 pt-1"> <a onclick="iqitSocialPopup('//www.penguinlibros.com/us/module/iqitsociallogin/authenticate?provider=facebook&page=authentication')" class="btn btn-secondary btn-iqitsociallogin btn-facebook btn-sm mt-1 mb-1"> <i class="fa fa-facebook-square" aria-hidden="true"></i> Inicia sesión con Facebook </a> <a onclick="iqitSocialPopup('//www.penguinlibros.com/us/module/iqitsociallogin/authenticate?provider=google&page=authentication')" class="btn btn-secondary btn-iqitsociallogin btn-google btn-sm mt-1 mb-1"> <i class="fa fa-google-plus-square" aria-hidden="true"></i> Inicia sesión con Google </a> </div> <script type="text/javascript"> function iqitSocialPopup(url) { var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; var left = ((width / 2) - (960 / 2)) + dualScreenLeft; var top = ((height / 2) - (600 / 2)) + dualScreenTop; var newWindow = window.open(url, '_blank', 'scrollbars=yes,top=' + top + ',left=' + left + ',width=960,height=600'); if (window.focus) { newWindow.focus(); } } </script> </section> <hr/> <div class="no-account"> <a href="https://www.penguinlibros.com/us/login?create_account=1" data-link-action="display-register-form"> No account? Create one here </a> </div> </div> </div> </div> </div> <div id="iqitwishlist-notification" class="ns-box ns-effect-thumbslider ns-text-only"> <div class="ns-box-inner"> <div class="ns-content"> <span class="ns-title"><i class="fa fa-check" aria-hidden="true"></i> <strong>Product added to wishlist</strong></span> </div> </div> </div><script data-cfasync="false" type="text/javascript"> 'use strict'; // Instantiate the tracking class var rcTagManagerLib = new RcTagManagerLib(); // Init page values var controllerName = 'Fragmento'; var compliantModules = {"default":"order","supercheckout":"supercheckout","onepagecheckoutps":"order","sveacheckout":"sveapaypage","thecheckout":"order","steasycheckout":"default"}; var compliantModuleName = 'default'; var skipCartStep = ''; var isOrder = ''; var isCheckout = ''; var isClientId = 0; var gtmProducts; var gtmOrderComplete; //////////////////////////// // set tracking features rcTagManagerLib.trackingFeatures = gtmTrackingFeatures; // set checkout values rcTagManagerLib.controllerName = controllerName; rcTagManagerLib.isCheckout = isCheckout; rcTagManagerLib.compliantModuleName = compliantModuleName; rcTagManagerLib.skipCartStep = skipCartStep; // list names rcTagManagerLib.lists = {"default":"Fragmento","filter":"filtered_results"}; // Google remarketing - page type rcTagManagerLib.ecommPageType = 'other'; // get products list to cache rcTagManagerLib.productsListCache = []; // Listing products /////////////////////////////////////////////// if (!disableInternalTracking) { // Initialize all user events when DOM ready document.addEventListener('DOMContentLoaded', initGtmEvents, false); window.addEventListener('pageshow', fireEventsOnPageShow, false); } function initGtmEvents() { // Events binded on all pages // Events binded to document.body to avoid firefox fire events on right/central click document.body.addEventListener('click', rcTagManagerLib.eventClickPromotionItem, false); //Botones Newsletters var btnNewsletter = document.querySelectorAll('.modalSubscriptionForm'); btnNewsletter.forEach((btn) => btn.addEventListener('click', rcTagManagerLib.eventClickNewsletter, false)); //Botones Menu var Menu = document.getElementById("iqitmegamenu-horizontal"); Menu.addEventListener('click', rcTagManagerLib.eventNavegacionMenu, false); //Menu Movil var MenuMovil = document.getElementById("iqitmegamenu-mobile"); MenuMovil.addEventListener('click', rcTagManagerLib.eventNavegacionMenuMovil, false) if (rcTagManagerLib.trackingFeatures.goals.socialAction) { // bind event on like/follow action rcTagManagerLib.eventSocialFollow(); } //////////////////////// // ALL PAGES EXCEPT CHECKOUT OR ORDER if (!isCheckout && !isOrder) { // bind prestashop events with tracking events prestashop.on( 'updateCart', function (event) { rcTagManagerLib.eventAddCartProduct(event); rcTagManagerLib.eventCartUpdate(event); } ); prestashop.on( 'clickQuickView', function (event) { rcTagManagerLib.eventProductView(event) } ); prestashop.on( 'updatedProduct', function (event) { rcTagManagerLib.eventProductView(event) } ); prestashop.on( 'clickIqitWishlistAdd', function (event) { rcTagManagerLib.eventWishlistProduct() } ); // init first scroll action for those products all ready visible on screen setTimeout(()=>{ rcTagManagerLib.eventScrollList(); // bind event to scroll window.addEventListener('scroll', rcTagManagerLib.eventScrollList.bind(rcTagManagerLib), false); },3000); // init Event Listeners document.body.addEventListener('click', rcTagManagerLib.eventClickProductList, false); document.body.addEventListener('click', rcTagManagerLib.eventGetAddCartQuantity, false); document.body.addEventListener('click', rcTagManagerLib.eventCartQuantityDelete, false); document.body.addEventListener('click', rcTagManagerLib.eventLogin, false); document.body.addEventListener('click', rcTagManagerLib.eventLogout, false); document.body.addEventListener('click', rcTagManagerLib.eventCreateAccount, false); document.body.addEventListener('click', rcTagManagerLib.eventNewsletter, false); document.body.addEventListener('click', rcTagManagerLib.eventUpdateAccount, false); //Sliders setTimeout(()=>{ let Sliders = document.body.querySelectorAll(".slick-slider"); Sliders.forEach((slider)=>{ slider.addEventListener('click', rcTagManagerLib.eventClickCarousel,false); slider.addEventListener('touchstart', rcTagManagerLib.eventTouchStartCarousel,false); slider.addEventListener('touchmove', rcTagManagerLib.eventTouchMoveCarousel,false); slider.addEventListener('touchend', rcTagManagerLib.eventTouchEndCarousel,false); }), 2000 }) if (rcTagManagerLib.trackingFeatures.goals.socialAction) { // bind event to allow track social action on document.body.addEventListener('click', rcTagManagerLib.eventSocialShareProductView, false); } //////////////////////// // SEARCH PAGE if (controllerName === 'search') { rcTagManagerLib.eventSearchResult(); } //////////////////////// // PRODUCT PAGE if (controllerName === 'product') { // send product detail view rcTagManagerLib.eventProductView(); rcTagManagerLib.eventProductPreview(); rcTagManagerLib.eventProductReview(); //Nuevos DataLayer Ficha Producto var btnCompraDirecta = document.querySelector('.add-to-cart.direct'), btnCambioIdioma = document.querySelector('.link_relacionado_manuscrito'), tags = document.querySelectorAll('.tag_lvl2'), descripcion = document.getElementById('product-descripcion'), detalles = document.getElementById('product-details-tab-nav'), btnVerAutor = document.querySelectorAll("#author-follow"), btnResena = document.querySelector(".boton-review"); if(btnCambioIdioma != null) btnCambioIdioma.addEventListener('click', rcTagManagerLib.eventCambioIdioma,false); if(btnCompraDirecta != null) btnCompraDirecta.addEventListener('click', rcTagManagerLib.eventCompraDirecta,false); tags.forEach((tag)=> tag.addEventListener('click', rcTagManagerLib.eventBotonTematicas, false)); btnVerAutor.forEach((btn)=> btn.addEventListener('click', rcTagManagerLib.onVerAutor, false)); descripcion.addEventListener('click', rcTagManagerLib.onVerDescripcion, false); detalles.addEventListener('click', rcTagManagerLib.onVerDetalles, false); btnResena.addEventListener('click', rcTagManagerLib.onClickResena, false); } ////////////////////// //BLOGS if (controllerName == 'single'){ let linkFicha = document.getElementsByClassName('linkFicha'); if(linkFicha !== null){ //Convertimos la Html List a Array let enlaces = [...linkFicha]; enlaces.forEach((lf) => lf.addEventListener('click', rcTagManagerLib.eventLinkFicha, false)); } } } //////////////////////// // CHECKOUT PROCESS if (isCheckout) { // SUMMARY CART if (controllerName === 'cart') { // events on summary Cart document.body.addEventListener('click', rcTagManagerLib.eventCartQuantityDelete, false); document.body.addEventListener('click', rcTagManagerLib.eventCartQuantityUp, false); document.body.addEventListener('click', rcTagManagerLib.eventCartQuantityDown, false); } //////////////////////// // CHECKOUT if (compliantModuleName === 'default' && controllerName === 'order') { // Events on Checkout Process document.body.addEventListener('click', rcTagManagerLib.eventPrestashopCheckout, false); } else if ( compliantModuleName === 'supercheckout' && controllerName === compliantModules[compliantModuleName] ) { // Compatible with super-checkout by Knowband document.body.addEventListener('click', rcTagManagerLib.eventOpcSuperCheckout, false); document.body.addEventListener('click', rcTagManagerLib.eventCartOpcSuperCheckout, false); } else if ( compliantModuleName === 'onepagecheckoutps' && controllerName === compliantModules[compliantModuleName] ) { // compatible with OPC by PrestaTeamShop document.body.addEventListener('click', rcTagManagerLib.eventOpcPrestaTeam, false); document.body.addEventListener('click', rcTagManagerLib.eventCartOpcPrestaTeam, false); } else if ( compliantModuleName === 'thecheckout' && controllerName === compliantModules[compliantModuleName] ) { // Compatible with thecheckout by Zelarg document.body.addEventListener('click', rcTagManagerLib.eventOpcTheCheckout, false); document.body.addEventListener('click', rcTagManagerLib.eventCartOpcTheCheckout, false); } else if ( compliantModuleName === 'steasycheckout' && controllerName === compliantModules[compliantModuleName] ) { // Events for steasycheckout document.body.addEventListener('click', rcTagManagerLib.eventOpcStEasyCheckout, false); document.body.addEventListener('click', rcTagManagerLib.eventCartOpcStEasyCheckout, false); } } } function fireEventsOnPageShow(event){ //rcTagManagerLib.eventPageType(); // rcTagManagerLib.eventUserInfo(); // fixes safari back cache button if (event.persisted) { window.location.reload() } if(window.location.pathname.substring(4) == 'module/lblemailactivation/activation'){ rcTagManagerLib.onConfirmarCuenta(); } // Sign up feature if (rcTagManagerLib.trackingFeatures.goals.signUp && rcTagManagerLib.trackingFeatures.common.isNewSignUp) { rcTagManagerLib.onSignUp(); } if (rcTagManagerLib.trackingFeatures.gua.trackingId && isClientId) { rcTagManagerLib.setClientId(); } // Checkout and order complete if (isCheckout && gtmProducts) { rcTagManagerLib.onCheckoutProducts(gtmProducts); } else if (isOrder && gtmOrderComplete) { rcTagManagerLib.onOrderComplete(gtmOrderComplete); } } </script><script type="text/javascript"> var time_start; $(window).on("load", function (e) { time_start = new Date(); }); $(window).on("unload", function (e) { var time_end = new Date(); var pagetime = new FormData(); pagetime.append("type", "pagetime"); pagetime.append("id_connections", "29457740"); pagetime.append("id_page", "15"); pagetime.append("time_start", "2024-03-29 07:08:33"); pagetime.append("token", "2dc1e12826de0c3aaedb28739b185670dabe8919"); pagetime.append("time", time_end-time_start); pagetime.append("ajax", "1"); navigator.sendBeacon("https://www.penguinlibros.com/us/index.php?controller=statistics", pagetime); }); </script> <button id="back-to-top"> <i class="fa fa-angle-up" aria-hidden="true"></i> </button> </body> </html>