1<!-- standard - CustomHeader-NoAds-Site.html --> <!DOCTYPE html> 2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> 3<head> 4 <title>Contact & Help | North Somerset Times</title> 5 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> 10 <meta name="robots" content="max-image-preview:large"> 11 <meta name="format-detection" content="telephone=no"> 12 13 <style> 14 .mar-leaderboard--top { 15 display: none; 16 } 17 </style> 18
18<script> 19 window.doNotAdvertise = true; 20 </script>
20 21 <link rel="canonical" href="https://www.northsomersettimes.co.uk/contact/" /> 22 <meta property="fb:pages" content="" /> 23 <meta name="title" content="Contact & Help | North Somerset Times"/> 24 <meta name="description" content="Get help, support and contact information for North Somerset Times"/> 25 <meta name="keywords" content=""/> 26
27<script type="application/ld+json"> 28 { 29 "@context": "http://schema.org", 30 "@type": "WebPage", 31 "headline": "Contact & Help | North Somerset Times", 32 "url": "https://www.northsomersettimes.co.uk/contact/" 33 } 34</script>
34 35 36 37 38 39 40 41 42 43 <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/archant-dark-blue-sans-serif-vars.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 44 45 <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 46 47 <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/contactus.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 48 49 <link rel="shortcut icon" href="/resources/images/13919450/" type="image/vnd.microsoft.icon"> 50 <link rel="icon" href="/resources/images/13919450/" type="image/vnd.microsoft.icon"> 51
51<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 51
51
52<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 52
52
53<script type="text/javascript" src="/resources/shared/responsive-sync/?r=vjoPdzgg"></script>
53 54
55<script type="text/javascript"> 56 data_layer_helper.setIsArticle(false); 57 data_layer_helper.setCookieDomain('.northsomersettimes.co.uk'); 58 data_layer_helper.setModuleType('Newsquest\Modules\ContactUsModule'); 59 data_layer_helper.setLocalInfoFolder(''); 60 data_layer_helper.setHomesData('', '', '', 'contact'); 61 data_layer_helper.setPrimaryDomain('www.northsomersettimes.co.uk'); 62 data_layer_helper.setPath('/contact/'); 63 data_layer_helper.setGoogleNetworkCode('154725070'); 64 data_layer_helper.setArticleTimestamp(''); 65 data_layer_helper.setPathOverride(); 66 67 68 var extraTags = []; 69 70 extraTags.push('user_level_anonymous'); 71 72 73 var data_layer = { 74 environment: { 75 is_test_site: 'no', 76 is_live_site: 'yes', 77 is_paywall_site: 'no', 78 is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', 79 is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', 80 is_mobile_device: data_layer_helper.getMobileDevice(), 81 is_tablet_device: data_layer_helper.getTabletDevice(), 82 server: 'webapp-857f48ddbd-cftw7', 83 platform: 'Martini' 84 }, 85 site: { 86 id: '1149', 87 comments_subscriber_only: 'no', 88 viafoura_site_id: '00000000-0000-4000-8000-f699fdcfc1a4', 89 comments_use_viafoura: 'yes', 90 centre_id: '29', 91 centre_name: '', 92 country: 'England', 93 name: 'North Somerset Times', 94 name_with_prefix_capitalised_possessive: 'The North Somerset Times\'', 95 name_with_prefix_lower_possessive: 'the North Somerset Times\'', 96 domain: 'www.northsomersettimes.co.uk', 97 editor_name: 'Milly Vincent', 98 onboarding_enabled: 'no', 99 onboarding_flow_id: 'onboarding_disabled', 100 allowing_mr_replacement: '', 101 cookie_domain: '.northsomersettimes.co.uk', 102 uses_cmp: 'yes', 103 short_domain: 'northsomersettimes', 104 using_piano_id: 'yes', 105 enable_skimlinks: 'no', 106 skimlinks_domain_id: '', 107 disable_newsletters: 'no', 108 is_archant_site: 'yes', 109 shc_merchant_name: '', 110 piano_application_group: 'Forest', 111 piano_site_name: 'North Somerset Times', 112 piano_site_name_possessive: 'North Somerset Times\'', 113 piano_site_name_with_prefix_lower: 'the North Somerset Times', 114 piano_site_name_with_prefix_capitalised: 'The North Somerset Times', 115 piano_site_name_with_prefix_capitalised_possessive: 'The North Somerset Times\'', 116 piano_site_name_with_prefix_lower_possessive: 'the North Somerset Times\'', 117 piano_location_primary: 'Clevedon', 118 piano_location_primary_possessive: 'Clevedon\'s', 119 piano_location_county: 'North Somerset', 120 piano_location_county_possessive: 'North Somerset\'s', 121 piano_primary_sports_team: '', 122 piano_primary_sports_team_nickname: '', 123 piano_primary_sports_team_sport: '', 124 piano_primary_sports_team_possessive: '', 125 piano_primary_sports_team_nickname_possessive: '', 126 piano_self_service_cancellation_setting: 'None', 127 has_app: 'no', 128 app_provider: '', 129 app_platform: '', 130 app_store_url_ios: '', 131 app_store_url_google_play: '', 132 cloudflare_turnstyle_site_key: '', 133 }, 134 page: { 135 module: 'Newsquest\Modules\ContactUsModule', 136 referrer: data_layer_helper.getReferrerHostName(), 137 name: '(www) ' + data_layer_helper.getOmniturePath(), 138 title: document.title, 139 path: data_layer_helper.getOmniturePath(), 140 section: data_layer_helper.getPathFragment(0), 141 subsection: data_layer_helper.getPathFragment(1), 142 subsection_2: data_layer_helper.getPathFragment(2), 143 subsection_3: data_layer_helper.getPathFragment(3), 144 reference: qs.get('ref'), 145 layout: '', 146 ad_timing: data_layer_helper.getCookie('adtiming'), 147 template_namespace: 'standard', 148 template: '', 149 colour_scheme: '', 150 layout_template: '', 151 mds_font: 'sans-serif', 152 user_used_app_last_24hours: '', 153 user_used_app_last_7days: '', 154 user_used_app_last_14days: '', 155 mds_colour_palette: 'archant-dark-blue', 156 feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', 157 feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), 158 is_article_list: 'no', 159 error_404: '',
160 top_stories_article_count: '', 161 interstitial_dedupe_top_stories: '', 162 interstitial_desktop_height: '', 163 interstitial_mobile_height: '', 164 interstitial_tablet_height: '', 165 interstitial_piano_module_id: '', 166 interstitial_using_recommendations: '', 167 interstitial_recommendation_header: '', 168 interstitial_article_count: '', 169 news_stories_article_count: '', 170 site_newspaper_archive_enabled: 'no', 171 site_newspaper_archive_number_of_pages: '', 172 site_newspaper_archive_start_year: 0, 173 article_originates_from_this_site: '', 174 article_originates_from_site: '', 175 article_originates_from_url: '' 176 }, 177 user: { 178 id: '', 179 first_name: '', 180 advertising_experience: 'Ad-Full', 181 is_privacy_plus: 'no', 182 is_alist: 'no', 183 level: data_layer_helper.getCookie('nq_ul'), 184 seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 185 given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', 186 consent_string: data_layer_helper.getConsentString(), 187 type: 'anonymous', 188 parsely_type: 'Anonymous', 189 chartbeat_type: 'anon', 190 type_as_int: '1', 191 is_logged_in: 'no', 192 is_admin: 'no', 193 is_internal_admin: '', 194 has_full_admin_link_permissions: '', 195 has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', 196 comments_verified: '', 197 comments_verified_date: '', 198 user_email_is_verified: '', 199 user_email_is_verified_date: '', 200 mobile_number_is_verified: '', 201 mobile_number_is_verified_date: '', 202 user_needs_email_verification: '', 203 user_needs_mobile_verification: '', 204 user_too_many_requests: '', 205 age_decade: '0' , 206 gender: 'u' , 207 is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', 208 hash: '', 209 lr_hash_1: '', 210 lr_hash_2: '', 211 lr_hash_3: '', 212 gender: 'u' , 213 user_decade: '0' , 214 subscription_plan: '', 215 subscription_tier: 'null', 216 subscription_plan_and_frequency: ' - ', 217 commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', 218 time_since_last_visit: 'not implemented (maybe drop)', 219 device: data_layer_helper.getDevice(), 220 using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), 221 admin_user_name: '', 222 is_admin_internal: '', 223 is_admin_external: '', 224 card_expired: '', 225 card_will_expire: '', 226 expires_urgency: '', 227 abandoned_cart: 'no', 228 subscription_expired: 'no', 229 is_archant_site: 'yes', 230 signed_up_primary_news_newsletter: 'no', 231 signed_up_primary_sport_newsletter: 'no', 232 played_free_puzzles_last_7days: '', 233 played_paid_puzzles_last_7days: '', 234 commenter_badge: '', 235 upper_role: '', 236 }, 237 analytics: { 238 hierachy: 'newsquest,,www.northsomersettimes.co.uk,' + data_layer_helper.getPathFragment(3).replace(/\//,','), 239 link_filters: 'javascript:,northsomersettimes.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', 240 tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), 241 tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), 242 previous_page_name: data_layer_helper.getCookie('nq_prev_page'), 243 advert_id: '', 244 position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), 245 featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), 246 account: data_layer_helper.getAccount() 247 }, 248 chartbeat: { 249 enabled: "no", 250 id: "", 251 domain: "", 252 sections: '' 253 }, 254 parsely: { 255 enabled: "yes", 256 site_id: "northsomersettimes.co.uk", 257 type: 'Anonymous' 258 }, 259 piano: { 260 tags: data_layer_helper.getPianoTags({ 261 piano_domain: 'northsomersettimes', 262 piano_master: '', 263 breaking_news: false, 264 editorial_opinion: false, 265 free_subscriber: false, 266 free_subscriber: false, 267 has_video: false, 268 is_article: false,
269 article_content_level : '', 270 article_content_level_open_access: false, 271 picture_gallery_id: false, 272 user_is_newsquest: false, 273 user_is_entra_authenticated: false, 274 user_logged_in: false, 275 is_live_article: false, 276 why_free_subscriber: '', 277 extra_tags: extraTags, 278 is_covid_headline: false, 279 is_covid_body: false, 280 is_alist: false, 281 audio_provider_bytecast: false 282 } 283 ), 284 custom_variables: { 285 article_length: '', 286 application_group: 'Forest', 287 content_is_editorial_opinion: 'no', 288 base_url: 'https://www.northsomersettimes.co.uk', 289 full_url: document.location.href, 290 from_discover: (document.referrer === "android-app://com.google.android.googlequicksearchbox/") ? 'yes' : 'no', 291 mds_font: 'sans-serif', 292 mds_colour_palette: 'archant-dark-blue', 293 site_name: 'North Somerset Times', 294 site_name_possessive: 'North Somerset Times\'', 295 site_name_with_prefix_capitalised: 'The North Somerset Times', 296 site_name_with_prefix_lower: 'the North Somerset Times', 297 site_name_with_prefix_capitalised_possessive: 'The North Somerset Times\'', 298 site_name_with_prefix_lower_possessive: 'the North Somerset Times\'', 299 location_primary: 'Clevedon', 300 location_primary_possessive: 'Clevedon\'s', 301 location_county: 'North Somerset', 302 location_county_possessive: 'North Somerset\'s', 303 site_has_primary_sports_team: 'no', 304 primary_sports_team: '', 305 primary_sports_team_nickname: '', 306 primary_sports_team_sport: '', 307 primary_sports_team_possessive: '', 308 primary_sports_team_nickname_possessive: '', 309 site_id: '1149', 310 content_level: '', 311 content_author: '', 312 content_id: '', 313 content_is_article: 'no', 314 content_primary_topic: '', 315 user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 316 site_section: data_layer_helper.getPathFragment(0, true), 317 article_published_yyyy: '', 318 user_played_free_puzzles_last_7days: '', 319 user_played_paid_puzzles_last_7days: '', 320 anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), 321 home_delivery_phone_number: '', 322 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 323 day_of_week: data_layer_helper.getDayOfWeek(), 324 user_card_expired: '', 325 user_card_will_expire: '', 326 user_expires_urgency: '', 327 user_used_app_last_24hours: '', 328 user_used_app_last_7days: '', 329 user_used_app_last_14days: '', 330 user_subscription_tier: 'null', 331 user_is_newsquest: 'no', 332 primary_news_newsletter_id: '2400', 333 primary_news_newsletter_name: 'the North Somerset Times In Brief', 334 primary_news_newsletter_description: 'The latest news and sport headlines for the North S
334omerset area, plus events and things to do.', 335 primary_sport_newsletter_id: '2008', 336 primary_sport_newsletter_name: 'the Sport Headlines', 337 primary_sport_newsletter_description: 'The week\'s biggest sport stories, sent straight to your inbox.', 338 user_signed_up_primary_news_newsletter: 'no', 339 user_signed_up_primary_sport_newsletter: 'no', 340 newsletter_auto_promote: '', 341 newsletter_auto_promote_name: '', 342 newsletter_auto_promote_description: '', 343 newsletter_auto_promote_ID: '', 344 site_has_app: 'no', 345 site_app_store_url_ios: '', 346 site_app_store_url_google_play: '', 347 subsets_experiment_id: '', 348 site_section1: data_layer_helper.getPathFragment(1, true), // GBL required 349 site_newspaper_archive_enabled: 'no', 350 site_newspaper_archive_number_of_pages: '', 351 site_newspaper_archive_start_year: 0, 352 article_originates_from_this_site: '', 353 article_originates_from_site: '', 354 article_originates_from_url: '' 355 }, 356 native_variables: { 357 setContentCreated: '', 358 setContentIsNative: 'no', 359 setContentAuthor: '', 360 setContentSection: data_layer_helper.getPathFragment(0, true) 361 } 362 }, 363 article: { 364 cscore:'', 365 showing_preview: '', 366 is_article: data_layer_helper.isArticle() ? 'yes' : 'no', 367 id : '', 368 length_type: '', 369 character_count: '', 370 author: ''.toLowerCase(), 371 e_var15: ''.toLowerCase(), 372 context: '', 373 content_level: '', 374 content_level_open_access: '', 375 content_level_combined: ',,no', 376 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 377 increment: (data_layer_helper.isArticle()) ? '+1' : '', 378 sponsor: '', 379 contributions: '0', 380 is_sponsored: 'no', 381 headline: '', 382 age: data_layer_helper.getArticleAge(), 383 upload_date: '', 384 publish_date: '', 385 update_date: '', 386 rating: '', 387 source: data_layer_helper.getSource(''), 388 subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', 389 context: '', 390 grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', 391 allow_comments: 'no', 392 total_comments: '', 393 originating_site_id: '', 394 parent_article_site_id: '', 395 parent_article_id: '', 396 originating_article_id: '', 397 parent_originating_site_id: '', 398 is_original_to_site: '', 399 is_cloned: '', 400 parent_article_url: '', 401 use_skimlinks: 'no', 402 content_primary_topic: '', 403 taxonomy: { 404 article_types: '', 405 topics: '', 406 sports: '', 407 sports_teams: '', 408 locations: '', 409 shared_content: '', 410 free_tags: '', 411 farming: '' 412 }, 413 audio: { 414 has_audio: 'no', 415 provider: '' 416 },
417 article_comments_use_viafoura: '' 418 }, 419 homes: { 420 search_bedrooms_minimum: '', 421 search_location: 'contact', 422 search_price_minimum: '', 423 search_price_maximum: '', 424 list: '', 425 id: '' 426 }, 427 video: { 428 exists: 'no', 429 auto_play_enabled: data_layer_helper.getAutoPlay('no') 430 }, 431 contributions: { 432 allow_text: '', 433 allow_image: '', 434 user_contributions_number: '0', 435 has_user_contributions: 'no' 436 }, 437 search: { 438 keywords: qs.get('search'), 439 results: '' 440 }, 441 announcements: { 442 category: '' 443 }, 444 config: { 445 google_analytics_id: 'UA-63223733-7', 446 site_template_set: 'standard', 447 path: '/contact/', 448 top_level_section: 'contact', 449 polar_property_id: 'NA-DAILECHO-11238979', 450 gallery_show_advert_after: '5', 451 disable_outbrain_with_ad_light: 'no', 452 disable_outbrain: 'no', 453 }, 454 dfp: { 455 is_landing: 'yes', 456 module_path: 'contact', 457 weather_band: '11-15', 458 weather_summary: 'sun'.toLowerCase(), 459 id: data_layer_helper.getGoogleId(), 460 display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', 461 can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' 462 }, 463 dates: { 464 date: (new Date()).toLocaleDateString('en-GB'), 465 hour: (new Date()).getHours(), 466 day: data_layer_helper.getDayOfWeek(), 467 weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' 468 }, 469 memorials: { 470 contact_phone_number: '', 471 contact_email_address: '', 472 publications: JSON.parse('' || '[]'), 473 user: { 474 id: '', 475 email_verified: 'no', 476 type: '' 477 }, 478 funeral_director: { 479 id: '', 480 person_urn: '' 481 } 482 } 483 } 484 485 data_layer_helper.storeCurrentPageName(data_layer.page.name); 486 487 window.dispatchEvent(new Event('data-layer-loaded')) 488 489 data_layer.piano.custom_variables.user_used_app_last_24hours = 'no'; 490 data_layer.piano.custom_variables.user_used_app_last_7days = 'no'; 491 data_layer.piano.custom_variables.user_used_app_last_14days = 'no'; 492 if (data_layer.article.is_article !== 'yes') { 493 data_layer.piano.custom_variables.site_module = 'Newsquest\Modules\ContactUsModule'; 494 data_layer.piano.custom_variables.puzzles_landing_page = 'no'; 495 data_layer.piano.custom_variables.puzzles_display_page = 'no'; 496 } 497</script>
497 498
499<script 500 src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" 501 async 502></script>
502 503 504
505<script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title="tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script>
505 506
507<script type = "text/javascript"> 508( function () { 509 510 window._sp_ = { 511 config: { 512 baseEndpoint: 'https://a02342.northsomersettimes.co.uk', 513 accountId: 52, 514 targetingParams:{ 515 subscribed: false, 516 privacy: false 517 }, 518 gdpr: { }, 519 events: { 520 onMessageReady: function (message_type) { 521 trackSPEvents('event76'); 522 }, 523 onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { 524 console.log('message_type: ', message_type); 525 console.log('choice_id: ', choice_id); 526 console.log('choice_type_id: ', choice_type_id); 527 if ('yes' === 'yes') { 528 if (choice_type_id === 12) { 529 trackSPEvents('event83'); //Consent Banner Reject All 530 trackSPEvents('event82'); //Journalism Message Shown 531 } 532 if (choice_type_id === 11) { 533 trackSPEvents('event78'); 534 } 535 if (choice_type_id === 9) { 536 trackSPEvents('event77'); 537 } 538 } else { 539 // these are the second argument in non-gate 540 if (choice_type_id === 12) { 541 trackSPEvents('event77'); 542 } 543 544 if (choice_type_id === 11) { 545 trackSPEvents('event78'); 546 } 547 548 if (choice_type_id === 13) { 549 trackSPEvents('event83'); 550 } 551 } 552 }, 553 onPrivacyManagerActionStatus: function(message_type, status, actionType) { 554 console.log('message_type: ' + message_type); 555 console.log('status: ' + status); 556 console.log('actionType: ' + actionType); 557 if ('yes' === 'yes') { 558 if (actionType === 11) { 559 trackSPEvents('event79'); //Privacy Manager Accept 560 } 561 if (actionType === 9) { 562 trackSPEvents('event68'); //Privacy Manager Redirect 563 } 564 if (actionType === 1) { 565 trackSPEvents('event75'); //Forced tcf String Change 566 } 567 } else { 568 // these are the second argument in non-gate 569 if (actionType === 13) { 570 trackSPEvents('event81'); //Privacy Manager Reject 571 } 572 if (actionType === 11) { 573 trackSPEvents('event79'); //Privacy Manager Accept 574 } 575 if (actionType === 1) { 576 trackSPEvents('event80'); //Privacy Manager Save & Exit 577 } 578 } 579 }, 580 onPMCancel: function (message_type) { 581 console.log('onPMCancel', message_type); 582 trackSPEvents('event84'); //Privacy Manager Back 583 }, 584 } 585 } 586 } 587 588 if (typeof window.__tcfapi === 'function') { 589 window.__tcfapi('addEventListener', 2, function (tcData, success) { 590 console.log('SP: Event Listen:', tcData, success); 591 if (success && tcData.eventStatus === 'useractioncomplete') { 592 setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); 593 594 var csnt = 'none'; 595 if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 596 csnt = 'yes'; 597 } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 598 csnt = 'no'; 599 } 600 googletag.cmd.push(function() { 601 // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); 602 googletag.pubads().setTargeting('dfpcsnt', csnt); 603 }); 604 // ready to start DFP
605 // console.log('PIANO: setting unrestricted via useractioncomplete'); 606 // runPiano('unrestricted'); 607 startAdvertising(tcData.listenerId); 608 609 var e = new Event('launch:cmp:choice-made'); 610 window.dispatchEvent(e); 611 } else if (success && tcData.eventStatus === 'tcloaded') { 612 // tcloaded means a valid TCF v2.0 string is available 613 // console.log('PIANO: setting unrestricted via tcloaded'); 614 // runPiano('unrestricted'); 615 if (tcData.gdprApplies === false) { 616 $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.northsomersettimes.co.uk', path: '/', expires: 100}); 617 } 618 startAdvertising(tcData.listenerId); 619 620 } else if (success && tcData.eventStatus === 'useractionnotcomplete') { 621 // do nothing - this means the user has not made a choice yet 622 } else if (success && tcData.eventStatus === 'cmpuishown') { 623 // do nothing - this means the CMP UI has been shown 624 } else if (!success) { 625 // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.northsomersettimes.co.uk', path: '/', expires: 100}); 626 // startAdvertising(); 627 } else { 628 // console.log('PIANO: setting restricted'); 629 // runPiano('restricted'); 630 } 631 }); 632 } 633 634 635 636 document.addEventListener('click', function (e) { 637 const option = e.target.closest('.gdpr-option-v2'); 638 639 if (!option) return; 640 641 e.preventDefault(); 642 sendEvent76 = false; 643 644 const id = option.dataset.v2Id; 645 const isGate = option.dataset.isGate; 646 647 if (isGate === 'yes') { 648 trackSPEvents('event87'); 649 _sp_.gdpr.loadPrivacyManagerModal(id); 650 } else { 651 trackSPEvents('event77'); 652 _sp_.gdpr.loadPrivacyManagerModal(id); 653 } 654 }); 655 656 function getTcfData() { 657 if (typeof window.__tcfapi !== 'function') { 658 console.warn('TCF API unavailable'); 659 return; 660 } 661 window.__tcfapi('addEventListener', 2, function(data, success) { 662 if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) { 663 // console.log('DFP: No TCF data found, not setting cookies'); 664 return; 665 } 666 setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); 667 }, [755]); 668 } 669 getTcfData(); 670 671 function setTcfCookie(data, legitimateInterests) { 672 var consents = []; 673 $.each(data, function(id, consent) { 674 var c = (consent === true) ? 'yes' : 'no'; 675 consents.push(c) 676 }); 677 // console.log('DFP: consents length: ', consents.length); 678 if (consents.length !== 10) { 679 // consents = consents.fill('no', consents.length, 10); 680 for (var i = consents.length; i < 10; i++) { 681 consents[i] = 'no'; 682 } 683 } 684 // console.log('DFP: Found consents to store in cookie:', consents); 685 $.cookie('prev-tcf-v2', consents.join(','), {domain: '.northsomersettimes.co.uk', path: '/', expires: 100}); 686 687 var consentEvent4 = 'none'; 688 if (typeof data[4] !== 'undefined') { 689 consentEvent4 = data[4] ? 'true' : 'false'; 690 } 691 $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.northsomersettimes.co.uk', path: '/', expires: 100}); 692 693 var legitInterest = 'none'; 694 if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { 695 legitInterest = legitimateInterests[2] ? 'true' : 'false'; 696 } 697 698 $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.northsomersettimes.co.uk', path: '/', expires: 100}); 699 } 700 701 var sendEvent76 = true; 702 703 function trackSPEvents(events) { 704 if (events === 'event76' && !sendEvent76) { 705 return; 706 } else if (events === 'event76') { 707 sendEvent76 = false;
708 } 709 710 if (typeof window.s !== 'object') { 711 // console.log('DFP: No window.s object found, trying again in 1 second'); 712 window.setTimeout(function () { trackSPEvents(events)} , 1000); 713 return; 714 } 715 716 // console.log("ADB: Tracking %s", events); 717 // Re-create the Omniture object so the data can be tracked. 718 var s = window.s; 719 720 if (events.indexOf('event70') !== -1) { 721 // console.log('DFP: Events passed, added evars'); 722 s.eVar35 = 'enabled'; 723 s.prop35 = 'enabled'; 724 } 725 726 s.events = events; 727 s.linkTrackEvents = events; 728 s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35"; 729 s.suppressPageView = true; 730 s.tl(true,'o','Ad Block'); 731 } 732 733 function startAdvertising(id) 734 { 735 if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { 736 return; 737 } 738 739 // console.log("DFP: Is the page fully loaded?", window.googleReady); 740 if (window.googleReady !== true) { 741 window.setTimeout(function () { 742 // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); 743 startAdvertising(id); 744 }, 250); 745 return; 746 } 747 748 // Ensure that we never run this code twice 749 if (window.advertisingStart === true) { 750 return; 751 } 752 // console.log('DFP: Running advertisement'); 753 window.advertisingStart = true; 754 755 var googletag = window.googletag; 756 // init google objects and array 757 (function() { 758 var gads = document.createElement('script'); 759 gads.async = true; 760 gads.type = 'text/javascript'; 761 gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 762 var node = document.getElementsByTagName('script')[0]; 763 node.parentNode.insertBefore(gads, node); 764 })(); 765 766 // launch the exco slideshow player 767 launchExcoSlideshow(); 768 769 // load facebook etc 770 loadSocials(); 771 772 // Checking our decision to use headerbidding (shorterned as prebid) is correct 773 // via system logic, and that we have the simplified consent to do so 774 if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
775 var e = new Event('launch:sourcepoint:consentaccepted'); 776 window.dispatchEvent(e); 777 778 // AP code initialisation 779 // the script is loaded via launch, once we have detected a consent signal via the datalayer. 780 fetchAp(); 781 782 var site = 'desktop'; 783 var _site = 'desktop'; 784 785 // load IAS scripts and set up vars 786 (function() { 787 var ias = document.createElement('script'); 788 ias.async = true; 789 ias.type = 'text/javascript'; 790 ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; 791 var node = document.getElementsByTagName('script')[0]; 792 node.parentNode.insertBefore(ias, node); 793 })(); 794 795 // load the prebid script 796 (function() { 797 var pbs = document.createElement('script'); 798 pbs.async = true; 799 pbs.type = 'text/javascript'; 800 pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; 801 var node = document.getElementsByTagName('script')[0]; 802 node.parentNode.insertBefore(pbs, node); 803 })(); 804 805 // tell google to actually get the bids from all relevant vendors when loaded 806 googletag.cmd.push(function () { 807 fetchHeaderBids(); 808 }); 809 } 810 811 // Outbrain 812 if ( 813 (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') || 814 (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes') 815 ) { 816 // console.log("No Outbrain script loading due to page settings"); 817 } else { 818 // console.log("Loading Outbrain"); 819 var ob = document.createElement('script'); 820 ob.async = true; 821 ob.type = 'text/javascript'; 822 ob.src = 'https://widgets.outbrain.com/outbrain.js'; 823 var node = document.getElementsByTagName('script')[0]; 824 node.parentNode.insertBefore(ob, node); 825 } 826 827 828 // remove the listener 829 if (id !== null) { 830 window.__tcfapi('removeEventListener', 2, function (success) { }, id); 831 } 832 } 833 834 /** 835 * Wait until we have advertising consent to show this advertising 836 * based replacement for the single image on our article pages 837 * This logic is based on excoSlidshowPlayerID that only appears on the page 838 * if a user is NOT a subscriber (including privacy plus) and the page has the 839 * correct information to show it (doesn't have a video, not in sport etc) 840 */ 841 function launchExcoSlideshow() { 842 const slideShowPlayerId = window.excoSlideshowPlayerId; 843 // if we do not have a player id, we do not need to do anything 844 if (!slideShowPlayerId) { 845 return; 846 } 847 848 // this is exco's supplied code, modified for our use 849 (function (d, s, n) { 850 fjs = d.getElementsByTagName(s)[0]; 851 js = d.createElement(s); 852 js.className = n; 853 js.src = '//player.ex.co/player/' + slideShowPlayerId; 854 js.setAttribute('programmatic', 'true'); 855 js.onload = function () { 856 const playerApi = ExCoPlayer.connect(slideShowPlayerId); 857 playerApi.init({}); 858 859 playerApi.on('player-load', function(data) { 860 $('.mar-article-image').remove(); 861 if (window.screen.width > 800) { 862 $('.article-hero').attr('style', 'order: 1'); 863 } 864 window.hide_overlay_for_exco = true; 865 }); 866 }; 867 fjs.parentNode.insertBefore(js, fjs); 868 }(document, 'script', 'exco-player')); 869 } 870 871 function loadSocials() 872 { 873 const socials = [ 874 'https://platform.twitter.com/widgets.js', 875 'https://connect.facebook.net/en_US/all.js#xfbml=1', 876 'https://www.tiktok.com/embed.js', 877 ]; 878
879 socials.forEach((social) => { 880 var script = document.createElement('script'); 881 script.src = social; 882 script.async = true; 883 document.getElementsByTagName('head')[0].appendChild(script); 884 }); 885 } 886 887 888})(); 889 890</script>
vendor: 1 bytes, line 890
890
891<script src="https://a02342.northsomersettimes.co.uk/unified/wrapperMessagingWithoutDetection.js"></script>
891 892
893<script> 894window.usePiano = true; 895window.selectedOfferId = null; 896window.selectedTermId = null; 897</script>
vendor: 1 bytes, line 897
897
898<script> 899document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; 900var setNptTechAdblockerCookie = function(adblocker) { 901 var d = new Date(); 902 d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); 903 document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; 904} 905var script = document.createElement("script"); 906script.setAttribute("async", true); 907script.setAttribute("src", "//www.npttech.com/advertising.js"); 908script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); 909document.getElementsByTagName("head")[0].appendChild(script); 910</script>
910 911
912<script> 913// window.pdl = window.pdl || {}; 914// window.pdl.requireConsent = 'v2'; 915 916// Store entry point unless it's a user or subscribe page 917// to redirect after subscription 918const excludedPaths = ['/user/', '/subscribe/']; 919 920const shouldExclude = excludedPaths.some(path => 921 window.location.pathname.includes(path) 922); 923 924if (!shouldExclude) { 925 sessionStorage.setItem( 926 'last_piano_page_interacted_with', 927 window.location.pathname 928 ); 929} 930 931tp = window.tp || []; 932 933function runPiano(restrictedMode) { 934 // console.log('Running Piano with restricted mode:', restrictedMode); 935 // tp.push(['init', function() { 936 // console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose()); 937 // }]); 938 // if (restrictedMode === 'restricted') { 939 // // If we're in restricted mode, we need to set some specific parameters 940 // tp.push(['init', function() { 941 // tp.consent.setAllPurposes('opt-out') 942 // }]); 943 // } else { 944 // tp.push(['init', function() { 945 // tp.consent.setAllPurposes('opt-in') 946 // }]); 947 // } 948 // tp.push(['init', function() { 949 // console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose()); 950 // }]); 951 // init Piano ID 952 tp.push(['init', function() { 953 tp.pianoId.init(); 954 }]); 955 956 const isGooglebot = window.isRobot.googleBot(); 957 958 const isArticle = (data_layer.article.is_article === 'yes'); 959 960 const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3); 961 962 if (isGooglebot) { 963 // we don't load Piano from all non-article pages 964 if (!isArticle) { 965 return; 966 } 967 968 // If we are on an article, we do not load piano on CL0, 1, or 2 969 if (!isCl3) { 970 return; 971 } 972 } 973 Object.keys(data_layer.piano.custom_variables).forEach(function (k) { 974 var v = data_layer.piano.custom_variables[k]; 975 976 if (v != '') { 977 tp.push(["setCustomVariable", k, v]); 978 } 979 }); 980 981 Object.keys(data_layer.piano.native_variables).forEach(function (k) { 982 var v = data_layer.piano.native_variables[k]; 983 if (v != '') { 984 tp.push([k, v]); 985 } 986 }); 987 988 tp.push(['setTags', data_layer.piano.tags]); 989 990 (function(src){ 991 var a=document.createElement("script"); 992 a.type = "text/javascript"; 993 a.async=true; 994 a.src=src; 995 var b=document.getElementsByTagName("script")[0]; 996 b.parentNode.insertBefore(a, b) 997 })("//experience.tinypass.com/xbuilder/experience/load?aid=OgkjqHRKpu"); 998} 999 1000// Init Piano 1001const debug = document.cookie 1002 .split('; ') 1003 .find(row => row.startsWith('debug=')) 1004 ?.split('=')[1]; 1005 1006tp.push(["setDebug", debug === '1']); 1007 1008tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); 1009 1010tp.push(["setUsePianoIdUserProvider", true ]); 1011 1012tp.push(["addHandler", "loginRequired", function(params) { 1013 // If they're already signed in, we don't need to do anything special. 1014 if (tp.user.isUserValid()) { 1015 return; 1016 } 1017 if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { 1018 console.log("TPL Called") 1019 tp.pianoId.show({ 1020 screen: 'login', 1021 displayMode: 'modal', 1022 loggedIn: (data) => { 1023 pianoId.loggedIn(); 1024 }, 1025 loggedOut: () => { 1026 console.log('TP-TJ: user logged out'); 1027 }, 1028 registrationSuccess: () => { 1029 pianoId.registered(); 1030 }, 1031 width: '500px', 1032 height: '460px', 1033 }); 1034 } 1035}]); 1036 1037tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { 1038 if (typeof termDetails.termId !== 'undefined') { 1039 window.selectedTermId = termDetails.termId; 1040 } 1041}]); 1042 1043tp.push(["addHandler", "showTemplate", function (templateParams) { 1044 showPianoTarget(templateParams); 1045}]); 1046 1047tp.push(["addHandler", "showOffer", function (offerParams) { 1048 window.shownOffer = true; 1049 1050 // Store some data we might need later. 1051 if (typeof offerParams.offerId !== 'undefined') { 1052 window.selectedOfferId = offerParams.offerId; 1053 } 1054 1055 showPianoTarget(offerParams); 1056}]); 1057 1058function handleFullWidthBanner(selector) { 1059 if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') { 1060 document.querySelector(selector).classList.add(selector.replace('#', '')); 1061 } 1062 document.querySelector(selector).style.minHeight = "254px"; 1063 document.querySelector('#subscription-content').style.display = 'none'; 1064 document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; }); 1065 document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; }); 1066 1067 const block = document.querySelector(selector); 1068 const containerBlock = block.parentElement; 1069 const containerBlockHeight = 254; // to prevent abrupt jumping 1070 1071 if (!block) { return; } 1072 1073 block.style.display = 'block'; 1074 1075 const blockRect = block.getBoundingClientRect(); 1076 const startTop = blockRect.top + window.scrollY; 1077 const blockHeight = blockRect.height; 1078 const screenWidth = window.screen.width; 1079 1080 let lastState = ''; // 'top', 'bottom', 'default' 1081 1082 function getScrollbarWidth() { 1083 return window.innerWidth - document.documentElement.clientWidth; 1084 } 1085 1086 function updatePosition() { 1087 const scrollY = window.scrollY;
1088 const viewportHeight = window.innerHeight; 1089 const bottomTrigger = startTop + blockHeight - viewportHeight; 1090 1091 let newState = 'default'; 1092 1093 if (scrollY > startTop && screenWidth >= 768) { 1094 newState = 'top'; 1095 } else if (scrollY < bottomTrigger && screenWidth >= 768) { 1096 newState = 'bottom'; 1097 } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) { 1098 newState = 'bottom-mobile'; 1099 } 1100 1101 const scrollbarWidth = getScrollbarWidth(); 1102 1103 if (newState !== lastState) { 1104 switch (newState) { 1105 case 'top': 1106 block.style.position = 'fixed'; 1107 block.style.top = '0'; 1108 block.style.bottom = 'auto'; 1109 block.style.marginLeft = '0'; 1110 block.style.marginRight = '0'; 1111 containerBlock.style.minHeight = `${containerBlockHeight}px`; 1112 break; 1113 1114 case 'bottom': 1115 block.style.position = 'fixed'; 1116 block.style.bottom = '0'; 1117 block.style.top = 'auto'; 1118 block.style.marginLeft = '0'; 1119 block.style.marginRight = '0'; 1120 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1121 containerBlock.style.minHeight = 'unset'; 1122 break; 1123 1124 case 'bottom-mobile': 1125 block.style.position = 'fixed'; 1126 block.style.bottom = '90px'; 1127 block.style.top = 'auto'; 1128 block.style.marginLeft = 'calc(-100vw + 100%)'; 1129 block.style.marginRight = 'calc(-100vw + 100%)'; 1130 containerBlock.style.minHeight = 'unset'; 1131 break; 1132 1133 default: 1134 block.style.position = ''; 1135 block.style.top = ''; 1136 block.style.bottom = ''; 1137 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1138 block.style.marginLeft = '-100vw'; 1139 block.style.marginRight = '-100vw'; 1140 containerBlock.style.minHeight = 'unset'; 1141 break; 1142 } 1143 1144 lastState = newState; 1145 } 1146 1147 requestAnimationFrame(updatePosition); 1148 } 1149 1150 updatePosition(); 1151 window.addEventListener('resize', updatePosition); 1152} 1153 1154function trackLocation(forceValidLocation = false) { 1155 var currentLocation = window.location.pathname; 1156 1157 let valid = false; 1158 1159 if (currentLocation.indexOf('puzzles') > -1) { 1160 valid = true; 1161 } 1162 1163 if (currentLocation.indexOf('pagesuite') > -1) { 1164 valid = true; 1165 } 1166 1167 var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); 1168 if (articleMatch != null) { 1169 valid = true; 1170 } 1171 1172 if (forceValidLocation) { 1173 valid = true; 1174 } 1175 1176 if (currentLocation.indexOf('subscribe') > -1) { 1177 valid = false; 1178 } 1179 1180 if (!valid) { 1181 return; 1182 } 1183 1184 $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); 1185} 1186 1187function trackPianoWithNewRelic(templateName) { 1188 if (this.newrelic && typeof this.newrelic === 'object') { 1189 newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); 1190 } 1191} 1192 1193function handleOfferShow(params) { 1194 console.log('Piano params', params); 1195 1196 // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. 1197 if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { 1198 var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); 1199 if (offerId !== null && offerId.length > 1) { 1200 offerId = offerId[1]; 1201 } 1202 var termId = location.search.match(/term_id=([A-Z0-9]+)/); 1203 if (termId !== null && termId.length > 1) { 1204 termId = termId[1]; 1205 } 1206 if (offerId !== null && termId !== null) { 1207 tp.offer.show({'termId': termId, 'offerId': offerId}); 1208 } 1209 } 1210 1211 // we are only tracking 1212 var templateId = params.templateId; 1213 var variantId = params.templateVariantId; 1214 if (params.containerSelector !== '#po-inline-articlegate-fullarticle' && 1215 params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' && 1216 params.containerSelector !== '#po-inline-articlegate-partialarticle' && 1217 params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below' 1218 ) { 1219 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1220 trackPianoSimplified(params, response.name); 1221 }); 1222 return; 1223 } 1224 1225 1226 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1227 trackPiano(params, response.name); 1228 }); 1229} 1230 1231function trackPiano(params, templateName) { 1232 trackPianoWithNewRelic(templateName); 1233 1234 if (typeof params.activeMeters === 'string') { 1235 activeMeters = JSON.parse(params.activeMeters); 1236 } else { 1237 activeMeters = params.activeMeters; 1238 } 1239 1240 var s = window.s; 1241 if (!s || !s.pageName) { 1242 // console.log("ADB: Setting s from backup"); 1243 s = window.backupAdobe; 1244 window.s = s; 1245 } 1246 1247 // this would call when CL3 is a hard gate 1248 if (!activeMeters && data_layer.article.content_level === '3') { 1249 s.eVar59 = templateName; 1250 s.eVar58 = data_layer.article.content_level; 1251 s.events = "event91"; 1252 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events"; 1253 s.linkTrackEvents="event91"; 1254 s.tl(document, 'o', 'Metered Access Notice'); 1255 s.events = ''; 1256 return; 1257 } 1258 1259 if (!activeMeters) { 1260 return; 1261 } 1262 1263 var meterData = activeMeters[0]; 1264 1265 var meterName = meterData.meterName.toLowerCase(); 1266 1267 // track event 5 1268 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { 1269 s.eVar58 = data_layer.article.content_level; 1270 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1271 s.eVar59 = templateName; 1272 s.events = "event5"; 1273 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1274 s.linkTrackEvents="event5"; 1275 } else { 1276 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1277 s.eVar59 = templateName; 1278 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1279 } 1280 s.tl(document, 'o', 'Metered Access Notice'); 1281 s.events = ''; 1282 1283} 1284 1285/** 1286 * Just track the template name in 78 for non-article-interrupts/gates 1287 */ 1288function trackPianoSimplified(params, templateName) 1289{ 1290 trackPianoWithNewRelic(templateName); 1291 1292 var s = window.s; 1293 if (!s || !s.pageName) { 1294 // console.log("ADB: Setting s from backup"); 1295 s = window.backupAdobe; 1296 window.s = s; 1297 } 1298 s.eVar78 = templateName; 1299 s.events = 'event90'; 1300 s.linkTrackEvents="event90"; 1301 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events"; 1302 s.tl(document, 'o', 'Piano Template'); 1303} 1304 1305function raiseLaunchEvent(name) {
1306 var e = new Event('launch:piano:' + name); 1307 window.dispatchEvent(e); 1308} 1309 1310function removePianoToast() { 1311 setTimeout(() => { 1312 document.getElementById('po-overlay-toast-left').remove() 1313 }, 30000) 1314} 1315 1316function showPianoTarget(params) { 1317 handleOfferShow(params); 1318 trackLocation(); 1319 1320 if ($(params.containerSelector).length > 0) { 1321 const displayType = $(params.containerSelector).attr('data-display'); 1322 1323 if (displayType) { 1324 $(params.containerSelector).addClass(`shown-${displayType}`); 1325 } else { 1326 $(params.containerSelector).addClass('shown').show(); 1327 } 1328 1329 if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) { 1330 $(params.containerSelector).show(); 1331 } 1332 1333 if ( 1334 params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' || 1335 params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below' 1336 ) { 1337 handleFullWidthBanner(params.containerSelector); 1338 } 1339 1340 if ($(params.containerSelector) === '#po-inline-subscribe-page') { 1341 $(params.containerSelector).show(); 1342 } 1343 1344 if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) { 1345 $('#po-inline-blocksystem-target-e').show(); 1346 $('.piano-promo-container').show(); 1347 } 1348 1349 if (params.containerSelector === '#po-overlay-toast-left') { 1350 removePianoToast() 1351 } 1352 1353 if (params.containerSelector === '#po-overlay-toast-main-navigation') { 1354 removePianoToast() 1355 } 1356 1357 if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') { 1358 $('#po-inline-articlegate-partialarticle').css('display', 'none'); 1359 } 1360 1361 if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') { 1362 $('#po-inline-articlegate-fullarticle').css('display', 'none'); 1363 } 1364 1365 if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') { 1366 $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none'); 1367 } 1368 } 1369} 1370 1371tp.push(["addHandler", "checkoutComplete", function(conversion) { 1372 var s = window.s; 1373 s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 1374 s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 1375 s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; 1376 s.linkTrackEvents = "event4,purchase"; 1377 s.purchaseID = conversion.termConversionId; 1378 s.pageName = '(www) /subscribe/complete/'; 1379 // wipe out errors 1380 s.eVar31 = ''; 1381 s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID"; 1382 1383 s.tl(true, 'o', 'Subscription'); 1384 1385 $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); 1386 $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); 1387 raiseLaunchEvent('checkoutComplete'); 1388 1389 // Clean Session Storage 1390 sessionStorage.removeItem('nq_selected_offer_id'); 1391 sessionStorage.removeItem('nq_selected_term_id'); 1392 sessionStorage.removeItem('nq_adobe_tracking_article_dimensions'); 1393 sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions'); 1394 1395 // Show Onboarding modal after subscription 1396 const lastPage = sessionStorage.getItem('last_piano_page_interacted_with'); 1397 const baseUrl = lastPage || window.location.href; 1398 1399 const url = new URL(baseUrl, window.location.origin); 1400 url.searchParams.set('show-onboarding', 'yes'); 1401 1402 setTimeout(() => { 1403 window.location.href = url.pathname + url.search; 1404 }, 2000); 1405}]); 1406 1407tp.push(["addHandler", "checkoutPaymentError", function(errorData) { 1408 var s = window.s; 1409 s.pageName = '(www) /subscribe/error/'; 1410 s.eVar31 = errorData.message; 1411 s.tl(true, 'o', 'CheckoutPaymentError'); 1412 1413 raiseLaunchEvent('checkoutPaymentError'); 1414}]); 1415 1416tp.push(["addHandler", "checkoutError", function(errorData) { 1417 var s = window.s; 1418 s.pageName = '(www) /subscribe/error/'; 1419 s.eVar31 = errorData.message; 1420 s.tl(true, 'o', 'CheckoutError'); 1421 raiseLaunchEvent('checkoutError'); 1422}]); 1423 1424tp.push(["addHandler", "startCheckout", function(options) { 1425 sessionStorage.setItem("nq_selected_offer_id", options.offerId); 1426 sessionStorage.setItem("nq_selected_term_id", options.termId); 1427 1428 if (!tp.user.isUserValid()) { 1429 window.location = '/user/create-account/subscribe/'; 1430 return; 1431 } 1432 1433 var s = window.s; 1434 s.eVar2 = '(www) /subscribe/payment/'; 1435 s.pageName = '(www) /subscribe/payment/'; 1436 const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 1437 const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions'); 1438 if (storedAdobeVisitingDimensions) { 1439 const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions); 1440 s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10; 1441 s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22; 1442 s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23; 1443 s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24; 1444 } 1445 if (storedAdobeArticleDimensions) { 1446 const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions); 1447 s.eVar10 = storedAdobeArticleDimensionsObj.eVar10; 1448 s.eVar15 = storedAdobeArticleDimensionsObj.eVar15; 1449 s.eVar22 = storedAdobeArticleDimensionsObj.eVar22; 1450 s.eVar23 = storedAdobeArticleDimensionsObj.eVar23; 1451 s.eVar24 = storedAdobeArticleDimensionsObj.eVar24; 1452 s.eVar25 = storedAdobeArticleDimensionsObj.eVar25; 1453 } 1454 // wipe out errors 1455 s.eVar31 = ''; 1456 s.events = ''; 1457 raiseLaunchEvent('startCheckout'); 1458 s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25"; 1459 s.t(); 1460}]); 1461 1462tp.push(["addHandler", "checkoutClose", function(conversion) { 1463 raiseLaunchEvent('checkoutClose'); 1464 1465 // Did they abandon the cart? If so: was anything in their cart?
1466 if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { 1467 return; 1468 } 1469 if (window.selectedOfferId === null || window.selectedTermId === null) { 1470 return; 1471 } 1472 $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); 1473}]); 1474 1475tp.push(["addHandler", "meterExpired", function(meterData){ 1476 var msg = "<div><b>meterName:</b> " + meterData.meterName 1477 + " | <b>views:</b> " + meterData.views 1478 + " | <b>totalViews:</b> " + meterData.totalViews 1479 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1480 + " | <b>maxViews:</b> " + meterData.maxViews 1481 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1482 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1483 $('#piano-meter-value').html(msg); 1484 $('#piano-meter-display').show(); 1485 $('#piano-meter-display-content').append(msg); 1486 } 1487 var cVal = window.location.href; 1488 1489 trackLocation(true); 1490 1491 console.log("Piano Meter Expired:", meterData.meterName); 1492 if (meterData.meterName === 'CL1 Meter') { 1493 console.log("Piano: Setting meter expired cookie"); 1494 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1495 } 1496 1497 raiseLaunchEvent('meterExpired'); 1498 1499}]); 1500 1501tp.push(["addHandler", "meterActive", function(meterData){ 1502 var msg = "<div><b>meterName:</b> " + meterData.meterName 1503 + " | <b>views:</b> " + meterData.views 1504 + " | <b>totalViews:</b> " + meterData.totalViews 1505 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1506 + " | <b>maxViews:</b> " + meterData.maxViews 1507 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1508 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1509 $('#piano-meter-value').html(msg); 1510 $('#piano-meter-display').show(); 1511 $('#piano-meter-display-content').append(msg); 1512 } 1513 1514 console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); 1515 if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { 1516 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1517 } else { 1518 $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1519 } 1520}]); 1521 1522 1523 1524runPiano('unrestricted'); 1525 1526</script>
1526 1527 1528 1529 1530 <link rel="apple-touch-icon" href="/resources/images/13919452/"> 1531 <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/13919451/"> 1532 <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/13965840/"> 1533 1534 1535 <!-- Add iconify --> 1536
1536<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
1536 1537</head> 1538<body class="sticky-footer" data-cache-buster="vjoPdzgg" data-template="" data-template-colour="Blue" data-namespace="standard"> 1539 <!-- 1540 ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### 1541 +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: 1542 .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` 1543 ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### 1544 ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### 1545 #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## 1546 :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ 1547 ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ 1548 1549Developers, designers, testers - interested in working for us? 1550Contact this guy....https://uk.linkedin.com/in/hillsimon 1551--> 1552 1553 1554 <div style="height: 0px"><div id="DFP_out_of_page"></div></div> 1555 1556 <div id="paywallWindowOverlay"></div> 1557 1558 1559 1560 <div id="takeover"> 1561 <div id="martini-config" class="layout"> 1562 <div id="header-content"> 1563 <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" > 1564 1565 <div class="header-topnav" role="navigation" aria-label="top-navigation"> 1566 1567 <div class="container-inner-width"> 1568 <div class="header-topnav-links"> 1569 <ul class="list-style-none"> 1570 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.northsomersettimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1571 </ul> 1572 </div> 1573 <ul id="links-nav" class="header-topnav--links-nav list-style-none"> 1574 <li class="links-nav-label"><span class="links-nav-label-text">More</span> 1575 <ul class="list-style-none"> 1576 <li class="dropdown-icon-closed"> 1577 <span class="iconify" data-icon="akar-icons:chevron-down"></span> 1578 </li> 1579 <li class="dropdown-icon-open" style="display: none;"> 1580 <span class="iconify" data-icon="akar-icons:chevron-up"></span> 1581 </li> 1582 1583 <li class="links-nav-container"> 1584 <ul class="list-style-none"> 1585 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.northsomersettimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1586 </ul> 1587 </li> 1588 </ul> 1589 </li> 1590 </ul> 1591 </div> 1592 1593 </div> 1594 1595 <div class="site-brand container-inner-width"> 1596 <div class="site-brand__container"> 1597 <a href="/"> 1598 <img src="/resources/images/small_site_logo/" alt="North Somerset Times" class="site-brand__brand-image"/> 1599 </a> 1600 </div> 1601 <div class="simple-header-top-navigation"> 1602 <div class="simple-header-top-navigation__links"> 1603 1604 <div class="simple-header-top-navigation__links--primary-links header-primary-links"> 1605 1606 1607 1608 <ul class="list-style-none top-nav-overflow"> 1609 <li><a href="/publications/" class="mar-btn mar-btn--promo-primary">E-editions</a></li> 1610 </ul> 1611 1612 </div> 1613 1614 1615 1616 <div class="simple-header-top-navigation__links--classifieds"> 1617 1618 </div> 1619 1620 1621 1622 </div> 1623 1624 <div class="simple-header-top-navigation__links--account"> 1625 1626 <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account"> 1627 <div aria-label="User Account Button" id="headerUserAccountButton"> 1628 <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
1628ox="0 0 10 14" fill="none"> 1629<circle cx="5" cy="3.85718" r="3" fill="black"/> 1630<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> 1631</svg> 1632 </div> 1633 </a> 1634 1635 </div> 1636 1637 1638 <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> 1639 <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 1640 </button> 1641 1642</div> 1643 </div> 1644 1645 <div id="mega-menu" class="mega-menu" style="display: none;"> 1646 <div class="mega-menu__container mega-menu__wrapper"> 1647 <div class="mega-menu__cancel-button"> 1648 <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> 1649 <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> 1650 <div>Close</div> 1651 </i> 1652 </div> 1653 1654 1655 1656 1657 <div class="mega-menu__features expanded-sub-nav"> 1658 <div class="mega-menu__features--links"> 1659 1660 <h4 class="prefix mega-menu__features--prefix link-item">Featured newsletters</h4> 1661 1662 <a href="/newsletters/2400/" class="col link-item">In Brief daily newsletter</a> 1663 1664 1665 <a href="/newsletters/" class="col link-item">Breaking News Alerts</a> 1666 1667 1668 <a href="/newsletters/2008/" class="col link-item">Sport Headlines</a> 1669 1670 </div> 1671 <hr class="divider none"> 1672 </div> 1673 1674 1675 <div class="mega-menu__search"> 1676 <form method="get" action="/search/"> 1677 <label class="mega-menu__search--title" for="searchbar-input">Search</label> 1678 <div class="mega-menu__search--bar"> 1679 <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search North Somerset Times"> 1680 <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> 1681 </div> 1682 </form> 1683 </div> 1684 1685 <div class="mega-menu__main-list link-list"> 1686 <div class="mega-menu__main-list--list-item"> 1687 <div> 1688 <div> 1689 <a href="/news/"> 1690 <h3><span class="mega-menu__main-list--parent-link">News</span></h3> 1691 </a> 1692 </div> 1693 1694 <div class="mega-menu__main-list--child-links"> 1695 <div class="child-item"> 1696 <a href="/news/crime/">Crime</a> 1697 </div> 1698 1699 1700 <div class="child-item"> 1701 <a href="/news/traffic/">Traffic & Travel</a> 1702 </div> 1703 1704 1705 <div class="child-item"> 1706 <a href="/news/local-council/">Local Council</a> 1707 </div> 1708 1709 1710 <div class="child-item"> 1711 <a href="/news/business/">Business</a> 1712 </div> 1713 1714 1715 <div class="child-item"> 1716 <a href="/news/weather/">Weather</a> 1717 </div> 1718 1719 1720 <div class="child-item"> 1721 <a href="/news/health/">Health</a> 1722 </div> 1723 1724 1725 <div class="child-item"> 1726 <a href="/news/housing/">Housing</a> 1727 </div> 1728 1729 1730 <div class="child-item"> 1731 <a href="/news/education/">Education</a> 1732 </div> 1733 1734 1735 <div class="child-item"> 1736 <a href="/news/obituaries/">Obituaries</a> 1737 </div> 1738 1739 1740 <div class="child-item"> 1741 <a href="/news/national/">UK News</a> 1742 </div> 1743 </div> 1744 1745 </div> 1746 <div class="divider"></div> 1747 </div> 1748 1749 1750 <div class="mega-menu__main-list--list-item"> 1751 <div> 1752 <div> 1753 <a href="/sport/"> 1754 <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> 1755 </a> 1756 </div> 1757 1758 <div class="mega-menu__main-list--child-links"> 1759 <div class="child-item"> 1760 <a href="/sport/national/">UK Sport News</a> 1761 </div> 1762 </div> 1763 1764 </div> 1765 <div class="divider"></div> 1766 </div> 1767 1768 1769 <div class="mega-menu__main-list--list-item"> 1770 <div> 1771 <div> 1772 <a href="/things-to-do/"> 1773 <h3><span class="mega-menu__main-list--parent-link">Things to do</span></h3> 1774 </a> 1775 </div> 1776 1777 <div class="mega-menu__main-list--child-links"> 1778 <div class="child-item"> 1779 <a href="/things-to-do/local-events/">Local Events</a> 1780 </div> 1781 1782 1783 <div class="child-item"> 1784 <a href="/things-to-do/days-out/">Days Out</a> 1785 </div> 1786 1787 1788 <div class="child-item"> 1789 <a href="/things-to-do/food-reviews/">Food reviews</a> 1790 </div> 1791 1792 1793 <div class="child-item"> 1794 <a href="/things-to-do/national/">UK Entertainment</a> 1795 </div> 1796 </div> 1797 1798 </div> 1799 <div class="divider"></div> 1800 </div> 1801 1802 1803 <div class="mega-menu__main-list--list-item"> 1804 <div> 1805 <div> 1806 <a href="/lifestyle/"> 1807 <h3><span class="mega-menu__main-list--parent-link">Lifestyle</span></h3> 1808 </a> 1809 </div> 1810 1811 <div class="mega-menu__main-list--child-links"> 1812 <div class="child-item"> 1813 <a href="/lifestyle/property/">Property</a> 1814 </div> 1815 1816 1817 <div class="child-item"> 1818 <a href="/lifestyle/heritage/">Heritage</a> 1819 </div> 1820 </div> 1821 1822 </div> 1823 <div class="divider"></div> 1824 </div> 1825 1826 1827 <div class="mega-menu__main-list--list-item"> 1828 <div> 1829 <div> 1830 <a href="/property/"> 1831 <h3><span class="mega-menu__main-list--parent-link">Property</span></h3> 1832 </a> 1833 </div> 1834 1835 </div> 1836 <div class="divider"></div> 1837 </div> 1838 1839 1840 <div class="mega-menu__main-list--list-item"> 1841 <div> 1842 <div> 1843 <a href="/notices/"> 1844 <h3><span class="mega-menu__main-list--parent-link">Notices</span></h3> 1845 </a> 1846 </div> 1847 1848 <div class="mega-menu__main-list--child-links"> 1849 <div class="child-item"> 1850 <a href="/notices/bereavement-guide/">Bereavement Guide</a> 1851 </div> 1852 </div> 1853 1854 </div> 1855 <div class="divider"></div> 1856 </div> 1857 1858 1859 <div class="mega-menu__main-list--list-item"> 1860 <div> 1861 <div> 1862 <a href="/publications/"> 1863 <h3><span class="mega-menu__main-list--parent-link">E-editions</span></h3> 1864 </a> 1865 </div> 1866 1867 </div> 1868 <div class="divider"></div> 1869 </div> 1870 </div> 1871 </div> 1872 1873 <div class="mega-menu__sticky"> 1874 <ul class="list-style-none mega-menu__sticky--list"> 1875 <div class="mega-menu__sticky--primary-links"> 1876 1877 <li><a href="/publications/" class="mar-btn mar-btn--promo-primary">E-editions</a></li> 1878 </div> 1879 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">
1879Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.northsomersettimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1880 </ul> 1881 </div> 1882</div> 1883 1884 1885 <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav"> 1886 <div class="primary-nav__container container-inner-width"> 1887 <span class="primary-nav__left"> 1888 <nav class="primary-nav__menu"> 1889 <div class="primary-nav__menu-container"> 1890 <div class="primary-nav__menu--item"> 1891 <a class="primary-nav__menu--link" href="/news/">News</a> 1892 </div> 1893 1894 1895 <div class="primary-nav__menu--item"> 1896 <a class="primary-nav__menu--link" href="/sport/">Sport</a> 1897 </div> 1898 1899 1900 <div class="primary-nav__menu--item"> 1901 <a class="primary-nav__menu--link" href="/things-to-do/">Things to do</a> 1902 </div> 1903 1904 1905 <div class="primary-nav__menu--item"> 1906 <a class="primary-nav__menu--link" href="/lifestyle/">Lifestyle</a> 1907 </div> 1908 1909 1910 <div class="primary-nav__menu--item"> 1911 <a class="primary-nav__menu--link" href="/property/">Property</a> 1912 </div> 1913 1914 1915 <div class="primary-nav__menu--item"> 1916 <a class="primary-nav__menu--link" href="/notices/">Notices</a> 1917 </div> 1918 1919 1920 <div class="primary-nav__menu--item"> 1921 <a class="primary-nav__menu--link" href="/publications/">E-editions</a> 1922 </div> 1923 </div> 1924 </nav> 1925 </span> 1926 <span class="primary-nav__right"> 1927 <div class="primary-nav__menu--more-btn"> 1928 <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> 1929 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 1930 </button> 1931 </div> 1932 <div class="primary-nav__right--search"> 1933 <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> 1934 </div> 1935 </span> 1936 </div> 1937</nav> 1938 1939 1940 1941 1942 1943 1944</header> 1945 </div> 1946 1947 <div id="redesign-content"> 1948 <div id="module-content" class="content"> 1949 <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div> 1950 1951 1952 <!-- standard - ContactUs.html --> <div class="block-contact-us" aria-labelledby="contact-help-heading"> 1953 <h1 id="contact-help-heading" class="block-heading">Contact & Help</h1> 1954 <p class="block-contact-us__intro"> 1955 In need of help, support, or need to contact us, hopefully you’ll find the information you need below... 1956 </p> 1957 1958 <h2 class="block-heading" id="customer-support-heading">Customer Support</h2> 1959 <div class="block-contact-us__cta-section" aria-labelledby="customer-support-heading"> 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 <div class="cta-item"> 1971 <a href="/contact/faq/general-support/" class="mar-btn mar-btn--md mar-btn--dark">General Support</a> 1972 <p>Help & questions about technical, account, or any other issues you may be experiencing with any of 1973 our products</p> 1974 </div> 1975 </div> 1976 1977 <div class="block-contact-us__grid_container"> 1978 <div> 1979 <div class="social-field" style="display: none;"> 1980 <p class="social-field-text">Follow us</p> 1981 <!-- standard - SocialBar.html --> <div class="social-bar "> 1982 <!-- standard - SocialShareButton.html --> <div 1983 aria-label="Share" 1984 class="social-share-button mar-btn" 1985 id="social-share-button"> 1986 <p class="social-share-button__text" aria-label="Share">Share</p> 1987 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1987ox="0 0 16 16" fill="none"> 1988 <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/> 1989 </svg> 1990</div> 1991 1992 1993 1994 1995</div> 1996 1997 </div> 1998 <div class="block-contact-us__grid_container--card" aria-labelledby="main-details-heading"> 1999 <div id="main-details-heading" class="block-contact-us__grid_container--card-heading block-heading">Main 2000 Details</div> 2001 2002 <div class="block-contact-us__grid_container--card-title">Address:</div> 2003 <address class="block-contact-us__grid_container--card-small-text"> 2004 2005 North Somerset Times, 2006 2007 2008 Tangier Central, 2009 2010 2011 Tangier, 2012 2013 2014 Taunton, 2015 2016 2017 Somerset, 2018 2019 2020 TA1 4AS 2021 2022 </address> 2023 2024 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Telephone:</div> 2025 <div class="block-contact-us__grid_container--card-small-text"> 2026 <a href="tel:(01823) 365151" 2027 aria-label="Call (01823) 365151">(01823) 365151</a> 2028 </div> 2029 2030 2031 2032 <div class="block-contact-us__grid_container--card-panel"> 2033 Inside the newsroom - 2034 <a href="/author/journalists/"> View all our journalists</a> 2035 </div> 2036 2037 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Editor:</div> 2038 <div 2039 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2040 Milly Vincent 2041 <a href="mailto:[email protected]">[email protected]</a> 2042 <span aria-label="Editor telephone"></span> 2043 </div> 2044 2045 2046 2047 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">News desk:</div> 2048 <div 2049 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2050 <a href="mailto:[email protected]">[email protected]</a> 2051 <span aria-label="News desk telephone">(01823) 365100</span> 2052 </div> 2053 2054 2055 </div> 2056 2057 <div class="block-contact-us__grid_container--banner" aria-labelledby="get-involved-heading"> 2058 <div id="get-involved-heading" class="block-contact-us__grid_container--banner-heading block-heading"> 2059 Get <em>involved</em> with the news 2060 </div> 2061 <div class="block-contact-us__grid_container--banner-content"> 2062 <div class="block-contact-us__grid_container--banner-text"> 2063 Got a story, lead, picture, or video you would like to share with us? 2064 </div> 2065 <div> 2066 <a href="/send-us-your-news/" class="mar-btn mar-btn--md mar-btn--light"> 2067 Send us your news 2068 </a> 2069 </div> 2070 </div> 2071 </div> 2072 2073 <div class="block-contact-us__grid_container--card" aria-labelledby="newspaper-sales-heading"> 2074 <div id="newspaper-sales-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2075 Newspaper Sales</div> 2076 <div 2077 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2078 <a href="mailto:[email protected]">[email protected]</a>
2079 <span aria-label="Newspaper sales telephone">(01603) 772680</span> 2080 </div> 2081 </div> 2082 2083 2084 <div class="block-contact-us__grid_container--card" aria-labelledby="commercial-heading"> 2085 <div id="commercial-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2086 Commercial</div> 2087 <p> 2088 <a href="/advertising/" class="mar-btn mar-btn--md mar-btn--dark">Book an advert</a> 2089 </p> 2090 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Advertising:</div> 2091 <div class="block-contact-us__grid_container--card-small-text"> 2092 <div class="block-contact-us__grid_container--card-link"> 2093 <a href="mailto:[email protected]"> 2094 [email protected] 2095 </a> 2096 <span aria-label="Advertising telephone">(01934) 422555</span> 2097 </div> 2098 </div> 2099 2100 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Recruitment:</div> 2101 <div class="block-contact-us__grid_container--card-small-text"> 2102 <div class="block-contact-us__grid_container--card-link"> 2103 <a href="mailto:[email protected]"> 2104 [email protected] 2105 </a> 2106 <span aria-label="Recruitment telephone">(0800) 9520111</span> 2107 </div> 2108 </div> 2109 2110 </div> 2111 2112 2113 2114 </div> 2115 <!-- end of grid 1 container --> 2116 <div> 2117 2118 <div class="block-contact-us__seo-section" aria-labelledby="localiq-heading"> 2119 <img src="/resources/responsive-static/images/LocaliQ.svg" alt="LOCALiQ logo"> 2120 <h2 id="localiq-heading">Digital Marketing Services from LOCALiQ in 2121 <a href="https://localiq.co.uk/locations/taunton?utm_source=North_Somerset_Times&utm_medium=referral&utm_campaign=Contact_Us_Page" target="_blank" rel="nofollow">Taunton 2122 </a> 2123 </h2> 2124 <p> 2125 <strong>LOCALiQ</strong> 2126 is an award-winning Digital Marketing Agency, specialising in local marketing and accelerating 2127 growth for UK businesses. 2128 Part of <strong> Newsquest Media Group Ltd,</strong> publisher of The North Somerset Times, LOCALiQ is 2129 based in over 2130 <strong> 2131 <a href="https://localiq.co.uk/locations?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2132 rel="nofollow" target="_blank"> 2133 35 UK locations 2134 </a> 2135 </strong> and delivers exceptional results for B2B, B2C, e-commerce and services businesses. 2136 </p> 2137 2138 <div class="extra-text"> 2139 <a href="https://localiq.co.uk/digital-marketing-services/ppc?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2140 target="_blank" rel="nofollow">PPC,</a> 2141 <a href="https://localiq.co.uk/digital-marketing-services/seo?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2142 target="_blank" rel="nofollow"> SEO,</a> and 2143 <a href="https://localiq.co.uk/digital-marketing-services/web-design?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2144 target="_blank" rel="nofollow"> Website Design</a> are just some of the solutions LOCALiQ can 2145 support your business with. 2146 </div> 2147 <div class="cta-section"> 2148 <div class="mar-btn mar-btn--md mar-btn--dark"> 2149 <a href="https://localiq.co.uk/digital-marketing-services?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2150 target="_blank" rel="nofollow">View our digital marketing services 2151 </a> 2152 </div> 2153 <p> or 2154 <strong> 2155 <a href="https://localiq.co.uk/contact-us?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2156 target="_blank" rel="nofollow" class="contact-us-link">Contact us</a> 2157 </strong> 2158 </p> 2159 </div> 2160 </div> 2161 2162 <div class="block-contact-us__grid_container--card" aria-labelledby="notices-heading"> 2163 <div id="notices-heading" class="block-contact-us__grid_container--card-heading block-heading">Notices 2164 and Announcements 2165 </div> 2166 <div class="block-contact-us__grid_container--card-text"> 2167 <p>
2167Remember the life of a loved one with a notice in the newspaper and an online notice page for 2168 friends and 2169 family, or celebrate a happy occasion</p> 2170 </div> 2171 <a href="/notices/self-service/category" 2172 class="mar-btn mar-btn--md mar-btn--dark block-contact-us__spacing"> 2173 Book a death notice 2174 </a> 2175 <a href="https://selfservice.newsquest.co.uk/TouchpointSS/SDE#/" 2176 class="mar-btn mar-btn--md mar-btn--promo-secondary block-contact-us__spacing"> 2177 Book a celebration announcement 2178 </a> 2179 </div> 2180 <div class="block-contact-us__grid_container--card" aria-labelledby="careers-heading"> 2181 <div id="careers-heading" class="block-contact-us__grid_container--card-heading block-heading">Careers 2182 </div> 2183 <div class="block-contact-us__grid_container--card-text"> 2184 <p> 2185 <strong>The North Somerset Times</strong> is part of 2186 <strong><a class="nq-link" href="https://www.newsquest.co.uk/">Newsquest Media 2187 Group</a></strong>, 2188 a leading local news & magazine publisher 2189 with a portfolio of more than 200 brands. 2190 </p> 2191 <div class="block-contact-us__grid_container--card-other-link"> 2192 <a href="https://www.newsquest.co.uk/careers">What we offer</a> 2193 <a href="https://careers.newsquest.co.uk/#js-careers-jobs-block">Current vacancies</a> 2194 </div> 2195 </div> 2196 </div> 2197 <div class="block-contact-us__grid_container--card" aria-labelledby="policies-heading"> 2198 <div id="policies-heading" class="block-contact-us__grid_container--card-heading block-heading">Policies 2199 & T&Cs</div> 2200 <div class="block-contact-us__grid_container--card-text"> 2201 <p> 2202 To view our full policies including 2203 <a class="nq-link" href="https://www.newsquest.co.uk/legal/terms-conditions/">Terms & 2204 Conditions</a>, 2205 <a class="nq-link" href="https://www.newsquest.co.uk/terms-of-advertising">Terms of 2206 Advertising</a>, 2207 <a class="nq-link" href="https://www.newsquest.co.uk/legal/contributor-terms/">Contributor 2208 Terms</a>, 2209 <a class="nq-link" href="https://www.newsquest.co.uk/domains">Information for Domain Name 2210 Customers</a>, 2211 use the links provided. 2212 For more... 2213 2214 </p> 2215 <div class="block-contact-us__grid_container--card-other-link"> 2216 <span>Visit</span> <a href="https://www.newsquest.co.uk/">www.newsquest.co.uk</a> 2217 </div> 2218 </div> 2219 </div> 2220 </div> 2221 <!-- end of grid 1 container --> 2222 </div> 2223</div> 2224 </div> 2225 </div> 2226 2227 <footer class="site-footer" aria-label="site-footer"> 2228 <div class="container-inner-width"> 2229 <div class="links-grid" aria-label="site-footer-links"> 2230 <section class="get-in-touch-section"> 2231 <h2>Get in Touch</h2> 2232 <a href="/contact/">Contact Us</a><a href="/advertising/">Advertise</a><a href="/homedelivery/">Newspaper Home Delivery</a><a href="/send-us-your-news/">Send Us Your News</a><a href="/submit-an-event/">Add Your Event For Free</a><a href="/publications/">Our Publications</a> 2233 </section> 2234 <section class="follow-us-section"> 2235 <h2>Follow Us</h2> 2236<a 2237 class="footer__social-media--link" 2238 href="https://facebook.com/NSomTimes/"
2239 title="North Somerset Times" 2240 role="link" 2241 data-media-type="facebook" 2242 > 2243 <i class="footer__social-media--icon iconify"></i> 2244 North Somerset Times 2245 </a> 2246 2247 2248 <a 2249 class="footer__social-media--link" 2250 href="https://twitter.com/NSomTimes" 2251 title="North Somerset Times" 2252 role="link" 2253 data-media-type="twitter" 2254 > 2255 <i class="footer__social-media--icon iconify"></i> 2256 North Somerset Times 2257 </a> 2258 </section> 2259 <section class="useful-links-section"> 2260 <h2>Useful Links</h2> 2261 <div class="useful-links"> 2262 <section> 2263 <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/notices/">Death Notices</a><a href="/announcements/">Announcements</a><a href="/announcements/public_notices/">Public Notices</a> 2264 </section> 2265 <section> 2266 <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="https://newsquest.newsprints.co.uk/" target="_blank">Photo Sales</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a> 2267 </section> 2268 </div> 2269 </section> 2270 <section class="ipso-terms"> 2271 <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" /> 2272 <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's 2273 Editors' Code of Practice. If you have a complaint about the editorial content which relates to 2274 inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> 2275 contact the editor here</a>. 2276 If you are dissatisfied with the response provided you can 2277 <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p> 2278 </section> 2279 </div> 2280 <div class="notice" aria-label="site-footer-notice"> 2281 <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/> 2282 <p><strong>© 2001-2026. The North Somerset Times</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p> 2283 <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a> to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p> 2284 <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p> 2285 </div> 2286 </div> 2287</footer> 2288 2289 2290 <div id="fb-root"></div> 2291 2292 2293 </div> 2294 </div> 2295 2296 2297 2298 <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> 2299 <div class="mar-modal-overlay" data-uses-js="close-modal"></div> 2300 2301 <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog"> 2302 <div class="mar-modal__header"> 2303 <h3 class="mar-modal__title">Modal headline</h3> 2304 2305 <div class="mar-modal__close" data-uses-js="close-modal"> 2306<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2307 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> 2308</svg> 2309 2310 2311 <span>Close</span> 2312 </div> 2313 </div> 2314 2315 <div class="mar-modal__body">Automatically injected HTML goes here</div> 2316 2317 <div class="mar-modal__actions"> 2318<!-- standard - Buttons.html --> 2319 2320<button 2321 type="button" 2322 data-uses-js="modal-submit" 2323 2324 class=" mar-btn 2325 mar-btn--light 2326 mar-btn--md 2327 2328 2329 " 2330> 2331 Submit 2332</button> 2333 2334 2335 2336 2337<!-- standard - Buttons.html --> 2338 2339<button 2340 type="button" 2341 data-uses-js="modal-cancel" 2342 2343 class=" mar-btn 2344 mar-btn--outline 2345 mar-btn--md 2346 2347 2348 " 2349> 2350 Cancel 2351</button> 2352 2353 2354 2355 </div> 2356 </div> 2357</div> 2358 2359</body> 2360 2361<div id="outbrain-holder"> 2362 <div id="DFP_standard_mpu_3"></div> 2363 <div id="DFP_standard_mpu_4"></div> 2364 <div id="DFP_standard_mpu_5"></div> 2365 <div id="DFP_standard_mpu_6"></div> 2366 <div id="DFP_standard_mpu_7"></div> 2367</div>
2368<script> 2369 2370const elementToObserve = document.querySelector("#outbrain-holder"); 2371 2372// create a new instance of `MutationObserver` named `observer`, 2373// passing it a callback function 2374const observer = new MutationObserver(function(e) { 2375 $.each(e, function(j, obs) { 2376 $.each(obs.removedNodes, function (i, node) { 2377 var id = $(node).attr('id'); 2378 addAdSlot(id, id.replace('DFP_', '')); 2379 }); 2380 }); 2381}); 2382 2383// call `observe()` on that MutationObserver instance, 2384// passing it the element to observe, and the options object 2385observer.observe(elementToObserve, {subtree: true, childList: true}); 2386</script>
2386 2387
2388<script> 2389window.domComplete = performance.now(); 2390</script>
2390 2391
2392<script type="text/javascript"> 2393path = document.location.href.split("/"); 2394var prop30 = qs.get('lp'); 2395var prop43 = qs.get('ref'); 2396var pType="Newsquest\Modules\ContactUsModule" 2397 2398if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 2399 pType = 'ArticleModule'; 2400} 2401for(x=4; x<7; x++) 2402{ 2403 if (typeof path[x] == 'undefined') 2404 { 2405 path[x] = ''; 2406 } 2407 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 2408 { 2409 path[x] = path[x-1]; 2410 } 2411 else 2412 { 2413 path[x] = path[x-1] + "/" + path[x]; 2414 } 2415 path[x] = path[x].replace(/\/undefined/g,""); 2416} 2417sitename = path[2].split("."); 2418 2419pathN= unescape(document.location.pathname.toString()); 2420matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 2421detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 2422if (detailMatches !== null && detailMatches.length > 1) 2423{ 2424 matches = detailMatches; 2425} 2426 2427if (matches !== null && matches.length > 1) 2428{ 2429 var subfolder = ''; 2430 path[3] = 'li'; 2431 path[4] = 'li/'+subfolder; 2432 path[5] = 'li/'+subfolder+'/'+matches[1]; 2433 path[6] = 'li/'+subfolder+'/'+matches[1]; 2434} 2435if (pathN === '/') 2436{ 2437 path[3] = 'homepage'; 2438 path[4] = 'homepage'; 2439 path[5] = 'homepage'; 2440 path[6] = 'homepage'; 2441} 2442 2443 2444function filterArray(arr) { 2445 var retArr = []; 2446 $.each(arr, function(i, part) { 2447 if (part !== '') { 2448 retArr.push(part); 2449 } 2450 }); 2451 2452 return retArr; 2453} 2454</script>
2454 2455 2456
2457<script type="text/javascript"> 2458var known = $.cookie('__siren') ? '1' : '0' ; 2459</script>
2459 2460
2461<script type="text/javascript"> 2462 2463var known = $.cookie('__siren') ? '1' : '0' ; 2464var ref = document.referrer; 2465var parser = document.createElement('a'); 2466parser.href = ref; 2467 2468// values in the below MUST be strings 2469var targeting = { 2470 'context': '', 2471 2472 'domain': 'www.northsomersettimes.co.uk', 2473 'isLanding': 'yes', 2474 'top_path': 'contact', 2475 'weather': 'sun'.toLowerCase(), 2476 'jbsjs': ''.toLowerCase(), 2477 'site_search': '', 2478 'bmd_cat': '', 2479 'wt': '11-15', 2480 'cmpid': qs.get('cmpid'), 2481 'refdm': parser.hostname, 2482 'k': known, 2483 'g': 'u' , 2484 'a': '0' , 2485 'topic': '', 2486 'publication': '', 2487 'primary_tag_future_use': '', 2488 'site': (isMobile()) ? 'mobile': 'desktop', 2489 'r': data_layer.user.subscription_plan !== '' 2490 ? '2' // 2 = subscribed 2491 : data_layer.user.is_logged_in == 'yes' 2492 ? '1' // 1 = registered 2493 : '0', // 0 = anonymous 2494}; 2495 2496if (!usePrebid) { 2497 targeting.adrq = 'adl'; 2498} 2499 2500if (data_layer.video.exists === 'yes') { 2501 targeting.ptype = 'video'; 2502} 2503 2504if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) { 2505 var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN 2506 if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') { 2507 targeting.ao = 'y'; 2508 } 2509} 2510 2511if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 2512 targeting.dfpcsnt = 'yes'; 2513} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 2514 targeting.dfpcsnt = 'no'; 2515} else { 2516 targeting.dfpcsnt = 'none'; 2517} 2518 2519if (typeof MobileDetect !== "undefined") { 2520 targeting.canbb = (window.screen.width > 960) ? 'y' : 'n'; 2521} 2522 2523if (typeof module_targeting === "object") { 2524 targeting = addToTargeting(targeting, module_targeting); 2525} 2526 2527// $.each(apData, function (k, v) { 2528// targeting[k] = v; 2529// }); 2530 2531// if (typeof gs_channels !== 'undefined') { 2532// targeting.gs_channels = gs_channels; 2533// } 2534 2535targeting = addToTargeting(targeting, data_layer_helper.homesData); 2536 2537targeting.article_id = ''; 2538var googleSiteName = 'www.northsomersettimes.co.uk'; 2539var googlePath = '/contact/'; 2540 2541var googleNetworkCode = 154725070; 2542 2543var googleChildNetworkCode = 22694024870; 2544var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath; 2545 2546if (googleId.charAt(googleId.length - 1) === '/') { 2547 googleId = googleId.slice(0, -1); 2548} 2549 2550var googletag = googletag || {}; 2551googletag.cmd = googletag.cmd || []; 2552 2553googletag.cmd.push(function () { 2554 var _YB = _YB || { 2555 ab: function () { 2556 return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10); 2557 }, 2558 dool: Math.random() >= 0.1, 2559 }; 2560 var yb_ab; 2561 if (Math.random() <= 0.9) { 2562 yb_ab = _YB.ab(); 2563 } else { 2564 yb_ab = "c"; 2565 } 2566 googletag.pubads().setTargeting("yb_ab", yb_ab); 2567}); 2568 2569googletag.cmd.push(function() { 2570 googletag.pubads().set("adsense_background_color", "FFFFFF"); 2571 googletag.pubads().setTargeting('rfs', "0"); 2572 $.each(targeting, function (key, value) { 2573 2574 // No real value so exclude 2575 if (value === 0 || value === '' || value === null) { 2576 return; 2577 } 2578 googletag.pubads().setTargeting(key, value); 2579 }); 2580 2581}); 2582 2583if (isMobile() && '' === 'top') { 2584 $('.desktop-standard-leaderboard').remove(); 2585 $('.mobile-top-leaderboard').show(); 2586 $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard'); 2587} else { 2588 $('.mobile-top-leaderboard').remove(); 2589} 2590// Ads 2591var adUnits = []; 2592 2593hideAdsByScreensize(); 2594 2595if (blackListAds.length > 0) { 2596 removeBlacklistAds(blackListAds); 2597} 2598 2599$.each(unfilteredAdUnits, function (i, unit) { 2600 removeWhitelistAds(unit); 2601}); 2602 2603// set up a holder for all the adverts so we can do things with them later 2604var dfpHolder = {}; 2605// the set up code 2606googletag.cmd.push(function() { 2607 $.each(adUnits, function(i, data) { 2608 2609 // check if the dom exists 2610 if ($('#'+data.domName).length === 0) { 2611 return; 2612 } 2613 2614 var dfp = null; 2615 2616 if (data.slotType === 'standard') 2617 { 2618 // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site 2619 var sizes = data.sizes; 2620 if (data.alternate_mobile_size && isMobile()) { 2621 sizes = data.alternate_mobile_size; 2622 } 2623 // push this ad slot through 2624 dfp = googletag.defineSlot(googleId, sizes, data.domName) 2625 .addService(googletag.pubads()) 2626 .setTargeting("position", data.positionName) 2627 .setCollapseEmptyDiv(data.collapseContainer); 2628 // check if we have an array of targets, and assign them as a companion if we do 2629 if (data.targets instanceof Array && data.targets.length > 0 ) { 2630 dfp.setTargeting('companion', data.targets); 2631 } 2632 2633 } 2634 else if (data.slotType === 'outofpage') 2635 { 2636 dfp = googletag.defineOutOfPageSlot(googleId, data.domName) 2637 .addService(googletag.pubads()) 2638 .setTargeting("position", data.positionName) 2639 .setCollapseEmptyDiv(data.collapseContainer); 2640 // check if we have an array of targets, and assign them as a companion if we do 2641 if (data.targets instanceof Array && data.targets.length > 0 ) { 2642 dfp.setTargeting('companion', data.targets); 2643 } 2644 } 2645 2646 // store 2647 dfpHolder[data.domName] = dfp; 2648 2649 }); 2650 2651 if (adLight === true) { 2652 googletag.pubads().setCategoryExclusion('adlight'); 2653 // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>'; 2654 // if ($('#DFP_premium_mpu').length > 0) { 2655 // $('#DFP_premium_mpu').before(adlightexplanation); 2656 // } 2657 2658 // if ($('#DFP_standard_mpu_1').length > 0) { 2659 // $('#DFP_standard_mpu_1').before(adlightexplanation); 2660 // } 2661 2662 // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547]; 2663 // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)]; 2664 // $('.adlight-explanation-link').click(function(e) { 2665 // e.preventDefault(); 2666 // $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show(); 2667 // $('#adlight-explanation-modal').modal(); 2668 // }); 2669 } 2670 2671 // send the request 2672 googletag.pubads().enableSingleRequest(); 2673 2674 googletag.enableServices(); 2675 2676 googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { 2677 if (event.slot.getResponseInformation().creativeTemplateId === 828288 || 2678 event.slot.getResponseInformation().creativeTemplateId === 12383216 ) { 2679 console.log('DFP: Magic template id detected, not refreshing'); 2680 return; 2681 } 2682 var slotName = ''; 2683 $.each(dfpHolder, function (a, e) { 2684 if (e == event.slot) { 2685 slotName = a; 2686 } 2687 }); 2688 if (typeof window.advertisingTimer !== 'undefined') { 2689 var perc = event.inViewPercentage; 2690 window.advertisingTimer.timer(slotName, perc); 2691 } 2692 }); 2693}); 2694 2695// the display code 2696$.each(adUnits, function(i, data) { 2697 2698 // check if the dom exists 2699 if ($('#'+data.domName).length === 0) { 2700 return; 2701 } 2702 2703 if (data.domName === 'DFP_interstitial_mpu') { 2704 if (!inter.checkVisit()) { 2705 return; 2706 } 2707 } 2708 2709 // are we manually loading it? 2710 if ($('#'+data.domName).attr('data-manual-loading') === "yes") { 2711 return; 2712 } 2713 // for mobile, we check if the dom element has the data-delay-loading attribute set to "1" 2714 else if ($('#'+data.domName).attr('data-delay-loading') === "yes") { 2715 2716 // load it 2717 $('#'+data.domName).appear(); 2718 $(document.body).on('appear', '#'+data.domName, function(e, allElement) { 2719 2720 // don't call it many times 2721 if ($(this).attr('data-processed') === 'yes') { 2722 return; 2723 } 2724 2725 $(this).attr('data-processed', 'yes'); 2726 2727 // display the google ad 2728 googletag.display(data.domName); 2729 googletag.pubads().refresh([dfpHolder[data.domName]]); 2730 }); 2731 return; 2732 } 2733 googletag.cmd.push(function() { 2734 googletag.display(data.domName); 2735 }); 2736}); 2737window.googleComplete = performance.now(); 2738window.googleReady = true; 2739 2740// METHODS 2741function addToTargeting(targeting, data) { 2742 if (!data) { 2743 return targeting; 2744 } 2745 $.each(data, function (key, value) { 2746 if (!value) { 2747 return; 2748 } 2749 targeting[key] = value; 2750 }); 2751 return targeting; 2752} 2753 2754function addAdSlot(slotName, slot, initHidden) { 2755 console.log("Add ad slot called for %s %s", slotName, slot); 2756 // check if item already exists 2757 if (typeof window.dfpHolder[slotName] !== 'undefined') { 2758 return; 2759 } 2760 2761 if (window.adLight === true) { 2762 return; 2763 } 2764 window.googletag.cmd.push(function() { 2765 var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName) 2766 .setTargeting('position', [slot]) 2767 .addService(googletag.pubads()); 2768 window.dfpHolder[slotName] = dfp; 2769 2770 if (!initHidden) { 2771 googletag.pubads().refresh([dfp]); 2772 2773 return; 2774 } 2775 }); 2776} 2777 2778function hideAdsByScreensize() { 2779 if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) { 2780 if ('1149' === '1147') { 2781 $('#DFP_out_of_page').remove(); 2782 } else { 2783 $('#DFP_premium_mpu').remove(); 2784 } 2785 $('#DFP_on_scroll').remove(); 2786 } else if (window.screen.width < 728 && 2787 ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 || 2788 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0 || 2789 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0 || 2790 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 ) 2791 ) { 2792 const adElement = document.querySelector('#high_vis_container'); 2793 $('.omnicard[data-position="5"]').after(adElement); 2794 } 2795 2796 if ('1149' === '1147' && window.screen.width > 450) { 2797 $('#DFP_bottom_leaderboard').remove(); 2798 } 2799 2800 if ('1149' === '1147' && window.screen.width < 728) { 2801 $('#DFP_top_leaderboard').remove(); 2802 } 2803 2804 if ('1149' === '1147') { 2805 $('#DFP_teads').remove(); 2806 $('#DFP_out_of_page').remove(); 2807 } 2808 2809 if ($('#comments-in-page').length === 1 && window.screen.width > 450) { 2810 $('#DFP_top_leaderboard').parent().remove(); 2811 $('#DFP_bottom_leaderboard').parent().remove(); 2812 // $('#DFP_standard_mpu_1').parent().remove(); 2813 } 2814} 2815 2816function removeBlacklistAds(blackListAds) { 2817 $.each(blackListAds, function(i, name) { 2818 removeAdContainer(name); 2819 }); 2820} 2821 2822function removeWhitelistAds(unit) { 2823 // VAST (video) ad units never get displayed in here. 2824 if (unit.isVast) { 2825 return; 2826 } 2827 2828 // if we have an ad-light experience 2829 if (whiteList === true) { 2830 if (typeof whiteListAds[unit.positionName] === 'undefined') { 2831 removeAdContainer(unit.domName) 2832 return; 2833 } 2834 } 2835 2836 adUnits.push(unit); 2837} 2838 2839function removeAdContainer(name) { 2840 const element = document.getElementById(name); 2841 // doesn't exist? exit 2842 if(!element) { 2843 return; 2844 } 2845 2846 const parent = element.parentElement; 2847 if (parent && parent.classList.contains('block-bottom-margin')) { 2848 // if immediate parent contains block-bottom-margin as a class, remove the parent as well 2849 parent.classList.remove('block-bottom-margin'); 2850 } 2851 if (parent && parent.classList.contains('mar-leaderboard--top')) { 2852 // in case of leaderboard, remove as has min-height 2853 parent.remove(); 2854 return; 2855 } 2856 2857 if (parent && parent.classList.contains('mar-leaderboard--bottom')) { 2858 // in case of article ad container, remove as has min-height 2859 parent.remove(); 2860 return; 2861 } 2862 2863 element.remove(); 2864} 2865</script>
2865 2866 2867
2868<script src="/resources/responsive-static/build/mds/js/global.js?cb=vjoPdzgg"></script>
2868 2869 2870 2871 2872 2873
2874<script src="/__siren/"></script>
2874 2875 2876 2877
2878<script type="text/javascript"> 2879 var s_account="newsquestgroupprod"; 2880</script>
2880 2881
2882<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=vjoPdzgg"></script>
vendor: 1 bytes, line 2882
2882
2883<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=vjoPdzgg"></script>
2883 2884
2885<script type="text/javascript"> 2886 2887function getOmniturePath() { 2888 var path = ''; 2889 if ($('#gallery-base-url').length === 1) { 2890 path = $('#gallery-base-url').val(); 2891 } 2892 else { 2893 path = window.location.pathname; 2894 } 2895 return path; 2896} 2897 2898function getPositionFromCookie() { 2899 const cookieName = 'tracking_block_index'; 2900 2901 const ref = document.cookie 2902 .split('; ') 2903 .find(row => row.startsWith(`${cookieName}=`)) 2904 ?.slice(cookieName.length + 1); 2905 2906 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 2907 2908 return ref ? decodeURIComponent(ref) : undefined; 2909} 2910function getRefFromCookie() { 2911 const cookieName = 'tracking_block'; 2912 2913 const ref = document.cookie 2914 .split('; ') 2915 .find(row => row.startsWith(`${cookieName}=`)) 2916 ?.split('=')[1]; 2917 2918 // Remove the cookie 2919 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 2920 2921 return ref; 2922} 2923 2924function getOmnitureTrackingFromCookie(key, preExistingValue) { 2925 var ref = $.cookie('o-' + key); 2926 if(typeof(ref) === 'undefined') { 2927 ref = preExistingValue 2928 } else { 2929 ref = decodeURIComponent(ref); 2930 $.removeCookie('o-' + key, { 2931 path: '/', 2932 domain: window.data_layer.site.cookie_domain, 2933 }); 2934 } 2935 return ref; 2936} 2937 2938function getValidatedAPList() { 2939 2940 var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; 2941 2942 var data = getAudienceProjectTargetingData(); 2943 if (!data || !data.ap_x) { 2944 return ''; 2945 } 2946 2947 validData = []; 2948 $.each(data.ap_x, function(i, td) { 2949 if ($.inArray(parseInt(td, 10), validList) !== -1) { 2950 validData.push(td); 2951 } 2952 }); 2953 2954 return validData.join(','); 2955} 2956 2957path = document.location.href.split("/"); 2958 2959var qs = new URLSearchParams(window.location.search); 2960 2961var prop30 = qs.get('lp'); 2962var prop43 = qs.get('ref'); 2963var pType="Newsquest\Modules\ContactUsModule" 2964 2965if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 2966 pType = 'ArticleModule'; 2967} 2968 2969for(x=4; x<7; x++) 2970{ 2971 if (typeof path[x] == 'undefined') 2972 { 2973 path[x] = ''; 2974 } 2975 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 2976 { 2977 path[x] = path[x-1]; 2978 } 2979 else 2980 { 2981 path[x] = path[x-1] + "/" + path[x]; 2982 } 2983 path[x] = path[x].replace(/\/undefined/g,""); 2984} 2985pathN= unescape(document.location.pathname.toString()); 2986matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 2987detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 2988if (detailMatches !== null && detailMatches.length > 1) 2989{ 2990 matches = detailMatches; 2991} 2992 2993if (matches !== null && matches.length > 1) 2994{ 2995 var subfolder = ''; 2996 path[3] = 'li'; 2997 path[4] = 'li/'+subfolder; 2998 path[5] = 'li/'+subfolder+'/'+matches[1]; 2999 path[6] = 'li/'+subfolder+'/'+matches[1]; 3000} 3001if (pathN === '/') 3002{ 3003 path[3] = 'homepage'; 3004 path[4] = 'homepage'; 3005 path[5] = 'homepage'; 3006 path[6] = 'homepage'; 3007} 3008 3009 3010/* You may give each page an identifying name, server, and channel on 3011the next lines. */ 3012s.pageName="(www) "+getOmniturePath(); 3013s.pageName = s.pageName.toLowerCase(); 3014s.server="martini"; 3015s.channel=""; 3016s.pageType=""; 3017s.prop1= qs.get('search'); 3018s.prop2=""; 3019s.prop3=document.title; 3020s.prop4=""; 3021s.prop5="Newsquest\Modules\ContactUsModule"; /* get from Martini */ 3022s.prop6=path[3].toLowerCase(); 3023s.prop7=path[4].toLowerCase(); 3024s.prop8=path[5].toLowerCase(); 3025s.prop9=path[6].toLowerCase(); 3026s.prop10=""; 3027 3028s.prop16=path[2].toLowerCase(); 3029s.prop17=""; 3030s.prop18="Martini"; 3031s.prop19="1"; 3032s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); 3033s.prop42 = ""; 3034s.prop53 = 'standard'; 3035s.prop54 = ''; 3036s.prop55 = ''; 3037s.prop56 = ""; 3038s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; 3039s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant; 3040s.prop59 = getRefFromCookie(); 3041s.prop60 = getPositionFromCookie(); 3042s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null; 3043 3044var eVar67 = []; 3045 3046if ($.cookie('consentUUID')) { 3047 eVar67.push('yes'); 3048} else { 3049 eVar67.push('no'); 3050} 3051if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 3052 eVar67.push('yes'); 3053} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 3054 eVar67.push('no'); 3055} else { 3056 eVar67.push('none'); 3057} 3058 3059if ($.cookie('_sp_legitimate_interests') === 'true') { 3060 eVar67.push('yes'); 3061} else if ($.cookie('_sp_legitimate_interests') === 'false') { 3062 eVar67.push('no'); 3063} else { 3064 eVar67.push('none'); 3065} 3066 3067//if ($.cookie('euconsent')) { 3068// eVar67.push($.cookie('euconsent')); 3069//} else { 3070// eVar67.push('none'); 3071//} 3072 3073s.eVar67 = eVar67.join(','); 3074// console.log('ADB: setting eVar67 to %s', eVar67.join(',')); 3075 3076if ($.cookie('prev-tcf-v2')) { 3077 // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); 3078 s.eVar68 = $.cookie('prev-tcf-v2'); 3079} 3080 3081if (typeof iabNames !== 'undefined') { 3082 s.prop29 = iabNames.join(','); 3083} else if (typeof iabIds !== 'undefined') { 3084 s.prop29 = iabIds.join(','); 3085} 3086 3087if (s.prop20 && s.prop20 !== 'no value') { 3088 s.prop21 = s.getPercentPageViewed(); 3089} else { 3090 s.prop21 = ''; 3091} 3092 3093if (typeof __siren !== 'undefined') { 3094 s.eVar27 = __siren; 3095} 3096 3097s.prop22 = s.getDaysSinceLastVisit('s_lv'); 3098 3099 3100s.prop43=getOmnitureTrackingFromCookie('ref', prop43); 3101s.prop25 = '' 3102 3103s.prop27 = ''; 3104 3105s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); 3106s.linkInternalFilters="javascript:,northsomersettimes.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," 3107s.eVar61=(new Date()).toLocaleDateString("en-GB"); 3108/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */ 3109 3110 3111 3112 3113 3114 3115/* Article-site-cloning data */ 3116s.eVar90 = window.data_layer.article.parent_originating_site_id; 3117s.eVar91 = window.data_layer.article.originating_article_id; 3118s.eVar92 = window.data_layer.article.is_original_to_site; 3119s.eVar95 = window.data_layer.site.using_piano_id; 3120s.eVar106 = ''; 3121
3122s.eVar109 = ''; 3123 3124/* Uber block article counts */ 3125s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; 3126 3127/* Conversion Variables */ 3128s.campaign="" 3129s.state="" 3130s.zip="" 3131s.events="" 3132s.products="" 3133s.purchaseID="" 3134s.eVar14="" 3135try { 3136 s.list3=getValidatedAPList(); 3137} catch (e) { 3138 // do nothing 3139} 3140 3141 3142 3143 3144// Initial fotorama tracking. 3145var moduleType = null; 3146if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { 3147 moduleType = 'article'; 3148} else if (s.prop5 === 'PictureGalleryModule') { 3149 moduleType = 'gallery'; 3150} 3151 3152if ($('#comments-in-page').length === 1) { 3153 moduleType = 'comments'; 3154} 3155 3156if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') { 3157 var imagePath = ''; 3158 3159 if ($('.fotorama').length > 0) { 3160 // Get the first Fotorama image. 3161 try { 3162 var el = $('.fotorama').data('fotorama').data[0].html; 3163 var url = $(el).find('div').css('background-image'); 3164 imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); 3165 } catch (e) { 3166 } 3167 } else { 3168 // If there's just one image (i.e. it's not a gallery), find its path. 3169 var imagePathSingle = $('#mainImage').attr('src'); 3170 if (typeof imagePathSingle !== 'undefined') { 3171 imagePath = imagePathSingle.split('.')[0] + '/'; 3172 } 3173 } 3174 var imageParts = imagePath.split('/'); 3175 if (imageParts.length > 1) { 3176 s.eVar37 = imageParts[imageParts.length - 2]; 3177 s.prop37 = imageParts[imageParts.length - 2]; 3178 s.events = s.apl(s.events, 'event7', ',', 2); 3179 } 3180 s.eVar36 = moduleType; 3181 s.prop36 = moduleType; 3182} 3183 3184 3185 3186// Education pages. 3187if (s.prop5 === 'ResponsiveEducationModule') { 3188 // School profile page. 3189 if ($('#eduOverview').length > 0) { 3190 s.eVar40 = $('#eduOverview').data('school-status'); 3191 s.prop40 = s.eVar40; 3192 s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); 3193 s.prop46 = $('#town').text(); 3194 } 3195 3196 // Comparison page. 3197 if ($('#eduComparisonTable').length > 0) { 3198 s.list1 = ''; 3199 } 3200 3201 // Results page. 3202 if ($('.school-results').length > 0) { 3203 s.list1 = ''; 3204 3205 // Track the search criteria. 3206 s.prop44 = ''; 3207 s.prop45 = "".toLowerCase(); 3208 s.prop46 = "".toLowerCase(); 3209 s.prop49 = ''; 3210 s.prop50 = ''; 3211 s.prop51 = ''; 3212 s.eVar2 = s.prop50; 3213 3214 var newSearch = false; 3215 if (newSearch) { 3216 s.events = s.apl(s.events, 'event17', ',', 1); 3217 } 3218 } 3219} 3220 3221// Notices Module 3222if (s.prop5 === 'NewsquestModulesNoticesModule') { 3223 // Notices Find page. 3224 if (s.pageName.includes('notices/find')) { 3225 s.pageName = '(www) /notices/find/'; 3226 s.eVar50 = ''; 3227 const noticesURL = new URL(window.location.href); 3228 const noticesParams = new URLSearchParams(noticesURL.search); 3229 3230 s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None'; 3231 s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best'; 3232 s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1; 3233 s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All'; 3234 s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no'; 3235 s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month'; 3236 3237 if (noticesParams.has('sort')) { 3238 switch (noticesParams.get('sort')) { 3239 case 'date_asc': 3240 s.eVar51 = 'oldest'; 3241 break; 3242 case 'date_desc': 3243 s.eVar51 = 'newest'; 3244 break; 3245 case 'best_match': 3246 s.eVar51 = 'best'; 3247 break; 3248 default: 3249 s.eVar51 = noticesParams.get('sort'); 3250 break; 3251 } 3252 } 3253 3254 // Concatenate all search params into eVar44 3255 if (noticesParams.size > 0) { 3256 const searchParams = new URL(window.location.href).searchParams; 3257 s.eVar44 = '';
3258 searchParams.forEach((value, key) => { 3259 s.eVar44 += `${key}=${value},`; 3260 }); 3261 } else { 3262 s.eVar44 = ''; 3263 } 3264 3265 // Adobe Search Event triggering 3266 const setNoticePaginationClicked = (value) => { 3267 localStorage.setItem("isNoticePaginationClicked", value); 3268 }; 3269 3270 const noticeSearchInput = document.getElementById("notices-search"); 3271 const noticeSearchBtn = document.getElementById("notice-search-find"); 3272 const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn'); 3273 const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg'); 3274 const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg'); 3275 3276 noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false')); 3277 noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false')); 3278 3279 noticePaginationBtns.forEach(btn => { 3280 btn.addEventListener('click', () => setNoticePaginationClicked('true')); 3281 }); 3282 3283 noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true')); 3284 noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true')); 3285 3286 if (localStorage.getItem("isNoticePaginationClicked") === 'false') { 3287 s.events = s.apl(s.events, 'event1', ',', 1); 3288 } 3289 } 3290 3291 if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) { 3292 s.pageName = '(www) /notices/funeral-director/'; 3293 s.eVar41 = ''; 3294 } 3295} 3296 3297if (s.prop5 === 'NewsquestModulesNoticeModule') { 3298 s.eVar41 = ''; 3299 const type = window.announcement_data?.details?.type || ''; 3300 const subCategory = window.announcement_data?.details?.sub_category || ''; 3301 s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`; 3302 s.eVar42 = window.announcement_data?.details?.id || ''; 3303 s.eVar107 = ''; 3304 s.eVar119 = ''; 3305 s.eVar120 = ''; 3306 s.eVar2 = "(www) /notice/"; 3307} 3308 3309//New Property module 3310if (s.prop5 === 'ResponsivePropertyModule') { 3311 /* 3312 Use prop42 for single and list pages, for list pages use hyphen separate lists of id's 3313 */ 3314 3315 3316 //Property's all over the place (homepage, searches etc - HOM-133 3317 3318 //Property Detail - HOM-131, HOM-134, HOM-130 3319 3320 //Contact us submissions - HOM-137 3321 if($('#propertyModule.agent-details').length > 0) { 3322 //Add a click handler for a.contact-detail 3323 } 3324 3325 3326} 3327 3328// is their a video tag on the page? 3329if ($('.exco-embed').length > 0) { 3330 console.log('VID: setting tracking for event50'); 3331 s.events = s.apl(s.events, 'event50', ',', 1); 3332} 3333 3334var foundAutoPlayVid = false; 3335$('.jw-outer').each(function (a, domEle) { 3336 if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { 3337 console.log('VID: setting tracking for event51'); 3338 s.events = s.apl(s.events, 'event51', ',', 1); 3339 foundAutoPlayVid = true; 3340 } 3341}); 3342 3343 3344 3345 3346 3347 3348 3349s.eVar66 = 'Ad-Full'; 3350s.eVar114 = ''; 3351 3352 3353 3354 // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); 3355 // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { 3356 // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 3357 // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 3358 // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; 3359 // s.purchaseID = ""; 3360 // } 3361 3362 3363if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { 3364 s.events=s.apl(s.events,'event9',',',2) 3365} 3366/* Hierarchy Variables */ 3367s.hier1="newsquest," + "" + ",www.northsomersettimes.co.uk," + path[6].replace(/\//,","); 3368 3369if (typeof MartiniFotorama !== 'undefined') { 3370 MartiniFotorama.loadOmniture(s); 3371} 3372s.prop39 = "0"; 3373 3374 3375 3376// Tracking usage of Bytecast audio embeds in articles. 3377s.eVar82 = 'no'; 3378s.eVar83 = ''; 3379 3380 console.log('ADB: starting'); 3381 console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA 3382 3383// Tracking of Commenting Registration FLow 3384if (s.prop5 !== 'BlockArticleModule') { 3385 const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 3386 if (storedAdobeDimensions) { 3387 const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions); 3388 s.eVar10 = storedAdobeDimensionObj.eVar10; 3389 s.eVar15 = storedAdobeDimensionObj.eVar15; 3390 s.eVar22 = storedAdobeDimensionObj.eVar22; 3391 s.eVar23 = storedAdobeDimensionObj.eVar23; 3392 s.eVar24 = storedAdobeDimensionObj.eVar24; 3393 s.eVar25 = storedAdobeDimensionObj.eVar25; 3394 s.eVar28 = storedAdobeDimensionObj.eVar28; 3395 s.eVar60 = storedAdobeDimensionObj.eVar60; 3396 s.eVar104 = storedAdobeDimensionObj.eVar104; 3397 s.eVar106 = storedAdobeDimensionObj.eVar106; 3398 s.eVar107 = storedAdobeDimensionObj.eVar107; 3399 s.eVar108 = storedAdobeDimensionObj.eVar108; 3400 s.prop63 = storedAdobeDimensionObj.prop63; 3401 } 3402} 3403 3404if (window.location.href.includes("/user/create-account/commenting/")) { 3405 s.eVar2 = '(www) /user/create-account/commenting/'; 3406} 3407 3408/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 3409if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) { 3410 var s_code=s.t(); 3411 var backupAdobe = s; 3412 3413 if(s_code)document.write(s_code) 3414} 3415 3416// Storing the visiting dimensions 3417if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) { 3418 const adobeTrackingVisitingDimensions = { 3419 eVar10: s.eVar10, 3420 eVar22: s.eVar22, 3421 eVar23: s.eVar23, 3422 eVar24: s.eVar24, 3423 } 3424 sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions)); 3425} 3426 3427//--></script>
3427 3428<!-- End SiteCatalyst code version: H.19.3. --> 3429 3430 3431 3432 3433
3434<script> 3435 if ('' !== '') { 3436 setTimeout(function() { 3437 data_layer_helper.loadScript( 3438 "/resources/responsive-static/build/mds-next/js/.js?cb=vjoPdzgg", 3439 true, 3440 null, 3441 "module" 3442 ) 3443 }, 500); 3444 } 3445</script>
3445 3446 3447 3448</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.