CINXE.COM

Harlequin.com

<!-- mainHtml.vm --> <!DOCTYPE html> <!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> <html xmlns="https://www.w3.org/1999/xhtml" xmlns:og="https://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:book="https://ogp.me/ns/book#" xmlns:addthis="https://www.addthis.com/help/api-spec" xml:lang="en" lang="en"> <!--<![endif]--> <!-- doctype.vm --> <!-- homeLink https://www.harlequin.com/shop/index.html --> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- TODO: Facebook tags --> <meta property="og:url" content="" /> <meta property="og:type" content="" /> <meta property="og:title" content="" /> <meta property="og:description" content="" /> <meta property="og:image" content="" /> <!-- TODO: Twitter tags --> <meta name="twitter:site" content="" /> <meta name="twitter:image" content="" /> <meta name="twitter:card" content="" /> <meta name="twitter:creator" content="" /> <title>Harlequin.com</title> <meta name='description' content='Visit the official Harlequin book site. See the newest novels, discuss with other book lovers, buy romance books online.' /> <script> !function(e){if(!window.pintrk){window.pintrk = function () { window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var n=window.pintrk;n.queue=[],n.version="3.0";var t=document.createElement("script");t.async=!0,t.src=e;var r=document.getElementsByTagName("script")[0]; r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js"); pintrk('load', '2614058472554', {em: '$email'}); pintrk('page'); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?event=init&tid=2614058472554&pd[em]=$email&noscript=1" /> </noscript> <!-- LiveConnectTag for advertisers --> <script type="text/javascript" src="//b-code.liadm.com/a-021e.min.js" async="true" charset="utf-8"></script> <!-- LiveConnectTag for advertisers --> <!-- Global site tag (gtag.js) - Google Ads: AW-1066987404 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-1066987404"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config','AW-1066987404'); <!-- Event snippet for Page Views conversion page --> gtag('event', 'conversion', { 'send_to': 'AW-1066987404/-U5YCPDb9AEQjN_j_AM', 'value': 1.0, 'currency': 'CAD' }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '&gtm_auth=raJMhPi0XwctsaYKdF81VQ&gtm_preview=env-1&gtm_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NP3FG9X');</script> <!-- End Google Tag Manager --> <link rel="icon" href="https://www.harlequin.com/store/20160115001/responsive/assets/img/favicon/hqn_icon_red_white_bg.png"> <link rel="apple-touch-icon" sizes="any" href="https://www.harlequin.com/store/20160115001/responsive/assets/img/favicon/hqn_icon_red_white_bg.png"> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/css/app.css?v=20240608"> <link type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/slick/slick.css"> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/slick/slick-theme.css"> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/jquery/jquery.min.js?099b02f557da83a01eca886f070d6cac984b12c1"></script> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/main.js?ver=20210613"></script> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/css/algolia_styles.css?v=20230526"> <script> function imgError(image) { image.onerror = ""; image.src = "https://www.harlequin.com/store/20160115001/images/missing_cover_lg.png"; return true; } var formatNames = {}; formatNames['PB'] = 'Paperback'; formatNames['EB'] = 'eBook'; formatNames['HC'] = 'Hardcover'; formatNames['TP'] = 'Trade Paperback'; formatNames['LP'] = 'Larger Print'; formatNames['AB'] = 'Audiobook'; </script> <script> function authorImgError(image) { image.onerror = ""; return true; } </script> <!--[if IE 9]> <style> select { background-image: none !important; padding-right: 0.5rem !important; } </style> <![endif]--> <script> $('#MyRewardsBlock').show(); $('#MyRewardsBlock').append('<a href="myrewards.html?mt=loyalty" class="mega-link">My Rewards</a>'); </script> <!-- sub_socialLogin_native.vm --> <script type="text/javascript"> /** * * Facebook SSO */ function triggerFacebookLoginDialog() { //setTimeout(function(){ FB.login(myFacebook_statusChangeCallback); }, 1); FB.login(myFacebook_statusChangeCallback); return false; } function myFacebook_statusChangeCallback(response) { //console.log(response); if (response.status === 'connected') { // Logged into your app and Facebook. postFacebookLoginDoingSsoCheck(response); } else if (response.status === 'not_authorized') { // The person is logged into Facebook, but not your app. //document.getElementById('status').innerHTML = 'Please log ' + 'into this app.'; } else { // The person is not logged into Facebook, so we're not sure if // they are logged into this app or not. } } // This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function myFacebook_checkLoginState() { FB.getLoginStatus(function(response) { myFacebook_statusChangeCallback(response); }); } window.fbAsyncInit = function() { FB.init({ appId : 815927408545013, //defining cookie true will cause slowness??? cookie : false, // enable cookies to allow the server to access the session //defining xfbml true will cause slowness??? xfbml : true, // parse social plugins on this page version : 'v2.2' // use version 2.2 }); FB.Event.subscribe('edge.create', function(url, htmlElement) { onFacebookEvent('like', url); }); FB.Event.subscribe('comment.create', function(url, htmlElement) { onFacebookCommentEvent('comment', url); }); }; //expect to be redefined in individual page var onFacebookEventListener = null; function onFacebookEvent(evt, evtSrc) { if (onFacebookEventListener != null) { onFacebookEventListener(evt, evtSrc); } }; var facebookCommentEventListener = null; function onFacebookCommentEvent(evt, evtSrc) { if((evt=="comment") && (facebookCommentEventListener!=null)) { facebookCommentEventListener(evt, evtSrc); } }; function openOwnFacebookShareDialog() { FB.ui( { method: 'feed', name: 'Facebook Dialogs', link: windows.location.href, //picture: 'https://fbrell.com/f8.jpg', //caption: 'Reference Documentation', description: 'Dialogs provide a simple, consistent interface for applications to interface with users.' }, function(response) { if (response && response.post_id) { //console.log('Post was published.'); onFacebookEvent('share', windows.location.href); } //else { console.log('Post was not published.'); } } ); } // Load the SDK asynchronously (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); var fbAuthResponseObject = null; function postFacebookLoginDoingSsoCheck(fbLoginStatusResponseObject) { fbAuthResponseObject = fbLoginStatusResponseObject; var fbLoginStatusResponseString = JSON.stringify( fbLoginStatusResponseObject ); // FB.api('/me', function(response) { // console.log('Successful fb login for user : ' + response); // checkSsoStatus(fbAuthResponseObject, response ); // }); var pms = getMememberTypeRedirect(); //alert ("mt=" + pms.mt + ", redirect=" + pms.redirecturl); jQuery.ajax( { type: "POST", dataType: 'json', async: false, url: "https://www.harlequin.com/social_facebook_login_authorized.html?mt=" + getMememberTypeRedirect().mt , data: { provider: 'facebook', providerLoginStatusResponse: fbLoginStatusResponseString, providerLoginStatus:true, providerUid: fbLoginStatusResponseObject.authResponse.userID, siteLoginStatus : false, timestampInSecond : 0, accessToken : fbLoginStatusResponseObject.authResponse.accessToken, action : 'socialFacebookAuthorized', actionResultCode : 0 }, success: function( ssoStatusResponse ) { //console.log("plain response =" + ssoStatusResponse); onLoginHandler_hqn(ssoStatusResponse); } }); } /** * Twitter SSO */ var twitterLoginPopup = null; function triggerTwitterLoginDialog() { twitterLoginPopup = window.open('', '_blank','location=1,titlebar=yes,width=500, height=400'); //avoid ad blocker twitterRequestToken(); } function twitterRequestToken() { jQuery.getJSON( "https://www.harlequin.com/social_twitter_req_token.html", { token: document.getElementById('loginBoxSocialMediaWrapperToken').innerHTML, signature: document.getElementById('loginBoxSocialMediaWrapperSignature').innerHTML, redirecturl: window.location.href, mt: getMememberTypeRedirect().mt }, function( data ) { //console.log("twitter request token done, redirect to twitter login page") //window.location = data; var good = false; if (data != null ) { var url = data.toLowerCase(); if (url.indexOf("twitter.") >-1) { good = true; twitterLoginPopup.location.href=data; } } if (!good) { location.reload(); //token expired?? } }); } </script> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/harlequin/socialLogin.js?v1.2"></script> <script type="text/javascript"> // ForeSee Production Embed Script v2.00 // DO NOT MODIFY BELOW THIS LINE ***************************************** ;(function (g) { var d = document, am = d.createElement('script'), h = d.head || d.getElementsByTagName("head")[0], fsr = 'fsReady', aex = { "src": "//gateway.foresee.com/sites/harlequin-ca/production/gateway.min.js", "type": "text/javascript", "async": "true", "data-vendor": "fs", "data-role": "gateway" }; for (var attr in aex){am.setAttribute(attr, aex[attr]);}h.appendChild(am);g[fsr] = function () {var aT = '__' + fsr + '_stk__';g[aT] = g[aT] || [];g[aT].push(arguments);}; })(window); // DO NOT MODIFY ABOVE THIS LINE ***************************************** </script> <script> function headerSignInToggle() { var headerSigninDropDownToggle = document.querySelector(".header-account-dropdown-toggle"); var navAccountDropdownLarge = document.querySelector(".nav-account-dropdown-large"); if (headerSigninDropDownToggle === null || navAccountDropdownLarge === null) { return; } // adjust dropdown position closer to toggle button navAccountDropdownLarge.style.top = "37px"; navAccountDropdownLarge.style.left = "70px"; headerSigninDropDownToggle.addEventListener('click', function () { var toggleAriaExpandedValue = this.getAttribute("aria-expanded"); if (toggleAriaExpandedValue == "true") { toggleAriaExpandedValue = "false"; navAccountDropdownLarge.setAttribute("aria-hidden", "true"); navAccountDropdownLarge.classList.remove("is-open"); } else { toggleAriaExpandedValue = "true"; navAccountDropdownLarge.setAttribute("aria-hidden", "false"); navAccountDropdownLarge.classList.add("is-open"); } this.setAttribute("aria-expanded", toggleAriaExpandedValue); }); }; if (document.readyState == 'loading') { // DOM not ready yet document.addEventListener('DOMContentLoaded', headerSignInToggle); } else { // DOM is ready headerSignInToggle(); } </script> <!-- OneTrust Cookies Consent Notice start for harlequin.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="c1a7fc56-0e0e-43d9-82e8-b8cd04039d8a" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for harlequin.com --> <script src="https://ak.sail-horizon.com/spm/spm.v1.min.js"></script> <script>Sailthru.init({ customerId:'cf155ee21bf9f2f9b9ed45b9b3800792' });</script> <script> function stSubscribeNewsletter(engagement_category, emailAddress, firstName, birthDay) { var d = new Date(); var firstName=firstName==null?'':firstName; var birthDay=birthDay==null?'':birthDay; var date = new Date(); var dateTimeFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month: '2-digit', day: '2-digit' }); const [{ value: month },,{ value: day },,{ value: year }] = dateTimeFormat.formatToParts(date); console.log(year+'-'+month+'-'+day); var formatted_date=year+'-'+month+'-'+day; console.log('engagement_category='+engagement_category); console.log('emailAddress='+emailAddress); console.log('var optin_date='+formatted_date); console.log('var first_name='+firstName); console.log('var birth_date='+birthDay); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "harlequin_news" : 1 // list to add user to }, "vars" : { "optin_date" : formatted_date, "first_name" : firstName, "birth_date" : birthDay, "user_optin_update": "true" }, "source" : engagement_category, "onSuccess" : function() { console.log('Thank you for signing up for our list'); window.location.href = "http://www.harlequin.com/shop/pages/newsletter-sign-up-confirmation.html"; }, "onError" : function() { console.log('We encountered an issue signing you up. Please try again'); } }); } function stUnSubscribeNewsletter(emailAddress) { console.log('newsletter unsubscribe emailAddress='+emailAddress); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "harlequin_news" : 0 // list to remove user from }, "onSuccess" : function() { console.log('unsubscribed from newsletter succesfully'); window.location.href = "https://www.harlequin.com/shop/pages/unsubscribe-confirmation.html"; }, "onError" : function() { console.log('We encountered an issue unsubing you from newsletter. Please try again'); } }); } function stUnSubscribeGlobal(emailAddress) { console.log('global unsubscribe emailAddress='+emailAddress); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "global unsub list" : 0 // list to remove user from (must exist in Sailthru account) }, "onSuccess" : function() { console.log('global unsubscribed succesfully'); }, "onError" : function() { console.log('We encountered an issue global unsubing you. Please try again'); } }); } </script> <script> !function (w, d, t) { w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}; ttq.load('CFV5AQJC77UFDMGL7J4G'); ttq.page(); }(window, document, 'ttq'); </script><!-- header_cookies.vm --> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/base64.js"></script> <script type="text/javascript"> function getMyCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) != -1) return Base64.decode(c.substring(name.length,c.length)); } return ""; } function setBase64Cookie(cname, cvalue) { document.cookie = cname +"=" + Base64.encode(cvalue) + "; expires=2038-01-15, 03:14:08 UTC;domain=.harlequin.com; path=/"; } function removeCookie(cname) { var pastTime = new Date(); pastTime.setTime(pastTime.getTime() - 600000); document.cookie = cname+"=; expires="+pastTime.toUTCString()+";domain=.harlequin.com;path=/"; } function setHerderInfoCookie() { removeCookie("hqUserInfo"); setBase64Cookie("hqMiniBasket", "0|||||"); } setHerderInfoCookie(); </script> </head> <body class=" wp-admin auto-fold "> <!-- checking schedulable_content/scheduledBlock_topBar_202412_month_long_sale.vm --> <!-- parse schedulable_content/scheduledBlock_topBar_202412_month_long_sale.vm --><style> .sli-search-facet-group-toggle-heading button.sli-search-facet-group-toggle { font-family: inherit !important; } .promo-bar { font-size: 12px; padding: .5em .25em; background-color: #d2f1ff; color: #d11b33; } .promo-bar__coupon-code { font-weight: 600; } .promo-bar__details-btn { font-size: .875em; text-underline-offset: 3px; /* text-decoration: underline dotted; */ } .promo-bar__details-btn:hover, .promo-bar__details-btn:focus, .promo-bar__details-btn:active { /* text-decoration-thickness: 2px; */ text-decoration-style: solid; text-decoration: underline; } .promo-bar__cta { background-color: #d11b33 !important; color: #ffffff !important; /* text-underline-offset: 3px; */ /* padding: .25em 1em; */ padding: .4em 1em.25em 1em; display: inline-block; margin: 0 1ch; text-decoration: none; font-weight: 600; line-height: 1; border-radius: 50px; /* margin-top: .25em; */ } .promo-bar__cta:hover, .promo-bar__cta:focus, .promo-bar__cta:active { text-underline-offset: .25em; text-decoration-thickness: 1px; text-decoration-style: solid; text-decoration-line: underline; } /* .promo-bar__cta-text { color: #61177C; display: inline-block; margin-left: 1ch; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; } */ .promo-bar-block { display: block; } @media screen and (min-width: 360px) { .promo-bar { font-size: 13px; } } @media screen and (min-width: 641px) { .promo-bar { font-size: 14px; padding: .5rem } } @media screen and (min-width: 1024px) { .promo-bar { font-size: 16px; } .promo-bar-block { display: inline; } .promo-bar__cta { /* padding: .5em 1em; */ } } .site-stripe { position: relative; } .site-stripe-remove { position: absolute; top: 3px; right: 3px; font-weight: normal; } </style> <div class="promo-bar text-center site-stripe" style="border-bottom: 1px solid lightgray;"> Heat up your winter with <strong>30% OFF</strong> when you buy 3 books or more with code <strong>DEC24SALE</strong> <a href="/shop/pages/new-releases.html?ref=site_stripe" class="promo-bar__cta" onclick="gtag('event', 'Click', { 'event_category': 'Link', 'event_label': 'Site Stripe - Month long sale', 'send_to': 'G-H4BTFWNB62' });">SAVE NOW</a> <button class="promo-bar__details-btn" data-open="offer_detail_topbar_201204">details</button> <!-- <button class="site-stripe-remove">X</button> --> </div> <div class="reveal" id="offer_detail_topbar_201204" data-reveal style="padding-top: 3rem"> <p>Coupon code: DEC24DEALS. Offer valid from December 1, 2024 12:00 a.m. ET to December 31, 2024 11:59 p.m. ET while supplies last and cannot be used in conjunction with any other promotion or offer. Discount applied to the list price of each book before tax.</p> <p class="text-center"> <button class="reveal-close-text" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">Close</span> </button> </p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">&times;</span> </button> </div> <script> { function setButtonPadding() { // const cssSelector = '.button:not(.expanded)'; const cssSelector = '.promo-bar__cta'; let buttonEls = document.querySelectorAll(cssSelector); buttonEls.forEach(btn => { btn.style.paddingTop = '0.25em'; btn.style.paddingBottom = '0.25em'; }) } var OSName = "Unknown OS"; if (window.navigator.userAgent.indexOf("Win") != -1) { OSName = "Windows"; } if (window.navigator.userAgent.indexOf("Android") != -1) { OSName = "Android"; } if (window.navigator.userAgent.indexOf("Mac") != -1) { OSName = "MacOS"; setButtonPadding(); } // console.log('Your OS: ' + OSName); }; </script> <!-- checking $popUpModalDTO.popUpModal --> <noscript><center><strong>JavaScript must be enabled in your browser in order to use some functions.</strong></center></noscript> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NP3FG9X&gtm_auth=raJMhPi0XwctsaYKdF81VQ&gtm_preview=env-1&gtm_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="skiplink-container"> <a href="#main-content">Skip to main content</a> <a href="#main-nav">Skip to main navigation</a> <a href="https://www.harlequin.com/shop/pages/accessibility-policy.html">Accessibility Policy</a> </div> <div id="container"> </div> <!-- page content starts --> <!-- currPage myaccount_login --> <!-- myaccount_login.vm --> <div class="row column text-center"> <div class="hqn-logo-mobile"> <a href="https://www.harlequin.com/" title="Harlequin home"> <img src="https://www.harlequin.com/store/20160115001/responsive/assets/img/Harlequin-Logo_RGB_RED.png" alt="Harlequin logo"> <!--span class="show-for-sr">Harlequin</span--> </a> </div> </div> <main class="main-content" id="main-content" role="main"> <!-- signin_page.vm --> <div class="row u-margin-top-1"> <div class="sign-in-form-container columns medium-8 medium-offset-2 large-6 large-offset-3"> <h1 class="text-center">Sign in</h1> <p class="text-center">Access your Harlequin account, read free online reads, track orders, manage your wishlist and more.</p> <div class="u-max-width-300 u-block-center"> <form id="main" action="signin.html" method="post" novalidate data-parsley-validate=""> <input type="hidden" name="securitytoken" value="e870a0a8-3e44-4c5d-bbdc-31db3035c9d8"> <input type="hidden" name="mode" value="login"> <input type="hidden" value="20160115001" name="vendorId"> <input type="hidden" value="addtowishlist.html?vid=20160115001&ic=9780369738417&returnUrl=$currentPageUrl" name="redirectUrl"> <input type="hidden" value="1" name="mt"> <input type="hidden" value="" name="socialLoginEventStr"> <div class="row"> <div class="columns form-group"> <label for="email">Email Address <input id="id-EmailLogin" value="" name="loginEmail" type="email" required data-parsley-trigger="change" data-parsley-required-message="This is required." data-parsley-type-message="Sorry, that doesn't look right. Please check it's a proper email." autocomplete="email" > <span class="messages"></span> </label> </div> <div class="columns form-group"> <label for="password">Password <input id="id-PasswordLogin" value="" name="loginPassword" type="password" required required data-parsley-trigger="change" data-parsley-required-message="This is required." autocomplete="current-password" autocapitalize="none" autocorrect="off" > <span class="messages"></span> </label> </div> <div class="columns u-margin-top-1"> <button class="button button_theme-1 expanded sign-in-button" type="submit" value="Submit">Secure Sign In</button> <a href="forgot_password.html" class="link-secondary">Forgot your password?</a> </div> </div> </form> <div class="text-center line-behind"><span></span></div> <div class="text-center line-behind u-margin-bottom-2"><span>New to Harlequin?</span></div> <a href="https://www.harlequin.com/signin.html?mt=1&register=1&redirecturl=addtowishlist.html?vid=20160115001&ic=9780369738417&returnUrl=$currentPageUrl" class="button button_theme-2 expanded">Create Account</a> </div> </div> </div> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/js/app.js?1501254000773"></script> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/slick/slick.min.js"></script> <script> //refine_filters_hidden .refine__wrapper $(document).ready(function(){ $(".reads-refine__filter-toggle").on("click", function(e){ e.preventDefault(); $(".reads-refine").toggleClass("reads-refine_filters_hidden"); }); }); </script> <script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script> <script> $( document ).ready(function() { WebFont.load({ google: { families: ['Poppins:300,400,500,600,700', 'Libre Baskerville'] }, /* Only on pages where Equalizer is used */ active: function () { Foundation.reInit('equalizer'); } }); }); </script> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/parsley.min.js"></script> <script> window.Parsley .addValidator('passwordStrength', { requirementType: 'string', validateString: function(value, requirement) { //console.log(value); if ( value.length < 7 ) return false; if ( !(/[A-Z]/.test(value)) ) return false; if ( !(/[a-z]/.test(value)) ) return false; if ( !(/[0-9]/.test(value)) ) return false; return true; //return 0 === value % requirement; }, messages: { en: 'This does not meet the password requirement.', } }); window.Parsley.on('form:error', function() { //$(".alert.callout").show(); }); </script> <footer class="row u-margin-top-2 text-center sign-in-register-footer footer footer_theme_register-signin-password-reset"> <div class="column"> <ul class="footer__links"> <li><a href="http://corporate.harlequin.com/privacy-policy/">Privacy Policy</a></li> <li><a href="http://corporate.harlequin.com/terms-and-conditions/">Terms &amp; Conditions</a></li> <li><a href="/membership-agreement.html">Membership Agreement</a></li> </ul> </div> <div class="column u-margin-top-1"> <p>Copyright &copy; 2000-2024 Harlequin Enterprises ULC. All Rights Reserved.</p> </div> </footer> </main> <!-- page content ends --> <form name="hqnAddCrtForItem" action="https://www.harlequin.com/basket.html?vid=20160115001" class="form-book-listing checkout-modal"> <input type="hidden" name="securitytoken" value="e870a0a8-3e44-4c5d-bbdc-31db3035c9d8"> <input type="hidden" name="basketItems[0].itemToProcess" value="true" /> <input type="hidden" name="basketItems[0].quantity" value="1" /> <input type="hidden" name="basketItems[0].vendorId" value="20160115001" /> <input type="hidden" name="itemscount" value="1" /> <input type="hidden" name="mode" value="addItem" /> <input type="hidden" name="vendorId" value="20160115001" /> <input type="hidden" name="viewMode" value="item" /> <input type="hidden" name="showModalWindow" value="false"> <input type="hidden" id="hqn_add_cart_isbn" name="basketItems[0].itemCode" value="" /> </form> <!-- sub_omniture_vars.vm --> <!-- currPage myaccount_login --> <!-- cid $request.getParameter("cid") --> <!-- OMNITURE VARIABLES --> <!-- pageType My Account --> <!-- channel --> <!-- category --> <!-- subCategory1 --> <!-- subCategory2 --> <!-- actualItem --> <!-- pageName My Account --> <!-- SiteCatalyst code version: H.11. Copyright 1997-2007 Omniture, Inc. More info available at https://www.omniture.com --> <script language="JavaScript" src="https://www.harlequin.com/store/20160115001/scripts/harlequin/s_code_v2.js"></script> <script language="JavaScript"><!-- /* You may give each page an identifying name, server, and channel on the next lines. */ s.pageName=unescape("My Account"); s.server=""; s.channel=""; s.pageType=""; s.prop1=""; s.prop2=""; s.prop3=""; s.prop4=""; s.prop5=""; s.prop6=""; s.prop7=""; s.prop8="8.222.208.146|My Account||"; s.prop9=""; //non checkout pages '',false s.prop10=unescape("My Account"); s.prop11=unescape("My Account"); s.prop12=unescape("My Account"); s.prop13=unescape("My Account"); /* E-commerce Variables */ scPageSrc=""; scPageType="My Account" scCategory=""; scSubCategory=""; scSubCategory2=""; scMerchandising="false"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code)//--></script> <script language="JavaScript" type="text/javascript"><!-- if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-') //--></script><noscript><img src="https://eharlequin.d1.sc.omtrdc.net/b/ss/harlequincom/1/H.25.5--NS/0" height="1" width="1" border="0" alt="" /></noscript><!--/DO NOT REMOVE/--> <!-- End SiteCatalyst code version: H.25.1. --><!-- sub_jira_tag.vm --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('dataProcessingOptions', ['LDU'], 0, 0); fbq('init', '1421149728143095'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1421149728143095&ev=PageView&noscript=1"/></noscript> <script> function viewContent(){ var randomValue = new Date().valueOf() + ".ViewContent"; fbq('track', 'ViewContent', { referrer: document.referrer, userAgent: navigator.userAgent, language: navigator.language }, {eventID: randomValue}); jQuery.getJSON( "/fbsearchevent.ajx?type=ViewContent&val="+randomValue, function(data) { if (data && data.success) { console.log('triggered faceBook Server API ViewContent '); } }); } window.onload = viewContent(); function fbSearchEvent(searchTerm) { var randomValue = new Date().valueOf()+'.'+searchTerm+'.searchEvent'+uuidv4(); gtag('event', 'conversion', {'send_to': 'AW-1066987404/7SgPCOG2tqcBEIzf4_wD'}); gtag('event', 'search', { 'event_category': 'engagement', 'search_term': searchTerm }); pintrk('track', 'search', {search_query: searchTerm}); fbq('track', 'Search', {search_string: searchTerm,content_category: 'Product Search'}, {eventID: randomValue}); window.liQ = window.liQ || [];window.liQ.push({"event": "viewSearchResults", "searchTerm":searchTerm}); jQuery.getJSON( "/fbsearchevent.ajx?type=search&search_term="+searchTerm+"&val="+randomValue, function(data) { if (data && data.success) { console.log('triggered faceBook Server API SearchEvent '); } }); } function uuidv4() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function fbTrackBookDetailRetailer(isbn,retailer) { var eventName='intentToPurchase'+'-'+retailer; fbq('trackCustom', eventName, { retailer: retailer, event_category: 'engagement', isbn: isbn }); } function fbEbookSubInitCheckout() { return true; } function fbLeadCreateAccount() { fbq('track', 'Leads'); return true; } function fbEmailSignUp() { fbq('track', 'EmailSignUps'); return true; } </script> <!-- Base Code: Pinterest Tag --> <!-- end Pinterest Tag --> <script> pintrk('track', 'lead', { lead_type: 'new website customers' }); function trackBookDetailRetailer(isbn,retailer) { pintrk('track', 'intentToPurchase', {lead_type: retailer, line_items: [{product_id: isbn,product_category:''}]}); } </script> <script type="text/javascript"> window.liQ = window.liQ || []; window.liQ.push({"event": "conversion","name": "form_fill"}); function newCust(email) { window.liQ = window.liQ || []; window.liQ.push({"event": "conversion","name": "lead","email": email}); } function emailSignUp(email) { if (email.trim().length>0) { window.liQ = window.liQ || []; window.liQ.push({"event": "conversion","name": "email_signup","email": email}); } } function liveIntentTrackBookDetailRetailer(isbn,retailer,price) { window.liQ = window.liQ || []; window.liQ.push({ "event": "conversion", "name":"IntentToPurchase", "email": "", "conversionId": retailer, "items": [ { "id": isbn, "price": price, "quantity": "1", "currency": "USD" } ] }); } </script> <script type="text/javascript"> gtag('event', 'create_account_form_fill', { 'event_category': 'engagement', 'event_label' : 'create account' }); function newCustGA(email) { gtag('event', 'conversion', { 'send_to': 'AW-1066987404/4Fh4CLD2igIQjN_j_AM', }); //gtag('event', 'leads', { // 'event_category': 'engagement', // 'event_label': email //}); } function emailSignUpGA(email) { if (email.trim().length>0) { gtag('event', 'conversion', {'send_to': 'AW-1066987404/rhiBCOuDsNgBEIzf4_wD'}); gtag('event', 'newsletter_email_sign_up', { 'event_category': 'engagement', 'event_label': email }); } } function gaTrackBookDetailRetailer(isbn,retailer) { gtag('event', 'conversion', {'send_to': 'AW-1066987404/eJwaCPTT9qkBEIzf4_wD'}); gtag('event', 'intent_to_purchase'+":" +retailer, { 'event_category': 'engagement', 'event_label': isbn }); } </script> <script src='https://cdn.levelaccess.net/accessjs/YW1wMTI2MjE/access.js'></script> <script type="text/javascript"> </script><!-- Start WKND tag. Deploy at the beginning of document head. --> <!-- Tag for Harlequin (harlequin.com/shop/index.html) --> <script> (function(d) { var e = d.createElement('script'); e.src = d.location.protocol + '//tag.wknd.ai/7414/i.js'; e.async = true; d.getElementsByTagName("head")[0].appendChild(e); }(document)); </script> <!-- End WKND tag --> <!--Adblock Check --> <!-- disable adblock due to conflict with sli-search <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/adsense.js"></script> <script type="text/javascript"> jQuery(document).ready(checkAds()); function checkAds() {if (document.getElementById('adsense')!=undefined) {document.write("<script>_gaq.push(['_trackEvent', 'Adblock Unblocked', 'Unblocked', 'false',,true]);</sc" + "ript>"); }else{ document.write("<script>_gaq.push(['_trackEvent', 'Adblock Blocked', 'Blocked', 'true',,true]);</sc" + "ript>"); }} </script> --> <!--End Adblock Check--> <!--Alliant--> <img src="//pixel.adblade.com/imps.php?sgms=17188" alt="" border="0" /> <img src="https://tags.w55c.net/rs?id=53f3f7c4a2f34dde9e02f27567bfb46e&t=marketing" height="1" width="1" style="display:none" alt="" aria-hidden="true" /> </div> <script type="text/javascript"> function resetItemsQty() { totalItemsNumber=1-1; if(totalItemsNumber>0) for(currentNum=1;currentNum<=totalItemsNumber;currentNum++){ execString="document.additem"+currentNum+".qty"+currentNum+".value='0'"; eval(execString); } return true; } var hqn_solr_currenyid=${currencyIDInUse}; function getViewport() { var viewPortWidth; var viewPortHeight; // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight if (typeof window.innerWidth != 'undefined') { viewPortWidth = window.innerWidth, viewPortHeight = window.innerHeight } // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document) else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) { viewPortWidth = document.documentElement.clientWidth, viewPortHeight = document.documentElement.clientHeight } // older versions of IE else { viewPortWidth = document.getElementsByTagName('body')[0].clientWidth, viewPortHeight = document.getElementsByTagName('body')[0].clientHeight } return [viewPortWidth, viewPortHeight]; } //document.write('<center>User Agent: ' + navigator.userAgent + '</center>'); //document.write('<center>viewport size: ' + getViewport() + '</center>'); </script> <script type="text/javascript" src="//$sliJsDomain/autocomplete/rac-data/sli-rac.js"></script> <div class="reveal added-to-cart-modal" id="added-to-cart-modal" data-reveal data-close-on-click="false"> <p class="text-center">We have added <span id="cart-modal-book-title"></span> this item to your <a href="/basket.html">cart</a>.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">&times;</span> </button> <div class="row"> <div class="column medium-6"> <button class="button button_theme-5 expanded" data-close>Continue shopping</button> </div> <div class="column medium-6"> <a href="/basket.html" class="button button_theme-2 expanded">View cart</a> </div> </div> </div> <div class="reveal added-to-wishlist-modal" id="added-to-wishlist-modal" data-reveal data-close-on-click="false"> <p class="text-center">We have added this item to your <a href="/wishlist.html">wishlist</a>.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">&times;</span> </button> </div> <div class="reveal added-to-wishlist-full-modal" id="added-to-wishlist-full-modal" data-reveal data-close-on-click="false"> <p class="text-center">The Wishlist is limited to 20 books, please <a href="/wishlist.html">remove some</a> if you wish to add more.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">&times;</span> </button> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10