1<!DOCTYPE html> 2<!-- 3### Powered by the PhotoShelter Beam platform 4### http://photoshelter.com/beam 5### (c) 2013 PhotoShelter, Inc. 6--> 7 8<!--[if IE 9]> <html dir="ltr" lang="en-US" class="no-js lt-ie10 can-click"> <![endif]--> 9<!--[if !IE]> --> <html dir="ltr" lang="en-US" class="no-js can-click"> <!--<![endif]--> 10 11<head> 12<meta charset="utf-8"> 13<link rel="dns-prefetch" href="//css.c.photoshelter.com/"> 14<link rel="dns-prefetch" href="//js.c.photoshelter.com/"> 15<link rel="dns-prefetch" href="//cdn.c.photoshelter.com/"> 16<link rel="shortcut icon" type="image/png" href="/asset-get/A0000KyOvOtZyRDo/SmoothedLogo.png"> 17<title>mccauleyphotos</title> 18<meta name="description" content="" /> 19<meta property="og:description" content="" /> 20<meta property="og:title" content="mccauleyphotos" /> 21<meta property="og:type" content="website" /> 22<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 23<meta name="apple-mobile-web-app-capable" content="yes" /> 24<meta name="apple-mobile-web-app-status-bar-style" content="black" /> 25<link rel="canonical" href="https://www.jamesmccauley.com/index/" /><style> 26 27.loading-c2, .loading-bar { 28 -webkit-box-sizing: border-box; 29 -moz-box-sizing: border-box; 30 box-sizing: border-box; 31} 32.loading-c2 { 33 position: fixed; 34 top: 0; 35 left: 0; 36 width: 100vw; 37 height: 100vh; 38 text-align: center; 39} 40.loading-c2&:before { 41 content: ''; 42 margin: 0 0 0 -4px; 43 height: 100%; 44 vertical-align: middle; 45 display: inline-block; 46} 47.bar-holder { 48 width: 80%; 49 margin: 0 auto; 50 max-width: 1100px; 51 vertical-align: middle; 52 position: relative; 53 display: inline-block; 54 height: 2px; 55} 56.loading-bar { 57 will-change: true; 58 width: 100%; 59 height: 100%; 60 background: rgba(64, 64, 64, 0.4); 61 -webkit-animation: loading 4s linear infinite; 62 -moz-animation: loading 4s linear infinite; 63 -o-animation: loading 4s linear infinite; 64 animation: loading 4s linear infinite; 65} 66@-webkit-keyframes loading { 67 0% { transform: translate3d(-100%,0,0); } 68 100% { transform: translate3d(100%,0,0); } 69} 70@-moz-keyframes loading { 71 0% { transform: translate3d(-100%,0,0); } 72 100% { transform: translate3d(100%,0,0); } 73} 74@-o-keyframes loading { 75 0% { transform: translate3d(-100%,0,0); } 76 100% { transform: translate3d(100%,0,0); } 77} 78@keyframes loading { 79 0% { transform: translate3d(-100%,0,0); } 80 100% { transform: translate3d(100%,0,0); } 81} 82 83</style> 84<link rel="stylesheet" type="text/css" href="https://www.jamesmccauley.com/css/cssCfg/scss=%252fasset%252fc2%252fapp%252fcss%252fbase.scss/label=mccauleyphotos/theme=Otis/ts=1722436985/rev=1788533357"> 85<link rel="stylesheet" type="text/css" href="https://www.jamesmccauley.com/css/cssCfg/scss=asset%252fc2%252ftheme%252fOtis%252fcss%252fstyles.scss/label=mccauleyphotos/theme=Otis/ts=1722436985/rev=1788533357"> 86 87<!--[if lt IE 9]>
88<script type="text/javascript"> 89 90(function(a,b){ 91 var m, rl = "/gallery-list"; 92 if (parseInt(a.appVersion.split('MSIE')[1]) < 9 ) { 93 //special case forward to user content page 94 m = /#!\/(p|contact|about)($|\/.+)/g.exec(b.href); 95 if (m) rl = m[0].slice('#!'.length); 96 b.replace(rl); 97 } 98})(navigator,location); 99 100</script>
100 101<![endif]--> 102
103<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
vendor: 1 bytes, line 103
103
104<script type="text/javascript"> 105 106if (typeof window.jQuery !== 'function') { 107 var src = 'js/jquery/jquery-1.8.2.min.js'; 108 document.write('
108<script src="' + src + '">\x3C/script>'); 109} 110 111</script>
111 112
113<script type="text/javascript" src="https://www.jamesmccauley.com/js/APP/1788533357/modernizr/modernizr-custom-2.8.3.js,polyfils/raf.js,polyfils/custom-event.js"></script>
113 114 115
116<script type="text/javascript" src="https://www.jamesmccauley.com/js/APP/1788533357/2.0/lib/O_O.js,lib/O_O.lib.Util.js,app/O_O.app.Visualizer.js"></script>
116 117 118 119
119<script id='Content_main' type='text/template'> 120<div class='wContent'> 121 <%= content.content %> 122</div> 123</script>
123 124
125<script id='Content_editor' type='text/template'> 126 <p class="note"> 127 Edit your text directly on the page. 128 <!-- Click the edit button below to toggle between editing and previewing.<br>--> 129 <br> 130 Don't forget to hit "Save" when you're done! 131 </p> 132 133 <!-- <button class="togglePreview">Preview</button> --> 134 <div class="body"> 135 <form class="customForm"> 136 <div class="row typeText" data-group="default"> 137 <label>Page Title</label> 138 <input type="text" name="page_title" value="<%- unescape(ptitle) %>" placeholder=""> 139 </div> 140 <div class="row typeTextarea" data-group="default"> 141 <label>Meta Description</label> 142 <textarea name="meta_description"><%= cmeta %></textarea> 143 </div> 144 </form> 145 </div> 146</script>
146 147 148
148<script id='ContactForm_editor' type='text/template'> 149<div>Send Button Text: <input name="sendText" type="text" value="<%= sendText %>" /></div> 150<div>Use Captcha: <select name="f_captcha"><option value="1">Yes</option><option value="0">No</option></select></div> 151</script>
151 152
153<script id='ContactForm_main' type='text/template'> 154<%= recaptcha_script_line %> 155<form> 156<div class="singles"> 157 <div class="name"> 158 <label>Name</label> 159 <input type="text" rel="Full Name" <% if (f_placeholder) { %> placeholder="Name" <% } %> value="" name="name" required> 160 <span class="status"> 161 <span class="valid"><span class="indicator"></span></span> 162 <span class="invalid"><span class="indicator"></span>Please enter your name.</span> 163 <span class="indicator"></span> 164 </span> 165 </div> 166 <div class="email"> 167 <label>Email</label> 168 <input type="email" rel="Email Address" <% if (f_placeholder) { %> placeholder="Email" <% } %> value="" name="email" required> 169 <span class="status"> 170 <span class="valid"><span class="indicator"></span></span> 171 <span class="invalid"><span class="indicator"></span>Please enter a valid email address.</span> 172 <span class="indicator"></span> 173 </span> 174 </div> 175 <div class="phone"> 176 <label>Phone</label> 177 <input type="phone" rel="Phone Number" <% if (f_placeholder) { %> placeholder="Phone" <% } %> value="" name="phone"> 178 <!--span class="status"> 179 <span class="valid"><span class="indicator"></span></span> 180 <span class="invalid"><span class="indicator"></span>Please enter a valid phone number.</span> 181 <span class="indicator"></span> 182 </span--> 183 </div> 184</div> 185 <div class="note"> 186 <label>Note</label> 187 <textarea name="msg" <% if (f_placeholder) { %> placeholder="Note" <% } %> required></textarea> 188 <span class="status"> 189 <span class="valid"><span class="indicator"></span></span> 190 <span class="invalid"><span class="indicator"></span>Don't forget your message!</span> 191 <span class="indicator"></span> 192 </span> 193 </div> 194 <% if (recaptcha_key && recaptcha_version === 2) { %> 195 <div id="recaptcha-container" class="g-recaptcha" data-theme="<%= recaptcha_theme %>" data-sitekey="<%= recaptcha_key %>"></div> 196 <% } %> 197 198 <div class="submit"> 199 <label></label><button data-act="send" class="send"><%= sendText.substr(0,20) %></button> 200 </div> 201 202 <div> 203 <label></label><span class="sending">sending...</span> 204 </div> 205</form> 206 207<div class="sent"> 208 Message sent! Thanks for your interest. 209</div> 210</script>
210 211 212
212<script id='FilmStrip_main' type='text/template'> 213 <div class='main'> 214 </div> 215</script>
215 216
217<script id='FilmStrip_strip' type='text/template'> 218 <div class='strip' data-galId="<%= id %>"> 219 <div class='controls'> 220 <a href='javascript:void(0)' data-galId='<%= id %>' class='prev'>Prev</a> 221 <a href='javascript:void(0)' data-galId='<%= id %>' class='next'>Next</a> 222 </div> 223 <div class='name'><%= name %></div> 224 <div class='viewport'> 225 <div class='image-container'> 226 <div class='stub'></div> 227 </div> 228 </div> 229 </div> 230</script>
230 231
232<script id='FilmStrip_image' type='text/template'> 233 <img src='<%= src %>'/> 234</script>
234 235
236<script id='FilmStrip_edditSettings' type='text/template'> 237 Foo: <input name="text" type="text" value="<%= foo %>" /> 238</script>
238 239 240
240<script id='HeroTab_tab' type='text/template'> 241 <li><button href="<%= href %>" data-id="<%- JSON.stringify(tuple) %>" class="<%= cn %>"><%- name %></button></li> 242</script>
242 243 244
244<script id='ImageBackground_editor' type='text/template'> 245<p>Background Image ID: <input name="image_id" type="text" value="<%= image_id %>" /></p> 246<p>Background Image URL: <input name="url" type="text" value="<%= url %>" /></p> 247</script>
247 248 249
249<script id='Nav_main' type='text/template'> 250<ul class='navTop'></ul> 251</script>
251 252
253<script id='Nav_links' type='text/template'> 254<% for (var i=0; i<links.length; i++) { 255 var link = links[i]; 256 257 if (O_O.isset(link.children)) { %><li class="<%= link.className %>"> 258 <span><%- link.name %></span> 259 <div> 260 <ul> 261 <%= tpl('links', {links: link.children}) %> 262 </ul> 263 </div></li><% } else { %><%= tpl('link', {text: link.name, url: link.url, className: link.className, target: link.target, dataId: link['data-id']}) %><% } %><% } %> 264</script>
264 265
266<script id='Nav_link' type='text/template'><li class='<%= className %>'><a href='<%= url %>' data-id='<%= dataId %>' <% if (O_O.isset(target)) { %>target="<%= target %>"<% } %>><%- text %></a></li></script>
266 267
268<script id='Nav_editor' type='text/template'> 269<h2>Visible Navigation Items</h2> 270<div class="add-nav-element"> 271 <ul> 272 <li><button data-act="showCreateMenu" class="add">ADD TO NAVIGATION</button></li> 273 <li><button class="" data-act="addPage">Page</button></li> 274 <li><button class="" data-act="addLink">Link</button></li> 275 <li><button class="" data-act="addGroup">Menu</button></li> 276 </ul> 277</div> 278 279<ul class="objectList active"></ul> 280 281<p class="note clear">Click and drag to reorder your site's navigation.</p> 282 283<h2>Hidden Navigation Items</h2> 284<ul class="objectList inactive"></ul> 285</script>
285 286
287<script id='Nav_editLinks' type='text/template'> 288<% 289 var emptyMap = { 290 menu: 'Nothing in this menu yet! Drag items here to fill the menu.', 291 hidden: 'No hidden navigation items.', 292 visible: 'No navigation items.' 293}; 294 for (var i=0; i<links.length; i++) { 295 var link = links[i]; 296 %><%= tpl('linkEdit',link) %> 297<% } %> 298<li class="sortable-empty note"><%= emptyMap[type] %></li> 299</script>
299 300
301<script id='Nav_linkEdit' type='text/template'> 302 <li class="row draggable<% if (type == 'dynamic' || type == 'group') { %> noNest<% } %> <%= type %>" data-id="<%= id %>"> 303 <span class="dragHandle"></span> 304 <button class="edit" data-act="editItem"></button> 305 <% if (type != 'fixed' && type != 'dynamic') { %><button class="del" data-act="delItem"></button><% } %> 306 <%- name %> 307 308 <% if(O_O.isset(arguments[0].children)){ %> 309 <ul style='' class='links'> 310 <%= tpl('editLinks', {links: children, type: 'menu'}) %> 311 </ul> 312 <% } %> 313 </li> 314</script>
314 315 316 <!-- for gplus share -->
317<script src="https://apis.google.com/js/platform.js" async defer></script>
317 318
319<script id='SocialShare_main' type='text/template'> 320<ul class="share-options"> 321 <li><a target="_blank" href="#" class="facebook" title="Facebook"> 322 <span>Facebook</span></a></li> 323 <li><a target="_blank" href="#" class="twitter" title="Twitter"> 324 <span>Twitter</span></a> 325 </li> 326 <li><a href="#" title="More" class="less-more">More</a></li> 327</ul> 328<a href="#" class="share" title="Share This">x</a> 329</script>
329 330
331<script id='SocialShare_editor' type='text/template'> 332Text: <input name="text" type="text" value="<%= text %>" /> 333</script>
333 334 335
335<script id='StaticImage_editor' type='text/template'> 336<div class="row"><label>Image URL:</label><input name="url" type="text" value="<%= url %>" /></div> 337</script>
337 338 339
339<script id='VimeoPlayer_editor' type='text/template'> 340Video Url: <input name="video_url" type="text" value="<%= video_url %>" /> 341</script>
341 342
343<script id='VimeoPlayer_main' type='text/template'> 344 <div class="modalVideo modal hide" tabindex="-1" role="dialog" aria-hidden="true"> 345 </div> 346</script>
346 347
348<script id='VimeoPlayer_modalContent' type='text/template'> 349 <div class="modal-header"> 350 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">Ã</button> 351 </div> 352 <div class="modal-body"> 353 <div class="video"> 354 <%= embed %> 355 </div> 356 <div class="info"> 357 <h3><%= video.title %></h3> 358 <% if(video.description) { %> 359 <p><%= video.description %></p> 360 <% } %> 361 </div> 362 <div class="meta"> 363 <span class="upload_date"><%= O_O.date.strFmt(video.upload_date, "%e %b %Y") %></span> 364 <div class="duration"> 365 <%= Math.floor(video.duration / 60) %>:<% if(video.duration % 60<10) { %>0<% } %><%= video.duration % 60%> 366 </div> 367 </div> 368 </div> 369</script>
369 370 371
371<script id='VimeoPlaylist_playlist' type='text/template'> 372<% if (videos.length) { %> 373 <ul> 374 <% for (var i=0; i<videos.length; i++) { 375 var video = videos[i]; 376 %><li data-idx="<%= i %>"> 377 <div class="holder"> 378 <div class="vimeo_thumb"> 379 <img src="<%= video.thumbnail_large %>"> 380 </div> 381 <div class="info"> 382 <h4><%= video.title %></h4> 383 <p><%= video.description %></p> 384 </div> 385 <div class="meta"> 386 <span class="upload_date"><%= O_O.date.strFmt(video.upload_date, "%e %b %Y") %></span> 387 <div class="duration"> 388 <%= Math.floor(video.duration / 60) %>:<% if(video.duration % 60<10) { %>0<% } %><%= video.duration % 60%> 389 </div> 390 </div> 391 </div> 392 </li><% } %> 393 </ul> 394<% } else { %> 395 (no videos) 396<% } %> 397</script>
397 398
399<script id='VimeoPlaylist_loading' type='text/template'> 400</script>
400 401
402<script id='VimeoPlaylist_error' type='text/template'> 403(<%= message %>) 404</script>
404 405
405<script id='Logo_logoText' type='text/template'> 406 <h1><a href="/index" class="text" title="<%- text %>"><%- text %></a></h1> 407</script>
407 408
409<script id='Logo_logoImage' type='text/template'> 410 <h1><a href="/index" title="<%- text %>" style="background-image:url(<%= src %>);height:<%= height %>px;width:<%= width %>px;" class="logo"><%- text %></a></h1> 411</script>
411 412
413<script id='Logo_editor' type='text/template'> 414 <div class="row"> 415 <label>Type:</label> 416 text <input name="type" type="radio" value="text" <%= (type == 'text') && 'checked' %>/> or image <input name="type" type="radio" value="image" <%= (type == 'image') && 'checked' %> /> 417 </div> 418 <div class="textCfg"> 419 <div class="row"><label>Text:</label><input name="text" type="text" value="<%= text %>" /></div> 420 <div class="row"><label>Color:</label><input name="color" type="color" value="<%= color %>" /></div> 421 </div> 422 <div class="imageCfg row"> 423 <button class="edit" data-type="edit"></button> 424 <p class="key" style="display:inline">Image:</p> 425 <span class="objPreview" data-obj-type="GalleryImage" > 426 <input type="hidden" data-type="GalleryImage" name="image" value="<%- image %>" /> 427 </span> 428 </div> 429</script>
429 430 431
431<script id='BlogReader_main' type='text/template'> 432<div class="controls"></div> 433<div class="main"> 434<div class="loading-c2"><div class="bar-holder"><div class="loading-bar"></div></div></div> 435</div> 436<div class="controls"></div> 437</script>
437 438
439<script id='BlogReader_controls' type='text/template'> 440<% if (typeof curPage !== 'undefined') { %> 441 <% if (prevPage !== '') { %> 442 <a href='<%= O_O.lib.Util.makePath('blog', [prevPage]) %>' class='prev' title="Previous"><%= config.f_previous_text %></a> 443 <% } %> 444 <% if (nextPage !== '' && nextPage > curPage) { %> 445 <a href='<%= O_O.lib.Util.makePath('blog', [nextPage]) %>' class='next' title="Next"><%= config.f_next_text %></a> 446 <% } %> 447<% } %> 448</script>
448 449
450<script id='BlogReader_textpost' type='text/template'> 451<div class="textpost"> 452 <h3><a href="<%= link %>" target="_blank"><%= title %></a></h3> 453 <% if (date) { %> 454 <p class="date"><%= date %></p> 455 <% } %> 456 <div class='body'><%= body %></div> 457</div> 458</script>
458 459
460<script id='BlogReader_photopost' type='text/template'> 461<div class="photopost"> 462 <div class='body'> 463 <% for (var i = 0, ct = photos.length; i < ct; i++) { 464 var photo = photos[i]; %> 465 <img src="<%= photo.alt_sizes[0].url %>"/> 466 <% } %> 467 </div> 468 <%= caption %> 469 <% if (date) { %> 470 <p class="date"><%= date %></p> 471 <% } %> 472</div> 473</script>
473 474
475<script id='BlogReader_linkpost' type='text/template'> 476<div class="linkpost"> 477 <a href="<%= linkUrl %>" target="_blank"><%= title %></a> 478 <div class='body'><%= desc %></p> 479</div> 480</script>
480 481
482<script id='BlogReader_quotepost' type='text/template'> 483<div class="linkpost"> 484 <%= source %> 485 <div class='body'><%= text %></p> 486</div> 487</script>
487 488
489<script id='BlogReader_videopost' type='text/template'> 490 <div class="photopost videopost"> 491 <div class='body'> 492 <%= video %> 493 </div> 494 <%= caption %> 495 <% if (date) { %> 496 <p class="date"><%= date %></p> 497 <% } %> 498 </div> 499</script>
499 500 501
501<script id='Instagram_auth_link' type='text/template'> 502<div class="row" style="padding-top: 0; margin-top: 0;"> 503 <p class="widgetTip"><em><%=msg%></em></p> 504 <button class='button-secondary auth-link' style="display: block;" onClick='javascript:window.open("<%=url%>", "Authorizing Instagram", "resizable,scrollbars,status,height=500,width=500")'> 505 Authorize with Instagram 506 </button> 507 <p class="widgetTip" style="padding:0;">You may need to disable any popup blockers.</p> 508</div> 509</script>
509 510
511<script id='Instagram_main' type='text/template'> 512<div class='main<% if (!list) { %> grid<% } %>'> 513</div> 514</script>
514 515
516<script id='Instagram_auth_form' type='text/template'> 517 <div class="row" style="display:none"> 518 <input type="hidden" name="token" value="<%= token %>" /><br/> 519 </div> 520 <div class="row typeSelect" data-group=""> 521 <label>Images per page</label> 522 <select name="limit" tabindex="-1"> 523 <option value="8">8</option> 524 <option value="16">16</option> 525 <option value="24">24</option> 526 <option value="32">32</option> 527 </select> 528 <div class="ps-select"> 529 <div class="list"> 530 <ul> 531 <li> 532 <button type="button" tabindex="-1" data-title="8" data-value="8" data-act="selectBox"> 533 8 534 </button> 535 </li> 536 <li> 537 <button type="button" tabindex="-1" data-title="16" data-value="16" data-act="selectBox"> 538 16 539 </button> 540 </li> 541 <li> 542 <button type="button" tabindex="-1" data-title="24" data-value="24" data-act="selectBox"> 543 24 544 </button> 545 </li> 546 <li> 547 <button type="button" tabindex="-1" data-title="32" data-value="32" data-act="selectBox"> 548 32 549 </button> 550 </li> 551 </ul> 552 </div> 553 </div> 554 </div> 555 <div class="row typeCheckbox"> 556 <input type="hidden" value="f_displayList" <% if (cfg.f_displayList === 'true' || cfg.f_displayList === 't') { %>checked<% } %> name="f_displayList" id="f_displayList"> 557 </div> 558 <div class="row typeCheckbox"> 559 <input type="hidden" value="displayLikes" <% if (cfg.displayLikes === 'true' || cfg.displayLikes === 't') { %>checked<% } %> name="displayLikes" id="displayLikes"> 560 </div> 561 <div class="row typeCheckbox"> 562 <input type="checkbox" value="displayCaption" <% if (cfg.displayCaption === 'true' || cfg.displayCaption === 't') { %>checked<% } %> name="displayCaption" id="displayCaption"> 563 <label for="displayCaption">Caption</label> 564 </div> 565 <div class="row" style="margin-bottom: 0; padding-bottom: 0;"> 566 <p class='status' style="margin-bottom: 0; padding-bottom: 0;"></p> 567 </div> 568</script>
568 569
570<script id='Instagram_item' type='text/template'> 571<div class='item'> 572 <a href="<%=link%>" target="_blank"> 573 <img src="<%=url%>" width="<%=width%>" height="<%=height%>"/> 574 </a> 575 <% if (caption !== '') { %> 576 <p class='caption'><%=caption%></p> 577 <% } %> 578</div> 579</script>
579 580
581<script id='Instagram_video' type='text/template'> 582 <div class='video'> 583 <video width="90%" height="90%" preload="metadata" controls> 584 <source src="<%=url%>" type="video/mp4"> 585 </video> 586 <% if (caption !== '') { %> 587 <p class='caption'><%=caption%></p> 588 <% } %> 589 </div> 590 </script>
590 591
592<script id='Instagram_pagination' type='text/template'> 593<div class='pagination_prev'> 594 <a class='prev'>Previous page</a> 595</div> 596<div class='pagination_next'> 597 <a class='next'>Next page</a> 598</div> 599</script>
599 600
600<script id='SlideShowControls_main' type='text/template'> 601 <% var buttons = 0; 602 buttons += (config.f_play !== 'n' && countData.count > 1)?1:0; 603 buttons += (config.f_social !== 'f')?1:0; 604 buttons += (config.f_thumbs !== 'n' && countData.count > 1)?1:0; 605 buttons += (config.f_meta !== 'n')?1:0; 606 buttons += (config.buyMenu !== 'f')?1:0; %> 607 <div class="controls"> 608 <% if (countData.count > 1) { %> 609 <button class="backward"> 610 <div class="icon" title="Previous Image"></div> 611 </button> 612 <button class="forward"> 613 <div class="icon" title="Next Image"></div> 614 </button> 615 <% } %> 616 </div> 617 <% if (config.f_closeable === 't') { %> 618 <button class="close">Close</button> 619 <% } %> 620 <%= tpl('count', {config: config, countData: countData}) %> 621 <% if (config.f_galleryname === 't') { %> 622 <h1 class="buttons-<%=buttons %>"><%- countData.galName || gallery.name %></h1> 623 <% } %> 624 <% if (config.f_play !== 'n' || config.f_social !== 'f' || 625 config.f_thumbs !== 'n' || config.f_meta !== 'n') { %> 626 <div class="buttons buttons-<%=buttons %>"> 627 <% if (config.f_thumbs !== 'n' && config.f_thumbs !== 'a' && (!!config.f_thumbs_force || countData.count > 1)) { %> 628 <button class="thumbs<% if (config.f_thumbs !== 'f') { %> on<% } %>" title="Thumbnails">Thumbnails</button> 629 <% } %> 630 <% if (countData.count > 1) { %> 631 <%= tpl('play', {config: config}) %> 632 <% } %> 633 <% if (config.f_fullscreen === 't') { %> 634 <button class="fullscreen" title="Fullscreen">Fullscreen</button> 635 <% } %> 636 <% if (config.f_meta !== 'n' && config.f_meta !== 'a') { %> 637 <button class="info<% if (config.f_meta !== 'f') { %> on<% } %>" title="<%= (typeof config.metaText !== 'undefined') ? config.metaText : 'Caption' %>"><%= (typeof config.metaText !== 'undefined') ? config.metaText : 'Caption' %></button> 638 <% } %> 639 <% if (config.f_archive !== 'f') { %> 640 <button class="archive" title="<%= (typeof config.archiveText !== 'undefined') ? config.archiveText : 'More Info & Actions' %>"><span><%= (typeof config.archiveText !== 'undefined') ? config.archiveText : 'More Info & Actions' %></span></button> 641 <% } %> 642 <% if (config.f_social !== 'f') { %> 643 <button class="social" title="Share">Share</button> 644 <% } %> 645 <% if (config.buyMenu === 't') { %> 646 <button class="buy" title="Buy">Buy</button> 647 <% } %> 648 </div> 649 <% } %> 650</script>
650 651
652<script id='SlideShowControls_play' type='text/template'> 653 <% if (config.f_play === 't') { %> 654 <button class="play pause" title="Pause">Pause</button> 655 <% } else if (config.f_play === 'f') { %> 656 <button class="play" title="Play">Play</button> 657 <% } %> 658</script>
658 659
660<script id='SlideShowControls_count' type='text/template'> 661<div class="count <%= config.f_count %><% if (countData.count === 1) { %> no-controls<% } %>"> 662 <% if (config.f_count === 't') { %> 663 <% if (countData.current !== ' ') { %> 664 <%= countData.current %><span><%= countData.count %></span> 665 <% } else { %> 666 667 <% } %> 668 <% } %> 669 <% if (countData.count > 1) { %> 670 <button class="backward" title="Previous Image">Previous</button> 671 <button class="forward" title="Next Image">Next</button> 672 <% } %> 673</div> 674</script>
674 675 676
676<script id='ImageStage_main' type='text/template'> 677 <%= tpl('image', {config: config, img: current, stop: 'current'}) %> 678 <%= tpl('image', {config: config, img: previous, stop: 'previous'}) %> 679 <%= tpl('image', {config: config, img: next, stop: 'next'}) %> 680 <%= tpl('image', {config: config, stop: 'blank'}) %> 681 <div class="cover <%= config.size %>"></div> 682</script>
682 683 684
685<script id='ImageStage_image' type='text/template'> 686<div class='img <%= stop %> <%= config.transition %> <%= config.size %>' <% if (typeof img !== 'undefined') { %>style='background-image: url(<%= img %>);'<% } %>></div> 687</script>
687 688
688<script id='MetaViewer_main' type='text/template'> 689<div class="<% if (config.f_innerScroll) { %>content <% } %> scrollable"> 690 <% if (config.f_content !== 'caption') { %> 691 <h1><%- data.name || data.headline || data.title || data.file_name %></h1> 692 <% } %> 693 <% if (config.f_content !== 'title' && 694 ((typeof data.description !== 'undefined' && data.description) || 695 (typeof data.caption !== 'undefined' && data.caption))) { 696 var useInfo = (typeof data.caption === 'undefined') ? data.description : data.caption; %> 697 <div <% if (useInfo && useInfo.length > config.f_colAfterChars) { %>lang="en" class="columns"<% } %>> 698 <%- useInfo %> 699 </div> 700 <% } %> 701</div> 702</script>
702 703 704
704<script id='ThumbViewer_main' type='text/template'> 705 <div class="holder"></div> 706</script>
706 707
708<script id='ThumbViewer_images' type='text/template'> 709<div class="pagination"> 710 <% if (Math.ceil(images.length/max) > 1) { %> 711 <button class="arrow left" data-type="prev">Previous</button> 712 <% } %> 713 <div class="count"> 714 <em><%= page+1 %></em><%= Math.ceil(images.length/max) %> 715 </div> 716 <% if (Math.ceil(images.length/max) > 1) { %> 717 <button class="arrow right" data-type="next">Next</button> 718 <% } %> 719</div> 720<div class="holder <% if (config.f_innerScroll) { %>content <% } %>scrollable"> 721<% if (config.f_layout === 'm') { %><div class="columns"><% } %> 722<% for (var i = start, l = (start + max > images.length)?images.length:start+max; i < l; i++) { %> 723 <a href="#" data-index="<%= i %>"<% if (!!renderGID) { %> data-gid="<%= images[i].g_id %>" data-id="<%= images[i].id %>"<% } %>> 724 <div class="scaler"> 725 <img draggable="false" alt="<%= images[i].caption || images[i].headline || images[i].title %>" ondragstart="return false" onmousedown="return false" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="<%= images[i].src %>" data-width=<%= images[i].screen_width_max %> data-height=<%= images[i].screen_height_max %> <% if (!!renderGID) { %>data-gid="<%= images[i].g_id %>"<% } %> /> 726 </div> 727 </a> 728<% } %> 729<% if (config.f_layout === 'm') { %></div><% } %> 730</div> 731</script>
731 732 <!-- for gplus share -->
733<script src="https://apis.google.com/js/platform.js" async defer></script>
733 734
735<script id='ShareUrl_main' type='text/template'> 736<% if (typeof f_innerScroll !== 'undefined' && f_innerScroll) { %> 737<div class="content"> 738<%}%> 739<div class="su-holder"> 740<div class="su-content"> 741 <% if (typeof f_closeable !== 'undefined' && f_closeable) { %> 742 <button class="close">Close</button> 743 <% } %> 744 <h1>Share this <%= f_shareWhat %></h1> 745 <form> 746 <label>Link</label> 747 <input class="link" type=text value="" 748 id="copyURL" /> 749 <button title="Copy Link" data-clipboard-target="copyURL">Copy Link</button> 750 </form> 751 <form> 752 <label>Email</label> 753 <input class="email" type=email placeholder="Enter an email address" id="emailURL"/> 754 <button title="Share Via Email" class="shareEmail">Share Via Email</button> 755 </form> 756 <% if (typeof f_embedable !== 'undefined' && f_embedable) { %> 757 <form> 758 <label>Embed</label> 759 <input class="embed" type=text value="<iframe src='http://www.thisurl.com' width='800' height='600' />" 760 id="copyEmbed" /> 761 <button title="Copy Embed Code" data-clipboard-target="copyEmbed">Copy Embed Code</button> 762 </form> 763 <% } %> 764 <ul class='share-options'> 765 <li><a target="_blank" href="#" class="pinterest" title="Pinterest"><span>Pinterest</span></a></li> 766 <li><a target="_blank" href="#" class="facebook" title="Facebook"><span>Facebook</span></a></li> 767 <li><a target="_blank" href="#" class="twitter" title="Twitter"><span>Twitter</span></a></li> 768 </ul> 769</div> 770</div> 771<% if (typeof f_innerScroll !== 'undefined' && f_innerScroll) { %> 772</div> 773<%}%> 774 775</script>
775 776 777
777<script id='BuyMenu_main' type='text/template'> 778<% if (typeof config.f_innerScroll !== 'undefined' && config.f_innerScroll) { %> 779<div class="content"> 780<%}%> 781<div class="su-holder"> 782<div class="su-content"> 783 <% if (typeof config.f_closeable !== 'undefined' && config.f_closeable) { %> 784 <button class="close">Close</button> 785 <% } %> 786 <h1>Buy this <%= config.buyWhat %></h1> 787 <ul class="buy-options"> 788 <% if (typeof pricing !== 'undefined' && pricing.length > 0) { %> 789 <% if(!!find('PR', pricing)) { %> 790 <li><a href="#" class="pr" title="Print/product">Print/product</a></li> 791 <% } %> 792 <% if(!!find('BND', pricing)) { %> 793 <li><a href="#" class="bnd" title="Image package">Image package</a></li> 794 <% } %> 795 <% if(!!find('PU', pricing)) { %> 796 <li><a href="#" class="pu" title="Personal use download">Personal use download</a></li> 797 <% } %> 798 <% if(!!find('RM', pricing)) { %> 799 <li><a href="#" class="rm" title="Rights-managed license">Rights-managed license</a></li> 800 <% } %> 801 <% if(!!find('RF', pricing)) { %> 802 <li><a href="#" class="rf" title="Royalty-free license">Royalty-free license</a></li> 803 <% } %> 804 <% if(cart > 0) { %> 805 <li class="cart-link"><a href="/cart" class="cart" title="View your cart"><span>View your cart</span></a></li> 806 <% } %> 807 <% } %> 808 </ul> 809</div> 810</div> 811<% if (typeof config.f_innerScroll !== 'undefined' && config.f_innerScroll) { %> 812</div> 813<%}%> 814</script>
814 815
815<script id='SocialFollow_main' type='text/template'> 816<% 817if (f_edit && linkA.length === 0) { 818 %> 819<%= tpl('placeholder', {}) %> 820 821<% } else { %> 822 823<div class='follow-wrapper'> 824<ul class='follow-options'> 825<% 826var link; 827for (var i=0; i<linkA.length; i++) { 828 link = linkA[i]; 829%> 830 <li> 831 <a target='_blank' class=<%= link.service %> href=<%= link.url %>></a> 832 </li> 833<% } %> 834</ul> 835</div> 836 837<% } %> 838</script>
838 839
840<script id='SocialFollow_placeholder' type='text/template'> 841<div class='follow-wrapper placeholder edit-widget-border'> 842<ul class='follow-options'> 843 <li><a class='twitter'></a></li> 844 <li><a class='facebook'></a></li> 845 <li><a class='instagram'></a></li> 846</ul> 847</div> 848</script>
848 849
850<script id='SocialFollow_editor' type='text/template'> 851 <p class='widgetTip'> 852 Enter your info in the text fields below, and we'll do the rest. 853 <a target="_blank" href="https://support.photoshelter.com/hc/en-us/articles/204837820">Learn more »</a> 854 </p> 855 856 <ul class='objectList'></ul> 857 858 <div class='widgetTip'> 859 Click and drag to reorder your social follow buttons. 860 </div> 861</script>
861 862
863<script id='SocialFollow_editUsernames' type='text/template'> 864<% 865for (var i=0; i<socialDataA.length; i++) { 866 var socialItem = socialDataA[i]; 867%><%= tpl('editUsername', socialItem) %> 868<% } %> 869</script>
869 870
871<script id='SocialFollow_editUsername' type='text/template'> 872 <li class='row draggable sortable external' data-service=<%= service %>> 873 <span class='dragHandle'></span> 874 <span><%= label %></span> 875 <input name=<%= service %> type='text' value='<%= username %>' placeholder='<%= placeholder %>' /> 876 </li> 877</script>
877 878 879 880
881<script type="text/javascript"> 882var C2_CFG = {"theme":"Otis","themeCfg":"{\"name\":\"Otis\",\"version\":\"1.4.0\",\"requires\":{\"models\":[\"Collection\",\"Content\",\"Gallery\",\"Image\",\"Generic\"],\"widgets\":[[\"Content\",\"1.1\"],[\"ContactForm\",\"1.0\"],[\"FilmStrip\",\"1.0\"],[\"HeroTab\",\"2.0\"],[\"ImageBackground\",\"1.0\"],[\"Nav\",\"1.1\"],[\"SocialShare\",\"1.0\"],[\"StaticImage\",\"1.0\"],[\"VimeoPlayer\",\"1.0\"],[\"VimeoPlaylist\",\"1.0\"],[\"Logo\",\"1.2\"],[\"BlogReader\",\"1.0\"],[\"Instagram\",\"1.2\"],[\"SlideShowControls\",\"1.2.0\"],[\"ImageStage\",\"1.1.1\"],[\"MetaViewer\",\"1.0\"],[\"ThumbViewer\",\"1.1\"],[\"ShareUrl\",\"1.1\"],[\"BuyMenu\",\"1.0\"],[\"SocialFollow\",\"1.0.0\"]]},\"resources\":{\"fonts\":{\"arial\":{\"family\":\"Arial\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"},\"arvo\":{\"family\":\"Arvo\",\"alternate\":\"serif\",\"vendor_tag\":\"Arvo\"},\"cabin\":{\"family\":\"Cabin\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Cabin\"},\"domine\":{\"family\":\"Domine\",\"alternate\":\"serif\",\"vendor_tag\":\"Domine\"},\"droidSans\":{\"family\":\"Droid Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Droid+Sans\"},\"gentium\":{\"family\":\"Gentium Basic\",\"alternate\":\"serif\",\"vendor_tag\":\"Gentium+Basic\"},\"georgia\":{\"family\":\"Georgia\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"helvetica\":{\"family\":\"Helvetica\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"},\"josefin\":{\"family\":\"Josefin Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Josefin+Sans: 600\"},\"lato\":{\"family\":\"Lato\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Lato\"},\"libre\":{\"family\":\"Libre Baskerville\",\"alternate\":\"serif\",\"vendor_tag\":\"Libre+Baskerville\"},\"merriweather\":{\"family\":\"Merriweather\",\"alternate\":\"serif\",\"vendor_tag\":\"Merriweather\"},\"open\":{\"family\":\"Open Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Open+Sans\"},\"oswald\":{\"family\":\"Oswald\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Oswald\"},\"playfair\":{\"family\":\"Playfair Display\",\"alternate\":\"serif\",\"vendor_tag\":\"Playfair+Display\"},\"ptSansNarrow\":{\"family\":\"PT Sans Narrow\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"PT+Sans+Narrow\"},\"quicksand\":{\"family\":\"Quicksand\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Quicksand\"},\"raleway\":{\"family\":\"Raleway\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Raleway\"},\"palatino\":{\"family\":\"Palatino\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"ptSans\":{\"family\":\"PT Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"PT+Sans\"},\"ptSerif\":{\"family\":\"PTSerif\",\"alternate\":\"serif\",\"vendor_tag\":\"PT+Serif\"},\"sanchez\":{\"family\":\"Sanchez\",\"alternate\":\"serif\",\"vendor_tag\":\"Sanchez\"},\"timeNewRoman\":{\"family\":\"Times New Roman\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"verdana\":{\"family\":\"Verdana\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"}},\"color_set\":[{\"name\":\"Modern Dark\",\"values\":{\"colorBrand\":\"#e8e8e8\",\"colorBody\":\"#cacaca\",\"colorNav\":\"#acacac\",\"colorLink\":\"#839fd2\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Modern Light\",\"values\":{\"colorBrand\":\"#444444\",\"colorBody\":\"#5f5f5f\",\"colorNav\":\"#8e8e8e\",\"colorLink\":\"#6babd7\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Slate\",\"values\":{\"colorBrand\":\"#4c5a7b\",\"colorBody\":\"#5a606e\",\"colorNav\":\"#8f8f8f\",\"colorLink\":\"#eba073\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Forest\",\"values\":{\"colorBrand\":\"#4c7b4d\",\"colorBody\":\"#5a6e5a\",\"colorNav\":\"#849984\",\"colorLink\":\"#db8c8c\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Brick\",\"values\":{\"colorBrand\":\"#d03b00\",\"colorBody\":\"#6e605a\",\"colorNav\":\"#998a84\",\"colorLink\":\"#d03b00\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Sand\",\"values\":{\"colorBrand\":\"#af9a77\",\"colorBody\":\"#6e665a\",\"colorNav\":\"#999184\",\"colorLink\":\"#549fc5\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Royal Accent\",\"values\":{\"colorBrand\":\"#4e203a\",\"colorBody\":\"#6e5a65\",\"colorNav\":\"#998490\",\"colorLink\":\"#d95b43\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\"}},{\"name\":\"Midnight\",\"values\":{\"colorBrand\":\"#677085\",\"colorBody\":\"#b9bcc3\",\"colorNav\":\"#8b8f97\",\"colorLink\":\"#ffd5bc\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Bright Night\",\"values\":{\"colorBrand\":\"#e2d8e3\",\"colorBody\":\"#d0cad1\",\"colorNav\":\"#958a96\",\"colorLink\":\"#ba7459\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Nightswimming\",\"values\":{\"colorBrand\":\"#53b1c4\",\"colorBody\":\"#e0e4cc\",\"colorNav\":\"#b5b7a9\",\"colorLink\":\"#a7dbd8\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Gold Rush\",\"values\":{\"colorBrand\":\"#dcae60\",\"colorBody\":\"#e0e4cc\",\"colorNav\":\"#b5b7a9\",\"colorLink\":\"#dcae60\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Warm Earth\",\"values\":{\"colorBrand\":\"#988585\",\"colorBody\":\"#d6d3cb\",\"colorNav\":\"#b8b5a9\",\"colorLink\":\"#9c666b\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}}
882,{\"name\":\"Dark Breeze\",\"values\":{\"colorBrand\":\"#a7dbd8\",\"colorBody\":\"#e3e5d9\",\"colorNav\":\"#b5b8a9\",\"colorLink\":\"#a7dbd8\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Party\",\"values\":{\"colorBrand\":\"#ff5a89\",\"colorBody\":\"#ccc5be\",\"colorNav\":\"#b8b0a9\",\"colorLink\":\"#ff5a89\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}},{\"name\":\"Taxi\",\"values\":{\"colorBrand\":\"#fdd601\",\"colorBody\":\"#ccc5be\",\"colorNav\":\"#b8b0a9\",\"colorLink\":\"#fdd601\",\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\"}}],\"font_set\":[{\"name\":\"Raleway \\\/ PT Sans\",\"values\":{\"font_3\":\"raleway\",\"font_1\":\"raleway\",\"font_2\":\"ptSans\"}},{\"name\":\"Gentium\",\"values\":{\"font_3\":\"gentium\",\"font_1\":\"gentium\",\"font_2\":\"gentium\"}},{\"name\":\"Libre Baskerville \\\/ Open Sans\",\"values\":{\"font_3\":\"libre\",\"font_1\":\"libre\",\"font_2\":\"open\"}},{\"name\":\"Droid Sans \\\/ Lato\",\"values\":{\"font_3\":\"droidSans\",\"font_1\":\"droidSans\",\"font_2\":\"lato\"}},{\"name\":\"Merriweather \\\/ PT Sans\",\"values\":{\"font_3\":\"merriweather\",\"font_1\":\"merriweather\",\"font_2\":\"ptSans\"}},{\"name\":\"Merriweather \\\/ PT Sans\",\"values\":{\"font_3\":\"merriweather\",\"font_1\":\"merriweather\",\"font_2\":\"ptSerif\"}},{\"name\":\"Lato\",\"values\":{\"font_3\":\"lato\",\"font_1\":\"lato\",\"font_2\":\"lato\"}},{\"name\":\"Playfair Display \\\/ PT Sans\",\"values\":{\"font_3\":\"playfair\",\"font_1\":\"playfair\",\"font_2\":\"ptSans\"}},{\"name\":\"Sanchez \\\/ PT Sans\",\"values\":{\"font_3\":\"sanchez\",\"font_1\":\"sanchez\",\"font_2\":\"ptSans\"}}]},\"start\":\"index\",\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\",\"colorBrand\":\"#444444\",\"colorNav\":\"#8e8e8e\",\"colorBody\":\"#5f5f5f\",\"colorLink\":\"#6babd7\",\"font_3\":\"raleway\",\"font_1\":\"raleway\",\"font_2\":\"ptSans\",\"last_modified\":\"2024-07-31 14:43:05 GMT\",\"modes\":{\"global\":{\"user_hidden\":true,\"widgets\":[{\"widget\":\"Logo\",\"widgetName\":\"Logo\",\"widgetDesc\":\"Your site name, displayed using text or a logo image\",\"type\":\"text\",\"text\":\"James McCauley - [email protected] \",\"image\":[{\"type\":\"GalleryImage\",\"image_id\":\"I0000Opv7Lo3Zbn8\",\"gallery_id\":\"G0000CkKhZkoRYlY\",\"collection_id\":\"\"}],\"image_orig_enable\":\"t\",\"image_width\":\"2040\",\"image_height\":\"2040\",\"image_file_exts\":[\"gif\",\"jpeg\",\"jpg\",\"png\"],\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":\"2040\",\"propOverload\":null,\"f_force_menu_button\":\"h\",\"image_f_retina\":\"f\"},{\"widget\":\"Nav\",\"widgetName\":\"Navigation\",\"widgetDesc\":\"Links used to traverse your site\",\"f_archive_not_nested\":false,\"links\":[{\"name\":\"Contact\",\"type\":\"fixed\",\"url_fragment\":\"contact\",\"className\":\"contact\",\"f_hidden\":false,\"id\":\"-0\",\"act\":\"edit\"},{\"name\":\"About\",\"type\":\"fixed\",\"url_fragment\":\"about\",\"className\":\"about\",\"f_hidden\":true,\"id\":\"-1\",\"act\":\"edit\"},{\"name\":\"Portfolio\",\"type\":\"fixed\",\"url_fragment\":\"index\",\"className\":\"portfolio\",\"f_hidden\":true,\"id\":\"-2\",\"act\":\"edit\"},{\"name\":\"Video\",\"type\":\"fixed\",\"url_fragment\":\"video\",\"className\":\"video\",\"f_hidden\":true,\"id\":\"-3\"},{\"name\":\"Archive\",\"type\":\"dynamic\",\"url_fragment\":\"archive\",\"className\":\"archive\",\"f_hidden\":true,\"id\":\"-4\"},{\"type\":\"external\",\"f_hidden\":true,\"name\":\"Twitter\",\"url\":\"https:\\\/\\\/twitter.com\\\/mccauleyphotos\",\"url_fragment\":\"\",\"target\":\"_blank\",\"act\":\"edit\",\"id\":\"-5\"},{\"type\":\"fixed\",\"name\":\"Blog\",\"url_fragment\":\"blog\",\"cls\":\"blog\",\"f_hidden\":true,\"id\":\"-6\",\"act\":\"edit\"},{\"type\":\"fixed\",\"name\":\"Instagram\",\"url_fragment\":\"instagram\",\"cls\":\"instagram\",\"f_hidden\":true,\"id\":\"-7\",\"act\":\"edit\"}]},{\"widget\":\"SocialFollow\",\"widgetName\":\"Social Follow\",\"widgetDesc\":\"Generates social follow icons for your site\",\"twitter\":\"mccauleyphotos\",\"facebook\":\"\",\"instagram\":\"mccauleyphotos\",\"linkedin\":\"mccauleyphotos\",\"vimeo\":\"\",\"tumblr\":\"\",\"pinterest\":\"\",\"googlePlus\":\"\",\"fiveHPx\":\"\",\"services\":[\"twitter\",\"instagram\",\"facebook\",\"vimeo\",\"linkedin\",\"tumblr\",\"pinterest\",\"googlePlus\",\"fiveHPx\"]}]},\"intro\":{\"user_hidden\":true,\"transition\":{\"delay\":1000,\"fade\":1000,\"next\":\"index\"}
882,\"widgets\":[{\"widget\":\"ImageBackground\",\"widgetName\":\"Background Image\",\"widgetDesc\":\"A background image displayed behind your content\",\"image\":null,\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":1440,\"f_transitions\":true,\"f_editable\":true},{\"widget\":\"Logo\",\"widgetName\":\"Logo\",\"widgetDesc\":\"Your site name, displayed using text or a logo image\",\"type\":\"text\",\"text\":\"\",\"image\":null,\"image_orig_enable\":\"t\",\"image_width\":200,\"image_height\":200,\"image_file_exts\":[\"gif\",\"jpeg\",\"jpg\",\"png\"],\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":\"2040\",\"propOverload\":null,\"f_force_menu_button\":\"f\",\"image_f_retina\":\"f\"}]},\"index\":{\"definition\":\"Index_121\",\"modeName\":\"Portfolio\",\"title\":\"James McCauley photogapher\",\"meta_description\":\"James McCauley professional photographer. \",\"widgets\":[{\"widget\":\"HeroTab\",\"widgetName\":\"Featured Work\",\"widgetDesc\":\"Galleries and\\\/or collections displayed on your site\",\"dataSource\":\"user\",\"userTabs\":[{\"type\":\"Gallery\",\"id\":\"G0000BGH3YWNvWYo\"},{\"type\":\"Gallery\",\"id\":\"G0000BkZ1crQ3Cgc\"},{\"type\":\"Gallery\",\"id\":\"G0000bPgl2EKVRvA\"},{\"type\":\"Gallery\",\"id\":\"G0000uAfrUKw_dUs\"}],\"recent\":[\"\",\"\"],\"delegate\":{\"Gallery\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":0}]}},{\"widget\":\"SocialShare\",\"widgetName\":\"Post to Social Networks\",\"widgetDesc\":\"Links for easy social sharing of your content\",\"f_editable\":false,\"text\":null,\"style\":null}],\"sets\":{\"gallerySingleImage\":[{\"widget\":\"SlideShowControls\",\"widgetName\":\"Image Viewer\",\"widgetDesc\":\"Presentation view of your images\",\"dataSource\":\"dynamic\",\"userLinks\":\"\",\"f_closeable\":\"t\",\"f_galleryname\":\"f\",\"f_count\":\"t\",\"f_thumbs\":\"f\",\"f_play\":\"f\",\"f_fullscreen\":\"t\",\"f_meta\":\"f\",\"f_archive\":\"f\",\"f_social\":\"f\",\"buyMenu\":\"f\",\"f_thumbs_force\":false,\"f_share_what\":\"image\",\"f_toggleChrome\":\"t\",\"propOverload\":{\"dataSource\":{\"map\":{\"dynamic\":\"dynamic\"},\"default\":\"dynamic\",\"inpEnable\":false},\"userLinks\":{\"inpEnable\":false},\"f_fullscreen\":{\"inpEnable\":true,\"default\":\"t\"},\"f_archive\":{\"inpEnable\":true},\"f_thumbs\":{\"inpEnable\":false},\"f_meta\":{\"inpLbl\":\"Image info\"},\"f_galleryname\":{\"inpEnable\":false}},\"delegate\":{\"Gallery\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1}],\"Page\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1}],\"Play\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1}],\"Meta\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1},{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":2}],\"Thumbs\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":3}],\"Share\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":4}],\"Buy\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":5}]}},{\"widget\":\"ImageStage\",\"widgetName\":\"Image Display\",\"widgetDesc\":\"The frame and transitions used for a gallery's images\",\"size\":\"fit\",\"transition\":\"s\",\"duration\":\"3\",\"propOverload\":{\"size\":{\"inpEnable\":false}},\"delegate\":{\"State\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":0}],\"ImageMeta\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":2},{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":5}]}},{\"widget\":\"MetaViewer\",\"widgetName\":\"Image Metadata Display\",\"widgetDesc\":\"Image details (uses IPTC data)\",\"f_innerScroll\":1,\"f_colAfterChars\":400,\"f_content\":\"titleCaption\",\"propOverload\":{\"f_content\":{\"map\":{\"titleCaption\":\"Image name and caption\",\"title\":\"Image name only\",\"caption\":\"Image caption only\"}}},\"delegate\":{\"WhatMeta\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1}]}},{\"widget\":\"ThumbViewer\",\"widgetName\":\"Thumbnail Viewer\",\"pageCount\":50,\"f_scrollbar\":true,\"f_editable\":false,\"f_innnerScroll\":1,\"f_layout\":\"j\",\"delegate\":{\"JumpTo\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":1}],\"Thumbs\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":0}]},\"f_innerScroll\":true},{\"widget\":\"ShareUrl\",\"widgetName\":\"Post to Social Networks\",\"widgetDesc\":\"Links for easy social sharing of your content\",\"f_editable\":false,\"f_innerScroll\":true,\"f_embedable\":false,\"f_closeable\":true,\"f_shareWhat\":\"image\"},{\"widget\":\"BuyMenu\",\"widgetName\":\"Buy\\\/License Menu\",\"widgetDesc\":\"Links for easy social sharing of your content\",\"f_editable\":false,\"f_innerScroll\":true,\"buyWhat\":\"image\",\"f_closeable\":true,\"delegate\":{\"Pricing\":[{\"mode\":\"index\",\"set\":\"gallerySingleImage\",\"ordinal\":0}]}}]}},\"about\":{\"title\":\"About\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"ImageBackgroun
882d\",\"widgetName\":\"Background Image\",\"widgetDesc\":\"A background image displayed behind your content\",\"image\":[{\"type\":\"GalleryImage\",\"image_id\":\"I0000L0XhNyI1ijk\",\"gallery_id\":\"G0000.wT5Wd5SsRk\",\"collection_id\":\"\"}],\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":1440,\"f_transitions\":true,\"f_editable\":true},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"about\",\"subcategory\":\"about\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h2 class=\\\"title\\\">About Me<\\\/h2>Bio information to be entered here.\"}},{\"widget\":\"StaticImage\",\"widgetName\":\"Image\",\"widgetDesc\":\"An image to display on this page\",\"image\":null,\"image_width\":300,\"image_height\":500,\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":null}]},\"contact\":{\"title\":\"Contact\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"ImageBackground\",\"widgetName\":\"Background Image\",\"widgetDesc\":\"A background image displayed behind your content\",\"image\":null,\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":1440,\"f_transitions\":true,\"f_editable\":true},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"contact\",\"subcategory\":\"contact22\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">Contact Info<\\\/h1><p>[contact info goes here]<\\\/p>\"}},{\"widget\":\"ContactForm\",\"widgetName\":\"Contact Form\",\"widgetDesc\":\"Form to allow visitors to send messages directly to you\",\"sendText\":\"Send\",\"f_captcha\":false,\"f_placeholder\":false}]},\"p\":{\"modeName\":\"Custom Page\",\"user_hidden\":true,\"widgets\":[{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":null,\"f_hash_tuple\":true,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":null}]},\"video\":{\"title\":\"Videos\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"VimeoPlayer\",\"widgetName\":\"Vimeo Player\",\"widgetDesc\":\"A Vimeo video player\",\"f_dialog\":true,\"style\":null},{\"widget\":\"VimeoPlaylist\",\"widgetName\":\"Vimeo Feed\",\"widgetDesc\":\"A list of videos from a Vimeo account\\\/album\",\"list_type\":\"vimeo_user\",\"vimeo_user\":\"\",\"vimeo_album\":\"\"},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"video\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h2 class=\\\"title\\\">Videos<\\\/h2>A selection of videos.\"}}]},\"blog\":{\"modeName\":\"Blog\",\"definition\":\"Blog\",\"title\":\"Blog\",\"widgets\":[{\"widget\":\"BlogReader\",\"widgetName\":\"Blog Feed\",\"widgetDesc\":\"Displays posts from an external blog\",\"type\":\"tumblr\",\"blogger_url\":null,\"blogger_limit\":1,\"tumblr_url\":null,\"tumblr_limit\":5,\"wordpress_url\":null,\"wordpress_feedUrl\":null,\"f_previous_text\":\"Prev\",\"f_next_text\":\"Next\"},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"blog\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1>Blog<\\\/h1>\"}}]},\"instagram\":{\"definition\":\"Instagram\",\"modeName\":\"Instagram\",\"title\":\"Instagram\",\"widgets\":[{\"widget\":\"Instagram\",\"widgetName\":\"Instagram\",\"widgetDesc\":\"A feed of photos from an Instagram account\",\"token\":\"46231045.da6ae5d.4f7f6af615d84f1b894260a73703e212\",\"displayLikes\":\"true\"},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"instagram\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">Instagram<\\\/h1>\"}}]}}}","customEnv":{"id":"U0000331zz_rV__4","name":"James McCauley","label":"mccauleyphotos","theme":"Otis","theme_name":"Marquee","curhost":"www.jamesmccauley.com","host":"www.jamesmccauley.com","host_ps":"mccauleyphotos.photoshelter.com","url":"https:\/\/www.jamesmccauley.com","url_ps":"https:\/\/mccauleyphotos.photoshelter.com","api_key":"PS631731c7","api_key_v4":"WbCFNtLJzS4","site_cfg":{"SC_ID":"SC000PL7YTl655.w","SC_ORG_ID":null,"SC_USER_ID":"U0000331zz_rV__4","SC_SITE_NAME":"mccauleyphotos","SC_CNAME":"www.jamesmccauley.com","SC_THEME":"Otis","SC_THEME_C1":"Mars","SC_THEME_C2":"Otis","SC_IMG_NO_MASK":"f","SC_GA_ID":null,"SC_HTML_HEAD":null,"SC_HTML_FOOTER":"
882<script type=\"text\/javascript\">\r\nvar gaJsHost = ((\"https:\" == document.location.protocol) ? \"https:\/\/ssl.\" : \"http:\/\/www.\");\r\ndocument.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com\/ga.js' type='text\/javascript'%3E%3C\/script%3E\"));\r\n<\/script>\r\n
882<script type=\"text\/javascript\">\r\ntry {\r\nvar pageTracker = _gat._getTracker(\"UA-7843183-1\");\r\npageTracker._trackPageview();\r\n} catch(err) {}<\/script>","SC_SSL_PREF":"t","SC_RECAPTCHA_KEY":null,"FID_O":"U0000331zz_rV__4","CUSTOM_VERSION":"2.0"},"ctd":{"CTD_PRC_PRF_TYPE":"PR","CTD_F_CART":"t","CTD_F_LBX":"t","CTD_F_DOWNLOAD":"t","CTD_F_SOCIAL":"f","CTD_THM_FIT_CLC_GAL":"fill","CTD_THM_FIT_IMG":"fit","CTD_PPG_THM":"250","CTD_PPG_GAL":"100","CTD_LOGO_TS":1331307002,"CTD_LOGO_FILETYPE":"jpg","CTD_LOGO_W":177,"CTD_LOGO_H":177,"CTD_LOGO_URL":"","CTD_SITE_URL":"","CTD_BLOG_URL":"","CTD_TXT_FOOTER":"<span style=\"color: #c0c0c0;\"> Follow me on <a style=\"font-weight: bold;\" href=\"http:\/\/www.twitter.com\/mccauleyphotos\" target=\"_blank\">Twitter<\/a><strong> <\/strong><strong><a href=\"http:\/\/www.facebook.com\/pages\/McCauleyphotos\/101025913289445\" target=\"_blank\">Facebook<\/a><\/strong><\/span>","CTD_NAV_GAL":"t","CTD_NAV_SEARCH":"f","CTD_NAV_LBX":"f","CTD_NAV_CART":"f","CTD_NAV_CART_TRAY":"t","CTD_NAV_USR":"f","CTD_NAV_ABOUT":"t","CTD_NAV_CONTACT":"t","CTD_NAV_PAGE1":"f","CTD_NAV_PAGE2":"f","CTD_NAV_PORTFOLIO":"t","CTD_LBL_PAGE1":"","CTD_LBL_PAGE2":"","D_ID":"D00008pbZS2EpuLE","librisSSO":false},"site_name":"mccauleyphotos","f_preview":false,"f_custom_basic":false,"referral_url":"https:\/\/www.photoshelter.com\/referral\/U0000331zz_rV__4\/user","isDevDomain":false,"isCustomHost":true,"server":{"web":"http:\/\/www.photoshelter.com","ul":"https:\/\/www.jamesmccauley.com","ul-cdn":"https:\/\/www.jamesmccauley.com","img":"https:\/\/www.jamesmccauley.com","img-mem":"https:\/\/www.jamesmccauley.com","vid":"https:\/\/www.jamesmccauley.com","vid-mem":"https:\/\/www.jamesmccauley.com","js":"https:\/\/www.jamesmccauley.com","css":"https:\/\/www.jamesmccauley.com","mkt":"https:\/\/www.jamesmccauley.com","sec":"https:\/\/www.jamesmccauley.com","library":"https:\/\/www.jamesmccauley.com"},"js_include_rev":1788533357,"favicon_url":"\/asset-get\/A0000KyOvOtZyRDo\/SmoothedLogo.png","favicon_mime":"image\/png","hasWorkspace":false,"hasDesignTemplates":false,"hasPrintuiDrafts":false,"isWhitelabel":false,"hasInvitedUserGalCover":true,"usrHasCnameFeature":true,"hasPortalSearchConfiguration":true,"hasContainersInSearchFlag":true,"hasUsableNetAssistive":false,"hasTrimVideoOnDL":false,"hasCropImageOnDL":true,"hasPdfPreview":false,"hasMagicSearch":false,"defaultToLumen":true,"f_owner":false}}; 883var C2_OPT = {"f_edit":false,"f_debug":false}; 884var appBaseDir = false; 885var customMdCfg = null; 886var apiKey = 'PS631731c7'; 887var apiKeyV4 = 'g5YWwvzrEKo'; 888var CSRF_TOKEN = ''; 889var hasWorkspace = false; 890var hasDesignTemplates = false; 891var hasPrintuiDrafts = false; 892var orgTFAReq = false; 893var isWhiteLabel = false; 894var seachBatchDownloadLimit = 250; 895var portalSearchConfiguration = false; 896var hasContainersInSearchFlag = false; 897var hasUsableNetAssistive = false; 898var themeCfg = JSON.parse(C2_CFG.themeCfg); 899var homepageDisplaySetting = themeCfg.portalHomepageDisplay; 900var homepageSearchSetting = themeCfg.portalHomepageSearchRedirectSettings; 901var homepageSearchTerm = themeCfg.portalHomepageSearchRedirectTerm; 902var hasTrimVideoOnDL = false; 903var hasCropImageOnDL = false; 904var hasPdfPreview = false; 905var hasMagicSearch = false; 906var defaultToLumen = false; 907 908 909PSGA = window.PSGA || {}; 910var librisPortalAppConfig = { 911 ctd_config: C2_CFG.customEnv.ctd, 912 custom_metadata: customMdCfg, 913 license_expiration: { 914 librisHasLicenseExpDate: C2_CFG.customEnv.librisHasLicenseExpDate, 915 librisLicenseExpDays: C2_CFG.customEnv.librisLicenseExpDays 916 } 917 , 918 hasWorkspace: hasWorkspace, 919 hasDesignTemplates: hasDesignTemplates, 920 hasPrintuiDrafts: hasPrintuiDrafts, 921 featuredPlayer: true, 922 videoCaptions: true, 923 hasUsableNetAssistive: hasUsableNetAssistive, 924 hasContainersInSearch: hasContainersInSearchFlag, 925 portalSearchConfiguration:portalSearchConfiguration, 926 homepageDisplaySetting: homepageDisplaySetting, 927 ...(homepageDisplaySetting==="searchPage" && {homepageSearchSetting: homepageSearchSetting}), 928 ...(homepageSearchSetting==="term" && {homepageSearchTerm: homepageSearchTerm}), 929 site_name: C2_CFG.customEnv.name, 930 hasTrimVideoOnDL: hasTrimVideoOnDL, 931 hasCropImageOnDL: hasCropImageOnDL, 932 hasPdfPreview: hasPdfPreview, 933 hasMagicSearch: hasMagicSearch, 934 defaultToLumen: defaultToLumen, 935 showMagicSearch: hasMagicSearch && C2_CFG.customEnv.ctd.CTD_F_MS_SEARCH !== 'f', 936}; 937 938(function($) { // map ps$ to $ // TODO: remove once ps$ is deprecated 939 var bootBeam = function () { 940 $(function() { // equivalent to $.ready()
941 O_O.mm.oNew(O_O.app.Visualizer, 'c2', C2_CFG, C2_OPT); 942 }); 943 }; 944 945 window.LibrisPortalApp = { 946 bootBeam: bootBeam, 947 appBaseDir: appBaseDir, 948 PSGA: PSGA, 949 apiKeyV4: apiKeyV4, 950 apiKey: apiKey, 951 librisPortalAppConfig: librisPortalAppConfig, 952 isWhiteLabel: isWhiteLabel 953 } 954 955 956 957 bootBeam(); 958 959}(ps$)); 960 961</script>
961 962 963 964</head> 965<body> 966 967<div id="c2" class=" nav-logo-prep"></div> 968 969<div id="fb-root"></div> 970<div class="loading-c2 site"> 971 <div class="bar-holder"> 972 <div class="loading-bar"></div> 973 </div> 974</div> 975 976<noscript> 977 <div class="message">It looks like JavaScript is disabled in your browser. Please enable JavaScript and reload this page.</div> 978</noscript>
vendor: 66 bytes, lines 978-981
978 979 980 981<script async src="https://www.googletagmanager.com/gtag/js?id=
981G-JEEVL2L8S5
vendor: 12 bytes, line 981
981"></script>
982<script> 983 984
vendor: 134 bytes, lines 984-988
984window.dataLayer = window.dataLayer || []; 985 function gtag(){dataLayer.push(arguments);} 986 gtag('js', new Date()); 987 988 gtag('config', '
988G-JEEVL2L8S5
vendor: 4 bytes, line 988
988');
989</script>
989 990
991<script> 992(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 993(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 994m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 995})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 996PSGA = window.PSGA || {}; 997PSGA.initGa = function(uaid, name) { 998 ga('create', uaid, 'auto', {'name': name}); 999}; 1000PSGA.distributor = function(request, args) { 1001 return function() { 1002 var trackers = ga.getAll(); 1003 for (var i = 0, ct = trackers.length; i < ct; i++) { 1004 var tracker = trackers[i]; 1005 if ((args[0] === 'pageview' || 1006 args[0].hitType === 'pageview') || 1007 tracker.get('name') !== 'user') { 1008 tracker[request].apply(tracker, args); 1009 } 1010 } 1011 } 1012}; 1013PSGA.distributeToGaTrackers = function() { 1014 const args = [].slice.call(arguments); 1015 request = args.shift(); 1016 ga(PSGA.distributor(request, args)); 1017 1018 //Convert legacy requests and send to GA4 1019 if (request === 'send' && args && args[0]) { 1020 const legacyHitData = args[0]; 1021 //handle legacy events, usually from polymer apps 1022 if (legacyHitData.hitType === 'event' && legacyHitData.eventAction) { 1023 const eventObj = { 1024 event_category: legacyHitData.eventCategory, 1025 event_type: 'legacy', 1026 ...(legacyHitData.eventValue && { event_value: legacyHitData.eventValue }), 1027 ...(legacyHitData.eventLabel && { event_value: legacyHitData.eventLabel }) 1028 } 1029 gtag('event', legacyHitData.eventAction, eventObj); 1030 } 1031 } 1032}; 1033PSGA.sendGaEvent = function(category, action) { 1034 this.distributeToGaTrackers('send', { 1035 'hitType': 'event', 1036 'eventCategory': category, 1037 'eventAction': action 1038 }); 1039}; 1040 1041 1042var uaid = 'UA-3783380-24'; 1043var dimensions = {}; 1044PSGA.initGa(uaid, 'ps'); 1045uaid = 'UA-3783380-16'; 1046PSGA.initGa(uaid, 'c2'); 1047dimensions.dimension1 = 'U0000331zz_rV__4'; 1048dimensions.dimension2 = 'Visitor'; 1049dimensions.dimension3 = 'Otis'; 1050
1051PSGA.initDynamicGA = PSGA.initDynamicGA || []; 1052PSGA.initDynamicGA.forEach(function(gaData) { 1053 PSGA.initGa(gaData.uaid, gaData.name); 1054}); 1055 1056ga('set', 'transport', 'beacon'); 1057if (Object.keys(dimensions).length) PSGA.distributeToGaTrackers('set',dimensions); 1058</script>
1058 1059 1060 1061<!-- Google Tag Manager Data Layer Construction -->
1062<script> 1063 if (!window.PSGTMDataLayer) PSGTMDataLayer = []; 1064 PSGTMDataLayer.push({"ACCOUNT_TYPE":"core","IS_PORTAL":false,"SITE_OWNER_ID":"U0000331zz_rV__4"}); 1065</script>
1065 1066 1067<!-- Google Tag Manager -->
vendor: 62 bytes, lines 1067-1068
1067 1068<noscript><iframe src="//www.googletagmanager.com/ns.html?id=
1068GTM-NT5Z57
vendor: 83 bytes, lines 1068-1069
1068" 1069height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1070<script>
vendor: 328 bytes, lines 1070-1075
1070(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push( 1071{'gtm.start': new Date().getTime(),event:'gtm.js'} 1072);var f=d.getElementsByTagName(s)[0], 1073j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1074'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1075})(window,document,'script','PSGTMDataLayer','
1075GTM-NT5Z57
vendor: 3 bytes, line 1075
1075');
1075</script>
1075 1076<!-- End Google Tag Manager --> 1077
1078<script type="text/javascript"> 1079var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 1080document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 1081</script>
vendor: 2 bytes, line 1081
1081
1082<script type="text/javascript"> 1083try { 1084var pageTracker = _gat._getTracker("UA-7843183-1"); 1085pageTracker._trackPageview(); 1086} catch(err) {}</script>
vendor: 1 bytes, line 1086
1086
1087<script type="text/javascript" src="https://www.jamesmccauley.com/js/APP/1788533357/logFrame.js"></script>
1087 1088 1089</body> 1090</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.