CINXE.COM

Digital Publication Search | Canmore

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr"> <head profile="http://www.w3.org/1999/xhtml/vocab"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="/sites/all/themes/canmore_bootstrap/apple-touch-icon-180x180.png" rel="apple-touch-icon-precomposed" sizes="180x180" /> <meta property="og:image" content="https://canmore.org.uk/sites/default/files/canmore.ico" /> <link href="/sites/all/themes/canmore_bootstrap/apple-touch-icon-152x152.png" rel="apple-touch-icon-precomposed" sizes="152x152" /> <link href="/sites/all/themes/canmore_bootstrap/apple-touch-icon-76x76.png" rel="apple-touch-icon-precomposed" sizes="76x76" /> <meta name="Generator" content="Drupal 7 (http://drupal.org)" /> <link rel="shortcut icon" href="/sites/default/files/canmore.ico" type="image/vnd.microsoft.icon" /> <link href="/sites/all/themes/canmore_bootstrap/apple-touch-icon.png" rel="apple-touch-icon-precomposed" /> <link href="/sites/all/themes/canmore_bootstrap/apple-touch-icon-120x120.png" rel="apple-touch-icon-precomposed" sizes="120x120" /> <title>Digital Publication Search | Canmore</title> <style> @import url("/modules/system/system.base.css?sml5ma"); </style> <style> @import url("/sites/all/modules/custom/canmore_insites/css/canmore_insites.css?sml5ma"); @import url("/sites/all/modules/custom/scran_sound_archive/css/scran_sound_archive.css?sml5ma"); @import url("/sites/all/modules/contrib/date/date_api/date.css?sml5ma"); @import url("/sites/all/modules/contrib/date/date_popup/themes/datepicker.1.7.css?sml5ma"); @import url("/modules/field/theme/field.css?sml5ma"); @import url("/modules/node/node.css?sml5ma"); </style> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/canmore_mycanmore/css/canmore_mycanmore.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/canmore/css/canmore-style.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/canmore_cart/css/canmore-cart.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/image_gallery/css/image-gallery.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/image_grid/css/image-grid.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/modules/custom/rcahms_image_grid/css/rcahms-image-grid.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css?sml5ma" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/all/themes/canmore_bootstrap/css/colours-default.css?sml5ma" media="all" /> <style> @import url("/sites/all/modules/custom/canmore_feedback/canmore_feedback.css?sml5ma"); </style> <style> @import url("/sites/all/themes/canmore_bootstrap/css/style.css?sml5ma"); @import url("/sites/all/themes/canmore_bootstrap/css/canmore_bootstrap.css?sml5ma"); @import url("/sites/all/themes/canmore_bootstrap/css/media-queries.css?sml5ma"); </style> <script src="/sites/all/modules/contrib/jquery_update/replace/jquery/1.10/jquery.min.js?v=1.10.2"></script> <script src="/misc/jquery-extend-3.4.0.js?v=1.10.2"></script> <script src="/misc/jquery.once.js?v=1.2"></script> <script src="/misc/drupal.js?sml5ma"></script> <script>/* Google Tag Manager */ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-P3LQ4GX'); /* End Google Tag Manager */</script> <script>/* Google Tag Manager */ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TJ83XJS'); /* End Google Tag Manager */</script> <script src="/sites/all/modules/custom/accessibility/js/accessibility.js?sml5ma"></script> <script src="/sites/all/modules/custom/canmore/js/canmore_common.js?sml5ma"></script> <script src="/sites/all/modules/custom/image_gallery/js/image_gallery.js?sml5ma"></script> <script src="/sites/all/modules/custom/image_grid/js/image_grid.js?sml5ma"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="/sites/all/themes/canmore_bootstrap/js/canmore-bootstrap.js?sml5ma"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"canmore_bootstrap","theme_token":"YXO2m-53PaeU4ap-iSugMPwT0Fq7MbIl0qQOkw4EOLw","css":{"modules\/system\/system.base.css":1,"sites\/all\/modules\/custom\/canmore_insites\/css\/canmore_insites.css":1,"sites\/all\/modules\/custom\/scran_sound_archive\/css\/scran_sound_archive.css":1,"sites\/all\/modules\/contrib\/date\/date_api\/date.css":1,"sites\/all\/modules\/contrib\/date\/date_popup\/themes\/datepicker.1.7.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"\/sites\/all\/modules\/custom\/canmore_mycanmore\/css\/canmore_mycanmore.css":1,"\/sites\/all\/modules\/custom\/canmore\/css\/canmore-style.css":1,"\/sites\/all\/modules\/custom\/canmore_cart\/css\/canmore-cart.css":1,"\/sites\/all\/modules\/custom\/image_gallery\/css\/image-gallery.css":1,"\/sites\/all\/modules\/custom\/image_grid\/css\/image-grid.css":1,"\/sites\/all\/modules\/custom\/rcahms_image_grid\/css\/rcahms-image-grid.css":1,"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css":1,"sites\/all\/themes\/canmore_bootstrap\/css\/colours-default.css":1,"sites\/all\/modules\/custom\/canmore_feedback\/canmore_feedback.css":1,"sites\/all\/themes\/canmore_bootstrap\/css\/style.css":1,"sites\/all\/themes\/canmore_bootstrap\/css\/canmore_bootstrap.css":1,"sites\/all\/themes\/canmore_bootstrap\/css\/media-queries.css":1},"js":{"sites\/all\/themes\/bootstrap\/js\/bootstrap.js":1,"sites\/all\/modules\/contrib\/jquery_update\/replace\/jquery\/1.10\/jquery.min.js":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"0":1,"1":1,"\/sites\/all\/modules\/custom\/accessibility\/js\/accessibility.js":1,"sites\/all\/modules\/custom\/canmore\/js\/canmore_common.js":1,"sites\/all\/modules\/custom\/image_gallery\/js\/image_gallery.js":1,"sites\/all\/modules\/custom\/image_grid\/js\/image_grid.js":1,"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/js\/bootstrap.min.js":1,"sites\/all\/themes\/canmore_bootstrap\/js\/canmore-bootstrap.js":1}},"urlIsAjaxTrusted":{"\/publication\/search":true,"\/postback":true},"bootstrap":{"anchorsFix":0,"anchorsSmoothScrolling":1,"formHasError":1,"popoverEnabled":1,"popoverOptions":{"animation":1,"html":0,"placement":"right","selector":"","trigger":"click","triggerAutoclose":1,"title":"","content":"","delay":0,"container":"body"},"tooltipEnabled":1,"tooltipOptions":{"animation":1,"html":0,"placement":"auto left","selector":"","trigger":"hover focus","delay":0,"container":"body"}}});</script> </head> <body class="html not-front not-logged-in no-sidebars page-publication page-publication-search" > <div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a> </div> <script> /** Flip client onto SSL */ /* var ssl = 'https:'; if (window.location.protocol != ssl) { var chunks = String(window.location).split(':'); if (typeof(chunks[1]) != 'undefined' && chunks[1] != null) { window.location.href = ssl + chunks[1]; } } */ </script> <div id="header-wrap"> <div class="header-bar hidden-print"> <div class="container"> <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 topnav-col text-right"> <div class="header-block"><div id="canmore-cart-min" class="canmore-cart-min"> <a href="/canmore_cart"><span data-toggle="canmore-buy-link-tooltip" data-original-title="Image Sales Basket"><span class="glyphicon glyphicon-shopping-cart"></span> (<span id="canmore-cart-buy-total">0</span>)</span> <script> (function ($) { $('[data-toggle="canmore-buy-link-tooltip"]').tooltip({ 'placement': 'bottom' }); })(jQuery); </script></a> <a href="/canmore_cart_sr"><span data-toggle="canmore-sr-link-tooltip" data-original-title="Search Room Appointment"><span class="glyphicon glyphicon-calendar"></span> (<span id="canmore-cart-sr-total">0</span>)</span> <script> (function ($) { $('[data-toggle="canmore-sr-link-tooltip"]').tooltip({ 'placement': 'bottom' }); })(jQuery); </script></a> <div id="canmore-cart-added" class="canmore-cart-added"></div> </div></div> <div class="header-block"> <a href="/mycanmore/login" title="Login to MyCanmore">Login</a> | <a href="/mycanmore/register" title="Register for MyCanmore">Register</a> </div> <div class="header-block"><span id="accessibility-options-link">Accessibility</span> <div class="accessibility-widget-main text-center" id="accessibility-widget"> <div class="box"> <p>Font Size</p> <div class="btn-group" role="group" aria-label="Set font size using these buttons"> <span class="btn btn-sm btn-default" id="accessibility-size-1">100%</span> <span class="btn btn-md btn-default" id="accessibility-size-2">150%</span> <span class="btn btn-lg btn-default" id="accessibility-size-3">200%</span> </div> </div> <div class="box"> <p>Background Colour</p> <div class="btn-group" role="group" aria-label="Set background colour using these buttons"> <span class="btn btn-md btn-default" id="accessibility-bg-1">Default</span> <span class="btn btn-md btn-default" id="accessibility-bg-2">Contrast</span> </div> </div> <div class="box"> <span class="btn btn-primary" id="accessibility-close">Close</span> <span class="btn btn-primary" id="accessibility-reset">Reset</span> </div> </div> <script> (function ($) { $(document).ready(function() { var colour_1_url = '/accessibility_switcher/colour_1?destination=publication/search'; var colour_2_url = '/accessibility_switcher/colour_2?destination=publication/search'; var size_1_url = '/accessibility_switcher/size_1?destination=publication/search'; var size_2_url = '/accessibility_switcher/size_2?destination=publication/search'; var size_3_url = '/accessibility_switcher/size_3?destination=publication/search'; var reset_url = '/accessibility_switcher/reset?destination=publication/search'; accessibility_widget_init(colour_1_url, colour_2_url, size_1_url, size_2_url, size_3_url, reset_url); }); })(jQuery); </script> </div> </div> </div> </div> </div> <div id="topnav" class="navbar navbar-static-top blue-top"> <div class="container"> <div class="row"> <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 topnav-col"> <img width=177 height=40 src="/sites/all/themes/canmore_bootstrap/css/images/partof_hes_alt_mono.png" class="img-responsive extralogo_mobile" /> <a title="Canmore Home" href="/"><img width=200 height=41 alt="Canmore Home" src="/sites/all/themes/canmore_bootstrap/css/images/canmore_new.png" /></a> </div> <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 topnav-col topnav-col-right"> <div style="display:inline-block;"> <a title="Canmore Home" href="https://www.historicenvironment.scot/" target="_blank"><img src="/sites/all/themes/canmore_bootstrap/css/images/partof_hes_mono.png" class="extralogo" /></a> </div> <div style="display:inline-block;"> <input type="text" placeholder="Search" class="canmore-search-input" id="canmore-search-input"> </div> <div style="display:inline-block;"> <span id="canmore-search-addon" style="cursor:pointer"><span class="glyphicon glyphicon-search"></span></span> </div> <script> (function ($) { $( '#canmore-search-input' ).keypress(function(e) { if ( e.which == 13 ) { sp_search_do_search_default(); } }); $( '#canmore-search-addon' ).click( function() { sp_search_do_search_default(); }); })(jQuery); function sp_search_do_search_default() { (function ($) { var searchterm = $( '#canmore-search-input' ).val(); if (searchterm) { window.location.replace('/search/image?SIMPLE_KEYWORD='+searchterm); } })(jQuery); } </script> </div> </div> </div> </div> <header id="navbar" role="banner" class="navbar navbar-static-top navbar-default"> <div class="container"> <div id="canmore-main-menu"> <div class="navbar-header"> <!-- .btn-navbar is used as the toggle for collapsed navbar content --> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <nav role="navigation"> <div class="navbar-collapse collapse"> <ul class="menu nav navbar-nav"> <li id="nav-home" class="first leaf"> <a href="/" class="nav-link-home">Home</a> </li> <li id="nav-about" class="collapsed"> <a href="/content/about" class="nav-link-about">About</a> </li> <li id="nav-contributions" class="collapsed"> <a href="/contributions" class="nav-link-contributions">MyCanmore</a> </li> <li id="nav-search" class="collapsed"> <a href="/site" class="nav-link-search">Search</a> </li> <li id="nav-gallery" class="collapsed"> <a href="/gallery" class="nav-link-gallery">Galleries</a> </li> <li id="nav-visit" class="collapsed"> <a href="/content/search-room" class="nav-link-visit">Search Room</a> </li> <li id="nav-resources" class="collapsed"> <a href="/content/resources" class="nav-link-resources">Guidance</a> </li> <li id="nav-enquiries" class="collapsed"> <a href="/content/contact" class="nav-link-enquiries">Contact Us</a> </li> </ul> </div> <div id="nav-sub-search" class="nav-sub"> <div class="navbar-collapse collapse"> <ul class="menu nav navbar-nav"> <li><a href="/site/search">Search Sites</a></li> <li><a href="/map/about">Search Map</a></li> <li><a href="/thesaurus">Search Thesauri</a></li> <li><a href="/collection/search">Search Collections</a></li> <li><a href="/image/search">Search Images</a></li> <li><a href="/publication/search" class="active">Search Digital Publications</a></li> </ul> </div> </div> </nav> </div> <script type="text/javascript"> (function ($) { canmore_bootstrap_menu_init(); })(jQuery); </script> </div> </header> </div> <!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P3LQ4GX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TJ83XJS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) --> <div id="content" class="front-large"> <div class="main-container container"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 front-large"> <div class="region region-content-top"> <section id="block-block-13" class="block block-block clearfix"> <h2 class="block-title">Scheduled Maintenance</h2> <p></p><center><br /><p style="margin-top: 0.75rem; margin-bottom: 0px; font-size: 14px; line-height: 1.714; letter-spacing: -0.005em; color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; white-space: pre-wrap;" data-renderer-start-pos="61"><span style="letter-spacing: -0.07px; white-space-collapse: preserve;"><strong>Please be advised that this website will undergo scheduled maintenance on the following dates: • </strong></span></p> <p style="margin-top: 0.75rem; margin-bottom: 0px; font-size: 14px; line-height: 1.714; letter-spacing: -0.005em; color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; white-space: pre-wrap;" data-renderer-start-pos="61"><span style="color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;"><span style="font-size: 14px; letter-spacing: -0.07px; white-space-collapse: preserve;"><strong>Tuesday 3rd December 11:00-15:00</strong></span></span></p> <p style="margin-top: 0.75rem; margin-bottom: 0px; font-size: 14px; line-height: 1.714; letter-spacing: -0.005em; color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; white-space: pre-wrap;" data-renderer-start-pos="61"><span style="letter-spacing: -0.07px; white-space-collapse: preserve;"><strong>During these times, some services may be temporarily unavailable. We apologise for any inconvenience this may cause.</strong></span></p> <p style="margin-top: 0.75rem; margin-bottom: 0px; font-size: 14px; line-height: 1.714; letter-spacing: -0.005em; color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; white-space: pre-wrap;" data-renderer-start-pos="61"> </p> <p></p></center> </section> </div> </div> </div> <div class="row"> <section class="col-sm-12"> <a id="main-content"></a> <div style="display:table;width:100%;"> <div style="display:table-row"> <div style="display:table-cell"> <h1 class="page-header">Digital Publication Search</h1> </div> <div style="display:table-cell;white-space:nowrap;" class="text-right hidden-print"> <div class="share"> <a href="https://www.facebook.com/share.php?u=https://canmore.org.uk/publication/search" target="_blank" title="Facebook"><img alt="facebook" src="/sites/all/themes/canmore_bootstrap/css/images/social/facebook.png" /></a> <a href="https://twitter.com/intent/tweet?text=&amp;url=https://canmore.org.uk/publication/search" target="_blank" title="Tweet"><img alt="tweet" src="/sites/all/themes/canmore_bootstrap/css/images/social/twitter.png" /></a> <a href="javascript:window.print()" title="Print"><img alt="print" src="/sites/all/themes/canmore_bootstrap/css/images/social/print.png" /></a> </div> </div> </div> </div> <div id="content-wrap"> <div class="region region-content"> <section id="block-system-main" class="block block-system clearfix"> <div id="canmore-page"><div class="box"><form action="/publication/search" method="post" id="canmore-publication-search-form" accept-charset="UTF-8"><div><input type="hidden" name="form_id" value="canmore_publication_search_form" /> <input type="hidden" name="form_build_id" value="form-5Mtf4fidsowO_FdW2A63n1qXAQ4Jg2e8g5o_GOoLzPQ" /> <div class="panel panel-primary"> <div class="panel-body"> <div class="search-form container-fluid"> <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="form-item form-item-parent-arcnumlink form-type-select form-group"> <label class="control-label" for="edit-parent-arcnumlink">Publication type <span class="form-required" title="This field is required.">*</span></label> <select class="form-control form-select required" id="edit-parent-arcnumlink" name="PARENT_ARCNUMLINK"><option value="" selected="selected">Please select</option><option value="1296798">Publications by the Royal Commission on the Ancient and Historical Monuments of Scotland</option><option value="1523202">Publications by Historic Scotland</option></select></div> </div> </div> <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="form-item form-item-simple-keyword form-type-textfield form-group"> <label class="control-label" for="edit-simple-keyword">Keyword, Item Ref or Catalogue Number</label> <input class="form-control form-text" type="text" id="edit-simple-keyword" name="SIMPLE_KEYWORD" value="" size="20" maxlength="256" /></div> </div> </div> </div> </div> </div> </div> <div class="panel-footer"> <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-right"> <button type="submit" id="edit-submit" name="op" value="Search Publications" class="btn btn-primary form-submit">Search Publications</button> </div> </div> </div> </div> <p>Please be aware that many of these are very large files and may take a few moments to download.</p> <p>For publications ranging from visitor information to conservation guidance visit the <a href="https://www.historicenvironment.scot/archives-and-research/publications/" target="_blank">HES website</a>.</p> </div></form></div></div> </section> </div> </div> </section> </div> </div> </div> <!-- New Cookie banner logic starts here --> <script type="text/javascript"> /** * @@name storm-cookie-banner: * @@version 0.4.0: Thu, 26 Sep 2019 12:02:09 GMT * @@author stormid * @@license MIT */ (function(root, factory) { var mod = { exports: {} }; if (typeof exports !== 'undefined') { mod.exports = exports; factory(mod.exports); module.exports = mod.exports.default; } else { factory(mod.exports); root.StormCookieBanner = mod.exports.default; } })(this, function(exports) { 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var TRIGGER_EVENTS = window.PointerEvent ? ['pointerup', 'keydown'] : ['ontouchstart' in window ? 'touchstart' : 'click', 'keydown']; var TRIGGER_KEYCODES = [13, 32]; //Modernizr cookie test var cookiesEnabled = function cookiesEnabled() { try { document.cookie = 'cookietest=1'; var ret = document.cookie.indexOf('cookietest=') !== -1; document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; return ret; } catch (e) { return false; } }; var writeCookie = function writeCookie(state) { //console.log('Cookie set') document.cookie = [ state.settings.name + '=' + JSON.stringify(state.consent) + ';', 'expires=' + new Date( new Date().getTime() + state.settings.expiry * 24 * 60 * 60 * 1000 ).toGMTString() + ';', state.settings.path ? 'path=' + state.settings.path + ';' : '', state.settings.domain ? 'domain=' + state.settings.domain : '', state.settings.secure ? 'secure' : '' ].join(''); }; var readCookie = function readCookie(settings) { var cookie = document.cookie .split('; ') .map(function(part) { return { name: part.split('=')[0], value: part.split('=')[1] }; }) .filter(function(part) { return part.name === settings.name; })[0]; return cookie !== undefined ? cookie : false; }; var updateCookie = function updateCookie(state) { return function(model) { return (document.cookie = [ model.name + '=' + model.value + ';', 'expires=' + model.expiry + ';', 'path=' + state.settings.path + ';', state.settings.domain ? 'domain=' + state.settings.domain + ';' : '', state.settings.secure ? 'secure' : '' ].join('')); }; }; var deleteCookies = function deleteCookies(state) { document.cookie .split('; ') .map(function(part) { return { name: part.split('=')[0], value: part.split('=')[1], expiry: 'Thu, 01 Jan 1970 00:00:01 GMT' }; }) .map(updateCookie(state)); }; var shouldReturn = function shouldReturn(e) { return ( (!!e.keyCode && !~TRIGGER_KEYCODES.indexOf(e.keyCode)) || (e.which && e.which === 3) ); }; var composeTypes = function composeTypes(opts) { return function(acc, curr) { if (acc[curr]) { acc[curr] = Object.assign({}, acc[curr], { fns: acc[curr].fns.concat(opts.types[curr].fns) }); } else acc[curr] = opts.types[curr]; return acc; }; }; var noop = function noop() {}; var isCheckable = function isCheckable(field) { return /radio|checkbox/i.test(field.type); }; var hasValue = function hasValue(input) { return ( input.value !== undefined && input.value !== null && input.value.length > 0 ); }; var groupValueReducer = function groupValueReducer(acc, input) { if (!isCheckable(input) && hasValue(input)) acc = input.value; if (isCheckable(input) && input.checked) { if (Array.isArray(acc)) acc.push(input.value); else acc = [input.value]; } return acc; }; var firstTLDs = 'ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|be|bf|bg|bh|bi|bj|bm|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|cl|cm|cn|co|cr|cu|cv|cw|cx|cz|de|dj|dk|dm|do|dz|ec|ee|eg|es|et|eu|fi|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|im|in|io|iq|ir|is|it|je|jo|jp|kg|ki|km|kn|kp|kr|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|na|nc|ne|nf|ng|nl|no|nr|nu|nz|om|pa|pe|pf|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|yt'.split( '|' ); var secondTLDs = 'azurewebsites|com|edu|gov|net|mil|org|nom|sch|caa|res|off|gob|int|tur|ip6|uri|urn|asn|act|nsw|qld|tas|vic|pro|biz|adm|adv|agr|arq|art|ato|bio|bmd|cim|cng|cnt|ecn|eco|emp|eng|esp|etc|eti|far|fnd|fot|fst|g12|ggf|imb|ind|inf|jor|jus|leg|lel|mat|med|mus|not|ntr|odo|ppg|psc|psi|qsl|rec|slg|srv|teo|tmp|trd|vet|zlg|web|ltd|sld|pol|fin|k12|lib|pri|aip|fie|eun|sci|prd|cci|pvt|mod|idv|rel|sex|gen|nic|abr|bas|cal|cam|emr|fvg|laz|lig|lom|mar|mol|pmn|pug|sar|sic|taa|tos|umb|vao|vda|ven|mie|北海道|和歌山|神奈川|鹿児島|ass|rep|tra|per|ngo|soc|grp|plc|its|air|and|bus|can|ddr|jfk|mad|nrw|nyc|ski|spy|tcm|ulm|usa|war|fhs|vgs|dep|eid|fet|fla|flå|gol|hof|hol|sel|vik|cri|iwi|ing|abo|fam|gok|gon|gop|gos|aid|atm|gsm|sos|elk|waw|est|aca|bar|cpa|jur|law|sec|plo|www|bir|cbg|jar|khv|msk|nov|nsk|ptz|rnd|spb|stv|tom|tsk|udm|vrn|cmw|kms|nkz|snz|pub|fhv|red|ens|nat|rns|rnu|bbs|tel|bel|kep|nhs|dni|fed|isa|nsn|gub|e12|tec|орг|обр|упр|alt|nis|jpn|mex|ath|iki|nid|gda|inc'.split( '|' ); var removeSubdomain = function removeSubdomain(s) { s = s.replace(/^www\./, ''); var parts = s.split('.'); while (parts.length > 3) { parts.shift(); } if ( parts.length === 3 && secondTLDs.indexOf(parts[1]) === -1 && firstTLDs.indexOf(parts[2]) === -1 ) { parts.shift(); } return parts.join('.'); }; var defaults = { name: '.CookiePreferences', path: '', domain: window.location.hostname === 'localhost' ? '' : '.' + removeSubdomain(window.location.hostname), secure: false, expiry: 365, types: {}, necessary: [], bannerTrigger: false, policyURL: '/cookie-policy', classNames: { banner: 'privacy-banner', acceptBtn: 'privacy-banner__accept', submitBtn: 'privacy-banner__submit', field: 'privacy-banner__field', form: 'privacy-banner__form', fieldset: 'privacy-banner__fieldset', legend: 'privacy-banner__legend', formContainer: 'privacy-banner__form-container', formMessage: 'privacy-banner__form-msg', title: 'privacy-banner__form-title', description: 'privacy-banner__form-description' }, savedMessage: 'Your settings have been saved.', bannerTemplate: function bannerTemplate(model) { return ( '<section role="dialog" aria-live="polite" aria-label="You privacy" class="' + model.classNames.banner + '">\n\t\t\t<div class="privacy-content">\n\t\t\t\t<div class="wrap">\n\t\t\t\t\t<div class="row">\n\t\t\t\t\t\t<!--googleoff: all-->\n\t\t\t\t\t\t<div class="privacy-banner__title">Cookies</div>\n\t\t\t\t\t\t<p>We use cookies to improve your experience on our site and show you personalised advertising.</p>\n\t\t\t\t\t\t<p>Find out more from our <a class="privacy-banner__link" rel="noopener noreferrer nofollow" href="/content/privacy-notice">privacy policy</a> and <a class="privacy-banner__link" rel="noopener noreferrer nofollow" href="' + model.policyURL + '">cookie policy</a>.</p>\n\t\t\t\t\t\t<button class="btn btn--primary ' + model.classNames.acceptBtn + '">Accept and close</button>\n\t\t\t\t\t\t<a class="privacy-banner__link" rel="noopener noreferrer nofollow" href="' + model.policyURL + '">Your options</a>\n\t\t\t\t\t\t<!--googleon: all-->\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>' ); }, messageTemplate: function messageTemplate(model) { return ( '<div class="' + model.settings.classNames.formMessage + '" aria-role="alert">' + model.settings.savedMessage + '</div>' ); }, formTemplate: function formTemplate(model) { return ( '<form class="' + model.settings.classNames.form + '" novalidate>\n\t\t\t\t' + Object.keys(model.settings.types) .map(function(type) { return ( '<fieldset class="' + model.settings.classNames.fieldset + '">\n\t\t\t\t<legend class="' + model.settings.classNames.legend + '">\n\t\t\t\t\t<span class="' + model.settings.classNames.title + '">' + model.settings.types[type].title + '</span>\n\t\t\t\t\t<span class="' + model.settings.classNames.description + '">' + model.settings.types[type].description + '</span>\n\t\t\t\t</legend>\n\t\t\t\t<div class="form-row">\n\t\t\t\t\t<div class="relative">\n\t\t\t\t\t\t<label class="privacy-banner__label">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass="' + model.settings.classNames.field + '"\n\t\t\t\t\t\t\t\ttype="radio"\n\t\t\t\t\t\t\t\tname="privacy-' + type.split(' ')[0].replace(' ', '-') + '"\n\t\t\t\t\t\t\t\tvalue="1"\n\t\t\t\t\t\t\t\t' + (model.consent[type] === 1 ? ' checked' : '') + '>\n\t\t\t\t\t\t\t<span class="privacy-banner__label-text">I am OK with this</span>\n\t\t\t\t\t\t\t<span class="privacy-banner__label-description">' + model.settings.types[type].labels.yes + '</span>\n\t\t\t\t\t\t</label> \n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="form-row">\n\t\t\t\t\t<div class="relative">\n\t\t\t\t\t\t<label class="privacy-banner__label">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass="' + model.settings.classNames.field + '"\n\t\t\t\t\t\t\t\ttype="radio"\n\t\t\t\t\t\t\t\tname="privacy-' + type.split(' ')[0].replace(' ', '-') + '"\n\t\t\t\t\t\t\t\tvalue="0"\n\t\t\t\t\t\t\t\t' + (model.consent[type] === 0 ? ' checked' : '') + '>\n\t\t\t\t\t\t\t<span class="privacy-banner__label-text">No thank you</span>\n\t\t\t\t\t\t\t<span class="privacy-banner__label-description">' + model.settings.types[type].labels.no + '</span>\n\t\t\t\t\t\t</label> \n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</fieldset>' ); }) .join('') + '\n\t\t\t<button class="' + model.settings.classNames.submitBtn + '"' + (Object.keys(model.consent).length === 0 ? ' disabled' : '') + '>Save my settings</button>\n\t\t</form>' ); } }; var initialState = function initialState(state, data) { return Object.assign({}, state, data); }; var updateConsent = function updateConsent(state, data) { return Object.assign({}, state, { consent: Object.assign({}, state.consent, data) }); }; var updateExecuted = function updateExecuted(state, data) { return Object.assign({}, state, { settings: Object.assign({}, state.settings, { types: Object.assign({}, state.settings.types, data) }) }); }; var apply = function apply(Store) { return function(state) { Object.keys(state.consent).forEach(function(key) { if (state.settings.types[key].executed === true) return; if (state.consent[key] && Boolean(state.consent[key])) { state.settings.types[key].fns.forEach(function(fn) { return fn(state); }); } }); Store.update( updateExecuted, Object.keys(state.settings.types).reduce(function(acc, type) { acc[type] = Object.assign({}, state.settings.types[type], { executed: state.settings.types[type].executed || (state.consent[type] && Boolean(state.consent[type])) }); return acc; }, {}) ); }; }; var necessary = function necessary(state) { state.settings.necessary.forEach(function(fn) { return fn(state); }); }; var initBanner = function initBanner(Store) { return function(state) { document.body.firstElementChild.insertAdjacentHTML( 'beforebegin', state.settings.bannerTemplate(state.settings) ); var banner = document.querySelector( '.' + state.settings.classNames.banner ); var acceptBtn = document.querySelector( '.' + state.settings.classNames.acceptBtn ); TRIGGER_EVENTS.forEach(function(ev) { acceptBtn.addEventListener(ev, function(e) { if (shouldReturn(e)) return; Store.update( updateConsent, Object.keys(state.settings.types).reduce(function( acc, type ) { acc[type] = 1; return acc; }, {}), [ writeCookie, apply(Store), removeBanner(banner), initForm(Store) ] ); }); }); }; }; var removeBanner = function removeBanner(banner) { return function() { return ( banner && banner.parentNode && banner.parentNode.removeChild(banner) ); }; }; var initForm = function initForm(Store) { return function(state) { var formContainer = document.querySelector( '.' + state.settings.classNames.formContainer ); if (!formContainer) return; formContainer.innerHTML = state.settings.formTemplate(state); var form = document.querySelector( '.' + state.settings.classNames.form ); var banner = document.querySelector( '.' + state.settings.classNames.banner ); var button = document.querySelector( '.' + state.settings.classNames.submitBtn ); var groups = [].slice .call( document.querySelectorAll( '.' + state.settings.classNames.field ) ) .reduce(function(groups, field) { var groupName = field .getAttribute('name') .replace('privacy-', ''); if (groups[groupName]) groups[groupName].push(field); else groups[groupName] = [field]; return groups; }, {}); var extractConsent = function extractConsent() { return Object.keys(groups).reduce(function(acc, key) { var value = groups[key].reduce(groupValueReducer, ''); if (value) acc[key] = parseInt(value); return acc; }, {}); }; var enableButton = function enableButton(e) { if ( Object.keys(extractConsent()).length !== Object.keys(groups).length ) return; button.removeAttribute('disabled'); form.removeEventListener('change', enableButton); }; button.hasAttribute('disabled') && form.addEventListener('change', enableButton); form.addEventListener('submit', function(e) { e.preventDefault(); Store.update(updateConsent, extractConsent(), [ deleteCookies, writeCookie, apply(Store), removeBanner(banner), renderMessage(button) ]); }); }; }; var renderMessage = function renderMessage(button) { return function(state) { button.insertAdjacentHTML( 'afterend', state.settings.messageTemplate(state) ); button.setAttribute('disabled', 'disabled'); window.setTimeout(function() { button.parentNode.removeChild(button.nextElementSibling); button.removeAttribute('disabled'); }, 3000); }; }; var createStore = function createStore() { //shared centralised validator state var state = {}; //state getter var getState = function getState() { return state; }; /** * Create next state by invoking reducer on current state * * Execute side effects of state update, as passed in the update * * @@param reducer [Function] * @@param nextState [Object] New slice of state to combine with current state to create next state * @@param effects [Array] Array of side effect functions to invoke after state update (DOM, operations, cmds...) */ var update = function update(reducer, nextState, effects) { state = reducer(state, nextState); // console.log(state); if (!effects) return; effects.forEach(function(effect) { effect(state); }); }; return { update: update, getState: getState }; }; var factory = function factory(settings) { if (!cookiesEnabled()) return; var Store = createStore(); var cookies = readCookie(settings); Store.update( initialState, { settings: settings, consent: cookies ? JSON.parse(cookies.value) : {} }, [ necessary, apply(Store), cookies ? noop : initBanner(Store), initForm(Store) ] ); return { getState: Store.getState }; }; var index = { init: function init(opts) { return factory( Object.assign({}, defaults, opts, { types: Object.keys(opts.types).reduce( composeTypes(opts), defaults.types ) }) ); } }; exports.default = index; }); StormCookieBanner.init({ path: '/', types: { 'performance': { title: 'Performance preferences', description: 'Performance cookies are used to measure the performance of our website and make improvements. Your personal data is not identified.', labels: { yes: 'Pages you visit and actions you take will be measured and used to improve the service', no: 'Pages you visit and actions you take will not be measured and used to improve the service' }, fns: [ () => { (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TJ83XJS'); } ] }, 'ads': { title: 'Set your personalised ads preferences', description: 'We work with advertising partners to show you ads for our products and services across the web. You can choose whether we collect and share that data with our partners below. ', labels: { yes: 'Our partners might serve you ads knowing you have visited our website', no: 'Our partners will still serve you ads, but they will not know you have visited our website' }, fns: [ () => { (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-P3LQ4GX'); } ] } }, bannerTemplate(model){ return `<section role="dialog" aria-live="polite" aria-label="You privacy" class="${model.classNames.banner}"> <div class="privacy-content"> <div class="container"> <!--googleoff: all--> <div class="privacy-banner__title">Cookies</div> <p>We use cookies to improve your experience on our site and show you personalised advertising.</p> <p>Find out more from our <a class="privacy-banner__link" rel="noopener noreferrer nofollow" href="/content/privacy-notice">privacy notice</a> and <a href="/content/cookie-policy">cookie policy</a>.</p> <button class="btn btn--primary push--right ${model.classNames.acceptBtn}">Accept all and close</button> <a class="privacy-banner__link" rel="noopener noreferrer nofollow" href="/content/cookie-policy#preferences">Your options</a> <!--googleon: all--> </div> </div> </section>`; }, formTemplate(model){ return `<form class="${model.settings.classNames.form}" novalidate> ${Object.keys(model.settings.types).map(type => `<p><strong>${model.settings.types[type].title}</strong></p><fieldset class="${model.settings.classNames.fieldset}"> <legend class="${model.settings.classNames.legend}" style="font-size: 14px;"> <p>${model.settings.types[type].description}</p> </legend> <div class="form-row"> <div class="relative"> <label class="form-control-label form-control-label--checkbox"> <input class="form-row-checkbox__checkbox form-row-checkbox__checkbox--radio ${model.settings.classNames.field}" type="radio" name="privacy-${type.split(' ')[0].replace(' ', '-')}" value="1" ${model.consent[type] === 1 ? ` checked` : ''}> <span class="privacy-banner__label-text">I am OK with this</span> <span class="privacy-banner__label-description">${model.settings.types[type].labels.yes}</span> </label> </div> </div> <div class="form-row"> <div class="relative"> <label class="form-control-label form-control-label--checkbox"> <input class="form-row-checkbox__checkbox form-row-checkbox__checkbox--radio ${model.settings.classNames.field}" type="radio" name="privacy-${type.split(' ')[0].replace(' ', '-')}" value="0" ${model.consent[type] === 0 ? ` checked` : ''}> <span class="privacy-banner__label-text">No thank you</span> <span class="privacy-banner__label-description">${model.settings.types[type].labels.no}</span> </label> </div> </div> </fieldset>`).join('')} <button class="btn btn--primary ${model.settings.classNames.submitBtn}"${Object.keys(model.consent).length === 0 ? ` disabled` : ''}>Save my settings</button> </form>`; } }); </script> <div class="hidden-xs hidden-print"> <div id='canmore_feedback'> <a href="http://enterprises.rcahms.gov.uk/shop/image_sales/rcahms_general_enquiry.php?destination=publication/search" title="Feedback" style="top: 50%; height: 100px; width: 35px;" class="canmore_feedback-right"><img alt='Feedback' src='/sites/all/modules/custom/canmore_feedback/canmore_feedback.gif' height='100' width='35' /></a> </div> </div><script src="/sites/all/themes/bootstrap/js/bootstrap.js?sml5ma"></script> <div id="footer" class="hidden-print"> <div id="landscape" class="hidden-print"></div> <div id="canmore-main-footer" class="container"> <div class="row"> <div class="box col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <ul> <li><a href="/content/accessibility">Accessibility Policy</a></li> <li><a href="/content/buying-images">Buying Images</a></li> <li><a href="/content/privacy-notice">Privacy Notice</a></li> <li><a href="/content/cookie-policy">Cookie Policy</a></li> <li><a href="/content/legals">Legals</a></li> <li><a href="/content/glossary">Glossary</a></li> </ul> </div> <div class="box col-xs-12 col-sm-12 col-md-4 col-lg-4"> <ul> <li><a href="/content/contact">Contact</a></li> <li><a href="/contributions">MyCanmore</a></li> <li><a href="/sitemap">Sitemap</a></li> <li><a href="/user-guide/menu">User Guide</a></li> <li><a href="/content/takedown-policy">Takedown Policy</a></li> </ul> </div> <div class="box col-xs-12 col-sm-12 col-md-4 col-lg-4 text-center"> <div class="icons"> <a href="https://www.facebook.com/historicenvscotland" target="blank" title="RCAHMS Facebook page" class="facebook"></a> <a href="https://www.flickr.com/rcahms/" target="blank" title="RCAHMS Flickr page" class="flickr"></a> <a href="https://twitter.com/histenvscot" target="blank" title="RCAHMS Twitter page" class="twitter"></a> </div> </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7"> <div class="row"> <div class="box col-xs-12 col-sm-12 col-md-5 col-lg-5 text-right"> </div> <div class="box col-xs-12 col-sm-12 col-md-7 col-lg-7 text-right"> <a href="https://www.historicenvironment.scot" title="Historic Environment Scotland Website" target="blank"><img id="hes-footer-logo" typeof="foaf:Image" src="/sites/all/themes/canmore_bootstrap/css/images/hes_new.png" alt="Historic Environment Scotland Website" /></a> </div> </div> </div> </div> <div class="row"> <div class="box col-xs-12 col-sm-12 col-md-12 col-lg-12 text-right"> <p><small>&copy; Historic Environment Scotland. Scottish Charity No. SC045925</small></p> </div> </div> </div> </div> </div> </div> </div> <script> (function ($) { Drupal.behaviors.DisableInputEnter = { attach: function(context, settings) { $('.form-autocomplete input', context).once('disable-input-enter', function() { $(this).keypress(function(e) { if (e.keyCode == 13) { e.preventDefault(); } }); }); } } })(jQuery); </script> </body> </html>

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