CINXE.COM

The Mentalist Collective | Dunedin Public Libraries

<!DOCTYPE html> <html lang="en"> <head prefix="og: http://ogp.me/ns#"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>The Mentalist Collective | Dunedin Public Libraries</title><meta http-equiv="X-UA-Compatible" content="IE=Edge" /><link href="/favicon.ico" type="image/x-icon" rel="icon" /><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon" /><meta recollect="1.5" /><meta name="google-site-verification" content="KoFxpUQwinV_Vi2E7XtEuU2Kuxsc5FoAOQqkETXB__M" /><meta property="og:url" content="https://dunedin.recollect.co.nz/nodes/view/213349" /><meta property="og:type" content="website" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.css?1735011805" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.structure.css?1735011805" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.theme.css?1735011805" /> <link rel="stylesheet" type="text/css" href="/css/jquery.mCustomScrollbar.css?1735011805" /> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700:latin" /> <link rel="stylesheet" type="text/css" href="/css/recollect3.css?1739332999" /> <script type="text/javascript" nonce="5708c77c181d96d7537c7d9f6aeea267"> //<![CDATA[ var jsRoot = "/"; var themedCSS = "dunedin"; var jsURL = "https://dunedin.recollect.co.nz/"; var siteTitle = "Dunedin Public Libraries"; //]]> </script><script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=6LdtysMUAAAAAL2VgG5vRBJq4x8tyqUgaDGBfWzS" nonce="5708c77c181d96d7537c7d9f6aeea267"></script><script type="text/javascript" src="/js/browser-update.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery-3.5.1.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery-ui-1.13.2/jquery-ui.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery.mCustomScrollbar.concat.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery-scroll.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/recollect3.js?1739322331" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery-migrate-3.4.0.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script><script nonce=5708c77c181d96d7537c7d9f6aeea267 type='text/javascript'> var cpopapidata = 'eyIxIjp7ImlkIjoiNjRkMmZhMWIyZTEyNTc1OTI0Mjk2OSIsInNob3dfcG9wdXAiOiIxIiwicG9wdXBfcG9zaXRpb24iOiIxIiwicG9wdXBfdGl0bGVDb2xvciI6IiMwMDAwMDAiLCJwb3B1cF9iYWNrZ3JvdW5kQ29sb3IiOiIjMDAwMDAwIiwiYnV0dG9uX2NvbG9yIjoiIzAwMDAwMCIsIm1vcmVCdXR0b25fdGV4dENvbG9yIjoiIzAwMDAwMCIsInNob3dzX3doZW4iOiIwIiwicG9wdXBfY2xvc2VJY29uQ29sb3IiOiIjMDAwMDAwIiwicG9wdXBfYnV0dG9uVGV4dENvbG9yIjoiIzAwMDAwMCIsInNob3dfb25fcGFnZXMiOiIwIiwicGF0aG5hbWUiOlsiXC9jcm93ZHNvdXJjZSJdfX0='; </script><script type="text/javascript" src="/js/custompopup/cpop.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script><script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery.jeditable.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <script type="text/javascript" src="/js/jquery.popupoverlay.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <link rel="stylesheet" type="text/css" href="/css/toastr/toastr.min.css?1735011805" /> <script type="text/javascript" src="/js/toastr/toastr.min.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script> <meta property="og:title" content="The Mentalist Collective" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="Dunedin Public Libraries" /> <meta property="og:description" content="Date taken: 5th May 2019 | Read the full record details for Photo: The Mentalist Collective" /> <meta property="og:image" content="https://dunedin.recollect.co.nz/assets/display/434918-max?u=a5e40261f8110afb759f1417254849de" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:image:width" content="6000" /> <meta property="og:image:height" content="4000" /> <link rel="stylesheet" type="text/css" href="/font-awesome/4.3.0/css/font-awesome.min.css?1735011805" /> <link rel="stylesheet" type="text/css" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" /> <script type="text/javascript" nonce="5708c77c181d96d7537c7d9f6aeea267"> //<![CDATA[ var mapMarkers = new Array(); //]]> </script> <script type="text/javascript" nonce="5708c77c181d96d7537c7d9f6aeea267"> //<![CDATA[ mapMarkers[0] = { lat: -45.8729762, lng: 170.503373, data: '<img src="https://maps.googleapis.com/maps/api/streetview?key=AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM&size=200x200&location=-45.8729762,170.503373&sensor=false&enabled=1&fov=90&heading=0&pitch=0&zoom=5" style="margin: 0px 6px 6px 0px;" title="" alt="" />' }; //]]> </script> <script type="text/javascript" nonce="5708c77c181d96d7537c7d9f6aeea267"> //<![CDATA[ var lat = -41.29313117262585 ;var lng = 174.7788005858639 ;var mapzoom = 5;var maptype = 'hybrid'; //]]> </script><link rel="stylesheet" type="text/css" href="/theme/dunedin/css/page/Nodes/view.css?1735011805" /><script type="text/javascript" src="/theme/dunedin/js/page/Nodes/view.js?1739500453" nonce="5708c77c181d96d7537c7d9f6aeea267"></script><link rel="stylesheet" type="text/css" href="/theme/dunedin/css/dunedin.css?1740607592" /><script type="text/javascript" src="/theme/dunedin/js/dunedin.js?1735011805" nonce="5708c77c181d96d7537c7d9f6aeea267"></script><link rel="stylesheet" type="text/css" href="/css/print.css?1735011805" media="print" /><link rel="stylesheet" type="text/css" href="/css/mobile.css?1735011805" /> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <!-- #R1X-9002 Adding global functions for Maps & Recaptcha to body tag --> <body data-recollect-page="-nodes-view-213349" data-recollect-google-map-api-key="AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM" data-sitekey="6LdtysMUAAAAAL2VgG5vRBJq4x8tyqUgaDGBfWzS"> <div id="popupoverlay"></div> <script nonce="5708c77c181d96d7537c7d9f6aeea267" type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-34575327-23']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; //ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 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 async nonce="5708c77c181d96d7537c7d9f6aeea267" src="https://www.googletagmanager.com/gtag/js?id=G-GRN23Z8N5R"></script> <script nonce="5708c77c181d96d7537c7d9f6aeea267"> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-GRN23Z8N5R'); // Capture User Level for Google Analytics gtag('set', 'user_properties', { 'user_level': 'Guest' }); </script> <div id="wrap"> <div id="main" role='main'> <a href="#main_content" class="visuallyhidden">Skip to content</a><div id="menu_bar" role="navigation"><div id="client_menu" class="sprite"><ul><li class="home"><a href="https://dunedin.recollect.co.nz/" class="">Home</a></li><li class="browse"><a href="https://dunedin.recollect.co.nz/nodes/browse" class="">Browse All </a></li><li class="search"><a href="https://dunedin.recollect.co.nz/nodes/definesearch" class="active">Search</a></li><li class="history"><a href="https://dunedin.recollect.co.nz/pages/history" class="">My History</a></li><li class="profile"><a href="https://dunedin.recollect.co.nz/users/login" class="">Login</a></li><li class="contribute"><a href="https://dunedin.recollect.co.nz/contributes" class="">Contribute</a></li><li class="crowdsource"><a href="https://dunedin.recollect.co.nz/crowdsource" class="">Crowdsource</a></li><li class="info"><a class=" void-pointer" tabindex="0" role="button">More</a></li><li class="contact"><a href="https://dunedin.recollect.co.nz/pages/contact" class="">Contact Us</a></li><li class="bookface"><a href="https://www.facebook.com/dunedin.public.libraries" class="">Facebook</a></li></ul></div></div><div id="info_menu"><div class="info_menu_inner"><ul><li><a href="https://dunedin.recollect.co.nz/pages/contact" >Contact Us</a></li><li><a href="https://dunedin.recollect.co.nz/pages/newspapers" >Newspaper Index</a></li><li><a href="https://dunedin.recollect.co.nz/pages/abbv" >Abbreviation Help</a></li><li><a href="https://www.dunedinlibraries.govt.nz/home" class="extlink">Library</a></li><li><a href="https://dunedin.recollect.co.nz/users/login" >Login</a></li><li><a href="https://dunedin.recollect.co.nz/users/register" >Register</a></li></ul></div></div><span id="nodeID" style="display:none;">213349</span><script nonce="5708c77c181d96d7537c7d9f6aeea267" > var texttype = 'METADATA'; var textedit = '1'; var textview = '1'; var initText = '1'; </script> <script type="text/javascript" nonce="5708c77c181d96d7537c7d9f6aeea267"> //<![CDATA[ var autoFadeAway = 2000; //]]> </script><div id="toolbox"><a id="toggle-toolbox" class="sprite void-pointer" title="Toggle toolbox display" tabindex="0" role="button">Open/Close Toolbox</a><div id="searchbacknextinheader" class="sprite clearfix"><div id="back-forward"></div></div><div class="nodeactions sprite"><ul></ul></div><div id="thezone"><div class="portlet-header">Format: Photo</div><div id="imagetaglist" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Image Tags</div><a href="https://dunedin.recollect.co.nz/users/login" title="Login to add a tag" class="addtag2 sprite">Add</a><div class="portlet-content"><div id="showHideTags"><input type="radio" name="data[showHideRadio]" id="ShowHideRadio2" value="2" checked="checked" /> <label class="hide" for="ShowHideRadio2">Show tags<span class="crossed"></span></label> <input type="radio" name="data[showHideRadio]" id="ShowHideRadio3" value="3" /> <label for="ShowHideRadio3">Show tags<span class="ticked" tabindex="0"></span></label></div><span class="nil">no tags yet</span><div id="showHideTagsList" class="listwrap"><ul></ul></div></div></div><div id="back_fwd_links" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Linked To</div><div class="portlet-content"><strong>People</strong><ul><li><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Robert Milne</a></li></ul><strong>Place</strong><ul><li><a href="https://dunedin.recollect.co.nz/nodes/view/200480" >Dunedin City Library</a></li></ul><strong class="2fade38f6eb2041e9186205e5f83876b">Photographic Collation</strong><ul class="2fade38f6eb2041e9186205e5f83876b"><li><a href="https://dunedin.recollect.co.nz/nodes/browse?filter=eyJudGlkcyI6WyIxOSJdLCJmYWNldCI6eyIyNjMiOltdfX0=&amp;bid=213349" title="Where The Mentalist Collective is the Photo">Photo (26)</a></li></ul><strong class="78386ec8f2845742c324a3d7d3e800ff">People</strong><ul class="78386ec8f2845742c324a3d7d3e800ff"><li><a href="https://dunedin.recollect.co.nz/nodes/browse?filter=eyJudGlkcyI6WyI0Il0sImZhY2V0Ijp7IjI2IjpbXX19&amp;bid=213349" title="Where The Mentalist Collective is the Photo">Photo (2)</a></li></ul></div></div><div id="static-map" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Map</div><div class="portlet-content"><img src="https://maps.googleapis.com/maps/api/staticmap?key=AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM&size=200x240&markers=label:1|-45.8729762,170.503373&maptype=hybrid&zoom=5&path=color:0x3F4D57|weight%3a5|fillcolor:0x3F4D57&maptype=hybrid" id="staticmap" data-map-type="hybrid" data-map-color="0x3F4D57" title="Click for large interactive map" alt="Google map image of location pin" width="200" height="240" /></div></div><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>StreetView</div><div class="portlet-content"><img src="https://maps.googleapis.com/maps/api/streetview?key=AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM&size=200x240&location=-45.8729762,170.503373&sensor=false&enabled=1&fov=90&heading=0&pitch=0&zoom=5" title="StreetView of marker #1" class="astreetview" data-lat="-45.8729762" data-lng="170.503373" data-pitch="0" data-heading="0" alt="StreetView of marker #1" /> </div></div><div id="recollections" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Recollections</div><a href="https://dunedin.recollect.co.nz/users/login" class="sprite recadd2" title="Login and tell us more about this photo">Add</a><div class="portlet-content"><span class="nil">no stories yet</span></div></div><div id="creative_commons" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Copyright</div><div class="portlet-content"><div class="cc_i_txt"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/nz/" title="This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 New Zealand License" rel="license" class="extlink"><img src="/htmluploads/dunedin/creative_commons/3.png?" alt="3" title="3" /></a><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/nz/" class="extlink">This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 New Zealand License</a><div class="copyDescrip">This licence allows you to download this work and share it with others as long as you mention us and link back to us, but you cannot change it in any way or use it commercially.</div></div></div></div></div><div id="sharemenu" class="sharemenu"><a href="https://twitter.com/share?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F213349" target="_blank" class="shareme" id="twitter_share"><img src="/img/share_twitter.png?1735011805" alt="Tweet this on Twitter" title="Tweet this on Twitter" /></a><a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F213349" target="_blank" class="shareme" id="facebook_share"><img src="/img/share_facebook.png?1735011805" alt="Share this on Facebook" title="Share this on Facebook" /></a><a href="https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F213349" target="_blank" class="shareme" id="linkedin_share"><img src="/img/share_linkedin.png?1735011805" alt="Share this on LinkedIn" title="Share this on LinkedIn" /></a><a href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F213349" target="_blank" class="shareme" id="tumblr_share"><img src="/img/share_tumblr.png?1735011805" alt="Share this on Tumblr" title="Share this on Tumblr" /></a><a href="mailto:?subject=Sharing%20The%20Mentalist%20Collective%20at%20Dunedin%20Public%20Libraries&body= Here's the link: https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F213349&X-Mailer=RECOLLECTshare" id="email_share"><img src="/img/share_email.png?1735011805" alt="Share this via email" title="Share this via email" /></a></div><div id="tools" style=""><div class="butttit">Tools</div><a id="heroz1" class="toolbox_button void-pointer" tabindex="0" role="button">Full size thumbnail</a><a id="heroz2" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to screen</a><a id="heroz3" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to width</a><a id="heroz4" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to height</a><a id="flipper" class="toolbox_button void-pointer" tabindex="0" role="button">Rotate 90 degrees</a><a id="pz_button" class="toolbox_button void-pointer" u="/assets/view" tabindex="0" role="button">Zoom to 100%</a><div id="zoom"><div id="zoomer"></div><div id="zoom_wrap"><div id="zoom_slide"></div></div></div><a id="OCRpopup" class="toolbox_button void-pointer" u="/nodes/ocrtxt" tabindex="0" role="button">Show Text / Transcription</a><a id="searchpop" class="toolbox_button void-pointer" tabindex="0" role="button">Show keyword hits</a><a id="showKeyHits" class="toolbox_button void-pointer" tabindex="0" role="button">Highlight keywords</a><a href="https://dunedin.recollect.co.nz/nodes/download/213349" class="toolbox_button download downloadwiz" aid="0">Download</a><a href="https://dunedin.recollect.co.nz/users/bookmarks/add:213349" class="toolbox_button add">Add to My Collection</a><a href="https://dunedin.recollect.co.nz/messages/create/213349" class="toolbox_button contact">Contact us about this</a><a class="toolbox_button cite void-pointer" tabindex="0" role="button">Citation for this item</a></div></div><div id="main_content_wrap"><div id="header"><div id="client_logo"><a href="http://www.dunedinlibraries.govt.nz/home" ><img src="/theme/dunedin/img/logo.png?1735011805" title="" alt="" /></a></div><div class="headerText pad"><span class="headerTextA">Dunedin Public Libraries and the Dunedin Lebanese Community Present:</span><br><span class="headerTextB">HE PURAPURA MARARA &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="headerTextC">SCATTERED SEEDS</span></div><div id="topright"><a href="http://www.cedarsoflebanon.org.nz/" target="_blank"><img src="/theme/dunedin/img/cedars-logo_circle.png?1735011805" title="" alt="" /></a></div><div id="login_logout" class="notloggedin"><span id="welcome">Welcome <a href="https://dunedin.recollect.co.nz/users/login" >Guest</a></span><span id="logout"><a href="https://dunedin.recollect.co.nz/users/login" class ="sprite">Login</a></span></div></div><div id="rMenuCont"><div id="rMenuBurg"><span class="sprite"></span></div><div id="rMenuCent"><div id="client_logo_responsive"><a href="/" ><img src="/theme/dunedin/img/logo.mobile.png?1735011805" title="" alt="" /></a></div></div><div id="rMenuSearch"><span class="sprite"></span></div></div><div id="main_content" role="main"><div class="the-header sprite"><div id="page-nav" class="navigation"><a id="prev_page" title="Previous Image" class="prev void-pointer" tabindex="0" role="button">Previous Image</a><div id="jumpto"><div id="jumpto-selected">Image 1</div><ul><li><a href="#" aid="434918">Image 1</a></li><li><a href="#" aid="434920">Image 2</a></li><li><a href="#" aid="434922">Image 3</a></li><li><a href="#" aid="434924">Image 4</a></li><li><a href="#" aid="434926">Image 5</a></li><li><a href="#" aid="434928">Image 6</a></li><li><a href="#" aid="434930">Image 7</a></li><li><a href="#" aid="434932">Image 8</a></li><li><a href="#" aid="434934">Image 9</a></li><li><a href="#" aid="434976">Image 10</a></li></ul><a class="jumpto-button sprite void-pointer" tabindex="0" role="button">Select</a></div><a id="next_page" title="Next Image" class="next void-pointer" tabindex="0" role="button">Next Image</a></div><h1>The Mentalist Collective</h1></div><div id="sidebar"><a id="toggle-sidebar" class="sprite void-pointer" title="Toggle display" tabindex="0" role="button">Expand/collapse</a><div id="sidebar-scroll"><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Details</div><div class="portlet-content"><span class="metadata"><span class="titlelabel">Description</span><p>The Mentalist Collective perform a set on the outdoor Plaza Stage at Dunedin City Library during the Nook and Cranny Music Festival 4.0 in 2019.</p> <p>Band members: Brendan Christie (songwriter, vocals, guitar, ukelele, harmonica); Danie Erickson (songwriter, vocals); Simon Christie (songwriter,drums, vocals); Scott Campbell (songwriter, guitar, vocals, drums); Robert Milne (songwriter, guitar, vocals).</p> <p>Brendan Christie is the Artistic Director and co-organiser of the Nook and Cranny Music Festival.</p> <p>The Mentalist Collective are a group of 5 songwriters based in Dunedin, New Zealand. Their music is inspired by genres from traditional to modern folk, country, pop and rock music with a rich depth of harmony and experimental instrumentation. The influence of all members create a wide variety of musical styles from simple acoustic melodies to full bodied rock songs. Known for regularly interchanging instrumentation, and even blindfolding their audience. The Mentalist Collective originally formed in 2008 under the name The Mentalists. Brendan joined the two enthusiastic song writers Scott and Seamus and shortly after released an EP &quot;Here is a Tree, Where is the Sun?&quot; At the end of 2008/early 2009, Seamus went to Auckland to study creative design, and Brendan went to London, eventually joining Latin Mestizo Ska band Reverso on lead guitar and releasing the album &#39;Radio Comfort&#39;. Brendan returned to Dunedin in 2012 and returned to songwriting with Scott, and in 2014 were joined by a short stint with singer Eve. 2015 saw the group expand further, with additional songwriters added to the line up in Rob Milne, Danie Erickson and Simon Christie, creating a much larger collaborative mix of musical styles &amp; influences. After years of writing and playing, they released their EP &#39;Mandala&#39; in September 2018.</p> <p>Discography: Mandala (2018) This is a Tree, Where is the Sun? (2008)</p> <img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><span class="titlelabel">Date taken</span><span title="" alt="">5th May 2019</span><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><span class="titlelabel">Photographer</span><a href="https://dunedin.recollect.co.nz/nodes/browse/?meta=eyIxNCI6WyJQYXVsIFMgQWxsZW4iXSwiNDE4IjpbIlBhdWwgUyBBbGxlbiJdfQ==" class="metadatalookup" title="Find all Photographer = Paul S Allen">Paul S Allen</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><span class="titlelabel">Geo location</span><sup style="cursor: help;" title="-45.8729762, 170.503373" class="showMap">[<strong>1</strong>] </sup><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span></div></div><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Depicts</div><div class="portlet-content"><span class="metadata"><span class="titlelabel">People</span><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Brendan Christie</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Danie Erickson</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Simon Christie</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Scott Campbell</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span><span class="metadata"><a href="https://dunedin.recollect.co.nz/nodes/view/215948" >Robert Milne</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span></div></div><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Relates to</div><div class="portlet-content"><span class="metadata"><span class="titlelabel">Place</span><a href="https://dunedin.recollect.co.nz/nodes/view/200480" >Dunedin City Library</a><img src="/img/user.png?1735011805" title="Last edited by: Kay Mercer" class="userhead" alt="Last edited by: Kay Mercer" /></span></div></div></div></div><div id="ocrbar"><div id="ocrtools"><a href="#" class="button TXTbut" type="OCR" allow="0" data-view="1" title="Automatic machine generated text">OCR</a><a href="#" class="button TXTbut" type="TXT" allow="0" data-view="1" title="Text extracted from the document">Text</a><a href="#" class="button TXTbut" type="TRANSCRIPTION" allow="0" data-view="1" title="Transcription of this item">Transcription</a><a href="#" class="button" id="eddy" title="Edit this Item">Edit</a><a class="button void-pointer" id="eddyGrid" title="Edit grid data" tabindex="0" role="button">Edit</a><a href="#" class="button fonty" do="+=2" id="eddy" title="Increase font size">+</a><a href="#" class="button fonty" do="-=2" id="eddy" title="Decrease font size">-</a><a href="#" class="button" id="XXXbutt" title="Close this panel">Close</a></div><div id="gridtools"><h1>Editing is temporarily disabled</h1><a class="button void-pointer" id="gridCancel" title="Cancel Edit" tabindex="0" role="button">Cancel Edit</a></div><div id="ocrandtxt"></div></div><div id="viewport"><img src="/assets/display/434918-max?u=a5e40261f8110afb759f1417254849de" class="hero current" id="hero434918" w="6000" h="4000" idx="434918" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434920" w="6000" h="4000" idx="434920" lazy="/assets/display/434920-max?u=2b00ff8227b1d77571a7be4a749cb54b" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434922" w="6000" h="4000" idx="434922" lazy="/assets/display/434922-max?u=2b4cff146f8e83ae33e0a006bfec82f0" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434924" w="6000" h="4000" idx="434924" lazy="/assets/display/434924-max?u=6f3a0b0a6b53704fb31b939001bdc15a" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434926" w="6000" h="4000" idx="434926" lazy="/assets/display/434926-max?u=9c18da99079a1d6564109bf40d34f3c9" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434928" w="6000" h="4000" idx="434928" lazy="/assets/display/434928-max?u=39c71746217cd343f16036c0e20bf3d3" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434930" w="4830" h="3246" idx="434930" lazy="/assets/display/434930-max?u=2fbbccd5ef1744a0df376aeb373b22c1" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434932" w="6000" h="4000" idx="434932" lazy="/assets/display/434932-max?u=8f4e74f25240d034d6421809c6deed15" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434934" w="6000" h="4000" idx="434934" lazy="/assets/display/434934-max?u=80b5f8acbe594a983c0ec643be6c59ba" title="" alt="" /><img src="/img/placeholder.gif?1735011805" class="hero hidden lazyLoading" id="hero434976" w="4902" h="2784" idx="434976" lazy="/assets/display/434976-max?u=91c113dc5c06ff84345328ff72b20dd5" title="" alt="" /></div><div id="miniMeWindow"><div id="miniMe"><img src="/img/placeholder.gif?1735011805" class="herothumb currentThumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434918" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 123.jpg" alt="Page 1" idx="434918" tabindex="0" lazy="/assets/display/434918-300?u=a5e40261f8110afb759f1417254849de" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434920" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 122.jpg" alt="Page 2" idx="434920" tabindex="0" lazy="/assets/display/434920-300?u=2b00ff8227b1d77571a7be4a749cb54b" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434922" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 124.jpg" alt="Page 3" idx="434922" tabindex="0" lazy="/assets/display/434922-300?u=2b4cff146f8e83ae33e0a006bfec82f0" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434924" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 125.jpg" alt="Page 4" idx="434924" tabindex="0" lazy="/assets/display/434924-300?u=6f3a0b0a6b53704fb31b939001bdc15a" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434926" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 126.jpg" alt="Page 5" idx="434926" tabindex="0" lazy="/assets/display/434926-300?u=9c18da99079a1d6564109bf40d34f3c9" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434928" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 127.jpg" alt="Page 6" idx="434928" tabindex="0" lazy="/assets/display/434928-300?u=39c71746217cd343f16036c0e20bf3d3" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 47px;" id="herothumb434930" height="200" width="297" title="Nook and Cranny Music Festival 2019 PSA - 128.jpg" alt="Page 7" idx="434930" tabindex="0" lazy="/assets/display/434930-297?u=2fbbccd5ef1744a0df376aeb373b22c1" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434932" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 130.jpg" alt="Page 8" idx="434932" tabindex="0" lazy="/assets/display/434932-300?u=8f4e74f25240d034d6421809c6deed15" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 48px;" id="herothumb434934" height="200" width="300" title="Nook and Cranny Music Festival 2019 PSA - 131.jpg" alt="Page 9" idx="434934" tabindex="0" lazy="/assets/display/434934-300?u=80b5f8acbe594a983c0ec643be6c59ba" /><img src="/img/placeholder.gif?1735011805" class="herothumb lazyLoading" style="height: 32px; width: 56px;" id="herothumb434976" height="200" width="352" title="Nook and Cranny Music Festival 2019 PSA - 155.jpg" alt="Page 10" idx="434976" tabindex="0" lazy="/assets/display/434976-352?u=91c113dc5c06ff84345328ff72b20dd5" /></div></div><div id="threedeeCont" style="display:none; position:relative;"><span class="threedeeCont_close close-icon" ></span></div></div></div><div id="addtaghelp" class="hidden">Click on the image to add<br />a tag or press ESC to cancel</div><div class="google_map_edit"><div id="googlewrap" class="googlewrap"><table><tr><td><label for="gaddress">Start typing here to find a location</label></td> <td><label for="glat">Latitude</label></td> <td><label for="glng">Longitude</label></td> <td><label for="gzoom">Zoom</label></td> <td><label for="nothing">Actions</label></td></tr> <tr><td><input name="data[gaddress]" type="text" id="gaddress" /></td> <td><input name="data[glat]" type="text" id="glat" /></td> <td><input name="data[glon]" type="text" id="glng" /></td> <td><select name="data[gzoom]" id="gzoom"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18" selected="selected">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select></td> <td><input type="hidden" name="data[glatwas]" id="glatwas" /><input type="hidden" name="data[glonwas]" id="glngwas" /><input type="hidden" name="data[gzoomwas]" id="gzoomwas" /><button type="submit" id="gsave" class="button">Save</button><button type="submit" id="grevert" class="button">Revert</button><button type="submit" id="gxxl" class="button">Cancel</button></td></tr></table><div id="googlemap" class="googlemap">loading google map....</div></div><div id="streetViewModal" class="streetViewModal"></div><div id="googlepanowrap" class="googlepanowrap"><div class="buttons"><input type="hidden" name="data[map_fov]" id="map_fov" value="90" /><input type="hidden" name="data[map_heading]" id="map_heading" value="0" /><input type="hidden" name="data[map_pitch]" id="map_pitch" value="0" /><a href="#" id="svsave">Save</a><a href="#" id="svxxl">Cancel</a></div><div id="googlepano"></div></div></div><div id="citation" class="hidden">Dunedin Public Libraries (4th May 2022). <em>The Mentalist Collective</em>. In Website Dunedin Public Libraries. Retrieved 4th Mar 2025 09:30, from https://dunedin.recollect.co.nz/nodes/view/213349</div><style> #threedeeCont, #narImgCont { background: #ffffff url("/img/ajax-loader.gif") no-repeat center center; } #autoplayer { height: auto; width: auto; background: #ffffff url("/img/ajax-loader.gif") no-repeat center center !important; } .narImgCont_close { margin: 20px; position: fixed; } span.marker { background-color: #ffff00; } #footer { margin-top: -4.6em !important; } .sidelogo { margin: 0; } .vscancolor { color: orange !important; } #gridtools { display: none; margin: 8px; white-space: nowrap; } #eddy, #eddyGrid { display: inline-block; } @media only screen and (max-width: 790px) { #viewport.pdf { display: block; height: auto !important; } .pdf iframe { display: block; height: 600px !important; } } </style> <script nonce="5708c77c181d96d7537c7d9f6aeea267"> /* BB R1X-3135 - toggle asset/text full screen*/ $("#toggleFullText").change(function() { transcriptionBlock.toggleFullText($(this)); }); $("#toggleFullAsset").change(function() { transcriptionBlock.toggleFullAsset($(this)); }); var gridTable = ''; $('img.kaboom').css({ cursor: 'pointer' }).on('click', function() { var img = $(this); //var url = location.origin; var url = ''; var close = $('<span class="narImgCont_close close-icon" ></span>'); var bigImg = $('<img />').css({ 'max-width': '100%', 'max-height': '100%', 'height': 'auto', 'width': 'auto', 'display': 'inline' }); bigImg.attr({ //src: img.attr('src'), src: "/assets/display/" + img.attr('id') + "-max", alt: img.attr('alt'), title: img.attr('title') }); var over = $('<div />').text(' ').css({ 'height': '100%', 'width': '100%', 'background': 'rgba(0,0,0,.82)', 'position': 'fixed', 'top': 0, 'left': 0, 'padding': '20px', 'opacity': 0.0, 'cursor': 'pointer', 'z-index': '9999', 'text-align': 'center' }).append(bigImg, close).bind('click', function() { $(this).fadeOut(300, function() { $(this).remove(); $('div#viewport').css('z-index', 'initial'); }); }).insertAfter(this).animate({ 'opacity': 1 }, 300); $('div#viewport').css('z-index', '4'); }); /* * Refactoring Note: * The function 'initPop(idx)' (responsible for displaying OCR/Transcription results on Page load as default behaviour) * is moved to 'recollect3.js' as 'showOcrTranscriptionOnPageLoad(idx, texttype, textedit, textview)' to improve modularity * and separation of concerns.This change helps in maintaining and testing the OCR functionality independently. */ if (texttype !== 'METADATA') { console.log("T-type: " + texttype); idx = transcriptionBlock.getPageHash(); console.log("T-idx: " + idx); //Show default view (ORC/Transcript) on page load transcriptionBlock.showOcrTranscriptionOnPageLoad(idx, texttype, textedit, textview) var popLoaded = 1; } //@ST COSA-1324 : 2020-01-13. Function for image tag form validation. function getFormValidation(obj, value, userLevel) { // var patternOld = /['<','>','&']/; // Changed to new regex that accepts comma and still denies other characters https://recollectnz.atlassian.net/browse/R1X-6281 var pattern = /[<>&]/; if (userLevel != "Administrator") { if (pattern.test(value)) { obj.previousElementSibling.style.opacity = 1; $('.newrec').addClass('error_form'); $('.submit')[1].children[0].setAttribute("disabled", "disabled"); } else { obj.previousElementSibling.style.opacity = 0; $('.newrec').removeClass('error_form'); $('.submit')[1].children[0].removeAttribute("disabled"); } } } </script> <script nonce="5708c77c181d96d7537c7d9f6aeea267"> $(document).ready(function() { // @ST timeline script var embed; if (document.getElementById('timeline-embed') !== null) { embed = document.getElementById('timeline-embed'); //embed.style.height = getComputedStyle(document.body).height; window.timeline = new TL.Timeline('timeline-embed', Array, { hash_bookmark: false }); window.addEventListener('resize', function() { var embed = document.getElementById('timeline-embed'); //embed.style.height = getComputedStyle(document.body).height; timeline.updateDisplay(); }); } }); </script> <script nonce="5708c77c181d96d7537c7d9f6aeea267"> (function() { //if it doesn't have "#back-forward" block set null var $el = document.getElementById("back-forward") || null; //if page doesn't have this element break function if (!$el) return; //small helpers const getNewObj = (k, v) => { return { [k]: v } }; const parseReq = (str) => str.replace("?", "&").split("&").map(e => e.split("=")).filter(e => e[0] != "").map(e => getNewObj(e[0], e[1])); const getValue = (obj) => Object.values(obj); //encode array of the elements var encoding = function(str) { var result; try { result = btoa(unescape(encodeURIComponent(str))); } catch (e) { console.error("Error on ENCODING FUNCTION." + e); } return result; } //decode string var decoding = function(str) { var result; try { result = decodeURIComponent(escape(atob(decodeURIComponent(str)))); } catch (e) { console.error("Error on DECODING FUNCTION." + e); } return result; } //parse string var jsonParse = function(param) { var result; try { result = JSON.parse(param); } catch (e) { console.error("Error on JSON PARSE FUNCTION." + e); } return result; } //XSS protection var encodingHtmlEntities = function(str) { return String(str).replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;'); //.replace(/&/g, '&amp;') } //get localStorageKey from URL const localStorageKey = parseReq(window.location.search).filter(e => Object.keys(e) == "lsk"); const otherKeys = parseReq(window.location.search).filter(e => Object.keys(e) != "lsk"); let searchParam = ""; otherKeys.forEach(e => { searchParam += "&" + Object.keys(e) + "=" + Object.values(e); }); //if don't have a key in URL break function if ((localStorageKey && localStorageKey.length === 0)) return; //get key from string const KEY = localStorageKey[0].lsk; //this key doesn't have a data break function if (!window.localStorage.getItem(KEY) && !window.sessionStorage.getItem(KEY)) return; var cleanLocalStorage = function() { for (let key in window.sessionStorage) { if ((key != KEY) && (key != "_" + KEY)) { window.sessionStorage.removeItem(key); } } } if (Object.keys(window.sessionStorage).length > 1) { cleanLocalStorage(); } //return current ID var getCurrentId = function() { let path = window.location.pathname.split('/'); return path[path.length - 1]; } //get position of element in an array var getPositionInArray = function(sessionStorage) { for (let i = 0; i < sessionStorage.length; i++) { if (Object.keys(sessionStorage[i])[0] == getCurrentId()) { return i; } } return 0; } //get range var ss_getRange = function(sessionStorage) { const array = jsonParse(decoding(sessionStorage)); let position = Number(getPositionInArray(array)); return range = { prev: array[position - 1] ? array[position - 1] : {}, current: array[position] ? array[position] : {}, next: array[position + 1] ? array[position + 1] : {}, position } } //generate object of position, index, page and length var getPosition = function() { let arr = jsonParse(decoding(currentStorage.searchSet)); let position = { page: currentStorage.page, index: getPositionInArray(arr), length: arr.length }; return position; } var getByPosition = function(array, idx) { return jsonParse(decoding(array))[idx]; } if (!window.sessionStorage.getItem(KEY)) { window.sessionStorage.setItem("_" + KEY, window.localStorage.getItem(KEY)); window.localStorage.removeItem(KEY); } //get initial information from LocalStorage const searchResult = jsonParse(decoding(window.sessionStorage.getItem("_" + KEY))); const itemsSet = searchResult.itemsSet; const searchReq = decoding(searchResult.request); const pageCount = jsonParse(searchResult.pageCount); const countElem = jsonParse(searchResult.countElem); //set local variable let perPage = jsonParse(searchResult.perPage); let requestWasSent = false; //SESSION SECTION let sessionKey = KEY; //get sessionStorage by key, if it's not exist set null let sessionStorage = window.sessionStorage.getItem(sessionKey) || null; let sessionItemSet = ""; if (sessionStorage) { sessionItemSet = JSON.parse(sessionStorage).searchSet; } else { sessionItemSet = itemsSet; } //create local state let currentStorage = { page: jsonParse(searchResult.currentPage), prevSearchSet: "", searchSet: sessionItemSet, nextSearchSet: "", current: ss_getRange(itemsSet).current, prev: ss_getRange(itemsSet).prev, next: ss_getRange(itemsSet).next, position: ss_getRange(itemsSet).position } var setSessionStorage = function() { window.sessionStorage.setItem(sessionKey, JSON.stringify(currentStorage)) } //if sessionStorage empty set it with initialState of currentStorage //if sessionStorage has this key update it with new value if (!sessionStorage) { let range = ss_getRange(itemsSet); setSessionStorage(); pageNumber = searchResult.currentPage; } else { let currentArray = jsonParse(sessionStorage).searchSet; let currentPage = jsonParse(sessionStorage).page; let currentRange = ss_getRange(currentArray); currentStorage.page = jsonParse(sessionStorage).page; // currentStorage.current = ss_getRange(itemsSet).current; // currentStorage.prev = ss_getRange(itemsSet).prev; // currentStorage.next = ss_getRange(itemsSet).next; // currentStorage.position = ss_getRange(itemsSet).position; currentStorage.current = ss_getRange(jsonParse(sessionStorage).searchSet).current; currentStorage.prev = ss_getRange(jsonParse(sessionStorage).searchSet).prev; currentStorage.next = ss_getRange(jsonParse(sessionStorage).searchSet).next; currentStorage.position = ss_getRange(jsonParse(sessionStorage).searchSet).position; currentStorage.prevSearchSet = jsonParse(sessionStorage).prevSearchSet; currentStorage.nextSearchSet = jsonParse(sessionStorage).nextSearchSet; if (currentStorage.position === 0 && currentStorage.prevSearchSet != "") { let prevSet = currentStorage.prevSearchSet; currentStorage.prev = getByPosition(prevSet, jsonParse(decoding(prevSet)).length - 1); } if (currentStorage.position === jsonParse(decoding(currentArray)).length - 1 && currentStorage.nextSearchSet != "") { let nextSet = currentStorage.nextSearchSet; currentStorage.next = getByPosition(nextSet, 0); } setSessionStorage(); } let nextPage = currentStorage.page; //update set of nodes array var updateLocalStorage = function(data, searchReq, pageNum) { let newitemsSet = data.nodes.map(e => e.Node).map(e => { let x = { [e.id]: e.title }; return x; }); let newSet = encoding(JSON.stringify(newitemsSet)); let range = ss_getRange(currentStorage.searchSet); if (currentStorage.position == 0) { currentStorage.prev = getByPosition(newSet, newitemsSet.length - 1); currentStorage.prevSearchSet = newSet; } if (currentStorage.position == (jsonParse(decoding(currentStorage.searchSet)).length - 1) && jsonParse(decoding(currentStorage.searchSet)).length > 1) { currentStorage.next = getByPosition(newSet, 0); currentStorage.nextSearchSet = newSet; } setSessionStorage(); createButtonsBlock(); } var sendRequest = function(direction) { let pageNum = 1; if (direction.page == 1) { pageNum = direction.index == 0 ? 1 : (Number(direction.page) + 1); } else if (direction.page > 1 && direction.page < pageCount) { pageNum = direction.index == 0 ? (Number(direction.page) - 1) : (Number(direction.page) + 1); } else { pageNum = direction.index == 0 ? (Number(direction.page) - 1) : pageCount; } const regex = /(page=\d*)/ius; let otherReq = searchReq != "" ? (regex.test(searchReq)) ? searchReq.replace(regex, `page=${pageNum}`) : `${searchReq}&page=${pageNum}` : `?page=${pageNum}`; let newRequest = (searchReq != "" && regex.test(searchReq)) ? searchReq.replace(regex, `page=${pageNum}`) : otherReq; $.get('/nodes/search_result/1' + newRequest, data => updateLocalStorage(data, newRequest, pageNum)); } var getNewArrayOfIds = async function(position) { if (position.index != 0 && position.index != position.length - 1) { return; } if (((Number(position.index) == position.length - 1) && (Number(position.page) < pageCount)) || ((Number(position.index) == 0) && (Number(position.page) > 1 && Number(position.page) <= pageCount))) { if (!requestWasSent) { await sendRequest(position); requestWasSent = true; } } } var getURL = function(pathname = false) { if (pathname) { return window.location.origin + window.location.pathname; } return window.location.origin; } var getParam = function() { return window.location.search } var createBtn = function(id, title, direct) { return `<span> <a href="${getURL()}/nodes/view/${id}?lsk=${KEY}${searchParam}" title="${encodingHtmlEntities(title)}" data-dir='${direct}'><i class='fa fa-chevron-${direct}'></i></a> </span>`; } var createButtonsBlock = function() { let rangePrev = Object.keys(currentStorage.prev).length > 0 ? currentStorage.prev : 0; let rangeNext = Object.keys(currentStorage.next).length > 0 ? currentStorage.next : 0; let prev = rangePrev != 0 ? rangePrev : "none"; let next = rangeNext != 0 ? rangeNext : "none"; let prevBtn = "<a href='#' style='pointer-events: none;'><i class='fa fa-chevron-left'></i></a>"; let nextBtn = "<a href='#' style='pointer-events: none;'><i class='fa fa-chevron-right'></a>"; if (prev != "none") { prevBtn = createBtn(Object.keys(prev), Object.values(prev), "left"); prevId = Object.keys(prev); } if (next != "none") { nextBtn = createBtn(Object.keys(next), Object.values(next), "right"); nextId = Object.keys(next); } let pos = getPosition(); getNewArrayOfIds(pos); let arrCount = perPage > 0 ? perPage : 24; let searchPos = Number(pos.page) == 1 ? (pos.index + 1) : (((Number(pos.page) - 1) * arrCount) + (pos.index + 1)); $el.innerHTML = `<div class="nav-btn left-btn">${prevBtn}</div> <div class="nav-btn result-btn">Result ${searchPos} from ${countElem}</div> <div class="nav-btn right-btn">${nextBtn}</i></div>`; $('[data-dir="left"]').one('click', () => { if (pos.index == 0) { nextPage = currentStorage.page - 1; } }); $('[data-dir="right"]').one('click', () => { if (pos.index == pos.length - 1) { nextPage = currentStorage.page + 1; } }); } createButtonsBlock(); window.addEventListener('beforeunload', (event) => { // RX9003 - Removed event.preventDefault() to stop prompt message from // occurring, not needed at this stage. if (window.sessionStorage.getItem(sessionKey)) { if (currentStorage.nextSearchSet != "" || currentStorage.prevSearchSet != "") { if (currentStorage.page != 1 || currentStorage.page != pageCount) { if (nextPage > currentStorage.page) { currentStorage.prevSearchSet = currentStorage.searchSet; currentStorage.searchSet = currentStorage.nextSearchSet; currentStorage.nextSearchSet = ""; currentStorage.next = {}; } if (currentStorage.page > nextPage) { currentStorage.nextSearchSet = currentStorage.searchSet; currentStorage.searchSet = currentStorage.prevSearchSet; currentStorage.prevSearchSet = ""; currentStorage.prev = {}; } currentStorage.page = nextPage; } } setSessionStorage(); } }, { once: true }); //TO HIDE PARAMS. IT REMOVES PARAMS FROM URL // history.pushState("", null, getURL(true)); })() </script> <style> #back-forward { display: flex; width: 100%; max-width: 100%; justify-content: space-between; box-sizing: border-box; /* margin: 5px 0 5px 5px; */ border-radius: 4px; } .nav-btn { padding: 5px; background-color: #f0f0f0; } .left-btn { border-radius: 2px 0 0 2px; background-color: #fff; border: 1px solid #e5e5ee; } .right-btn { border-radius: 0 2px 2px 0; background-color: #fff; border: 1px solid #e5e5ee; } .result-btn { /* font-size: 1.1em; font-weight: 700; */ width: 100%; border-top: 1px solid #e5e5ee; border-bottom: 1px solid #e5e5ee; text-align: center; } </style> </div><!-- #main --> </div><!-- #wrap --> <div id="footer"><div id="footer-links"><a href="https://dunedin.recollect.co.nz/pages/privacy" >Privacy Policy</a> | <a href="https://dunedin.recollect.co.nz/pages/terms" >Terms of Use</a></div><div id="copyright">Content on this site may be subject to Copyright, please <a href="https://dunedin.recollect.co.nz/messages/create" >contact Dunedin Public Libraries</a> before any reuse if you are unsure.<br /><a href="https://www.recollectcms.com/" target="_blank">RECOLLECT</a> is Copyright &copy; 2011-2025 by <a href="https://www.recollectcms.com/" target="_blank">Recollect Limited</a> | Page rendered in <span id='render-time'>0.5271</span> seconds</div></div></body> </html>

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