CINXE.COM
Buy Non-Fiction Legal Law Books Online - Booktopia
<!DOCTYPE html> <html class="ie lte9 lte8 lte7" xmlns="https://www.w3.org/1999/xhtml" xmlns:fb="https://ogp.me/ns/fb#" xmlns:og="https://opengraphprotocol.org/schema/"> <head> <title>Buy Non-Fiction Legal Law Books Online - Booktopia</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta property="og:description" content="Booktopia - Buy Law books online from Australia's leading online bookstore. Discount Law books and flat rate shipping of $9.99 per online book order."> <meta name="description" content="Dive into the intricate world of law with our collection of non-fiction law books. Expand your understanding of the law with Booktopia's comprehensive books." /> <meta name="googlebot" content="index, follow" /> <meta name="robots" content="index, follow" /> <meta name="verify-v1" content="F64zs4eUjSjTSL0rPUgr9PhYfo83zSq3P5vPZv/82pw=" /> <meta name="verify-v1" content="KglSvZ6iSpITiVE7VWFSJvDW1Pubrd0s/OJl2JD2VE4=" /> <meta name="google-site-verification" content="WYJj8GuhTmtMPcGLnWPnypIz5pphLymkgK1b1R2x4kw" /> <META name="y_key" content="c9aade7ff6d13867"> <meta property="fb:app_id" content="116180781751442"/> <meta name="ec_enabled" content="true" id="ec_enabled"/> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://www.google.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://static.scarabresearch.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://cdn.flavedo.io" crossorigin/> <link rel="preload" href="https://www.booktopia.com.au/wro/5404/jQuery.js?v=dev-20250213114820" as="script"/> <link rel="preload" href="https://www.booktopia.com.au/wro/5404/booktopia.desktop.css?v=dev-20250213114820" as="style" /> <link rel="preload" href="https://www.booktopia.com.au/template-resources/icon-fonts/booktopia.ttf?v=dev-20250213114820" as="font" crossorigin/> <link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-roman.var.woff2?v=3.19" as="font" crossorigin/> <link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-italic.var.woff2?v=3.19" as="font" crossorigin/> <link rel="icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" /> <link rel="shortcut icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" /> <script type="text/javascript"> var baseUrl = "/"; window.BKT_GLOBALS = {sesBrowseProductType: "917504", isMobileSession: false, currentNav: "",serverTimestamp: null, occasion: {enabled: "true",occasionName: "", theme: "color:#fff;background:#009933;", cutoffDate: "12/25/2024", displayWillNotArriveForOccasion: "true"}, version: "dev-20250213114820", fatZebraPaymentGateway: "FatZebra", gaEnhancedEcommerceEnabled: true, includeNotificationHeaderTemplates: false, paypalPayIn4Enabled: "true", enablePromotionText: "true", expressDeliveryEstimationEnabled: "true", expressShippingClassName: "ships-2-days", enableUniversalGA: true, freeShippingPromotionEnabled: 'false' }; </script> <script type="text/javascript">var customPath = "/template-resources";</script> <link rel="stylesheet" href="/wro/5404/booktopia.desktop.css?v=dev-20250213114820" type="text/css" /> <script> function isBotUserAgent(){ var crawlerAgentRegex = /bot|google|aolbuild|baidu|bing|msn|duckduckgo|teoma|slurp|yandex/i; if (crawlerAgentRegex.test(navigator.userAgent)) return true; return false; } function lazyLoadScript(url, callback){ if(isBotUserAgent()) return; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.defer = true; script.type = 'text/javascript'; script.src = url; head.appendChild(script); script.onload = callback; } </script> <style> @font-face { font-family: 'booktopia'; src: url('/template-resources/icon-fonts/booktopia.eot?v=dev-20250213114820'); src: url('/template-resources/icon-fonts/booktopia.eot?v=dev-20250213114820#iefix') format('embedded-opentype'), url('/template-resources/icon-fonts/booktopia.ttf?v=dev-20250213114820') format('truetype'), url('/template-resources/icon-fonts/booktopia.woff?v=dev-20250213114820') format('woff'), url('/template-resources/icon-fonts/booktopia.svg?v=dev-20250213114820#booktopia') format('svg'); font-weight: normal; font-style: normal; font-display: block; } @font-face { font-family: 'Inter'; font-weight: 100 900; font-display: swap; font-style: normal; font-named-instance: 'Regular'; src: url("/template-resources/webfonts/Inter-roman.var.woff2?v=3.19") format("woff2"); } @font-face { font-family: 'Inter'; font-weight: 100 900; font-display: swap; font-style: italic; font-named-instance: 'Italic'; src: url("/template-resources/webfonts/Inter-italic.var.woff2?v=3.19") format("woff2"); } </style> <script async src="//booktopia.api.useinsider.com/ins.js?id=10002591"></script> <!-- Global site tag (gtag.js) - Google Ads: 1071893088 --> <script> lazyLoadScript("https://www.googletagmanager.com/gtag/js?id=AW-1071893088", function(){}) </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-1071893088' ); gtag('config', 'AW-978980296' ); </script> <script> (function(w,d,s,l,i){ if(isBotUserAgent()) return; 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 + '>m_auth=CYkt4R7ZvVvpqpVwuMhNgw>m_preview=env-2>m_cookies_win=x'; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N74L7GH'); </script> <link rel="stylesheet" href="/wro/5404/booktopia.desktop.category-landing.css?v=dev-20250213114820" type="text/css" /> <meta id="google-signin-client_id" name="google-signin-client_id" content="710731560171-45vinu3acor8dihqkbgoas28pkuhob7c.apps.googleusercontent.com" data-enabled="true"> <meta http-equiv="X-UA-Compatible" content="IE=9" /> <!-- Start VWO Async SmartCode --> <script type='text/javascript' id='vwoCode'> if(!isBotUserAgent()) { var _vwo_clicks = 300; //this will track first 300 click window._vwo_code = window._vwo_code || (function () { var account_id = 336745, version = 1.5, settings_tolerance = 2000, library_tolerance = 2500, use_existing_jquery = false, is_spa = 1, hide_element = 'body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important', /* DO NOT EDIT BELOW THIS LINE */ f = false, d = document, vwoCodeEl = d.querySelector('#vwoCode'), code = { use_existing_jquery: function () { return use_existing_jquery }, library_tolerance: function () { return library_tolerance }, hide_element_style: function () { return '{' + hide_element_style + '}' }, finish: function () { if (!f) { f = true; var e = d.getElementById('_vis_opt_path_hides'); if (e) e.parentNode.removeChild(e) } }, finished: function () { return f }, load: function (e) { var t = d.createElement('script'); t.fetchPriority = 'high'; t.src = e; t.type = 'text/javascript'; t.onerror = function () { _vwo_code.finish() }; d.getElementsByTagName('head')[0].appendChild(t) }, getVersion: function () { return version }, getMatchedCookies: function (e) { var t = []; if (document.cookie) { t = document.cookie.match(e) || [] } return t }, getCombinationCookie: function () { var e = code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi); e = e.map(function (e) { try { var t = decodeURIComponent(e); if (!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)) { return '' } return t } catch (e) { return '' } }); var i = []; e.forEach(function (e) { var t = e.match(/([\d,]+)/g); t && i.push(t.join('-')) }); return i.join('|') }, init: function () { if (d.URL.indexOf('__vwo_disable__') > -1) return; window.settings_timer = setTimeout(function () { _vwo_code.finish() }, settings_tolerance); var e = d.createElement('style'), t = hide_element ? hide_element + '{' + hide_element_style + '}' : '', i = d.getElementsByTagName('head')[0]; e.setAttribute('id', '_vis_opt_path_hides'); vwoCodeEl && e.setAttribute('nonce', vwoCodeEl.nonce); e.setAttribute('type', 'text/css'); if (e.styleSheet) e.styleSheet.cssText = t; else e.appendChild(d.createTextNode(t)); i.appendChild(e); var n = this.getCombinationCookie(); this.load('https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&f=' + +is_spa + '&vn=' + version + (n ? '&c=' + n : '')); return settings_timer } }; window._vwo_settings_timer = code.init(); return code; }()); } </script> <!-- End VWO Async SmartCode --> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"Ug4AUFRADAYHV1ZQ",licenseKey:"18e954a8c4",applicationID:"457372"};;/*! For license information please see nr-loader-full-1.283.2.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>p,xN:()=>g});var n=r(3333);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function g(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function p(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.283.2",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>u,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>d});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,u=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9414:(e,t,r)=>{"use strict";r.d(t,{J:()=>c});var n=r(7836),i=r(2646),o=r(944),a=r(3434);const s=new Map;function c(e,t,r,c){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,o.R)(29);const u=function(e){return(e||n.ee).get("logger")}(e),d=(0,a.YM)(u),l=new i.y(n.P);l.level=c.level,l.customAttributes=c.customAttributes;const f=t[r]?.[a.Jt]||t[r];return s.set(f,l),d.inPlace(t,[r],"wrap-logger-",(()=>s.get(f))),u}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},8969:(e,t,r)=>{"use strict";r.d(t,{j:()=>N});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(8154),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(9414);function w(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var A=r(9417),T=r(5603),_=r(5284);const S=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function N(e,t={},p,N){let{init:I,info:P,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();P||(I=H.init,P=H.info,j=H.loader_config),(0,A.xN)(e.agentIdentifier,I||{}),(0,T.a)(e.agentIdentifier,j||{}),P.jsAttributes??={},d.bv&&(P.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,P);const D=(0,A.D0)(e.agentIdentifier),L=[P.beacon,P.errorBeacon];O||(D.proxy.assets&&(S(D.proxy.assets),L.push(D.proxy.assets)),D.proxy.beacon&&L.push(D.proxy.beacon),w(),(0,h.US)("activatedFeatures",_.B),e.runSoftNavOverSpa&&=!0===D.soft_navigations.enabled&&D.feature_flags.includes("soft_nav")),C.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?L:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var w=s.ee.get(e),A=w.get("tracer");E[e]=b.g.OFF,w.on(g.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var T="api-",_=T+"ixn-";function S(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(T,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),(0,R.R)(w,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),(0,x.J)(w,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(T,e,!0,"api")})),p.addPageAction=I(T,"addPageAction",!0,n.K7.genericEvents),p.recordCustomEvent=I(T,"recordCustomEvent",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(T,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return S(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return S("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return S("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),h||(0,a.p)(_+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,w),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(_,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(_,"routeName",void 0,n.K7.softNav):I(T,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,N,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.283.2.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.283.2.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-AvZhj4m+h2B/1kW4uDUzuPHC+lkjrkdXalVNoHyJgrLk7a6iFKNSNge7GsIL8eYZ8zTqKuhnzCa4dbxc+tpeJg==",222:"sha512-iYC8/IszvScsGAJc4YhoK3/RRrYa8Dt4Fx0dMjiPRd/wiJ6bquHHgDpmIPMTULY5f17ZfijdRyIltFMjbQG0ow==",95:"sha512-7nJqBsE9e2w0waUpifeNh5JejezdrAgWS7deetz7SIxIxShxOUsURVpMXZJN4ksOcpN2m3fdUCnna/VQ/1fKoQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.283.2.PROD"]=self["webpackChunk:NRBA-1.283.2.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(8969);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),E=i(2843),A=i(3878),T=i(782),_=i(1863);class S extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),g.RI&&((0,E.u)((()=>(0,w.p)("docHidden",[(0,_.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,_.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(8154);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return D(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(D(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return D(e.error)?e.error:C(e)}function D(e){return e instanceof Error&&!!e.stack}class L extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,_.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,_.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,_.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,_.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,_.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,_.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Ee,Lc:Ae,uP:Te,Rz:_e}=be;class Se extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Te,(function(e,t){this.bstStart=(0,_.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,_.t)()],void 0,a.K7.sessionTrace,r)})),r.on(_e+xe,(function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash})),r.on(_e+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(g.RI&&(e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,w.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,w.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785),ke=i(9414);class He extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;(0,ke.J)(r,g.gm.console,"log",{level:"info"}),(0,ke.J)(r,g.gm.console,"error",{level:"error"}),(0,ke.J)(r,g.gm.console,"warn",{level:"warn"}),(0,ke.J)(r,g.gm.console,"info",{level:"info"}),(0,ke.J)(r,g.gm.console,"debug",{level:"debug"}),(0,ke.J)(r,g.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,S,Se,Ne,he,N,L,Pe,He],loaderType:"pro"})})()})();</script> <link rel="canonical" href="https://www.booktopia.com.au/books/non-fiction/law/cL-p1.html"/> <link rel="next" href=" /books/non-fiction/law/cL-p2.html"/> </head> <body id="" class=" "> <script> var currentPageNav = ""; </script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N74L7GH>m_auth=CYkt4R7ZvVvpqpVwuMhNgw>m_preview=env-2>m_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <style> #education-central-intro{color:#fff;padding-top: 30px;} #education-central-intro>h1{text-shadow:0px 0px 50px #000;} #why-booktopia h2{font-size:26px;margin-bottom:30px;} #why-booktopia span{font-size:90px;margin-bottom:10px;display:inline-block;transition: color 0.3s ease-in-out;} #why-booktopia h3{margin-bottom:5px;} #why-booktopia p{color:#808080;} .feature-box {background: #f7f7f7;height: 200px;} .feature-images {background: #ebebeb;border:none;height: 144px;overflow: hidden;position: relative;} .feature-images .feature-image-1 {bottom: 0;left: 50%;transform: translateX(-50%);z-index: 99;} .feature-images img {display: block;height: 120px;position: absolute; transition: all 0.3s ease-out} .feature-images .feature-image-2 {bottom: -10px;left: 20px; transform: none;} .feature-images .feature-image-3 {bottom: -10px;right: 20px;transform: none; left:auto;} .feature-box h2 {font-size: 17px;height: 53px;line-height: 23px;margin-top: 15px;position: relative;text-align: center;} .custom-category-block-links {border-top:4px solid #f4f4f4;} .custom-category-block>div {position:relative;} .university-category-blocks p {color: #808080;} .custom-category-block .custom-quick-links-tiles .quick-links-thumbnail {background-color:unset;flex-direction:column;overflow:visible;text-align:center;justify-content:flex-end;} .custom-category-block .quick-links-thumbnail:after{content:unset;} .quick-links-thumbnail{height:100%;} .quick-links-thumbnail .link-name {padding-top:10px;color:#333;} .product-carousel-7 h2.dual {margin-top:0;} .product-carousel-7 h2{padding:0;border:none;font-size: 18px;} #body .custom-category-block .university-category-blocks.custom-category-block-links.visible {background-size: cover;} p{margin:0;} #education-central-intro>*{display:inline-block;} .quick-links-tiles>li>a:hover:after{bottom:0px;} .quick-links-tiles>li>a:hover{color:#009933;} .quick-links-tiles>li>a:hover>span{margin-left:10px;transform: translateX(5px); color:#009933;} .quick-links-thumbnail img {max-width:150px;max-height:180px;border-radius:2px;} .view-more a:hover{box-shadow: inset 200px 0px 0px #009933; color: #fff;} .view-more.long a:hover {box-shadow: inset 500px 0px 0px #009933;color: #fff;} .custom-category-block .category-see-more {position:absolute;right:16px;top:20px;z-index:2;border-radius:8px;} #education-central-head .container{background: rgba(255,255,255,0.2);} .feature-images:hover .feature-image-2{left:30px;} .feature-images:hover .feature-image-3{right:30px;} .feature-images:hover .feature-image-1{height:130px;} #university-carousel h3{font-size:24px;} #why-booktopia span:hover{color: #78ba22;} </style> <a name="top"></a> <template id="skip-to-content-template"> <a id="skip-to-content" tabindex="0" style="height: 36px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-weight: 600; text-decoration: underline; "> Skip to content </a> </template> <div id="header" > <div id="top-bar"> <div class="content"> <div class="lhs-link location-selector-link-wrapper"> <a href="javascript:void(0)" class="location-selector-link"> <span class="icon-location1"></span> <span class="link-text"> Hello! Enter your postcode for delivery time </span> </a> </div> <div class="lhs-link"> <a href="/track-order.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Track My Order</span></a> </div> <div class="lhs-link"> <a href="/helpCentre.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Help Centre</span></a> </div> <div class="lhs-link"> <a href="tel: 1300 187 187" data-mh-pe="eventOnClick" data-mh-ec="Click to Call" data-mh-ea="Link click"><b data-mh-label> 1300 187 187</b></a> </div> <div id="fb-like"> <a data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click" data-mh-el="Like" href="//www.facebook.com/pages/Booktopia/91043653859" target="_blank"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/header/facebook-like.png" alt="Likes" width="90" height="20"></a> </div> <div id="links" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"> <a href="javascript:void(0)" class="link-notifications" tabindex="0" title="Notifications"> <span class="icon-bell1"></span> <span id="new-notification-badge"></span> <span data-mh-label class="rhs-link-text">Notifications</span> </a> <div class="if-signed-out"> <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a> <a href="/manage-account.ep" class="grey-11" title="Login/Join"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">Login / Join</span></a> </div> <div class="if-signed-in"> <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a> <a href="/manage-account.ep" title="My Account"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">My Account</span></a> <a href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" title="Sign Out"><span class="icon-log-out"></span> <span data-mh-label class="rhs-link-text">Sign Out</span></a> </div> </div> </div> </div> <div id="top-notifications-container" data-escape-popup data-popup-initiator=".link-notifications"> <div id="top-notification-scroll" > <div id="top-notification-empty">No new notifications.</div> <template id="top-notification-price-template"> <div id="top-notification-price"> <a href="/view-wishlist-nocache.ep?priceDrop=true" class="top-notification top-notification-link row no-gutters align-items-center"> <span class="icon-price-drop col-auto"></span> <p class="col">Items in your wish list have gone down in price.</p> <div class="col-auto"> <span class="notification-button">See All</span> </div> </a> </div> </template> <template id="top-notification-stock-template"> <div id="top-notification-stock"> <a href="/view-wishlist-nocache.ep?backInStock=true" class="top-notification top-notification-link row no-gutters align-items-center"> <span class="icon-back-in-stock col-auto"></span> <p class="col">Items in your wish list are back in stock.</p> <div class="col-auto"> <span class="notification-button">See All</span> </div> </a> </div> </template> </div> </div> <div class="main-content"> <div class="content"> <div id="logo"> <a href="/"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/booktopia-logo-positive.png" width="200" alt="Booktopia" /></a><br> <a href=" /your-local-bookstore/news18.html "><img id="flag" class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/tagline-green.svg" width="198" alt="Australia's local bookstore"/></a> </div> <div class="content-right-section"> <div class="header-right-section float-right"> <div id="search"> <form id="searchform" action="/search.ep" method="get" name="searchForm" onSubmit="return isSearchPopulated('headerSearch')"> <div class="search-box search"> <input id="header-search-box" type="search" maxlength="255" class="search-text expanded" name="keywords" value="Search Title, Author or ISBN" onblur="if (this.value==='') {this.value='Search Title, Author or ISBN'; this.style.color = '#6C737F'; }" onfocus="if (this.value==='Search Title, Author or ISBN') this.value=''; this.style.color = '#1F2A37';"/> <span class="my-skinnable-select skinned-select"> <select name="productType"> <option value="917504" selected="selected" >Books</option> <option value="917505" >eBooks</option> <option value="917510" >Audiobooks</option> <option value="917507" >Audio CDs</option> <option value="917503" >Stationery</option> </select> </span> <span class="icon-arrow-down8"></span> <button id="search-button" type="submit" class="submit float-right row align-items-center" data-skip-mh aria-label="Search"> <span class="icon-global-search font-size-15r mr-2"></span> <span class="search-button-text">Search</span> </button> </div> <template id="recommended-autocomplete-suggestions-template"> <div id="recommended-autocomplete-suggestions" class="autocomplete-suggestions"> <div class="autocomplete-group">Popular Search Terms</div> <div id="search-terms" class="row no-gutters"> </div> <div id="product-carousel"> </div> </div> </template> </form> </div> </div> </div> </div> </div> </div> <div id="top-nav" data-mh-pe="eventOnClick" data-mh-ec="Header - Nav" data-mh-ea="Click"> <div class="content"> <div class="header-version-b-item dcjq-mega-menu"> <ul class="menu" id="hover-menu-top"> <li><a class="sidenav-menu-switch"><div class="navLink"><i class="icon-menu-new"></i><span>ALL</span></div></a></li> <li id="navlink-books-sub"><a href="/?books"><span class="navLink">BOOKS</span></a></li> <li id="navlink-fiction-sub"> <a href="/books/fiction-books/cF-p1.html"> <span class="navLink">FICTION</span> </a> </li> <li id="navlink-non-fiction-sub"> <a href="/books/non-fiction-books/cN-p1.html"> <span class="navLink">NON-FICTION</span> </a> </li> <li id="navlink-australia"><a href="/books/australian-authors-books/l10-p1.html"><span class="navLink">AUSTRALIAN</span></a></li> <li id="mnu-books-children" class="navlink-kids-sub"><a href="/books/kids-childrens-books/cY-p1.html"><span class="navLink">KIDS</span></a></li> <li id="navlink-schools-sub"><a href="/school-books-textbooks/promo152.html"><span class="navLink">SCHOOL</span></a></li> <li> <a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html"> <span class="navLink">ACADEMIC & TEXTBOOKS</span> </a> <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - ACADEMIC" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-4" data-skip-mh> <ul> <h4>University</h4> <li><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/english-literature-higher-education-textbooks/cXAF-p1.html">English & Literature</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/environment-planning-higher-education-textbooks/cXAG-p1.html">Environment & Planning</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/health-care-higher-education-textbooks/cXAI-p1.html">Health Care</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/language-higher-education-textbooks/cXAK-p1.html">Language</a></li> </ul> </li> <li class="col-4" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/mathematics-statistics-higher-education-textbooks/cXAM-p1.html">Mathematics & Statistics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/media-communication-arts-higher-education-textbooks/cXAO-p1.html">Media, Communication & Arts</a></li> <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/politics-higher-education-textbooks/cXAQ-p1.html">Politics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/social-sciences-higher-education-textbooks/cXAR-p1.html">Social Sciences</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/study-skills-for-higher-education/cXAS-p1.html?mlk">Study Skills</a></li> </ul> </li> <li class="col-4" data-skip-mh> <ul> <h4>Vocational</h4> <li><a href="/vocational-trades/series7927.html">Trades</a></li> <li><a href="/vocational-hospitality-tourism/series7931.html">Hospitality & Tourism</a></li> <li><a href="/vocational-business-financial-management/series7929.html">Business, Financial & Management</a></li> <li><a href="/vocational-nursing-health-care/series7928.html">Nursing & Health Care</a></li> <li><a href="/vocational-it-networking-computer-repair/series7930.html">IT, Networking & Computer Repair</a></li> <li><a href="/vocational-education-early-childhood/series7932.html">Education & Early Childhood</a></li> <li><a href="/vocational-social-work-counselling/series7933.html">Social Working & Counselling</a></li> <li><a href="/vocational-design-art-fashion-photography/series7934.html">Design, Art, Fashion & Photography</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">Explore All Academic ></a> </div> </div> </div> </li> <li > <a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')"> <span class="navLink">EBOOKS</span> </a> <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - EBOOKS" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>Fiction</h4> <li><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance </a></li> <li><a href="/ebooks/fiction/crime-mystery/cFF-p1-e.html">Crime & Mystery</a></li> <li><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li> <li><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li> <li><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li> <li><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Kids & YA</h4> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/cYF-p1-e.html">Children's Fiction</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/romance-love-stories-for-children-teenagers/cYFM-p1-e.html">Romance & Love Stories</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/picture-books-early-learning/cYB-p1-e.html">Picture Books & Early Learning</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-non-fiction/cYN-p1-e.html">Children's Non-Fiction</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Non-Fiction</h4> <li><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies</a></li> <li><a href="/ebooks/non-fiction/mind-body-spirit/cVX-p1-e.html">Mind, Body, Spirit</a></li> <li><a href="/ebooks/non-fiction/business-management/cKJ-p1-e.html">Business & Management</a></li> <li><a href="/ebooks/non-fiction/family-health/cVF-p1-e.html">Family & Health</a></li> <li><a href="/ebooks/non-fiction/gardening/cWM-p1-e.html">Gardening</a></li> <li><a href="/ebooks/non-fiction/history/cHB-p1-e.html">History</a></li> <li><a href="/ebooks/non-fiction/politics-government/cJP-p1-e.html">Politics & Government</a></li> <li><a href="/ebooks/non-fiction/psychology/cJM-p1-e.html">Psychology</a></li> <li><a href="/ebooks/non-fiction/science/cP-p1-e.html">Science</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Textbooks</h4> <li><a href="/ebooks/non-fiction/education/l101082-p1-e.html">Education</a></li> <li><a href="/ebooks/non-fiction/medicine/l101082-p1-e.html">Medicine</a></li> <li><a href="/ebooks/non-fiction/accounting-finance/l101082-p1-e.html">Accounting & Finance</a></li> <li><a href="/ebooks/non-fiction/law/l101082-p1-e.html">Law</a></li> <li><a href="/ebooks/non-fiction/psychology/l101082-p1-e.html">Psychology</a></li> <li><a href="/ebooks/non-fiction/mathematics/l101082-p1-e.html">Mathematics</a></li> <li><a href="/ebooks/non-fiction/language-linguistics/l101082-p1-e.html">Language & Linguistics</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/?ebooks">Explore All eBooks ></a> </div> </div> </div> </li> <li ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li> <li ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li> <li ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFTS</span></a></li> <li id="navlink-bargain"><a class="alert" href="/books/bargains/c9-p1.html"><span class="navLink">BARGAINS</span></a></li> <li><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li> </ul> </div> <ul class="header-version-default-item"> <li id="nav-books" class="selected" ><a href="/?books" onclick="checkLatestKeywords(this, '917504')"><span class="navLink">BOOKS</span></a></li> <li id="nav-ebooks" ><a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')"><span class="navLink">EBOOKS</span></a></li> <li id="nav-audio-books" ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li id="nav-games-toys-puzzles" ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li> <li id="nav-stat" ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li> <li id="nav-gifts" ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFT IDEAS</span></a></li> <li id="nav-help"><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li> </ul> <a id="shopping-cart-summary" href="/view-cart.ep"> <div class="numItems"> <span id="numItemsQty"></span> <span id="numItemsUnits"></span> </div> <div class="icon-shopping-cart"></div> <div class="checkout-text">CHECKOUT</div> <div class="total"> </div> </a> <form name="state" style="display:none"> <input name="pageIsDirty" type="text" value="false"/> <input name="stateChangedAt" type="text" value="0"/> <input name="shoppingCartQty" type="text" value=""/> </form> <div class="clearfix"></div> </div> </div> <div id="sub-nav" class=" fluid-sub-nav header-version-default-item"> <div class="content"> <ul class="dcjq-mega-menu"><ul id="hover-menu-top" class="menu" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS" data-mh-ea="Click"> <li id="mnu-books-fiction"><a href="/books/fiction-books/cF-p1.html">FICTION</a> <div class="sub" id="fiction-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - FICTION" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col-auto sub-menu-browse"> <ul><h4>Browse Fiction</h4> <li><a href="/books/fiction/cF-p1.html?list=2"><span class="icon-New-Releases"></span>New Releases</a></li> <li><a href="/books/fiction/cF-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li> <li><a href="/books/bargains/fiction-bargains/c9A-p1.html"><span class="icon-Bargins"></span>Bargains</a></li> <li><a href="/books/fiction/l20-p1.html?cID=F"><span class="icon-Signed-copies"></span>Signed Copies</a></li> </ul> </div> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>Popular Subjects</h4> <li><a href="/books/fiction/cF-p1.html?list=10">Australian Fiction</a></li> <li><a href="/books/fiction/classic-fiction/cFC-p1.html">Classic Fiction</a></li> <li><a href="/books/fiction-books/crime-mystery/cFF-p1.html">Crime & Mystery</a></li> <li><a href="/books/fiction/erotic-fiction/cFP-p1.html">Erotic Fiction</a></li> <li><a href="/books/fiction/fantasy-fiction/cFM-p1.html">Fantasy</a></li> <li><a href="/books/fiction/graphic-novels/cFX-p1.html">Graphic Novels & Manga</a></li> <li><a href="/books/fiction/historical-fiction/cFV-p1.html">Historical</a></li> <li><a href="/books/fiction/modern-contemporary-fiction/cFA-p1.html">Modern & Contemporary</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/non-fiction/literature-poetry-plays/poetry/cDC-p1.html">Poetry</a></li> <li><a href="/books/fiction/romance/cFR-p1.html">Romance</a></li> <li><a href="/books/fiction/science-fiction/cFL-p1.html">Science Fiction</a></li> <li><a href="/books/fiction/thrillers-suspense/cFH-p1.html">Thrillers & Mystery</a></li> <li><a href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">Young Adult</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Popular Authors</h4> <li><a href="/margaret-atwood/author311.html">Margaret Atwood</a></li> <li><a href="/trent-dalton/author1259.html">Trent Dalton</a></li> <li><a href="/jane-harper/author144.html">Jane Harper</a></li> <li><a href="/stephen-king/author225.html">Stephen King</a></li> <li><a href="/dervla-mctiernan/author1258.html">Dervla McTiernan</a></li> <li><a href="/liane-moriarty/author934.html">Liane Moriarty</a></li> <li><a href="/matthew-reilly/author3.html">Matthew Reilly</a></li> <li><a href="/sally-rooney/author1154.html">Sally Rooney</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Popular Series</h4> <li><a href="/the-after-series/series4691.html">After</a></li> <li><a href="/a-game-of-thrones-a-song-of-ice-and-fire-paperbacks-by-george-r-r-martin/series533.html">A Game of Thrones</a></li> <li><a href="/jack-reacher-by-lee-child/series92.html">Jack Reacher</a></li> <li><a href="/the-jack-west-novels-by-matthew-reilly/series6.html">Jack West</a></li> <li><a href="/the-seven-sisters/series5946.html">The Seven Sisters</a></li> <li><a href="/outlander-paperback-novels/series4849.html">Outlander</a></li> <li><a href="/the-witcher-new-paperback-editions/series9231.html">The Witcher</a></li> <li><a href="/thomas-cromwell-trilogy/series6461.html">Wolf Hall</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <ul class="col-12"> <h4>More:</h4> <li><a href="/award-winning-reads/promo2921.html">Award Winning Reads</a></li> <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li> <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li> <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li> <a class="more" href="/books/fiction-books/cF-p1.html">Explore All Fiction ></a> </ul> </div> </div> </li> <li id="mnu-books-nonfiction"><a href="/books/non-fiction-books/cN-p1.html">NON-FICTION</a> <div class="sub" id="non-fiction-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - NON-FICTION" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col-auto sub-menu-browse"> <ul><h4>Browse Non-Fiction</h4> <li><a href="/books/non-fiction/cN-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li> <li><a href="/books/bargains/non-fiction-bargains/c9B-p1.html"><span class="icon-Bargins"></span>Bargains</a></li> </ul> </div> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>Popular Subjects</h4> <li><a href="/books/non-fiction/animals-nature/cWN-p1.html">Animals & Nature</a></li> <li><a href="/books/non-fiction/arts-entertainment/cA-p1.html">Arts & Entertainment</a></li> <li><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li> <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business & Management</a></li> <li><a href="/books/non-fiction/comedy-humour/cWH-p1.html">Comedy & Humour</a></li> <li><a href="/books/non-fiction/computing-i-t-/cU-p1.html">Computing & IT</a></li> <li><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li> <li><a href="/books/non-fiction/crafts-handiwork/cWF-p1.html">Crafts & Handiwork</a></li> <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family & Health</a></li> <li><a href="/books/non-fiction/lifestyle-fashion/fashion-style-guides/cWJF-p1.html">Fashion & Style Guides</a></li> <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li> <li><a href="/books/non-fiction/gardening/cWM-p1.html">Gardening</a></li> <li><a href="/books/non-fiction/self-help-personal-development/green-lifestyle-self-sufficiency/cVSZ-p1.html">Green Lifestyle & Self-Sufficiency</a></li> <li><a href="/books/non-fiction/history/cHB-p1.html">History</a></li> <li><a href="/books/non-fiction/home-house-maintenance/cWK-p1.html">House & Home</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/non-fiction/language-linguistics/cC-p1.html">Language & Linguistics</a></li> <li><a href="/books/non-fiction/mind-body-spirit/cVX-p1.html">Mind, Body, Spirit</a></li> <li><a href="/books/non-fiction/politics-government/cJP-p1.html">Politics & Government</a></li> <li><a href="/books/non-fiction/psychology/cJM-p1.html">Popular Psychology</a></li> <li><a href="/books/non-fiction/religion-beliefs/cHR-p1.html">Religion & Beliefs</a></li> <li><a href="/books/non-fiction/science/cP-p1.html">Science</a></li> <li><a href="/books/non-fiction/self-help-personal-development/cVS-p1.html">Self Help & Personal Development</a></li> <li><a href="/books/non-fiction/society-culture/cJF-p1.html">Society & Culture</a></li> <li><a href="/books/non-fiction/sports-recreation/cWS-p1.html">Sport & Recreation</a></li> <li><a href="/books/non-fiction/transportation/cWG-p1.html">Transportation</a></li> <li><a href="/books/non-fiction/travel-holidays/cWT-p1.html">Travel & Holidays</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Biographies & True Stories</h4> <li><a href="/books/non-fiction/biographies-true-stories/biographies/arts-entertainment-biographies/cBGF-p1.html">Arts & Entertainment Biographies</a></li> <li><a href="/books/non-fiction/biographies-true-stories/biographies/historical-biographies/cBGH-p1.html">Historical Biographies</a></li> <li><a href="/books/non-fiction/biographies-true-stories/biographies/sport-biographies/cBGS-p1.html">Sport Biographies</a></li> <li><a href="/books/non-fiction/travel-holidays/travel-writing/cWTL-p1.html">Travel Writing</a></li> <li><a href="/books/non-fiction/biographies-true-stories/true-stories/true-crime/cBTC-p1.html">True Crime</a></li> <li><a href="/books/non-fiction/biographies-true-stories/true-stories/true-stories-of-heroism/cBTP-p1.html">True Stories of Heroism</a></li> <h4>Cooking, Food & Drink</h4> <li><a href="/books/non-fiction/cooking-food-drink/how-to-cook-recipe-books/baking-cakes-icing-sugarcraft/cWBVS-p1.html">Baking & Desserts</a></li> <li><a href="/books/non-fiction/cooking-food-drink/cooking-for-with-children/cWBQ-p1.html">Cooking for & with Children</a></li> <li><a href="/books/non-fiction/cooking-food-drink/health-wholefood-cookery/cWBH-p1.html">Health & Wholefood Cookery</a></li> <li><a href="/books/non-fiction/cooking-food-drink/national-regional-cuisine/cWBN-p1.html">National & Regional Cuisine</a></li> <li><a href="/books/non-fiction/cooking-food-drink/tv-celebrity-chef-cookbooks/cWBB-p1.html">TV & Celebrity Chefs</a></li> <li><a href="/books/non-fiction/cooking-food-drink/vegetarian-cookery/cWBJ-p1.html">Vegetarian Cookery</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Self Help & Personal Development</h4> <li><a href="/books/non-fiction/self-help-personal-development/advice-on-careers-achieving-success/cVSC-p1.html">Advice on Careers & Success</a></li> <li><a href="/books/non-fiction/family-health/advice-on-parenting/cVFX-p1.html">Advice on Parenting</a></li> <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family, Health & Relationships</a></li> <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li> <li><a href="/books/non-fiction/mind-body-spirit/cVX-p1.html">Mind, Body, Spirit</a></li> <li><a href="/books/non-fiction/psychology/cJM-p1.html">Popular Psychology</a></li> <h4>Professional</h4> <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business</a></li> <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li> <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <ul class="col-12"> <h4>More:</h4> <li><a href="/award-winning-reads/promo2921.html">Award Winning Reads</a></li> <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li> <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li> <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li> <a class="more" href="/books/non-fiction-books/cN-p1.html">Explore All Non-Fiction ></a> </ul> </div> </div> </li> <li id="mnu-books-children"><a href="/books/kids-childrens-books/cY-p1.html">KIDS & YA</a> <div class="sub" id="kids-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - CHILDREN" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col-auto sub-menu-browse"> <ul><h4>Browse Kids & YA</h4> <li><a href="/books/kids-childrens-books/cY-p1.html?list=2"><span class="icon-New-Releases"></span>New Releases</a></li> <li><a href="/books/kids-childrens-books/cY-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li> <li><a href="/books/bargains/kids-and-teens-bargains/c9C-p1.html"><span class="icon-Bargins"></span>Bargains</a></li> <li><a href="/books/kids-childrens-books/l20-p1.html?cID=Y"><span class="icon-Signed-copies"></span>Signed Copies</a></li> </ul> </div> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul id="browse-age"> <h4>Browse by Age</h4> <li><a class="age-under-3" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-0-and-3&src=classic"> <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg"> <path d="M44,-13.4C52.7,12.7,52.7,42.6,34.5,58.4C16.3,74.2,-20,75.9,-42.6,59.3C-65.3,42.7,-74.2,7.8,-64.8,-19.1C-55.4,-46.1,-27.7,-65.2,-5.1,-63.5C17.6,-61.9,35.2,-39.5,44,-13.4Z" transform="translate(100 100)" /> </svg><span>Under 3</span></a></li> <li><a class="age-preschool" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-3-and-6&src=classic"> <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg"> <path d="M69.7,-18.2C79.4,7.3,68.9,43.8,47.9,57C26.9,70.1,-4.6,59.9,-29.3,41.6C-54.1,23.3,-72.1,-3,-66.1,-23.4C-60.1,-43.8,-30,-58.3,0,-58.3C30,-58.3,59.9,-43.8,69.7,-18.2Z" transform="translate(100 100)" /> </svg><span>Pre-School (3-6)</span></a></li> <li><a class="age-school" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-6-and-9&src=classic"> <svg viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg"> <path d="M65.2,-15.3C73.6,4.7,62.1,37.1,40.1,52.5C18,67.9,-14.5,66.3,-36.8,50.2C-59.1,34.1,-71.3,3.5,-63.5,-15.7C-55.7,-34.9,-27.8,-42.8,0.3,-42.9C28.4,-43,56.8,-35.3,65.2,-15.3Z" transform="translate(100 80)" /> </svg><span>School Age (6-9)</span></a></li> <li><a class="age-preteen" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-9-and-12&src=classic"> <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg"> <path d="M60.4,-16.6C69.6,8.6,62.3,42.1,41.9,56.7C21.5,71.2,-11.9,66.8,-35.2,49.6C-58.6,32.4,-71.8,2.4,-64.2,-20.6C-56.7,-43.6,-28.3,-59.6,-1.3,-59.1C25.6,-58.7,51.3,-41.8,60.4,-16.6Z" transform="translate(100 90)" /> </svg><span>Pre-Teen (9-12)</span></a></li> <li><a class="age-teen" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-12-and-15&src=classic"> <svg viewBox="0 0 180 180" xmlns="http://www.w3.org/2000/svg"> <path d="M70,-27.7C76.8,-2.1,58.5,26.6,34.8,42.6C11.1,58.6,-18.1,61.8,-33.1,49.9C-48.1,37.9,-48.9,10.9,-41,-16.3C-33.2,-43.4,-16.6,-70.7,7.5,-73.1C31.7,-75.6,63.3,-53.2,70,-27.7Z" transform="translate(90 100)" /> </svg><span>Teen (12-15)</span></a></li> <li><a class="age-young-adult" href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html"> <svg viewBox="0 0 190 190" xmlns="http://www.w3.org/2000/svg"> <path d="M67.5,-22C76.6,6.2,65.7,40.8,43.1,56.5C20.4,72.3,-13.9,69.3,-37.9,51.9C-62,34.5,-75.9,2.7,-67.8,-24C-59.8,-50.7,-29.9,-72.3,-0.4,-72.1C29.2,-72,58.3,-50.2,67.5,-22Z" transform="translate(100 100)" /> </svg><span>Young Adult (16+)</span></a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Popular Authors</h4> <li><a href="/aaron-blabey/author971.html">Aaron Blabey</a></li> <li><a href="/anh-do/author952.html">Anh Do</a></li> <li><a href="/j-k-rowling/author107.html">J.K. Rowling</a></li> <li><a href="/emily-rodda/author256.html">Emily Rodda</a></li> <li><a href="/rick-riordan/author33.html">Rick Riordan</a></li> <li><a href="/mem-fox/author415.html">Mem Fox</a></li> <li><a href="/search.ep?author=David%20Walliams">David Walliams</a></li> <li><a href="/cassandra-clare/author183.html">Cassandra Clare</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Popular Series</h4> <li><a href="/harry-potter-at-booktopia/promo842.html">Harry Potter</a></li> <li><a href="/search.ep?author=Bluey">Bluey</a></li> <li><a href="/the-treehouse-series-by-andy-griffiths/series2785.html">The Treehouse Series</a></li> <li><a href="/the-nevermoor-series-paperback-editions/series671.html">Nevermoor</a></li> <li><a href="/dog-man-by-dav-pilkey/series5619.html">Dog Man</a></li> <li><a href="/complete-billie-b-brown-series/series9360.html">Billie B Brown</a></li> <li><a href="/books/fun-for-kids/l100430-p1.html">Fun for Kids</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Education</h4> <li><a href="/school-books-textbooks/promo152.html">Education Central</a></li> <li><a href="/school-books-textbooks/promo152.html#pre-school">Pre School</a></li> <li><a href="/school-books-textbooks/promo152.html#primary">Primary School</a></li> <li><a href="/school-books-textbooks/promo152.html#secondary">Secondary School</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <ul class="col-12"> <h4>More:</h4> <li><a href="/children-s-book-council-of-australia-awards/promo2003.html">CBCA Awards</a></li> <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li> <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li> <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li> <a class="more" href="/books/kids-childrens-books/cY-p1.html">Explore All Kids & YA Books ></a> </ul> </div> </div> </li> <li id="mnu-books-australian"><a href="/books/australian-authors-books/l10-p1.html">AUSTRALIAN</a></li> <li id="mnu-books-schools"><a href="/school-books-textbooks/promo152.html">EDUCATION</a> <div class="sub" id="schools-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - EDUCATION" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>Pre-School / Kindergarten</h4> <li><a href="/books/text-books/pre-school-day-care/cXM-p1.html">Pre-School & Day-Care</a></li> <li><a href="/starting-school/series3460.html?sorter=sortorder-en-dsc">Starting School </a></li> <li><a href="/books/text-books/pre-school-day-care/cXM-p1.html">Early Learning</a></li> <li><a href="/abc-reading-eggs-level-1-starting-out/series3784.html">ABC Reading Eggs</a></li> <li><a href="/books/our-picks-for-babies-toddlers-ages-0-3/l100148-p1.html">Picks for Toddlers</a></li> <li><a href="/books/our-picks-for-pre-school-ages-3-6/l100149-p1.html">Picks for Pre-school</a></li> <li><a href="/picture-books-to-help-put-children-to-sleep/series6867.html">Sleeping Easy</a></li> <li><a href="/managing-manners/series6868.html">Managing Manners</a></li> <li><a href="/books/big-picture-books-editions-for-classroom-use/l103-p1.html">Big Picture Books</a></li> <li><a href="/understanding-emotions/series6869.html">Understanding Emotions</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Primary </h4> <li><a href="/books/text-books/primary-top-sellers/cXG-p1.html">Bestselling Primary Texts</a></li> <li><a href="/excel-guides-for-primary-school/series7903.html">Excel Guides for Primary</a></li> <li><a href="/all-about-sport/series6877.html">All About Sport</a></li> <li><a href="/books/text-books/primary-top-sellers/reading/cXGC-p1.html">Reading</a></li> <li><a href="/books/text-books/primary-top-sellers/maths-reference-for-primary-school/cXGD-p1.html">Maths</a></li> <li><a href="/books/text-books/primary-top-sellers/references-and-resources/cXGR-p1.html">Primary Reference</a></li> <li><a href="/children-s-book-council-of-australia-awards/promo2003.html">CBCA Books</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Secondary</h4> <li><a href="/books/text-books/secondary-top-sellers/cXE-p1.html">Bestselling Secondary Texts</a></li> <li><a href="/books/text-books/secondary-top-sellers/accounting-business-legal/cXEE-p1.html">Accounting Business & Legal</a></li> <li><a href="/books/text-books/secondary-top-sellers/media-arts-religion/cXEH-p1.html">Media, Arts & Religion</a></li> <li><a href="/books/text-books/secondary-top-sellers/reference-study-guides/cXED-p1.html">Reference & Study Guides</a></li> <li><a href="/books/guides-to-the-school-certificates/l100321-p1.html">Guides to the School Certificates</a></li> <li><a href="/books/text-books/secondary-top-sellers/biology-science/cXEF-p1.html">Biology & Science</a></li> <li><a href="/books/text-books/secondary-top-sellers/english-literature-for-secondary-school/cXEA-p1.html">English & Literature</a></li> <li><a href="/books/text-books/secondary-top-sellers/history-textbooks-for-secondary-school/cXEB-p1.html">History</a></li> <li><a href="/books/text-books/secondary-top-sellers/language-reference-for-secondary-school/cXEC-p1.html">Languages</a></li> <li><a href="/books/text-books/secondary-top-sellers/maths-reference-for-secondary-school/cXEG-p1.html">Maths</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/non-fiction-books/literature-poetry-plays/poetry/cDC-p1.html">Poetry</a></li> <li><a href="/books/non-fiction-books/literature-poetry-plays/plays/cDD-p1.html">Plays</a></li> <li><a href="/books/fiction-books/classic-fiction/cFC-p1.html">Classic Fiction</a></li> <h4>Guides and Resources</h4> <li><a href="/books/non-fiction-books/education/schools/naplan/cJNLN-p1.html?suggested=L">NAPLAN</a></li> <li><a href="/books/non-fiction-books/education/schools/anti-bullying-reading-list/cJNLI-p1.html">Anti-Bullying Books</a></li> <li><a href="/empowering-girls/series6866.html">Empowering Girls</a></li> <li><a href="/introducing-aboriginal-torres-strait-islander-culture-to-children/series6878.html">Introducing Indigenous Culture</a></li> <li><a href="/oxford-primary-school-dictionaries-thesauri/series7884.html">Oxford Dictionaries</a></li> </ul> </li> </ul> </div> <div class="col-auto pl-4"> <a href="/school-books-textbooks/promo152.html"><img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/navigation/education.jpg" alt="Education Central" width="172" height="418"></a> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/school-books-textbooks/promo152.html">Explore All Education ></a> </div> </div> </div> </li> <li id="mnu-books-uni"><a href="/ebooks/etextbooks/l101082-p1-e.html">DIGITAL TEXTBOOKS</a></li> <li id="mnu-books-aca"><a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">ACADEMIC</a> <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - ACADEMIC" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>University</h4> <li><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology and Sciences</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/english-literature-higher-education-textbooks/cXAF-p1.html">English & Literature</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/environment-planning-higher-education-textbooks/cXAG-p1.html">Environment & Planning</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/health-care-higher-education-textbooks/cXAI-p1.html">Health Care</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/language-higher-education-textbooks/cXAK-p1.html">Language</a></li> <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/mathematics-statistics-higher-education-textbooks/cXAM-p1.html">Mathematics & Statistics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/media-communication-arts-higher-education-textbooks/cXAO-p1.html">Media, Communication & Arts</a></li> <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/politics-higher-education-textbooks/cXAQ-p1.html">Politics</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4> </h4> <li><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/social-sciences-higher-education-textbooks/cXAR-p1.html">Social Sciences</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/study-skills-for-higher-education/cXAS-p1.html?mlk">Study Skills</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Vocational</h4> <li><a href="/vocational-trades/series7927.html">Trades</a></li> <li><a href="/vocational-hospitality-tourism/series7931.html">Hospitality & Tourism</a></li> <li><a href="/vocational-business-financial-management/series7929.html">Business, Financial & Management</a></li> <li><a href="/vocational-nursing-health-care/series7928.html">Nursing & Health Care</a></li> <li><a href="/vocational-it-networking-computer-repair/series7930.html">IT, Networking & Computer Repair</a></li> <li><a href="/vocational-education-early-childhood/series7932.html">Education & Early Childhood</a></li> <li><a href="/vocational-social-work-counselling/series7933.html">Social Working & Counselling</a></li> <li><a href="/vocational-design-art-fashion-photography/series7934.html">Design, Art, Fashion & Photography</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">Explore All Academic ></a> </div> </div> </div> </li> <li id="mnu-books-bargains"><a class="alert" href="/books/bargains/c9-p1.html">BARGAINS</a></li> <li id="mnu-books-gc"><a href="/gift-certificates/cGC-p1.html">GIFT CERTIFICATES</a></li> </ul> </div> </div> </div> <template id="sidenav-menu-templates-template" style="display: none"> <div id="sidenav-menu-templates" class="b-modal side-panel-theme"> <div class="b-modal-content"> <div class="tabs menu-tabs"> <div class="menu-top-bar"> <button data-mh-ea="close" class="b-close-button b-modal-close"><i class="icon-cross"></i></button> <h3>ALL CATEGORIES</h3> </div> <div class="menu-list"> <ul> <li> <a href="/books/bestseller-bargains/l115-p1.html?sorter=bestsellers-dsc" class="bestseller-bargains"> <div class="sidenav-link-left"> <i class="icon-trophy-02"></i> <span>Hot Price Bestsellers</span> </div> </a> </li> <li> <a href="/bps-get-free-shipping/promo4116.html?src=bt-promo" class="books-with-free-shipping"> <div class="sidenav-link-left"> <i class="icon-Express-shipping"></i> <span>Books with Free Shipping</span> </div> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-books" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Paperback"></i> <span>Books</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-academic" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Grade-Range"></i> <span>Academic & Textbooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-ebooks" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Ebook"></i> <span>eBooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-audiobooks" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Audio-Book"></i> <span>Audiobooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-games" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Puzzle-Piece-Number"></i> <span>Games & Puzzles</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-magazines" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Page-Number"></i> <span>Magazines</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-stationery" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-stationary"></i> <span>Stationery</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-gift-ideas" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-gift1"></i> <span>Gift Ideas</span> </div> <i class="icon-arrow-right8"> </i> </a> </li> <li> <a href="/promo3293.html"> <div class="sidenav-link-left"> <i class="icon-bargains"></i> <span>Promotions</span> </div> </a> </li> <li> <a href="/helpCentre.ep"> <div class="sidenav-link-left"> <i class="icon-info-new"></i> <span>Help Centre</span> </div> </a> </li> <li> <a href="https://www.booktopia.com.au/blog/"> <div class="sidenav-link-left"> <i class="icon-blog"></i> <span>Blog</span> </div> </a> </li> </ul> <div class="account-section"> <div id="pnl-account-signed-in" class="account clear if-signed-in" data-mh-pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click"> <div class="title clear"> <span>Hi, </span><span id="lbl-customer-full-name" class="title"></span> </div> <ul class="account-links"> <li class="my-account"> <a id="mnu-side-manage-account" href="/manage-account.ep"> <i class="icon-user1"></i> My Account </a> </li> <li class="my-account"> <a id="mnu-side-view-wishlist" href="/view-wishlist-nocache.ep"> <i class="icon-Heart-new"></i> My Wish Lists </a> </li> <li class="my-account"> <a id="mnu-side-ebooks-bookshelf" href="/digital-library.ep"> <i class="icon-titles"></i> My Digital Library </a> </li> </ul> <a id="btn-side-sign-out" href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" > <i class="icon-log-out"></i> Sign Out </a> </div> <div id="pnl-account-signed-out" class="account clear if-signed-out" data-mh-pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click"> <span class="title"><i class="icon-user1"></i> My Account</span> <div id="account-action" class="row no-gutters"> <div class="col-6 pr-2"> <a id="btn-side-sign-in" href="/sign-in.ep">Sign In</a> </div> <div class="col-6 pl-2"> <a id="btn-side-join" href="/sign-in.ep#signup">Join</a> </div> </div> </div> <div id="useful-nav-links"><a href="//www.booktopia.com.au/blog/">Blog</a> - <a href=" ?deviceType=Desktop">Full Site</a></div> <span class="copyright">© 2025 Booktopia Direct Pty Ltd. </span> </div> </div> <div class="tab-content" id="tab-books"> <ul> <li class="nav-sub-link"><a href="/?books">All Books</a></li> <li class="nav-sub-link"><a href="/books/fiction-books/cF-p1.html">Fiction</a></li> <li class="nav-sub-link"><a href="/books/non-fiction-books/cN-p1.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html">Kids & YA</a></li> <li class="nav-sub-link"><a href="/books/australian-authors-books/l10-p1.html">Australian Stories</a></li> <li class="nav-sub-link"><a href="/school-books-textbooks/promo152.html">Education</a></li> <li class="nav-sub-link"><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li> <li class="nav-sub-link"><a href="/books/fiction-books/crime-mystery/cFF-p1.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/books/fiction/romance/cFR-p1.html">Romance</a></li> <li class="nav-sub-link"><a href="/books/fiction/graphic-novels/cFX-p1.html">Graphic Novels & Manga</a></li> <li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html?sorter=bestsellers-dsc">Bestsellers</a></li> <li class="nav-sub-link"><a href="/books/fiction/l20-p1.html?cID=F">Signed Copies</a></li> <li class="nav-sub-link"><a href="/books/bargains/c9-p1.html">Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-academic"> <ul> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">All Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/law-higher-education-textbooks/cXAL-p1.html">Law Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/medicine-for-higher-education/cXAV-p1.html">Medicine Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History Textbooks</a></li> <li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Digital Textbooks</a></li> </ul> </div> <div class="tab-content" id="tab-ebooks"> <ul> <li class="nav-sub-link"><a href="/?ebooks">All eBooks</a></li> <li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Textbooks</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/cF-p1-e.html">Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance</a></li> <li class="nav-sub-link"><a href="/ebooks/kids-children-s-books/cY-p1-e.html">Kids & YA</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/crime-mystery-fiction/cFF-p1-e.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/non-fiction/cN-p1-e.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/kobo-ebook-readers/promo3090.html">eReaders</a></li> <li class="nav-sub-link"><a href="/kobo-plus-ebook-subscription">Kobo Plus</a></li> </ul> </div> <div class="tab-content" id="tab-audiobooks"> <ul> <li class="nav-sub-link"><a href="/?audiobooks">All Audiobooks</a></li> <li class="nav-sub-link"><a href="/audiobooks/fiction/cF-p1-a.html">Fiction</a></li> <li class="nav-sub-link"><a href="/audiobooks/fiction/crime-mystery-fiction/cFF-p1-a.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/audiobooks/non-fiction/biographies-true-stories/cB-p1-a.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/audiobooks/non-fiction/history/cHB-p1-a.html">History</a></li> <li class="nav-sub-link"><a href="/audiobooks/kids-children-s-books/cY-p1-a.html">Children</a></li> <li class="nav-sub-link"><a href="/?audio-cd">Audio CDs</a></li> <li class="nav-sub-link"><a href="/audio-cd/hot-prices/l13-p1-c.html?sorter=price-AUD-asc">Audio CD Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-games"> <ul> <li class="nav-sub-link"><a href="/books/games-and-puzzles/cGMP-p1.html">All Games & Puzzles</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/board-games-table-top-games/cGMPA-p1.html">Board Games</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/card-games/cGMPB-p1.html">Card Games</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/puzzles/cGMPC-p1.html">Puzzles</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/figurines-collectables/cGMPD-p1.html">Figurines & Collectables</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/activities/cGMPE-p1.html">Activities</a></li> </ul> </div> <div class="tab-content" id="tab-magazines"> <ul> <li class="nav-sub-link"><a href="/?magazines">All Magazines</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-her/l59-p1-m.html">Magazines For Her</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-him/l60-p1-m.html">Magazines For Him</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/kids-teens-magazines/c4K-p1-m.html">Kids & Teens</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/international-magazines/c4J-p1-m.html">International Magazines</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/art-design-magazines/c4A-p1-m.html">Art & Design</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/fashion-beauty-magazines/c4U-p1-m.html">Fashion & Beauty</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/hobbies-puzzles-magazines/c4O-p1-m.html">Hobbies & Puzzles</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/craft-magazines/c4R-p1-m.html">Craft</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/science-nature-magazines/c4N-p1-m.html">Science & Nature</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/lifestyle-magazines/c4L-p1-m.html">Lifestyle</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/health-fitness-magazines/c4H-p1-m.html">Health & Fitness</a></li> </ul> </div> <div class="tab-content" id="tab-stationery"> <ul> <li class="nav-sub-link"><a href="/?stationery">All Stationery</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/2024-diaries/c1E-p1-s.html">Diaries</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/notebooks/c1A-p1-s.html">Notebooks</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/journals/c1B-p1-s.html">Journals</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/hot-prices/l13-p1-s.html?list=13">Stationery Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-gift-ideas"> <ul> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/c53-p1.html">Gift Guides</a></li> <li class="nav-sub-link"><a href="/gift-certificates/cGC-p1.html">Gift Certificates</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/games-toys-and-puzzles/c53H-p1.html">Games & Puzzles</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/stationery-gift-ideas/l265-p1-s.html">Stationery</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/book-accessories/c1T-p1-s.html">Book Accessories</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/everything-lavish-gift-guide/c53C-p1.html">Everything Lavish</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/fiction-gift-guide/c53D-p1.html">Fiction</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/non-fiction-gift-guide/c53A-p1.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/just-for-kids/c53E-p1.html">Just For Kids</a></li> </ul> </div> </div> </div> </div> </template><div id="body-fluid" > <section id="education-central-head" class=""> <div class="container px-md-3"> <div id="breadcrumbs" data-mh-pe="eventDetailsNav" data-mh-ec="Details - Navigation" data-mh-ea="Top breadcrumb click" data-dimension-16to18 data-dimension-28 > <a href="/?books"> Books </a> > <a href="/books/non-fiction/cN-p1.html">Non-Fiction</a> > <a href="/books/non-fiction/law/cL-p1.html">Law</a> </div> <div id="education-central-intro" class="mb-4"> <h1>Law</h1> <div class="view-more"><a href="/books-online/non-fiction/law/cL-p1.html?sorter=sortorder-en-dsc">See All</a></div> </div> <ul id="head-quick-links" class="bx-quick-links-tiles quick-links-tiles row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Section click" data-mh-ea="Click" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/cLA-p1.html">Jurisprudence & General Issues <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/cLN-p1.html">Laws of Specific Jurisdictions <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/legal-profession-in-general/cLAT-p1.html">The Legal Profession <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/legal-skills-practice/cLAS-p1.html">Legal Skills & Practice <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/law-society/cLAQ-p1.html">Law & Society <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/international-law/cLB-p1.html">International Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/text-books/higher-education-vocational-textbooks/law-higher-education-textbooks/cXAL-p1.html">Law Textbooks <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/study-revision-guides-for-law/cLR-p1.html">Law Study Guides <span class="icon-arrow-right8"></span></a></li> </ul> </div> </section> <div id="body" class="container px-0 "> <style> #education-central-head { color: #fff; background: url(//images.booktopia.com.au/assets/landing-pages/law/header.jpg) no-repeat center; } h2 { font-size: 24px; } #gift-guide-content > .container { display: none; } #refinements-links { margin-bottom: 2rem !important; } #refinements-links > .container > .row { padding: 0 10px; } .refinements { min-height: 679px !important;} .refinements h4 { font-size: 24px;} .refinements h4:nth-child(5) { margin-top: 35px } .refinements li { margin-bottom: 5px; border-bottom: 1px solid #ccc; padding: 8px 0; } .feature-box { height: auto; } #body .university-category-blocks0.visible, html.ie .university-category-blocks0 { background: url(//images.booktopia.com.au/assets/landing-pages/law/practice-areas.jpg) no-repeat; } #body .university-category-blocks1.visible, html.ie .university-category-blocks1 { background: url(//images.booktopia.com.au/assets/landing-pages/law/procedures.jpg) no-repeat; } #body .university-category-blocks2.visible, html.ie .university-category-blocks2 { background: url(//images.booktopia.com.au/assets/landing-pages/law/law-other-professions.jpg) no-repeat; } #body .university-category-blocks3.visible, html.ie .university-category-blocks3 { background: url(//images.booktopia.com.au/assets/landing-pages/law/studying-law.jpg) no-repeat; } .advertisement.full-width.landing-page-promo-dual { height: 235px; } body { font-size: 14px; } #education-central-head { background-position: top center; background-size: cover; } #education-central-intro { display: flex; justify-content: space-between; } #education-central-intro .view-more a { border: 2px solid #fff; color: #fff; margin: 0; } #breadcrumbs, #breadcrumbs a, #breadcrumbs a:visited, #breadcrumbs a:hover { background-color: transparent; border: 0; color: #fff; padding-left: 0; } .quick-links-tiles > li { font-size: 15px; padding: 8px; } .quick-links-tiles > li > a { position: relative; overflow: hidden; transition: all 0.3s ease-in-out; font-weight: bold; background: #fff; display: flex; padding: 0px 15px; text-decoration: none; color: #333; align-items: center; min-height: 55px !important; justify-content: space-between; padding-right: 5px; font-size: initial !important; } .quick-links-tiles > li > a > span { float: right; font-size: 1.8em; transform: none; transition: all 0.2s linear; color: inherit; } .quick-links-tiles > li > a:after { content: ""; height: 4px; width: 100%; position: absolute; bottom: -4px; left: 0; background: #009933; transition: all 0.2s linear; } .quick-links-tiles > li > a:hover { color:#009933; } .quick-links-tiles > li > a:hover:after { bottom:0px; } .quick-links-tiles > li > a:hover > span { margin-left: 0; } .quick-links-tiles.gray > li > a { background: #f4f4f4; } #landing-page-whats-hot h2.dual { display: none; } #refinements-links .container { background: #fff; } .refinements { background: #eee; } .refinements h4 { text-transform: lowercase; } .refinements h4:first-letter { text-transform: uppercase; } .refinements h4:nth-child(3) { display: none; } .refinements #price li:last-child { border-bottom: 0; } #lists .refinement-detail-list li:first-child a { font-weight: bold; } .refinements a { color: inherit; } .refinements a:hover { text-decoration: none; } #availability { display: none; } .search-module { background: #eee; } .search-module form input { width: 100%; } #textbook-search-input { margin: 0; font-size: 16px; height: 50px; border: none; vertical-align: top; padding: 0px 10px; } .search-module form input[type="Submit"] { transition: box-shadow 0.5s linear; background: #009933; display: inline-block; padding: 0; border: none; text-transform: uppercase; color: #fff; height: 50px; vertical-align: top; margin: 0; padding: 0px 30px; font-size: 18px; } .search-module form input[type="Submit"]:hover { box-shadow:inset 250px 0px 0px #075f20; } .feature-box a { text-decoration: none; } .feature-images { height: 154px; } .feature-images img { height: 130px; } .feature-images:hover .feature-image-1 { height:140px; } .feature-images:hover .feature-image-2 { left:30px; } .feature-images:hover .feature-image-3 { right:30px; } .feature-box a, .feature-box a:visited, .feature-box a:hover { color: #53565A; } .university-category-blocks > h2 { color: #fff; margin-top: 1rem; margin-bottom: 1rem;} .university-category-blocks .product-carousel-7 h2 { margin-top: 40px; } </style> <section id="landing-page-whats-hot" class="carousel p-3"> <div class="gg-carousel pb-0"> <h2>What's Hot in Law</h2> <div id="car-list0" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="L" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel" data-dimension-16to18 > <h2 class="dual"> <a href="/cL-p1.html?sorter=sortorder-en-dsc&list=0"></a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> </div> </section> <section id="refinements-links"> <div class="container px-0 px-md-4"> <div class="row"> <div class="refinements col-3 py-4"> <h4>LISTS</h4> <div id="lists" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Lists click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/non-fiction/law/cL-p1.html?$defaultQueryStringForFilters"> <span class="list-name" data-mh-el> All Books </span> <span class="results">(71215)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=10" > <span class="list-name" data-mh-el> Australian Authors Books </span> <span class="results">(118)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=13" id="reduced-to-clear"> <span class="list-name" data-mh-el> Hot Prices </span> <span class="results">(827)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=24" > <span class="list-name" data-mh-el> Audiobooks </span> <span class="results">(1740)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=216" > <span class="list-name" data-mh-el> Film & TV Tie-Ins </span> <span class="results">(1)</span></a></li> </ul> </div> <h4>AVAILABILITY</h4> <div id="availability" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Availability click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/non-fiction/law/cL-p1.html?$defaultQueryStringForFilters"> <span class="list-name" data-mh-el> All Books </span> <span class="results">(71215)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=2" > <span class="list-name" data-mh-el> New Releases </span> <span class="results">(1717)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=3" > <span class="list-name" data-mh-el> Coming Soon </span> <span class="results">(1288)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?list=9" > <span class="list-name" data-mh-el> Ready To Ship </span> <span class="results">(1095)</span></a></li> </ul> </div> <h4>PRICE</h4> <div id="price" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Price click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-lessthan-AUD-5" rel="nofollow"><span data-mh-el>Under $5</span> <span class="results">(1)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-between-AUD-5-and-10" rel="nofollow"><span data-mh-el>$5 - $10</span> <span class="results">(9)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-between-AUD-10-and-20" rel="nofollow"><span data-mh-el>$10 - $20</span> <span class="results">(271)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-between-AUD-20-and-30" rel="nofollow"><span data-mh-el>$20 - $30</span> <span class="results">(1313)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-between-AUD-30-and-50" rel="nofollow"><span data-mh-el>$30 - $50</span> <span class="results">(8221)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-between-AUD-50-and-100" rel="nofollow"><span data-mh-el>$50 - $100</span> <span class="results">(22501)</span></a></li> <li><a href="/books/non-fiction/law/cL-p1.html?priceFilters=price-morethan-AUD-100" rel="nofollow"><span data-mh-el>Over $100</span> <span class="results">(38903)</span></a></li> </ul> </div> </div> <div class="links col-12 col-md-9 pr-md-0"> <div class="search-module px-3 pt-4 pb-0 p-md-4"> <h2 class="mb-3">Search Law Books</h2> <form class="custom-category-search row no-gutters"> <input type="hidden" name="productType" value="917504"> <input type="hidden" name="categoryId" value="L"> <div class="text col-12 col-sm-8 pr-sm-3"> <input type="text" id="textbook-search-input" maxlength="255" class="search-text" name="keywords" value="Use title, ISBN or keywords" onblur="if (this.value=='') {this.value='Use title, ISBN or keywords'; this.style.color = '#999999'; }" onfocus="if (this.value=='Use title, ISBN or keywords') this.value=''; this.style.color = '#53565A';" autocomplete="off"> </div> <div class="search col-12 col-sm-4 pb-4 pb-md-0 mt-sm-0 mt-3"> <input type="Submit" value="Search"> </div> </form> </div> <h2 class="px-3 px-md-0 mt-4 mb-0">Popular in Law</h2> <div id="top-small-crowns"> <div class="row px-3 px-md-0"> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/torts-delicts/cLNV-p1.html"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/torts-delicts/cLNV-p1.html">Torts</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/criminal-law-procedure/cLNF-p1.html?suggested=L"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/criminal-law-procedure/cLNF-p1.html?suggested=L">Criminal Law</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/company-law/contract-law/cLNCJ-p1.html?suggested=L"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/company-law/contract-law/cLNCJ-p1.html?suggested=L">Contract Law</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/equity-trusts/cLNL-p1.html?suggested=L"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/equity-trusts/cLNL-p1.html?suggested=L">Equity & Trusts</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/constitutional-administrative-law/cLND-p1.html?suggested=L"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/constitutional-administrative-law/cLND-p1.html?suggested=L">Constitutional & Administrative</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/intellectual-property-law/cLNR-p1.html?suggested=L"> </a> </div> <h2><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/intellectual-property-law/cLNR-p1.html?suggested=L">Intellectual Property</a></h2> </div> </div> </div> </div> </div> </div> </div> </section> <section id="custom-block0" class="custom-category-block"> <div class="university-category-blocks university-category-blocks0 custom-category-block-links lazy-background px-3 pt-4"> <h2 class="mb-3">Practice Areas</h2> <ul class="bx-quick-links-tiles block-main-links quick-links-tiles gray row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Practice Areas" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/employment-labour-law/cLNH-p1.html" data-mh-ea="Category Click">Employment & Labour Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/company-law/cLNC-p1.html" data-mh-ea="Category Click">Company Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/taxation-duties-law/cLNU-p1.html" data-mh-ea="Category Click">Taxation & Duties Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/financial-law/cLNP-p1.html" data-mh-ea="Category Click">Financial Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/property-law/cLNS-p1.html" data-mh-ea="Category Click">Property Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/constitutional-administrative-law/citizenship-nationality-law/immigration-law/cLNDA1-p1.html?suggested=L" data-mh-ea="Category Click">Immigration Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/financial-law/banking-law/cLNPB-p1.html" data-mh-ea="Category Click">Banking Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/family-law/cLNM-p1.html" data-mh-ea="Category Click">Family Law <span class="icon-arrow-right8"></span></a></li> </ul> </div> <div class="py-4 px-3"> <div id="car-list0" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="LN" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel - Popular in Practice Areas" data-dimension-16to18 > <h2 class="dual"> <a href="/cLN-p1.html?sorter=sortorder-en-dsc&list=0">Popular in Practice Areas</a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> <div class="text-center view-more long" data-mh-pe="eventOnClick" data-mh-ec="Button" data-mh-ea="Click"><a href="/cLN-p1.html">View All in Practice Areas</a></div> </div> </section> <section id="custom-block1" class="custom-category-block"> <div class="university-category-blocks university-category-blocks1 custom-category-block-links lazy-background px-3 pt-4"> <h2 class="mb-3">Procedures</h2> <ul class="bx-quick-links-tiles block-main-links quick-links-tiles gray row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Procedures" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/legal-system-in-general/courts-procedure/cLNAA-p1.html?suggested=L" data-mh-ea="Category Click">Courts & Procedure <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/legal-system-in-general/civil-procedure/arbitration/cLNAC5-p1.html" data-mh-ea="Category Click">Arbitration <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/comparative-law/cLAM-p1.html" data-mh-ea="Category Click">Comparative Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/the-legal-aspects-of-criminology/cLAR-p1.html" data-mh-ea="Category Click">Criminology <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/wills-probate-succession/cLNW-p1.html?suggested=L" data-mh-ea="Category Click">Wills & Probate <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/legal-system-in-general/civil-procedure/cLNAC-p1.html" data-mh-ea="Category Click">Civil Procedure <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/company-law/construction-engineering-law/cLNCQ-p1.html" data-mh-ea="Category Click">Construction Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/legal-system-in-general/civil-procedure/civil-remedies/cLNAC1-p1.html" data-mh-ea="Category Click">Remedies <span class="icon-arrow-right8"></span></a></li> </ul> </div> <div class="py-4 px-3"> <div id="car-list1" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="LNA" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel - Popular in Procedures" data-dimension-16to18 > <h2 class="dual"> <a href="/cLNA-p1.html?sorter=sortorder-en-dsc&list=0">Popular in Procedures</a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> <div class="text-center view-more long" data-mh-pe="eventOnClick" data-mh-ec="Button" data-mh-ea="Click"><a href="/cLNA-p1.html">View All in Procedures</a></div> </div> </section> <section id="custom-block2" class="custom-category-block"> <div class="university-category-blocks university-category-blocks2 custom-category-block-links lazy-background px-3 pt-4"> <h2 class="mb-3">Law & Other Professions</h2> <ul class="bx-quick-links-tiles block-main-links quick-links-tiles gray row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Law & Other Professions" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/jurisprudence-general-issues/law-as-it-applies-to-other-professions/cLAY-p1.html" data-mh-ea="Category Click">Law & Other Professions <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/social-law/medical-healthcare-law/cLNTM-p1.html" data-mh-ea="Category Click">Health Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/environment/cLNK-p1.html" data-mh-ea="Category Click">Environment & Planning <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/constitutional-administrative-law/human-rights-civil-liberties-law/cLNDC-p1.html" data-mh-ea="Category Click">Human Rights Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/social-law/cLNT-p1.html" data-mh-ea="Category Click">Social Law <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/social-law/consumer-protection-law/cLNTU-p1.html?suggested=L" data-mh-ea="Category Click">Consumer Protection <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/entertainment-media-law/cLNJ-p1.html?suggested=L" data-mh-ea="Category Click">Entertainment & Media <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/non-fiction/law/laws-of-specific-jurisdictions/it-communications-law/cLNQ-p1.html" data-mh-ea="Category Click">IT & Communications Law <span class="icon-arrow-right8"></span></a></li> </ul> </div> <div class="py-4 px-3"> <div id="car-list2" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="LAY" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel - Popular in Law & Other Professions" data-dimension-16to18 > <h2 class="dual"> <a href="/cLAY-p1.html?sorter=sortorder-en-dsc&list=0">Popular in Law & Other Professions</a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> <div class="text-center view-more long" data-mh-pe="eventOnClick" data-mh-ec="Button" data-mh-ea="Click"><a href="/cLAY-p1.html">View All in Law & Other Professions</a></div> </div> </section> <section id="custom-block3" class="custom-category-block"> <div class="university-category-blocks university-category-blocks3 custom-category-block-links lazy-background px-3 pt-4"> <h2 class="mb-3">Studying Law</h2> <ul class="bx-quick-links-tiles block-main-links quick-links-tiles gray row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Studying Law" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/lexisnexis-focus-law-series/series8346.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">Focus Law Series <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/lexis-nexis-questions-and-answers/series5782.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">Questions & Answers Series <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/lexis-nexis-study-guide/series5783.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">LexisNexis Study Guides <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/lexis-nexis-case-summaries/series5781.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">LexisNexis Case Summaries <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/nutshell-law/series7949.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">Nutshell Law Series <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/lexis-nexis-quick-reference-cards/series5777.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">Quick Reference Cards <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/thomson-reuters-lawbriefs/series8368.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">Thomson Reuters LawBriefs <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/lexis-nexis-skills/series5779.html?sorter=sortorder-en-dsc" data-mh-ea="Category Click">LexisNexis Legal Skills <span class="icon-arrow-right8"></span></a></li> </ul> </div> <div class="py-4 px-3"> <div id="car-list3" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="LR" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel - Popular in Studying Law" data-dimension-16to18 > <h2 class="dual"> <a href="/cLR-p1.html?sorter=sortorder-en-dsc&list=0">Popular in Studying Law</a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> <div class="text-center view-more long" data-mh-pe="eventOnClick" data-mh-ec="Button" data-mh-ea="Click"><a href="/cLR-p1.html">View All in Studying Law</a></div> </div> </section> <div id="description" class="p-3"> <b>Law</b> <p class="pt-2"> Embark on a captivating exploration of the intricate world of law with our collection of non-fiction law books. Delve into fundamental legal principles, including legal theory, jurisprudence, and the rule of law. Explore the historical development of legal systems and the philosophical underpinnings of justice and legal reasoning. <br><br> Analyse landmark legal cases and seminal court decisions that have shaped legal doctrines and established legal precedents. Gain insight into the reasoning of judges, the interpretation of statutes, and the application of legal principles to real-world situations. <br><br> Explore specialized areas of law, such as constitutional law, criminal law, civil rights law, environmental law, and intellectual property law. Examine the unique legal considerations, doctrines and controversies within each field. <br><br> Develop essential legal research and writing skills, including case analysis, legal memo writing, and persuasive advocacy. Learn how to locate relevant legal sources, conduct effective legal research, and craft compelling legal arguments. <br><br> Navigate ethical dilemmas and ethical standards in legal practice. Explore topics such as professional responsibility, attorney-client privilege, conflicts of interest and the ethical obligations of legal professionals. <br><br> Engage with discussions on contemporary legal issues and debates, including civil liberties, criminal justice reform, human rights, privacy rights, and the intersection of law and technology. Explore diverse perspectives and develop critical thinking skills to evaluate complex legal problems. <br><br> Access practical resources, including legal dictionaries, case law databases, legal forms, and study aids, to support your legal studies and practice. These resources serve as valuable tools for legal education, professional development, and lifelong learning in the law. <br><br> Whether you're seeking to enhance your legal knowledge, prepare for law school, or stay informed about current legal issues, our non-fiction law books provide a wealth of information to support your journey toward legal excellence. Explore the intricacies of legal reasoning, advocacy, and justice with us today. </p> </div> </div></div> </div> <div id="footer"> <div id="top-bar"> <div class="content"> <div class="newsletter-sign-up-holder if-signed-out"> <div id="newsletter-sign-up"> <h3>Join Our Newsletter</h3> <form id="footerNewsletterForm"> <input type="email" id="email" name="email" placeholder="Enter your email address..."> <input type="button" value="SUBSCRIBE" onclick="submitFooterNewsletterForm()" data-target="iframe"> </form> </div> </div> <div class="top-bar-right "> <ul id="social-media-tab" data-mh-pe="eventOnClick" data-mh-ec="Social Click" data-mh-ea="Click" data-dimension-16to18 > <li><a target="_blank" data-mh-el="Youtube" href="//www.youtube.com/user/booktopiabooks" class="youtube-icon"><span class="icon-youtube"></span></a></li> <li><a target="_blank" data-mh-el="Blog" href="//www.booktopia.com.au/blog/" class="blog-icon"><span class="icon-booktopia"></span></a></li> <li><a target="_blank" data-mh-el="Facebook" href="//www.facebook.com/pages/Booktopia/91043653859" class="facebook-icon"><span class="icon-facebook"></span></a></li> <li><a target="_blank" data-mh-el="Twitter" href="//twitter.com/booktopia" class="twitter-icon"><span class="icon-twitter"></span></a></li> <li><a target="_blank" data-mh-el="Soundcloud" href="//www.booktopia.com.au/blog/podcasts/?utm_source=booktopian_blog&utm_medium=booktopian&utm_campaign=tell_me_what_to_read" class="podcast-icon"><span class="icon-podcast"></span></a></li> <li><a target="_blank" data-mh-el="Instagram" href="//instagram.com/booktopiabooks" class="instagram-icon"><span class="icon-instagram"></span></a></li> </ul> <div class="app-download-links"> <a class="apple-app-store" href="https://apps.apple.com/au/app/booktopia-by-rakuten-kobo/id1489983350?ls=1" target="_blank"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/ext/apple-app-store.png" height="42" width="139" alt="Download on the App Store"/></a> <a class="google-play" href="https://play.google.com/store/apps/details?id=com.kobobooks.android.booktopia" target="_blank"><img class="lazyload no-loader" src="" data-src="https://images.booktopia.com.au/ext/google-play.png" height="42" width="129" alt="Android app on Google Play" /></a> </div> </div> </div> </div> <div id="links" class="footer-links"> <div class="content container" data-mh-pe="eventOnClick" data-mh-ec="Footer" data-mh-ea="Click"> <div class="row no-gutters info-row justify-content-between align-item-center"> <div class="col-auto"> <div class="row footer-info"> <div class="col-xl-auto col-lg-12 pr-1"> <span class="info-title"> 1300 187 187</span> </div> <div class="col"> <span class="info-content contact-time">Monday to Friday, 9am to 5pm <span>Sydney time</span></span> </div> </div> </div> <div class="col"> <div class="row footer-info"> <div class="col-xl-auto col-lg-12 pr-1"> <span class="info-title">Head Office</span> </div> <div class="col"> <span class="info-content"> 34-48 Cosgrove Road, South Strathfield NSW 2136 <br>ABN 90 679 610 890 </span> </div> </div> </div> <div class="col-auto"> <a id="btn-mobile-site" class="button" href=" ?deviceType=mobile">MOBILE SITE</a> </div> </div> <div class="row no-gutters"> <div class="col-3"> <h4><a href="/helpCentre.ep">Help Centre</a></h4> <ul> <li><a href="/helpCentre.ep?p=ordering&o=place-order#">Placing An Order</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=contact-us#">Contact Booktopia</a></li> <li><a href="/helpCentre.ep?p=policies&o=terms#">Terms Of Business</a></li> <li><a href="/helpCentre.ep?p=policies&o=privacy#">Privacy Policy</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=affiliates#">Become An Affiliate</a></li> <li><a href="/sitemap.ep">Sitemap</a></li> </ul> </div> <div class="col-3"> <h4><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Shipping</a></h4> <ul> <li><a href="/track-order.ep">Track My Order</a></li> <li><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Standard Shipping</a></li> <li><a href="/helpCentre.ep?p=shipping&o=express-shipping#">Express Shipping</a></li> <li><a href="/helpCentre.ep?p=shipping&o=shipping-timeframes#">Shipping Timeframes</a></li> <li><a href="/helpCentre.ep?p=shipping&o=delivering-your-order#">Delivering Your Order</a></li> <li><a href="/helpCentre.ep?p=shipping&o=new-zealand-orders#">New Zealand Orders</a></li> </ul> </div> <div class="col-3"> <h4><a href="/your-local-bookstore/news18.html">About Booktopia</a></h4> <ul> <li><a href="/your-local-bookstore/news18.html">Your Local Bookstore</a></li> <li><a href="/why-booktopia/news19.html">Why Buy From Booktopia?</a></li> <li><a href="/why-booktopia/news19.html#awards-recognition">Our Awards</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=charity-book-donations#">Booktopia's Charities</a></li> <li><a href="/booktopia-ebooks-by-rakuten-kobo/promo3131.html">Booktopia eBooks</a></li> <li><a href="/work-with-us">Work With Us</a></li> </ul> </div> <div class="col-3"> <h4><a href="/bestsellers/promo294.html">Bestsellers</a></h4> <ul> <li><a href="/books/bestseller-bargains/l115-p1.html?sorter=bestsellers-dsc">Booktopia's Favourites</a></li> <li><a href="/baby-toddler-bestsellers/promo387.html">Babies & Toddlers' Bestseller List</a></li> <li><a href="/children-s-bestsellers/promo297.html">Children's Bestseller List</a></li> <li><a href="/young-adult-bestsellers/promo298.html">Young Adults' Bestseller List</a></li> <li><a href="/fiction-bestsellers/promo296.html">Fiction Bestseller List</a></li> <li><a href="/non-fiction-bestsellers/promo656.html">Non-Fiction Bestseller List</a></li> </ul> </div> <div class="col-3"> <h4>Popular Brands</h4> <ul> <li><a href="/search.ep?keywords=abc+reading+eggs&productType=917504">ABC Reading Eggs</a></li> <li><a href="/search.ep?keywords=Australian+Women%27s+Weekly&productType=917504">Australian Women's Weekly</a></li> <li><a href="/bluey/series9222.html">Bluey</a></li> <li><a href="/search.ep?keywords=Excel&productType=917504">Excel Education</a></li> <li><a href="/search.ep?keywords=Dr+Seuss&productType=917504">Dr Seuss</a></li> <li><a href="/books/non-fiction/self-help-personal-development/how-to/for-dummies-books/cVSAD-p1.html">For Dummies</a></li> <li><a href="/search.ep?keywords=Harvard+Business+Review&productType=917504">Harvard Business Review</a></li> <li><a href="/harry-potter-at-booktopia/promo842.html">Harry Potter</a></li> <li><a href="/search.ep?keywords=lego&productType=917504">LEGO</a></li> <li><a href="/search.ep?keywords=Little+Golden+Book&productType=917504">Little Golden Books</a></li> <li><a href="/books/non-fiction/travel-holidays/lonely-planet-travel-books/cWTP-p1.html">Lonely Planet Travel Books</a></li> <li><a href="/search.ep?keywords=No+Fear+Shakespeare&productType=917504">No Fear Shakespeare</a></li> <li><a href="/books/fiction/classic-fiction/penguin-black-classics/cFCP-p1.html">Penguin Black Classics</a></li> <li><a href="/search.ep?keywords=Peppa+Pig&productType=917504">Peppa Pig</a></li> <li><a href="/books/non-fiction/self-help-personal-development/how-to/teach-yourself/cVSAT-p1.html">Teach Yourself</a></li> <li><a href="/books/fiction/classic-fiction/vintage-classics/cFCC-p1.html">Vintage Classics</a></li> <li><a href="/search.ep?keywords=where%27s+wally&productType=917504">Where's Wally</a></li> </ul> </div> <div class="col-3"> <h4>Popular Series</h4> <ul> <li><a href="/a-court-of-thorns-and-roses-paperback-by-sarah-j-maas/series9377.html">A Court of Thorns and Roses</a></li> <li><a href="/a-game-of-thrones-a-song-of-ice-and-fire-paperbacks-by-george-r-r-martin/series533.html">A Game of Thrones</a></li> <li><a href="/bridgerton-original-book-series-by-julia-quinn/series499.html">Bridgerton</a></li> <li><a href="/the-diary-of-a-wimpy-kid-series-by-jeff-kinney/series371.html">Diary of a Wimpy Kid</a></li> <li><a href="/frank-herbert-s-dune-paperbacks/series10592.html">Dune</a></li> <li><a href="/jack-reacher-by-lee-child/series92.html">Jack Reacher</a></li> <li><a href="/the-jack-west-novels-by-matthew-reilly/series6.html">Jack West</a></li> <li><a href="/little-people-big-dreams/series5274.html">Little People, Big Dreams</a></li> <li><a href="/the-lord-of-the-rings-paperbacks-by-j-r-r-tolkien/series385.html">Lord of the Rings</a></li> <li><a href="/the-nevermoor-series-paperback-editions/series671.html">Nevermoor</a></li> <li><a href="/outlander-the-original-book-series/series7433.html">Outlander</a></li> <li><a href="/the-bad-guys-by-aaron-blabey/series4747.html">The Bad Guys</a></li> <li><a href="/the-treehouse-series-by-andy-griffiths/series2785.html">The Treehouse Series</a></li> <li><a href="/the-wheel-of-time-new-editions-by-robert-jordan/series350.html">The Wheel of Time</a></li> <li><a href="/the-witcher-new-paperback-editions-by-andrzej-sapkowski/series9231.html">The Witcher</a></li> <li><a href="/the-wings-of-fire-series-by-tui-t-sutherland/series7552.html">Wings of Fire</a></li> <li><a href="/wolf-girl-by-anh-do/series9737.html">Wolf Girl</a></li> </ul> </div> <div class="col-3"> <h4>Popular Authors</h4> <ul> <li><a href="/bren-brown/author1121.html">Brene Brown</a></li> <li><a href="/bruce-pascoe/author1135.html">Bruce Pascoe</a></li> <li><a href="/david-walliams/author887.html">David Walliams</a></li> <li><a href="/di-morrissey/author148.html">Di Morrissey</a></li> <li><a href="/donna-hay/author70.html">Donna Hay</a></li> <li><a href="/fiona-mcintosh/author171.html">Fiona McIntosh</a></li> <li><a href="/helen-garner/author626.html">Helen Garner</a></li> <li><a href="/jane-harper/author144.html">Jane Harper</a></li> <li><a href="/liane-moriarty/author934.html">Liane Moriarty</a></li> <li><a href="/matthew-reilly/author3.html">Matthew Reilly</a></li> <li><a href="/peter-fitzsimons/author22.html">Peter FitzSimons</a></li> <li><a href="/sally-rooney/author1154.html">Sally Rooney</a></li> <li><a href="/sarah-j-maas/author991.html">Sarah J. Maas</a></li> <li><a href="/taylor-jenkins-reid/author1414.html">Taylor Jenkins Reid</a></li> <li><a href="/tim-winton/author46.html">Tim Winton</a></li> <li><a href="/trent-dalton/author1259.html">Trent Dalton</a></li> <li><a href="/yotam-ottolenghi/author1002.html">Yotam Ottolenghi</a></li> </ul> </div> <div class="col-3"> <h4>Popular Subjects</h4> <ul> <li><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li> <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business & Management</a></li> <li><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li> <li><a href="/books/non-fiction/crafts-handiwork/cWF-p1.html">Crafts & Handiwork</a></li> <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family & Health</a></li> <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li> <li><a href="/books/non-fiction/history/cHB-p1.html">History</a></li> <li><a href="/books/non-fiction/self-help-personal-development/cVS-p1.html">Self-Help & Personal Development</a></li> <li><a href="/books/fiction/cF-p1.html?list=10">Australian Fiction</a></li> <li><a href="/books/fiction/crime-mystery/cFF-p1.html">Crime & Mystery</a></li> <li><a href="/books/fiction/classic-fiction/cFC-p1.html">Classic Fiction</a></li> <li><a href="/books/fiction/fantasy-fiction/cFM-p1.html">Fantasy Fiction</a></li> <li><a href="/books/fiction/modern-contemporary-fiction/cFA-p1.html">Modern & Contemporary Fiction</a></li> <li><a href="/books/fiction/graphic-novels/manga/cFXA-p1.html">Manga</a></li> <li><a href="/books/kids-childrens-books/picture-books-early-learning/picture-books-in-general/cYBC-p1.html">Picture Books</a></li> <li><a href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">Young Adult Fiction</a></li> </ul> </div> </div> </div> </div> <div id="awards"> <div class="row no-gutters align-items-center"> <div class="col-auto"> <img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/footer/australian-booksellers-association.png" /> </div> <div class="col"> Voted Australia鈥檚 Favourite Bookstore by Australian Book Buyers </div> <div class="col-auto"> <img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/footer/national-bookshop-day.png" /> </div> <div class="col-12"> <br>© 2025 Booktopia Direct Pty Ltd. </div> </div> </div> <script type="text/javascript"> history.navigationMode = 'compatible'; </script> <div style="display:none;"> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 1071893088; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "qrp2CNvw4wIQ4JSP_wM"; var google_conversion_value = 0; /* ]]> */ </script> <script> lazyLoadScript("https://www.googleadservices.com/pagead/conversion.js",function(){}) </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/1071893088/?label=qrp2CNvw4wIQ4JSP_wM&guid=ON&script=0"/> </div> </noscript> </div> </div> <!-- ab2e56dbe75f4646a57f296cd7f9280a --> <!-- Version: dev-20250213114820 --> <script> lazyLoadScript("/template-resources/js/polyfills/intersection-observer.js", function(){}) </script> <script type="text/javascript" src="/wro/5404/jQuery.js?v=dev-20250213114820"></script> <script type="text/javascript"> !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).LazyLoad=n()}(this,(function(){"use strict";function t(){return(t=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t}).apply(this,arguments)}var n="undefined"!=typeof window,e=n&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),i=n&&"IntersectionObserver"in window,o=n&&"classList"in document.createElement("p"),a=n&&window.devicePixelRatio>1,r={elements_selector:"img",container:e||n?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,auto_unobserve:!0,cancel_on_exit:!1,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(n){return t({},r,n)},l=function(t,n){var e,i=new t(n);try{e=new CustomEvent("LazyLoad::Initialized",{detail:{instance:i}})}catch(t){(e=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:i})}window.dispatchEvent(e)},s=function(t,n){return t.getAttribute("data-"+n)},u=function(t,n,e){var i="data-"+n;null!==e?t.setAttribute(i,e):t.removeAttribute(i)},d=function(t){return s(t,"ll-status")},f=function(t,n){return u(t,"ll-status",n)},_=function(t){return f(t,null)},g=function(t){return null===d(t)},v=function(t){return"delayed"===d(t)},b=["loading","applied","loaded","error"],p=function(t){return b.indexOf(d(t))>-1},m=function(t,n){return u(t,"ll-timeout",n)},h=function(t){return s(t,"ll-timeout")},E=function(t,n,e,i){t&&(void 0===i?void 0===e?t(n):t(n,e):t(n,e,i))},y=function(t,n){o?t.classList.add(n):t.className+=(t.className?" ":"")+n},L=function(t,n){o?t.classList.remove(n):t.className=t.className.replace(new RegExp("(^|\\s+)"+n+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},I=function(t){return t.llTempImage},k=function(t,n,e){if(e){var i=e._observer;i&&n.auto_unobserve&&i.unobserve(t)}},A=function(t){t&&(t.loadingCount+=1)},w=function(t){for(var n,e=[],i=0;n=t.children[i];i+=1)"SOURCE"===n.tagName&&e.push(n);return e},z=function(t,n,e){e&&t.setAttribute(n,e)},C=function(t,n){t.removeAttribute(n)},O=function(t){return!!t.llOriginalAttrs},x=function(t){if(!O(t)){var n={};n.src=t.getAttribute("src"),n.srcset=t.getAttribute("srcset"),n.sizes=t.getAttribute("sizes"),t.llOriginalAttrs=n}},N=function(t){if(O(t)){var n=t.llOriginalAttrs;z(t,"src",n.src),z(t,"srcset",n.srcset),z(t,"sizes",n.sizes)}},M=function(t,n){z(t,"sizes",s(t,n.data_sizes)),z(t,"srcset",s(t,n.data_srcset)),z(t,"src",s(t,n.data_src))},R=function(t){C(t,"src"),C(t,"srcset"),C(t,"sizes")},T=function(t,n){var e=t.parentNode;e&&"PICTURE"===e.tagName&&w(e).forEach(n)},G={IMG:function(t,n){T(t,(function(t){x(t),M(t,n)})),x(t),M(t,n)},IFRAME:function(t,n){z(t,"src",s(t,n.data_src))},VIDEO:function(t,n){w(t).forEach((function(t){z(t,"src",s(t,n.data_src))})),z(t,"poster",s(t,n.data_poster)),z(t,"src",s(t,n.data_src)),t.load()}},S=function(t,n,e){var i=G[t.tagName];i&&(i(t,n),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))},j=["IMG","IFRAME","VIDEO"],D=function(t){t&&(t.loadingCount-=1)},F=function(t,n){!n||n.toLoadCount||n.loadingCount||E(t.callback_finish,n)},P=function(t,n,e){t.addEventListener(n,e),t.llEvLisnrs[n]=e},V=function(t,n,e){t.removeEventListener(n,e)},U=function(t){return!!t.llEvLisnrs},$=function(t){if(U(t)){var n=t.llEvLisnrs;for(var e in n){var i=n[e];V(t,e,i)}delete t.llEvLisnrs}},q=function(t,n,e){!function(t){delete t.llTempImage}(t),D(e),L(t,n.class_loading),k(t,n,e)},H=function(t,n,e){var i=I(t)||t;if(!U(i)){!function(t,n,e){U(t)||(t.llEvLisnrs={}),P(t,"load",n),P(t,"error",e),"VIDEO"===t.tagName&&P(t,"loadeddata",n)}(i,(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_loaded),f(n,"loaded"),E(e.callback_loaded,n,i),F(e,i)}(0,t,n,e),$(i)}),(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_error),f(n,"error"),E(e.callback_error,n,i),F(e,i)}(0,t,n,e),$(i)}))}},B=function(t){t&&(t.toLoadCount-=1)},J=function(t,n,e){!function(t){t.llTempImage=document.createElement("img")}(t),H(t,n,e),function(t,n,e){var i=s(t,n.data_bg),o=s(t,n.data_bg_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage='url("'.concat(r,'")'),I(t).setAttribute("src",r),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))}(t,n,e),function(t,n,e){var i=s(t,n.data_bg_multi),o=s(t,n.data_bg_multi_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage=r,y(t,n.class_applied),f(t,"applied"),k(t,n,e),E(n.callback_applied,t,e))}(t,n,e)},K=function(t,n,e){!function(t){return j.indexOf(t.tagName)>-1}(t)?J(t,n,e):function(t,n,e){H(t,n,e),S(t,n,e)}(t,n,e),B(e),F(n,e)},Q=function(t){var n=h(t);n&&(v(t)&&_(t),clearTimeout(n),m(t,null))},W=function(t,n,e,i){"IMG"===t.tagName&&($(t),function(t){T(t,(function(t){R(t)})),R(t)}(t),function(t){T(t,(function(t){N(t)})),N(t)}(t),L(t,e.class_loading),D(i),E(e.callback_cancel,t,n,i),setTimeout((function(){i.resetElementStatus(t,i)}),0))},X=function(t,n,e,i){E(e.callback_enter,t,n,i),p(t)||(e.load_delay?function(t,n,e){var i=n.load_delay,o=h(t);o||(o=setTimeout((function(){K(t,n,e),Q(t)}),i),f(t,"delayed"),m(t,o))}(t,e,i):K(t,e,i))},Y=function(t,n,e,i){g(t)||(e.cancel_on_exit&&function(t){return"loading"===d(t)}(t)&&W(t,n,e,i),E(e.callback_exit,t,n,i),e.load_delay&&v(t)&&Q(t))},Z=["IMG","IFRAME"],tt=function(t){return t.use_native&&"loading"in HTMLImageElement.prototype},nt=function(t,n,e){t.forEach((function(t){-1!==Z.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),function(t,n,e){H(t,n,e),S(t,n,e),B(e),f(t,"native"),F(n,e)}(t,n,e))})),e.toLoadCount=0},et=function(t){var n=t._settings;i&&!tt(t._settings)&&(t._observer=new IntersectionObserver((function(e){!function(t,n,e){t.forEach((function(t){return function(t){return t.isIntersecting||t.intersectionRatio>0}(t)?X(t.target,t,n,e):Y(t.target,t,n,e)}))}(e,n,t)}),function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}}(n)))},it=function(t){return Array.prototype.slice.call(t)},ot=function(t){return t.container.querySelectorAll(t.elements_selector)},at=function(t){return function(t){return"error"===d(t)}(t)},rt=function(t,n){return function(t){return it(t).filter(g)}(t||ot(n))},ct=function(t){var n,e=t._settings;(n=ot(e),it(n).filter(at)).forEach((function(t){L(t,e.class_error),_(t)})),t.update()},lt=function(t,e){var i;this._settings=c(t),this.loadingCount=0,et(this),i=this,n&&window.addEventListener("online",(function(t){ct(i)})),this.update(e)};return lt.prototype={update:function(t){var n,o,a=this._settings,r=rt(t,a);(this.toLoadCount=r.length,!e&&i)?tt(a)?nt(r,a,this):(n=this._observer,o=r,function(t){t.disconnect()}(n),function(t,n){n.forEach((function(n){t.observe(n)}))}(n,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var n=this,e=this._settings;rt(t,e).forEach((function(t){K(t,e,n)}))},resetElementStatus:function(t){!function(t,n){p(t)&&function(t){t&&(t.toLoadCount+=1)}(n),f(t,null)}(t,this)},load:function(t){K(t,this._settings,this)}},lt.load=function(t,n){var e=c(n);K(t,e)},n&&function(t,n){if(n)if(n.length)for(var e,i=0;e=n[i];i+=1)l(t,e);else l(t,n)}(lt,window.lazyLoadOptions),lt})); </script> <script type="text/javascript"> function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.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) == 0) { return c.substring(name.length, c.length); } } return null; } function enhancedEcommerceAddProduct(product) { if (product) ga('enhancedEcommerce.ec:addProduct', product); } function enhancedEcommerceAddToCart(product) { if (product) { enhancedEcommerceAddProduct(product); ga('enhancedEcommerce.ec:setAction', 'add'); ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'add to cart'); } } function ecEventDispatch(productData) { if (productData) { enhancedEcommerceAddProduct(productData); ga('enhancedEcommerce.ec:setAction', 'click', {list: productData.list}); // Send click with an event, then send user to product page. ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'Product'); } } function toggleModal(target) { let templateId = target + '-template'; if (target === "#add-item-to-wishlist-modal" || target === "#create-new-wishlist-modal" || target === "#add-wishlist-templates") { templateId = "#wishlist-actions-template"; } else if (target === "#delete-wishlist-modal" || target === "#share-wishlist-modal" || target === '#share-lists-modal') { templateId = "#wishlist-popups-template"; } appendModalTemplate(target, templateId); if (target !== "#undefined-modal") { const activeModal = jQuery('.b-show-modal'), activeModalId = '#' + activeModal.attr('id'), targetSelector = $(target), targetModal = $(target + '.b-modal'); if (activeModal.length && activeModalId !== target) { activeModal.trigger('b-modal-closed'); activeModal.removeClass('b-show-modal'); } if (targetModal.hasClass('b-show-modal')) { targetSelector.trigger('b-modal-closed', [target]); } else { targetSelector.trigger('b-modal-opened', [target]); showModalContent(targetModal); } if(window.BKT_GLOBALS.isSidePanelTheme && !window.BKT_GLOBALS.isKoboPopup && targetSelector.hasClass('side-panel-theme')) { const targetModalContent = targetModal.find('.b-modal-content'); if(targetSelector.hasClass('b-show-modal')) { targetModalContent.toggleClass('slide-side-panel'); setTimeout(function() { targetModal.toggleClass("b-show-modal"); }, 300) } else { targetModal.toggleClass("b-show-modal"); setTimeout(function() { targetModalContent.toggleClass('slide-side-panel'); }, 300) } $('.b-modal:not(.b-show-modal) .b-modal-content').removeClass('slide-side-panel'); } else { targetModal.toggleClass("b-show-modal"); } lazyLoadInstance.update(); } } function createModal(name, className) { if (className === undefined) className = ""; if (jQuery("#" + name + "").length == 0) { var modal = '<div id="' + name + '" class="b-modal dynamic-modal ' + className + '">\n' + '<div id="' + name + '-popup" class="b-modal-content">' + '<button class="b-close-button b-modal-close"><i class="icon-cross"></i></button>' + '<div id="' + name + '-container"><div class="loader-wrapper"><i class="icon-spinner3 loader"></i></div></div>' + '</div>' + '</div>'; jQuery("#footer").append(modal); } } function windowOnClick(event) { var activeModal = jQuery('.b-show-modal'); if (activeModal[0] !== undefined && (event.target === activeModal[0] || event.target === jQuery('#paypal-terms-modal .overlay')[0]) && jQuery(activeModal[0]).find('.loader-wrapper').length === 0) { window.parent.jQuery('.b-modal-close').first().trigger('click'); } } function showModalContent(target) { target.show(); target.find('.b-modal-content').show(); } function openWishListDrawer() { appendModalTemplate(); var jNotificationContainer = jQuery("#product-wishlist-notification"); var jParentSelector = jQuery("#booktopia-notification-wrapper"); jParentSelector.find('#booktopia-notification > div').hide(); jNotificationContainer.show(); jParentSelector.show(); jQuery('.b-modal').hide(); jQuery('#wishlist-confirmation').hide(); showModalContent($('#add-item-to-wishlist-modal')); jQuery('#create-wishlist-form').trigger('reset'); jQuery('#add-item-to-wishlist-modal').trigger('b-modal-opened', ['#add-item-to-wishlist-modal']); setTimeout(function () { jParentSelector.addClass('active'); }, 20) } $(function () { $(document).on('b-modal-opened', '#add-item-to-wishlist-modal', function (e, target) { const form = $('#create-wishlist-form'); form.trigger('reset'); form.find('.input-error').remove(); form.find('.field').removeClass('error'); $.ajax({ url: "/api/customer/wishlist?version=v1", method: "get", dataType: "json" }).done(function(response) { if(response.success) { const responseData = response && response.data ? response.data : null, wishListSelect = $('#wishlist-select'); if (responseData.length <= 1) { const label = wishListSelect.closest('.field').find('label'); wishListSelect.hide(); label.html('This item will be added to your Wish List (default)'); label.addClass('mb-0'); } else { let options = []; responseData.forEach(function (item) { const option = '<option value="' + item.uidPk + '">' + item.displayName + '</option>' options.push(option) }); wishListSelect.show(); wishListSelect.parents('.field').find('label').html('Select a list to add to'); wishListSelect.html(options); } } }).fail(function(response){ console.warn(response); }); }); jQuery(document).on('click', '.b-modal-close', function () { const activeModal = $('.b-show-modal'), modal = $(activeModal[0]); if (modal.find('.loader-wrapper').length === 0) { toggleModal('#' + modal.attr('id')); const bModal = $(this).parents('.b-modal') if(bModal.attr('id') !== 'gallery-modal') { if (bModal.hasClass('dynamic-modal') && !bModal.hasClass('google-preview')) { setTimeout(function () { bModal.remove(); }, 100) } } } }); window.addEventListener("click", windowOnClick); //------END MODAL-------- jQuery(document).on('click', '#cancel-modal, .cancel-modal', function () { window.parent.jQuery('.b-modal-close').trigger('click'); }) jQuery("#reload-page").on('click', function () { parent.location.reload(); }) var trigger = $('.b-trigger'); trigger.on('click', function(e) { if(trigger.data('target') === "donation") { e.preventDefault(); } }) jQuery(document).on('click', 'a[data-product-data]', function(){ if($(this).hasClass('cart-item')) return; var productData = jQuery(this).data('product-data'); if (productData) { const wo = window.google_object?window.google_object:null; productData.dimension27 = wo?wo.dimension27:''; productData.deliveryExpectation = getOccasionDeliveryExpectation(productData); dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'addToCart', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'add': { 'products': [productData] } } }) } }) jQuery(document).on('click', '[data-promo-data]', function() { const wo = window.google_object?window.google_object:null, promoData = jQuery(this).data('promo-data'); if (promoData) { dataLayer.push({ ecommerce: null }); dataLayer.push({ 'event': 'promotionClick', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'promoClick': { 'promotions': [ promoData ] } } }); } }); $(window).on('beforeunload', function(){ if(loadedProducts.length > 0) { const wo = window.google_object?window.google_object:null; dataLayer.push({ ecommerce: null }); dataLayer.push({ 'event': 'productImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'products': loadedProducts } }); loadedProducts = []; } }); }); function appendModalTemplate(contentId, templateId) { const nonFooterModals = ["#zookal-study-modal","#paypal-terms-modal","#flat-rate-modal","#share-lists-modal","#etext-access-modal", "#free-shipping-modal"] if(window.BKT_GLOBALS.isMobileSession && !nonFooterModals.includes(contentId)) { const modalTemplateContainer = jQuery("#booktopia-notification"); if (modalTemplateContainer.children().length === 1) { modalTemplateContainer.append(jQuery("#footer-modal-template").html()); } } else { var desktopTemplateParent = jQuery(templateId).parent(); if(templateId === '#gallery-modal-template') desktopTemplateParent = jQuery('body'); var desktopTemplate = jQuery(templateId); var modalContent = jQuery(contentId); if (navigator.userAgent.indexOf("MSIE ") > -1 || navigator.userAgent.indexOf("Trident/") > -1) { desktopTemplate.show(); } else if (modalContent.length === 0) { desktopTemplateParent.append(desktopTemplate.html()); desktopTemplate.remove(); if(contentId === "#flat-rate-modal") { getShippingFeeTable(); } } } } function appendModalTemplateAfter(templateId, elementAfter) { const sharedTemplateId = $(templateId); if (typeof elementAfter !== 'undefined' && $(elementAfter).length > 0 && sharedTemplateId.length === 1) { $(sharedTemplateId.html()).insertAfter(elementAfter); } } function addProductToWishListPopup() { var timeout = 0; if($('#product-browse').length > 0) { $('html, body').scrollTop($('[id*=' + $('#product-hidden-isbn').val() + ']').offset().top - 60); timeout = 300; } setTimeout(function() { toggleModal("#add-item-to-wishlist-modal"); }, timeout); } function getOccasionDeliveryExpectation(productData) { return willDeliverBeforeOccasion === null ? null : (willDeliverBeforeOccasion && (productData.dimension1 ? productData.dimension1.trim() : false) === 'In-Stock'); } //Global variable for occasion delivery GA4 willDeliverBeforeOccasion = null; $(function(){ $(document).on('occasionDeliveryEstimate', function(e, willArriveBeforeCutoff){ // set value for this global variable willDeliverBeforeOccasion = willArriveBeforeCutoff; }) }) function getShippingFeeTable() { $.ajax({ method: "GET", url: '/news240.html' }).done(function (result) { const content = $('<div />').append(result).find('#content').html(); $('.shipping-fee-table-container').html(content); }); } </script> <script type="text/javascript"> document.addEventListener("DOMContentLoaded", function() { $('body').addClass('side-panel-theme-active'); window.BKT_GLOBALS.isSidePanelTheme = true; }); jQuery(document).on('header-version-b-loaded',function(){ jQuery('#top-nav #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section')); jQuery('#fiction-sub').appendTo(jQuery('#navlink-fiction-sub')); jQuery('#non-fiction-sub').appendTo(jQuery('#navlink-non-fiction-sub')); jQuery('#kids-sub').appendTo(jQuery('.navlink-kids-sub')); jQuery('#schools-sub').appendTo(jQuery('#navlink-schools-sub')); }); function isTouchDevice() { // Workaround as `Modernizr.touch == false` on new Windows Phone and true on some Firefox desktop versions. // Also cover Opera Mini for Android 4.0. return isModernMobileUserAgent(); } // Including "Windows Phone OS 7.5" and "Windows Phone 8.0" function isModernMobileUserAgent() { var ua = navigator.userAgent; return (ua.match(/(iPhone|iPod|iPad)/) || ua.match(/Android/) || ua.match(/BlackBerry/) || ua.match(/Opera Mini/) || ua.match(/Windows Phone/) ? true : false); } function isOldIE() { var oldIE = (navigator.userAgent.match(/msie/i)) && parseInt(jQuery.browser.version, 10) < 9; return oldIE; } // Toggle the floating navigation bar and quicklinks function togglePersistentNavBar() { var persistentNavBar = jQuery('.persistent-nav-bar'); if (persistentNavBar.length) { var showNavBar = jQuery(window).scrollTop() > 210; if (showNavBar) { persistentNavBar.show(); jQuery(document).trigger('persistentNavBar.shown'); if (!jQuery('.persistent-nav-bar #shopping-cart-summary').length && !jQuery('.persistent-nav-bar #searchform').length) { jQuery('#shopping-cart-summary').appendTo(jQuery('.persistent-cart-summary')); jQuery('#header #searchform').appendTo(jQuery('.persistent-search-box')); } if (jQuery('.autocomplete-suggestions').is(':visible')) { jQuery('.autocomplete-suggestions').hide(); } } else { persistentNavBar.hide(); jQuery(document).trigger('persistentNavBar.hidden'); if (!jQuery('#top-nav #shopping-cart-summary').length && !jQuery('#header #searchform').length) { if (jQuery('body').hasClass("header-version-b")) { jQuery('.persistent-nav-bar #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section')); } else { jQuery('.persistent-nav-bar #shopping-cart-summary').insertAfter('#top-nav .content > ul.header-version-default-item'); } jQuery('.persistent-nav-bar #searchform').appendTo(jQuery('#header #search')); } } } } function togglePersistentNavQuicklinks(quicklinksButton) { var quicklinkList = jQuery(quicklinksButton).siblings(".persistent-quicklink-list"); if (quicklinkList.hasClass("persistent-quicklink-list-open")) { quicklinkList.removeClass("persistent-quicklink-list-open"); quicklinkList.hide(); } else { quicklinkList.addClass("persistent-quicklink-list-open"); quicklinkList.show(); } } // below function called from CMS, init 'book of the month' img function initBookOfTheMonth(productLink, productImgURL, altText) { var bookOfTheMonthHtml = "<a href='" + productLink + "'><img class='book-of-the-month-img lazyload block' src='//images.booktopia.com.au/loading-cover-150.gif' data-src='" + productImgURL + "'alt='" + altText + "'></a>"; jQuery("#book-of-the-month-section").append(bookOfTheMonthHtml); var middleTile = jQuery("#banner .banner-middle-section .tile"); if (middleTile.length == 1) { middleTile.find("img").css("max-height", "260px"); } lazyLoadInstance.update(); }; </script> <script type="text/javascript" src="/template-resources/js/slick.min.js"></script> <script type="text/javascript"> // Excluding (true, 4) which is handled by initAddToCart (above) // and "product-carousel-priced-5" which is used for the No Products carousel function initCarousels(numResults, productType, parentSelector) { if (!parentSelector || parentSelector === "body") { if (numResults > 0) { initCarousel("small", 5, productType, parentSelector); // For categoryTemplateHead initCarousel("priced", 5, productType, parentSelector); // For categoryTemplate, categoryLandingPageTemplate, holidayHaven, clickFrenzy initCarousel("priced", 7, productType, parentSelector); // For /books-online/bargains/c9-p1.html initCarousel("", 4, productType, parentSelector); initCarousel("", 5, productType, parentSelector); // For productTemplateHead, productUnavailableTemplate initCarousel("", 7, productType, parentSelector); // For baum initCarousel("grid", 5, productType, parentSelector); } else initCarousel("priced", 5, productType, parentSelector); // For searchResultsDescription (No Results page) } } // Size carousels and set animate style for the overlaid price on the main carousel. // Returns the number of carousel containers that needed initialising function initCarousel(style, scroll, productType, parentSelector) { if (!parentSelector) parentSelector = "body"; var carouselSelector = null, options = {speed: 500, slidesToShow: scroll, slidesToScroll: scroll, infinite: false}; var initCount = 0; // Get common options for given carousel type if (style === "small") { // scroll will be 4 or 5 carouselSelector = ".product-carousel-small-5"; } else if (style === "priced") { carouselSelector = ".product-carousel-priced-" + scroll; } else if (style === "grid") { carouselSelector = ".product-carousel-grid-6"; options['slidesToShow'] = 6 options['slidesToScroll'] = 5 options['variableWidth'] = true } else { options['responsive'] = [{ breakpoint: 1150,// normal number of products up until 1150 settings: { slidesToShow: scroll, slidesToScroll: scroll, } },{ breakpoint: 3000,// setting this more than 1200 so the break point is never reached settings: { slidesToShow: scroll + 1, slidesToScroll: scroll + 1, } }] carouselSelector = ".product-carousel-" + scroll; } options['prevArrow'] = '<span class="slick-prev icon-arrow-left10" data-mh-ea="Arrow click" data-mh-el="Left"></span>'; options['nextArrow'] = '<span class="slick-next icon-uniE89B" data-mh-ea="Arrow click" data-mh-el="Right"></span>'; var listIds = new Array(); var categoryCode = null; var batch = true; jQuery(parentSelector).find(carouselSelector).each(function (index, element) { var jqContainer = jQuery(this); if (jqContainer.attr('data-batch') === "no") { batch = false } if (jqContainer.attr('data-dynamic') === "ajax") { // For AJAX carousels, <li> items must be appended to DOM before jcarousel() is called if (jqContainer.find("na").length == 0) { categoryCode = jqContainer.attr('data-category'); if (batch) { listIds.push(jqContainer.attr('data-list')); } else { let productListUrl = '/api/product/productsInList?version=v1&productTypeId=' + productType + '&listId=' + jqContainer.attr('data-list'); if(categoryCode) productListUrl += '&categoryCode=' + categoryCode; $.ajax({ url: productListUrl, dataType: "json" }).done(function(response) { const listProducts = response.data; setCarouselProducts(listProducts, jqContainer, options, parentSelector); }).fail(function(response) { console.warn(response); }); initCount++; } } } else { if (initCarouselInstanceFromDOM(jqContainer, options, parentSelector)) initCount++; } }); if (batch && listIds.length > 0) { var l = 0; let batchListUrl = '/api/product/productsInListBatch?version=v1&productTypeId=' + productType + '&listIds=' + listIds; if(categoryCode) batchListUrl += '&categoryCode=' + categoryCode; $.ajax({ url: batchListUrl, dataType: "json" }).done(function(response) { const listOfLists = response.data; jQuery(parentSelector).find(carouselSelector).each(function (index, element) { var jqContainer = jQuery(this); if (jqContainer.attr('data-dynamic') === "ajax" && l < listOfLists.length) { setCarouselProducts(listOfLists[l], jqContainer, options, parentSelector); initCount++; l++; } }); if(window.BKT_GLOBALS.isKeyboardAccessible) { initAccessibleCarousel(parentSelector); } }).fail(function(response){ console.warn(response); }); } return initCount; } // Get/set memory with template html function substituteFromTemplate(selector, vars) { if (!parent.cache) parent.cache = {}; if (!parent.cache[selector]) { var jTemplate = jQuery(selector); if (jTemplate.length === 0) { if (window.console && console.warn) console.warn("Template not found: " + selector); return ""; } var html = jTemplate.html().trim(); if (!html || html === "") { if (window.console && console.warn) console.warn("Template empty: " + selector); return ""; } parent.cache[selector] = html; } return substitute(parent.cache[selector], vars); } // Simple template substitution. If array passed in, assume pattern has format "Var1: {0} Var2: {1}". // If object passed in, assume pattern has Velocity-style format "Var1: ${var1} Var2: ${var2}". function substitute(pattern, vars) { var substitution; if (!vars) return pattern; else if (jQuery.isArray(vars)) { return pattern.replace(/{([0-9]+)}/g, function (match, key, value) { substitution = vars[key]; return (substitution ? substitution : ""); }); } else { return pattern.replace(/\${([A-Za-z0-9\.]+)}/g, function (match, key, value) { substitution = vars[key]; return (substitution ? substitution : ""); }); } } function setCarouselProducts(listProducts, jqContainer, options, parentSelector) { var fullTemplate = jqContainer.attr('data-details') === "full"; var isGridCarousel = jqContainer.hasClass('product-carousel-grid-6'); if (listProducts && listProducts.length > 0) { for (var i in listProducts) { if (listProducts[i] != null) { var itemHtml = carouselComposeItemHTML(listProducts[i], fullTemplate, isGridCarousel, i); jqContainer.find('.jcarousel-skin-booktopia').append('<li>' + itemHtml + '</li>'); } } options['lazyLoad'] = 'ondemand'; initCarouselInstanceFromDOM(jqContainer, options, parentSelector); //update lazy loading once the carousel is loaded in DOM lazyLoadInstance.update(); if (isTouchDevice()) { jQuery(parentSelector).find(".product-carousel-7 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-small-5 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-grid-6 .jcarousel-skin-booktopia .product .sale-price").animate({"opacity": 1.0}, 300); jQuery(parentSelector).find(".button").animate({"opacity": 1.0}, 300); } // //update the delivery icon for dynamic carousel if(localStorage.getItem('inStockDeliveryForPostcode') === "1") displayDeliveryIcon(); } else jqContainer.hide(); } // Initialise a specific carousel function initCarouselInstanceFromDOM(jqContainer, options, parentSelector) { var instanceOptions = carouselGetInstanceOptions(jqContainer, options); instanceOptions['_parentSelector'] = parentSelector; if (instanceOptions['visibleSize'] > 0 || instanceOptions['invisibleSize'] > 0) { var carouselRoot = jqContainer.find(".jcarousel-skin-booktopia"); if (carouselRoot.length > 0) { carouselRoot.slick(instanceOptions) // Add numbers to carousel images, similar to Bestsellers carousel try { if (jqContainer.parent().hasClass("carousel-grid-1-4-layout") && jqContainer.hasClass("product-rankings")) { // E.g. Carousel style used on eBook Fiction landing page jqContainer.find(".slick-slide").each(function (iCounter) { if (!jQuery(this).find(".ranking").length) { var iRanking = iCounter + 1; jQuery(this).find("div.image").append('<span class="ranking">' + iRanking + '</span>'); } }); } } catch (e) {} return true; } else return false; } else { if (window.console && console.warn) console.warn("Carousel data not found: " + parentSelector + " > " + jqContainer.attr('id') + " " + instanceOptions['size'] + " " + instanceOptions['visibleSize'] + " " + instanceOptions['invisibleSize']); return false; } } // Inspect a specific carousel to count the number of items to be added to it function carouselGetInstanceOptions(jqContainer, options) { var instanceOptions = jQuery.extend(true, {}, options); // clone var dynamic = false; var visibleSize = 0; var invisibleSize = 0; try { dynamic = jqContainer.attr("data-dynamic") || false; if ("domUpdate" == dynamic) { invisibleSize = jqContainer.find(".image img[src='']").parent().parent().length; // product.image count visibleSize = jqContainer.find("li").length - invisibleSize; } else { invisibleSize = jqContainer.find("na").length; visibleSize = jqContainer.find("li").length; // static/added carousel items } } catch (e) { } instanceOptions['visibleSize'] = visibleSize; instanceOptions['invisibleSize'] = invisibleSize; return instanceOptions; } //Generate stars sprite Y position from rounded rating (dynamic carousel helper) function getStarsSpriteY(rating, imageOffset) { var r = Number(rating); if (r === NaN || r <= 0.0) return -200; return -36.0 * rating + 2 + imageOffset; } // Item HTML creation helper function carouselComposeItemHTML(vars, fullTemplate, isGridCarousel, index) { // Alt text should NOT display as tooltips (that's what title is for), this was only fixed in IE8 if (!vars.altText || isOldIE()) vars.altText = ""; if (vars.formattedDateIfInFuture == "null" || typeof vars.formattedDateIfInFuture === "undefined") { vars.formattedDateIfInFuture = ''; } // Replaces image URL width parameter to 200 and 100 for grid carousels if (isGridCarousel && index % 5 == 0) { vars.imageUrl = vars.imageUrl.replace("/150/", "/200/"); } else { vars.imageUrl = vars.imageUrl.replace("/150/", "/110/"); } vars.productTypeTagClass = getProductTypeTagClass(vars.binding); vars.rating = vars.rating || 0.0; vars.starsSpriteY = getStarsSpriteY(vars.rating, 0); // ISBN and CODE can be used interchangeablely but template is using: data-code="${isbn}" if (vars.code && !vars.isbn) { vars.isbn = vars.code; } var itemHtml = substituteFromTemplate((fullTemplate ? "#carousel-item-buy-now-full-template" : "#carousel-item-buy-now-short-template"), vars, false); if (itemHtml) { if (document.getElementById('ec_enabled') && document.getElementById('ec_enabled').getAttribute('content') == 'true') { var ecData = jQuery("<div></div>").append(itemHtml), buyButton = ecData.find(".buy-button > a"), enhancedEcommerceData = { 'id': vars.uidPk.toString(), 'name': vars.displayName, 'category': buyButton.data('category'), 'brand': vars.altText.split(' - ')[1], 'variant': vars.defaultSupplierVitalSource ? "eText" : vars.fmtBinding, 'price': vars.fmtSalePrice.replace('$', ''), 'quantity': 1, 'dimension1': vars.hasStockAvailable ? 'In-Stock' : 'Not in Stock', 'list': 'Dynamic Carousel', 'position': index }; buyButton.attr('data-product-data', JSON.stringify(enhancedEcommerceData)); itemHtml = ecData.html(); } itemHtml = itemHtml.replace('data-src=""', 'data-src="' + vars.imageUrl + '"').replace('data-ll-status', 'data'); if (vars.hasStockAvailable && vars.binding !== "MAG") { itemHtml = itemHtml.replace('<img', '<span class="special-occasion-icon" title="This item will arrive by Christmas"></span><img'); itemHtml = itemHtml.replace('class="delivery">', 'class="delivery"><div class="in-stock"></div>'); } if (vars.fmtBinding === "eBook") { itemHtml = itemHtml.replace('buy-now button', 'buy-now ebook button'); itemHtml = itemHtml.replace('>BUY NOW<', '>BUY EBOOK<'); itemHtml = itemHtml.replace('icon-cart', 'icon-download'); } else if (vars.availability == "PREORDER") { itemHtml = itemHtml.replace('buy-now button', 'pre-order button'); itemHtml = itemHtml.replace('>BUY NOW<', '>PREORDER<'); } else if (vars.availability == "BACKORDER") { itemHtml = itemHtml.replace('buy-now button', 'back-order button'); itemHtml = itemHtml.replace('>BUY NOW<', '>BACKORDER<'); } if (vars.bundledProduct || vars.signed || vars.displayProductBadge || vars.productTypeTagClass) { var productBadge = ""; if (vars.bundledProduct) productBadge += '<span class="bundle-badge" title="This product belongs to a bundle"></span>'; if (vars.signed) productBadge += '<span class="signed-copy-sticker"></span>'; if (vars.displayProductBadge) { var badgeBgColor = vars.badgeBackgroundColor; if (!badgeBgColor || badgeBgColor == "") { badgeBgColor = "#009933"; } productBadge += '<div class="campaign-badge-wrapper"><div style="background-color: ' + badgeBgColor + '" class="campaign-badge-background"><div class="campaign-badge-text" style="color: ' + badgeBgColor + ';">' + vars.displayProductBadge + '</div></div></div>' var campaignBorder = '<div class="image" style="outline: 1px solid rgba(255,255,255,0.5); box-shadow: 0 0 0 1px ' + badgeBgColor + ';"'; itemHtml = itemHtml.replace('<div class="image"', campaignBorder); } if (vars.productTypeTagClass) productBadge += '<div class="' + vars.productTypeTagClass + '"></div>'; itemHtml = itemHtml.replace('<div class="product-badges-empty">', '<div class="product-badges">' + productBadge); } if (vars.adultCover) { itemHtml = itemHtml.replace('<img class="lazyload "', '<img class="lazyload blur"'); // Other browsers } } return itemHtml; } // Product type identifier overlaid on product images (dynamic carousel helper) function getProductTypeTagClass(binding) { if (!binding || binding === "") return ""; var tagClass = ""; if (binding === "DG_EPUB_PDF" || binding === "DG_PDF" || binding === "DG_EPUB") tagClass = "product-type-tag-ebook"; else if (binding === "AA" || binding === "RI" || binding === "AZ" || binding === "AJ" || binding === "C3" || binding === "CD" || binding === "CX" || binding === "DA" || binding === "M3" || binding === "MP3") tagClass = "product-type-tag-audio"; else if (binding === "DR" || binding === "CR" || binding === "DH" || binding === "DZ") tagClass = "product-type-tag-cd-dvd"; else if (binding === "BLR") tagClass = "product-type-tag-blu-ray"; else if (binding === "DAB") tagClass = "product-type-tag-audio-digital"; return tagClass; } </script> <script type="text/javascript"> document.addEventListener("DOMContentLoaded", function() { if(navigator.userAgent.indexOf('MSIE') > -1 || navigator.userAgent.indexOf('Trident') > -1) { $('.lazy-background').addClass('visible'); } else { var lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background")); if ("IntersectionObserver" in window) { let lazyBackgroundObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { entry.target.classList.add("visible"); if(true) { var promoEl = $(entry.target).parent('[data-promo-data]'); if(promoEl.length) { var promoData = promoEl.data('promo-data'); handlePromoImpression(promoData); } } lazyBackgroundObserver.unobserve(entry.target); } }); }); lazyBackgrounds.forEach(function(lazyBackground) { lazyBackgroundObserver.observe(lazyBackground); }); } else { $('.lazy-background').addClass('visible'); } } }); </script> <script> $(function() { if($('#top-small-crowns').length > 0) { let lazyTopSmallCrowns = [].slice.call(document.querySelectorAll('#top-small-crowns')); if ("IntersectionObserver" in window) { let lazyTopSmallCrownsObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { lazyTopSmallCrownsObserver.unobserve(entry.target); getTopSmallCrowns('1096','917504'); } }); }); lazyTopSmallCrowns.forEach(function(lazyTopSmallCrown) { lazyTopSmallCrownsObserver.observe(lazyTopSmallCrown); }); } else { getTopSmallCrowns('1096','917504'); } } }) function getTopSmallCrowns(categoryId, productTypeId) { if(categoryId && productTypeId) { $.ajax({ url: '/api/categorylandingpage', method: 'get', data: { 'categoryId': categoryId, 'productTypeId' : productTypeId, 'blockType': 'TOP SMALL CROWNS', 'version': 'v1' }, dataType: "json" }).done(function(response) { const crownData = response && response.data ? response.data.crowns : null; if(crownData && crownData.length > 0) { const crownContainer = $('#top-small-crowns'); let crownHtml = crownContainer[0].outerHTML, crownImages = $(crownHtml).find('.row > div[class*="col"]'); crownImages.each(function(index) { const _this = $(this), imageWrapper = _this.find('.feature-images a'), crown = crownData[index] ? crownData[index] : null, crownProducts = (crown && crown.products) ? crown.products : null; if(crownProducts && crownProducts.length > 0) { for(let i = 0; i < crownProducts.length; i++) { const featureImage = document.createElement('img'); featureImage.setAttribute('src', crownProducts[i].imgUrl); featureImage.classList.add(`feature-image-${(i + 1)}`); featureImage.setAttribute('alt', crownProducts[i].imgText); imageWrapper.append(featureImage); } } }); $(crownContainer).find('.row').html(crownImages); } }).fail(function(response){ console.warn(response); }).always(function() { $(document).trigger('topSmallCrownsLoaded'); }); } } </script> <script type="text/javascript"> function reportCitrusImpression(id) { if(isBotUserAgent()) return; if (typeof citrusAd !== 'undefined' && citrusAd) { citrusAd.reportImpression(id).then(function (result) { }).catch(function (error) { console.log('error ', error); }); } } </script> <script type="text/javascript"> function displayDeliveryIcon(){ var themeStyle = window.BKT_GLOBALS.occasion.theme, occasionName = window.BKT_GLOBALS.occasion.occasionName, style = 'style="'+ themeStyle +'"'; $('.delivery-icon,.arrives-by-text').remove(); var html = '<div class="delivery-icon" '+style+'><span><i class="icon-truck"></i></span></div><em class="arrives-by-text" '+style+'>Arrives by '+occasionName+'</em>'; var htmlWithText = '<div class="delivery-icon-pdp" '+style+'><i class="icon-truck"></i><span>Arrives By '+occasionName+'</span></div>'; if (window.BKT_GLOBALS.isMobileSession) { $('.delivery-icon-pdp').remove();//since we use this to display the ribbon, remove this before append $('.in-stock').closest('li.container').find('a').append(html); if($('#product-browse').length > 0 || $('#wishlist-container').length > 0) {//search grid or wishlist $('.in-stock').closest('.product').find('.image a').append(html); //in-stock with range $('.in-stock').closest('.product').find('.container-prod-details ').prepend(htmlWithText); } }else{ $('.in-stock').closest('.product').find('.image a').append(html); //in-stock with range } } </script> <script type="text/javascript" src="/wro/5404/booktopia.desktop.js?v=dev-20250213114820"></script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', "UA-413837-1"]); _gaq.push(['_trackPageview']); _gaq.push(['_setCustomVar', 1, 'Site', "PC", 2]); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', "UA-413837-3", 'auto'); ga('send', 'pageview'); ga('create', 'UA-413837-4', 'auto', 'enhancedEcommerce'); ga('enhancedEcommerce.require', 'ec'); ga('enhancedEcommerce.set', 'currencyCode', 'AUD'); ga('create', "UA-413837-1", 'auto', 'MHEnhancedEcommerce'); ga('MHEnhancedEcommerce.require', 'ec'); ga('MHEnhancedEcommerce.set', 'currencyCode', 'AUD'); var ecPageViewSent; window.onbeforeunload = function(){ if(ecPageViewSent !== true) { ga('enhancedEcommerce.send', 'pageview'); ga('MHEnhancedEcommerce.send', 'pageview'); return null; } }; </script> <script type="text/javascript" src="/Ns7aBMIv/init.js" async></script> <script type="text/javascript"> var advertTrackerRaw = localStorage.getItem('advertTracker') var advertTracker = JSON.parse(advertTrackerRaw) if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){ localStorage.removeItem('advertTracker') } </script> <script> lazyLoadScript("/wro/5404/booktopia.desktop.category-landing.js?v=dev-20250213114820", function(){ $(document).trigger('wroJsLoaded'); }); </script> <script type="text/javascript"> (function (a, b, c, d, e, f, g) { e['ire_o'] = c; e[c] = e[c] || function () { (e[c].a = e[c].a || []).push(arguments) }; f = d.createElement(b); g = d.getElementsByTagName(b)[0]; f.async = 1; f.src = a; g.parentNode.insertBefore(f, g); })('//d.impactradius-event.com/A1393524-e137-4555-83c9-d01ef05ce3901.js', 'script', 'ire', document, window); </script> <script> window.addEventListener('load', function() { lazyLoadScript('https://apis.google.com/js/platform.js?onload=initGoogleAuth', function(){}); }); </script> <script type="text/javascript"> var advertTrackerRaw = localStorage.getItem('advertTracker') var advertTracker = JSON.parse(advertTrackerRaw) if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){ localStorage.removeItem('advertTracker') } </script> <div id="freshbot-initiator-mock" style="bottom:30px; right:30px; display: none;"> <div id="chat-bubble"> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 30 30"><path d="M13.5 0h-9C2.016 0 0 1.99 0 4.44v7.565A1 1 0 001.008 13H13.5c2.484 0 4.5-1.99 4.5-4.44V4.44C18 1.99 15.984 0 13.5 0zm-3.24 9.52H3.744a.87.87 0 01-.864-.853.87.87 0 01.864-.853h6.516a.87.87 0 01.864.853.87.87 0 01-.864.852zm3.996-4.228H3.744a.87.87 0 01-.864-.852.87.87 0 01.864-.853h10.512a.87.87 0 01.864.853c0 .462-.36.852-.864.852z" fill="#fff" fill-rule="nonzero"/></svg> </div> </div> <script> window.addEventListener('load', function() { if(!isBotUserAgent()) { isFClicked = false; var freshBotCookie = getCookie('initiateFreshBotOnLoad'); if (freshBotCookie === 'true') { initiateFreshService(freshBotCookie); return true; } $('#freshbot-initiator-mock').show(); $('#freshbot-initiator-mock').one('click', function () { isFClicked = true; initiateFreshService(freshBotCookie); }); } }); function initFcWidget(cookie = null) { window.fcWidget.init({ token: "650540ae-cdd9-4b5e-9933-1035f1ff2c4e", host: "https://wchat.freshchat.com", tags:["chatbot"] }); window.fcWidget.on('widget:loaded', function() { if (isFClicked) { $('#freshbot-initiator-mock').hide(); window.fcWidget.open(); isFClicked = false; } }) window.fcWidget.on('widget:opened', function() { if(cookie === null) { setCookie('initiateFreshBotOnLoad', true, 1); } }); } function initiateFreshService(cookie){ var i = document, t = 'Freshchat-js-sdk', e; i.getElementById(t) ? initFcWidget(cookie) : ((e = i.createElement("script")).id = t, e.async = !0, e.src = "https://wchat.freshchat.com/js/widget.js", e.onload = function(){ initFcWidget(cookie); }, i.head.appendChild(e)) } </script> <script> window.insider_object= { "page": { "type": "Category" }, }; </script> <script> var breadcrumbs = $('#breadcrumbs'), nav = "Category", category = "", genre = "", subGenre = ""; if(breadcrumbs.length > 0){ let crumbs = breadcrumbs.text().split('>'); category = crumbs.shift().trim(); genre = crumbs.length > 0 ? crumbs[0].trim() : ""; subGenre = crumbs.length > 1 ? crumbs[crumbs.length - 1].trim(): ""; } else if (nav === "Gift Certificates") { category = nav; } window.google_object = { "page": { "type": "Category" }, currency: "AUD", dimension27: "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout", dimension5: getCookie('gaUniqueIdentifier') || "", dimension6: getCookie('customerUid') || "", dimension12: getCookie('__utmz')?getCookie('__utmz').indexOf('emarsys') >= -1 : "", dimension13: getCookie('insdrSubsId') || "", dimension14: "", dimension15: getCookie('irclickid') || "", dimension16: category, dimension17: genre, dimension18: subGenre, } </script> <script> var lazyLoadInstance = new LazyLoad({ elements_selector: ".lazyload", callback_loaded: function(el){ var promoItem = $(el).parents('[data-promo-data]'); if(promoItem.length) { handlePromoImpression(promoItem.data('promo-data')); return; } const elem = $(el), wishlistItem = elem.parents('.wishlist-item'); let productData; const searchAndCarouselItem = elem.parents('.product'), bestsellingItem = elem.parents('.bestselling-product'); if(wishlistItem.length > 0){ productData = wishlistItem.find('.wishlist-unit-cost > a').data('product-data'); }else if (searchAndCarouselItem.length > 0){ productData = searchAndCarouselItem.find('.buy-button > a').data('product-data'); }else if (bestsellingItem.length > 0){ productData = bestsellingItem.data('product-data'); } if(productData){ const wo = window.google_object ? window.google_object : null; let extendedProductData = { deliveryExpectation: getOccasionDeliveryExpectation(productData) }, paymentType = {dimension27: wo?wo.dimension27:''}; Object.assign(extendedProductData, productData, paymentType); var MHExtendedProductData = {}, additionalParams = { currency: wo?wo.currency:'', dimension5: wo?wo.dimension5:'', dimension6: wo?wo.dimension6:'', dimension12: wo?wo.dimension12:'', dimension13: wo?wo.dimension13:'', dimension14: wo?wo.dimension14:'', dimension27: wo?wo.dimension27:'', "eventCategory": "Enhanced Ecommerce", "eventAction": "Product Impressions", "eventLabel": "", deliveryExpectation: getOccasionDeliveryExpectation(productData) }; Object.assign(MHExtendedProductData, productData, additionalParams); if(isCustomerSessionLoaded) { extendedProductData.dimension2 = sessionDataAccountType; ga('enhancedEcommerce.ec:addImpression', MHExtendedProductData); ga('MHEnhancedEcommerce.ec:addImpression', MHExtendedProductData); MHLoadedCount++; } else { MHProductQueue.push(MHExtendedProductData); } if(MHLoadedCount > 9) { ga('enhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); ga('MHEnhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); MHLoadedCount = 0; } // Add product data to data layer loadedProducts.push(extendedProductData); if(loadedProducts.length > 9){ if(!isCustomerSessionLoaded) { productEventQueue.push(loadedProducts); loadedProducts = []; return; } addProductImpressions(loadedProducts); loadedProducts = []; } } } }); let loadedProducts = []; let MHLoadedCount = 0; let MHProductQueue = []; let productEventQueue = [], promoEventQueue = [], isCustomerSessionLoaded = false, sessionDataAccountType = ""; $(document).on("customerSessionLoaded", function(event, customerSessionData) { isCustomerSessionLoaded = true, sessionDataAccountType = customerSessionData.accountType; let sessionDataCustomerUid = customerSessionData.customerUid; MHProductQueue.forEach(function(extendedProductData) { extendedProductData.dimension2 = sessionDataAccountType, extendedProductData.dimension6 = sessionDataCustomerUid; ga('enhancedEcommerce.ec:addImpression', extendedProductData); ga('MHEnhancedEcommerce.ec:addImpression', extendedProductData); MHLoadedCount++; if(MHLoadedCount > 9) { ga('enhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); ga('MHEnhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); MHLoadedCount = 0; } }); productEventQueue.forEach(function(event) { addProductImpressions(event); }); promoEventQueue.forEach(function(event) { addPromoImpression(event); }); }); function handlePromoImpression(promoData) { if(!isCustomerSessionLoaded) { promoEventQueue.push(promoData); return; } addPromoImpression(promoData); } function addPromoImpression(promoData) { const wo = window.google_object?window.google_object:null; if(promoData.creative === "Citrus") { const productType = "Books"; if(productType.length) { promoData.creative += " " + productType; } } dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'promotionImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'promoView': { 'promotions': [ promoData ] } } }); } function addProductImpressions(productsData) { const wo = window.google_object?window.google_object:null; dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'productImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'products': productsData } }); } </script> <script> lazyLoadScript("https://assets.citrusad.net/citrusjs/0.3.1/citrus.js", function(){ citrusAd = CitrusAd.init("https://au-integration.citrusad.com/v1"); }) </script> <script type="text/javascript"> let citrusInitialised = false, bannerSlots = $('[data-citrus-banner]'), bannerIds = [], banners = null; bannerSlots.each(function(i,elem){ bannerIds.push($(elem).data('citrus-bannerid')) }) if (bannerIds.length > 0) { $.ajax({ url: '/api/citrus/banners/917504/category-landing-page', method: 'get', data: { 'filters': '1096', 'bannerSlotIds': bannerIds.join(), 'version': 'v1' }, dataType: "json" }).done(function (response) { if(response.success) { const responseData = response.data, banners = responseData ? responseData.banners : null; citrusInitialised = true; let citrusCarouselCount = 0 if (banners && banners.length > 0) { banners.forEach(function (banner, index) { if (banner.slotId.includes("Carousel")) { let img = $('<img></img>').attr({'src': banner.imageUrl, 'id': 'sliderImg' + index, 'alt': banner.altText}), anchor = $('<a>').attr({'href': banner.linkUrl, 'id': banner.id, 'data-citrus-banner': "", 'data-citrus-impressed': "false", 'aria-hidden': 'true'}).append(img); const anchorWrapper = $('<div>').append(anchor.clone()), slider = $('#slider'), sliderPlaceholder = $('#slider-placeholder'); slider.append(anchorWrapper); if (citrusCarouselCount === 0) { anchor.attr('id', `${banner.id}-${index}`); sliderPlaceholder.append(anchor.clone()); if (sliderPlaceholder.visible()) { sliderPlaceholder.find('a:last-child').attr('data-citrus-impressed', 'true'); slider.find('a:first-child').attr('data-citrus-impressed', 'true'); reportCitrusImpression(banner.id); } sliderPlaceholder.find('a:first-child').hide(); } citrusCarouselCount++; } $('a[data-citrus-banner]').each(function (i) { const bannerContainer = $(this), id = bannerContainer.data('citrus-bannerid'), bannerSlotId = banner.slotId; if (id && bannerSlotId === id && !bannerSlotId.includes("Carousel")) { const citrusBanner = bannerContainer.find('img'); reportCitrusImpression(banner.id); let position = ''; if (bannerContainer.parent('.feature-box').length > 0) { position = 'Category Landing Page Blocks' } else if (bannerContainer.parent('.banner-middle-section').length > 0) { position = 'Category Banner Small Tiles' } const promoData = { 'id': banner.id, 'name': banner.altText.replace(/['"]/g, ''), 'creative': 'Citrus Books', 'position': position } bannerContainer.attr('data-promo-data', JSON.stringify(promoData)); if (citrusBanner.hasClass('loaded')) handlePromoImpression(promoData); bannerContainer.attr({href: banner.linkUrl, id: banner.id}).find('img').attr({alt: banner.altText}); citrusBanner.attr(citrusBanner.attr('src').indexOf('loading-cover-150.gif') > -1 ? 'data-src' : 'src', banner.imageUrl); citrusBanner.closest('a').attr('data-mh-el', banner.altText) } }) }) if (citrusCarouselCount > 1) { initSliderAsync(); } } if (citrusCarouselCount === 0) { jQuery('#slider-placeholder').find('a').show(); } } }).fail(function(response){ console.warn(response); }); $(document).on('click', '[data-citrus-banner]', function(e){ const _this = $(this), href = _this.attr('href'), citrusId = _this.attr('id') e.preventDefault(); reportCitrusClick(citrusId, href); setTimeout(function () { window.location.href = href; }, 1000) }); setTimeout(function () { if (!citrusInitialised) { $('#slider-placeholder').find('a').show(); } }, 1000) } </script> <script> jQuery( function() { if(window.location.hash) { var hash = window.location.hash.substring(1); if (hash === 'joined-bookclub') { var productCode = getParameterByName("code", window.location.search) addProductAfterOptIn(productCode, false, false) } else if(hash === 'join-bookclub'){ displayJoinBookClubModalOnRedirect(); } else if(hash === 'add-to-wishlist') { populateListISBN($('#product-hidden-isbn'), getParameterByName('code', window.location.search)); addProductToWishListPopup(); } if (!(navigator.userAgent.match(/msie/i))) { window.location.hash = ""; } } }) </script> <script type="text/javascript"> jQuery(function() { // initProductButtons(); initCarousels(71215, "917504"); }); jQuery(document).on('load', function() { initProductButtons(); }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"18e954a8c4","agent":"","beacon":"bam.nr-data.net","applicationTime":667,"applicationID":"457372","transactionName":"Z1FVY0FZXEZQBUEKCl4bdEJATF1YHjVQAhdTXHVFXE9BUHIJWxcXX1hbUkEXUVRFA1IMF0k=","queueTime":0}</script> <!-- Emarsys JavaScript API Header code. Loads the scarab-v2.js --> <script type="text/javascript"> var ScarabQueue = ScarabQueue || []; (function(id) { if(isBotUserAgent()) return; if (document.getElementById(id)) return; var js = document.createElement('script'); js.id = id; js.src = '//cdn.scarabresearch.com/js/189BDB0239BB84D9/scarab-v2.js'; var fs = document.getElementsByTagName('script')[0]; fs.parentNode.insertBefore(js, fs); })('scarab-js-api'); </script> <!-- [WEB-1422] Emarsys JavaScript API code. See booktopia.common.js --> <script type="text/javascript"> window.addEventListener('emarsysTracking', function(customerSession) { emarsysInit(customerSession.detail); }) var emarsysEnabled = true; function emarsysInit(ajaxCustomerSession){ pushEmarsysData(ajaxCustomerSession) } function pushEmarsysData(ajaxCustomerSession) { emarsysPushCategoryView(ajaxCustomerSession.emarsysCustomerUid,'L','false','false'); } </script> <template id="add-to-cart-templates-template" style="display: none"> <div id="add-to-cart-templates" class="b-modal side-panel-theme"> <div id="add-cart-popup" class="b-modal-content" data-mh-pe="eventCartActions" data-mh-ec="Details - Cart Actions" data-dimension-16to18 data-dimension-28> <button data-mh-ea="close" class="b-close-button b-modal-close"><i class="icon-cross"></i></button> <div id="add-cart-page-container"> <div id="shopping-cart-popup" class="popup-container"> <div class="header"> <div id="add-cart-page-placeholder"> <div id="add-cart-page-content" class="content"> <div id="add-cart-heading"> <i class="panel-icon icon-check d-none"></i> <h2 id="cartPopupTitle">Item Added to your Shopping Cart</h2> <template id="addToSubscriptionResult" style="display:none;"></template> <script> </script> <div id="item-added" data-binding="" data-code="${cartProduct.code}" data-userid="0"> Item Added: <a href="${productUrl}" target="_parent" data-mh-ea=""></a> </div> </div> <div id="navigation" class="row no-gutters"> <div class="col-auto col-continue-shopping"> <a href="javascript:void(0)" class="continue-shopping-button bx-button bx-button-continue b-modal-close" data-mh-ea="Continue shopping"><span class="icon icon-cart"></span><span class="button-text">Continue Shopping</span></a> </div> <div class="col-auto col-cart-details"> <div id="cart-details"> <i class="panel-icon icon-shopping-cart d-none"></i> <a href="javascript:void(0)" onclick="viewCart()" id="cart"><span class="icon icon-cart"></span></a> <div class="cart-details-row"> <div id="items" data-quantity="0">0 item</div> <div id="subtotal">$0.00</div> </div> <a href="javascript:void(0)" data-mh-ea="View Shopping Cart" onclick="viewCart()">View Shopping Cart</a> </div> </div> <div class="col-auto col-view-cart"> <a href="javascript:void(0)" onclick="viewCart()" class="proceed-to-checkout-button bx-button bx-button-action"><span class="button-text" data-mh-ea="PROCEED TO CHECKOUT">Proceed to Checkout</span></a> </div> </div> <div id="cart-recommended"> </div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <div id="add-cart-templates" style="display:none"> <div id="carousel-item-buy-now-short-template"> <div class="product"> <div class="image" > <div class="product-badges-empty"></div> <a data-mh-productclick href="${productUrl}" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="" alt="${altTag}" > </a> </div> <div class="reviews-rating"> </div> <div class="delivery"></div> <div class="price"> <div class="rrp"> RRP <span class="strike">${fmtRetailPrice}</span> </div> <div class="sale-price">${fmtSalePrice}</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="${uidPk}" data-formattedavailabledate="${formattedDateIfInFuture}" data-hasstockavailable="${hasStockAvailable}" data-code="${isbn}" data-binding="${binding}" data-lang="${language}" data-publisher-name="${publisherName}" data-supplier-item-status="${supplierItemStatus}" data-show-product-popup="${showProductPopup}" data-category="Books > Non-Fiction > Law" ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </div> </div> <div class="persistent-nav-bar"> <div class="persistent-nav-bar-inner"> <button class="sidenav-menu-switch"> <i class="icon-menu-new"></i> <span>ALL CATEGORIES</span> </button> <div class="persistent-search-box"></div> <div class="persistent-cart-summary"></div> </div> </div><script type="text/javascript"> if (!isTouchDevice()) { jQuery(window).on('scroll', function() {togglePersistentNavBar();}); } </script> </body> </html>