El amor enfermo

Gustavo Nielsen

Fragmento

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <body> <style> html * {padding:0px;font:1em/1.4em Georgia, "Times New Roman", Times, serif;padding:0 0.6em 1.2em 0.6em;color:#000"} img {max-width:100%;height:auto;display:block;margin:0 auto;} </style> <h2 id="heading_id_2">1</h2> <p>Saravia supo que ella estaba llorando por el sonido de sus tacos sobre el piso del subte. El taconeo también podía deberse a una espera nerviosa, aunque Saravia oyó la lágrima salir del ojo, deslizarse por un pómulo suave y detenerse en una zona muda, antes de caer al piso. La lágrima rodando por la mejilla hacía el ruido de una bolita de vidrio deslizándose sobre una fina lija.</p> <p>“Oír adentro del subte da calor”, pensó Saravia, mientras volteaba hacia ambos lados la cabeza, disimuladamente, para mirar. A la lágrima se sumaba la bocina perdida de un tren que cruzó; aplastada, taladrada, gastada, cortada en pedacitos y absorbida por el piso. La vibración le trepó desde los pies, le abrazó las piernas y los pantalones de vestir, subió como un enrejado de arañas por su cuerpo hasta la mano que se aferraba a la anilla de cuero.</p> <p>En el vagón había varios adolescentes, un hombre con aspecto de chofer de lancha colectiva, un harapiento con la frente oxidada por el sol y una señora grande y gorda. Saravia era el único que viajaba parado. La señora llevaba puestos anteojos negros y tronaba los dedos de su mano derecha como si mantuviera el ritmo de alguna canción. Saravia fijó la vista en su cara hinchada y llena de pecas grises. La lágrima podía haber tocado el marco de los anteojos y haberse corrido hasta casi llegar a la mitad; para después quedarse un instante quieta y al final clinc, contra el piso de chapa. Aunque la señora estaba contenta, miraba pasar las estaciones desde su ventanilla, traía un paraguas rojo, olía de un perfumero que constantemente iba de la cartera abierta a su nariz y llevaba un flamante peinado de peluquería. Con olor a spray, con olor a bautismo. Tenía los ojos vidriosos pero secos, detrás de los anteojos. Esto lo advirtió Saravia al acercarse; trató de cubrir con el periódico su mirada demasiado atenta, pero ella le sonrió. Dos cables negros salían del peinado hacia el interior de su cartera. Saravia inclinó un poco la cabeza, en una especie de saludo cortés. Esa mañana iba vestido con su saco nuevo y su corbata roja a lunares blancos, lo que le hizo suponer que a la mujer le habría gustado su elegancia. Ella tendría, como él, unos cuarenta y tantos años. En las manos, al igual que Saravia, no llevaba anillo de casada.</p> <p>Clinc, volvió a sonar la gota, más fuerte que los plic plic de los dedos de la señora. Ella no era la que lloraba, y no cabían dudas de que el sonido, amplificado al máximo, era el de una lágrima estrellada. La señora se acomodaba los pequeños auriculares más adentro de sus orejas perdidas en el pelo, cuando Saravia oyó un sollozo y una frase: “No está bien que siga con él; no quiere hijos míos, y a mí los chicos me encantan”. El vagón se movía hacia ambos lados como si estuviera a punto de desarmarse. “No sé cómo le pueden no gustar. Dice que son seres malignos, dañinos...” Las maderas golpeaban unas contra otras al paso de la curva. El silbido de un freno se sumó al sonido general, y Saravia distinguió una segunda voz de mujer. Era una voz más joven.</p> <p>–Yo también odio a los niños –dijo.</p> <p>La voz del llanto se sonó la nariz en un soplido corto que Saravia oyó con precisión, como si hubiera sucedido al lado de sus orejas.</p> <p>–Mis relaciones amorosas empiezan y terminan con las relaciones laborales de los tipos con los que trabajo –decía ahora la joven–. Todos estamos entrando o saliendo de un amor, siempre, en todo momento. Por eso, nada de familia. Yo creo que los únicos niños buenos son los que están internados y enfermos, muriéndose en el hospital. A ésos no les queda otra cosa que ser buenos.</p> <p>–Son tan chiquititos... –la otra mujer se sorbió las lágrimas.</p> <p>–Son demonios. Últimamente están peor que nunca. Deberías presentarme a tu ex. ¿De qué trabaja?</p> <p>Saravia miró por la ventana que separaba su vagón del que venía después. Las mujeres estaban al final, apoyadas contra la pared. Una era morocha y alta, y llevaba anteojos negros. La otra era petisa, muy redondeada, con grandes pechos asomando por un escote en V y zuecos altísimos. La petisa se movía como una directora de orquesta; hizo un gesto terminante, un golpe sobre la palma izquierda y Saravia escuchó “que los parta un rayo”. La bocina de llegada al andén absorbió el comentario final. En su vagón se bajaban el harapiento de la frente oxidada y los adolescentes.</p> <p>Saravia avanzó con dificultad hasta las puertas abiertas. Bajó y corrió hasta el otro vagón. “No puede ser que haya oído esa conversación, el sonido de una lágrima.” Subió antes de que las puertas se cerraran con un soplido de sifones. Caminó despacio por el pasillo. El subte, sin arrancar, hizo un temblor liviano. La morocha se acomodó los anteojos, que le quedaron enganchados en el pelo. Saravia vio los ojos rojos, frotados. La petisa abría y cerraba la boca, pero él no pudo distinguir sus palabras, a pesar de que ahora estaba más cerca. Las dos llevaban el pelo húmedo. Las puertas del subte se volvieron a abrir. La petisa agarró la mano de su amiga y dijo “mejor bajamos”, en un silencio que la máquina le permitió, y encaró con sus tetas y sus zuecos hacia el andén. Si Saravia hubiera alargado su brazo con el periódico extendido, habría podido detenerlas, pero se quedó congelado en el lugar: era la misma voz que había oído desde el otro vagón. Se rascó la cabeza, pasándose la mano hacia atrás por la frente amplia, golpeó el pilotín mojado de una estrábica con su hombro derecho y se lanzó detrás de las mujeres hacia las puertas que se cerraban, que lo dejaban adentro mirándolas pasar los molinetes, perderse por las escaleras mecánicas. Una manija de la puerta estaba más alta que la otra. El vidrio decía: “Apertura manual”. Por detrás del cartel apareció, otra vez, el telón negro del túnel.</p> <p>El vagón ahora estaba más lleno. Incluso más que el anterior, al que no había subido casi nadie, apenas una pareja, y en el que la señora gorda seguía sentada, mirando hacia el costado. “Pensar en el subte es pegajoso”, supuso Saravia. “Hace transpirar.” La gorda se llevó una mano al peinado, buscándose la oreja derecha. Saravia la estaba mirando a través de la ventana que separaba los vagones. Ella despegó de adentro de su oreja el pequeño parlante sudado. Saravia alcanzó a oír la canción emitida desde la intimidad de ese walkman lejano; un viejo himno de los sesenta. Conocía esas estrofas de memoria; y ahora las distinguía nítidamente, a pesar de la distancia.</p> <p>Cuando el tren se detuvo en la terminal, Saravia se bajó con toda la gente. Desde el agujero del túnel, la noche llegaba en el sonido de la lluvia tapando frenadas sobre el agua, pasos de gente subiendo escaleras, suelas de transeúntes a punto de cruzar las avenidas, arriba. Una gota, proveniente del techo, alcanzó la cara de Saravia cuando giró la cabeza y no el molinete para ver cómo se cerraban las puertas del tren; cuando volvió a mirar hacia la gorda que se sacaba definitivamente los auriculares para abrir su paraguas, casi a diez metros de distancia de donde él estaba. Entonces oyó otra vez la musiquita corta que ahora hablaba sobre las cosas del querer, hasta que ella puso el stop; oyó deci </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/mx/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="2194"> <input type="hidden" name="editorial" value="948913"> <input type="hidden" name="tematicas" value="3"> <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 selected 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 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> <div class="p_leer_mas p_leer_mas_prod" style="overflow: hidden; text-overflow: ellipsis;"> <span style="text-align: justify;">Responsable: Penguin Random House Grupo Editorial,S.A.U. (Penguinlibros) con domicilio social en Travessera de Gràcia, 47-49 08021 Barcelona NIF: A 08116147 contacto: lopd@penguinrandomhouse.com. Finalidad: tratará sus datos personales para i...</s> <a href="#" class="l_leer_mas" onclick="$('.p_leer_mas').hide();$('.p_leer_menos').show();$('.l_leer_menos').show();" style="text-decoration: underline !important;">Leer más</a> </div> <div class="p_leer_menos"><span><span style="text-align: justify;">Responsable: Penguin Random House Grupo Editorial,S.A.U. (Penguinlibros) con domicilio social en Travessera de Gràcia, 47-49 08021 Barcelona NIF: A 08116147 contacto: lopd@penguinrandomhouse.com. Finalidad: tratará sus datos personales para informarte sobre nuestros productos, servicios, novedades, sorteos, concursos y eventos. Puede ver más detalles </span><a href="https://www.penguinlibros.com/mx/content/10-proteccion-de-datos" style="text-align: justify;">aquí</a><span style="text-align: justify;">. Legitimación: Ejecución del contrato y consentimiento del interesado. Destinatario: cedemos tus datos a las empresas de nuestro grupo para poder mostrar el catálogo disponible. Puede ver más detalles </span><a href="https://www.penguinlibros.com/mx/content/10-proteccion-de-datos" style="text-align: justify;">aquí</a><span style="text-align: justify;">. </span><span style="text-align: justify;">Derechos: Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en nuestra política que puede consultar en el siguiente </span><a href="https://www.penguinlibros.com/mx/content/10-proteccion-de-datos" style="text-align: justify;"><u>enlace.</u></a></span> <a class="l_leer_menos" onclick="$('.p_leer_menos').hide();$('.p_leer_mas').show();$('.l_leer_mas').show();">Leer menos</a> </div> </div> </div> <script type="text/javascript"> var psgdpr_front_controller = "https://www.penguinlibros.com/mx/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 = "dec394b2e041ef5382e970afa99559b1893dcd53"; 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=154502 type="submit" value=" OK"> <input class="btn btn-primary hidden-xs-down subscription-categories-btn margin-center modal-newsletter btnsns" data-id_product=154502 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 amor enfermo</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 selected" style="display:inline-block;"> <a href="//www.penguinlibros.com/mx/tematicas/154502-ebook-el-amor-enfermo-9789870422280 "> <picture class="lazy"> <source data-srcset="https://www.penguinlibros.com/mx/2202225-home_default/el-amor-enfermo.webp" type="image/webp"> <source data-srcset="https://www.penguinlibros.com/mx/2202225-home_default/el-amor-enfermo.jpg"> <img data-srcset="https://www.penguinlibros.com/mx/2202225-home_default/el-amor-enfermo.jpg" alt="El amor enfermo" class="img-fluid photo"> </picture> <span class="formato">eBook</span> <div class="row"> <span class="col precio">$99.00 </span> </div> </a> </div> </div> </div> </div> <div class="clearfix"></div> </div> </div> </footer> </main> <script type="text/javascript" src="https://www.penguinlibros.com/mx/themes/megustaleer/assets/cache/bottom-cb7e2a457.js" data-cookieconsent="ignore" ></script> <script type="text/javascript" src="/mx/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/mx/datos-personales" >Inicia sesión</a> </li> <li class="nav-item"> <a class="nav-link" id="registro-tab" href="https://www.penguinlibros.com/mx/iniciar-sesion?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"> Correo electrónico </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"> Contraseña </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="Al menos 5 caracteres" 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">Recuérdame</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/mx/recuperar-contrasena" rel="nofollow"> ¿Olvidaste tu contraseña? </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"> Iniciar sesión </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/mx/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/mx/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/mx/iniciar-sesion?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>Añadido a tu lista de deseos</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", "43764223"); pagetime.append("id_page", "15"); pagetime.append("time_start", "2024-04-27 06:30:54"); pagetime.append("token", "8d3f19d95f3db3f09ff98d11884693f92d160519"); pagetime.append("time", time_end-time_start); pagetime.append("ajax", "1"); navigator.sendBeacon("https://www.penguinlibros.com/mx/index.php?controller=statistics", pagetime); }); </script> <button id="back-to-top"> <i class="fa fa-angle-up" aria-hidden="true"></i> </button> </body> </html>