1 2function MM_preloadImages() { //v3.0 3 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 4 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 5 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 6} 7 8function MM_swapImgRestore() { //v3.0 9 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 10} 11 12function MM_findObj(n, d) { //v4.01 13 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 14 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 15 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 16 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 17 if(!x && d.getElementById) x=d.getElementById(n); return x; 18} 19 20function MM_swapImage() { //v3.0 21 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 22 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 23} 24 25function MM_goToURL() { //v3.0 26 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; 27 for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); 28} 29 30function MM_openBrWindow(theURL,winName,features) { //v2.0 31 window.open(theURL,winName,features); 32} 33 34function MM_jumpMenu(targ,selObj,restore){ //v3.0 35 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 36 if (restore) selObj.selectedIndex=0; 37} 38 39function hide(id) { 40 document.getElementById(id).style.display='none'; 41} 42 43function show(id) { 44 document.getElementById(id).style.display=''; 45} 46 47function submit_form() { 48 document.mail_page_form.submit(); 49} 50 51function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v4.0 52 var ok=false; document.MM_returnValue = false; 53 with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) { 54 ok=(plugins && plugins[plgIn]); 55 } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1 56 if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash; 57 else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir; 58 else ok=autoGo; } 59 if (!ok) theURL=altURL; if (theURL) window.location=theURL; 60} 61 62function MM_jumpMenu(targ,selObj,restore){ //v3.0 63 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 64 if (restore) selObj.selectedIndex=0; 65} 66 67 68$(function(){ 69 70 //gtm event tracks 71 var $tracks = $('a.track, input.track, button.track, div.track, li.track, span.track, img.track'), 72 pushLayer = function() { 73 var $this = $(this), 74 trackData = $(this).data('track'), 75 defaults = {"event": "eventTracker", "eventCat": "", "eventAct": "", "eventLbl": "" , "eventVal": 0 }; 76 77 $this.on('click', function() { 78 //console.log(trackData); 79 dataLayer.push($.extend({}, defaults, trackData)); 80 }); 81 82 }; 83 84 85 $tracks.each(pushLayer); 86 87 $('.small-search-form').on('submit', function() { 88 dataLayer.push({'event': 'eventTracker', 'eventCat': 'Find a Pet', 'eventAct': this.id, 'eventLbl': $(this).find('input[name=city_or_zip]').val(), 'eventVal': 0}); 89 }) 90 91 var url = window.location.href; 92 if(url.indexOf('&error=') != -1 && url.indexOf('emailid=') != -1) { 93 $('.scoop_signup').hide(); 94 $('.scoop_thankyou').show(); 95 $('.scoop_error').hide(); 96 } else if(url.indexOf('?emailid=') != -1) { 97 $('.scoop_signup').hide(); 98 $('.scoop_error').hide(); 99 $('.scoop_thankyou').show(); 100 } else if(url.indexOf('&error=') != -1) { 101 $('.scoop_signup').hide(); 102 $('.scoop_thankyou').hide(); 103 $('.scoop_error').show(); 104 } else { 105 return false; 106 } 107 108}); 109 110// mobile nav 111$( document ).ready(function() { 112 $('.toggler').on('click', function () { 113 var $this = $(this); 114 115 if ($this.hasClass('nav-tog')) { 116 $this.siblings('ul').toggleClass('is-open'); 117 } 118 }); 119 120 $('.nav-menu-item').on('click', function () { 121 $('.nav-submenu').removeClass('is-open'); 122 $(this).find('ul').toggleClass('is-open'); 123 }); 124 125//GA tracking in navigation 126 $('.nav-menu-item a, .nav-submenu-item a').on('click', function(e) { 127 128 var $this = $(this), 129 navitem = $(this).text(), 130 datalayer = { 131 "event": "eventTracker", 132 "eventCat": "Navigation", 133 "eventAct": "Mothership - Navigation", 134 "eventLbl": navitem, 135 "eventVal": { 136 "nonInteraction": 0 137 } 138 }; 139 dataLayer.push(datalayer); 140 }); 141}); 142 143//adblock detection 144function adBlockDetected() { 145 // setup the initial display on page load 146 var banner_state = $.cookie('AAP_adblockbannerflag'); 147 148 if( banner_state === "hidden" ) { 149 return; 150 } 151 152 $('body').prepend('<div class="ad-block-warning track">It looks like you have AdBlock turned on. Please consider turning it off or adding us to your whitelist. Our sponsors are passionate pet lovers who make it possible for us help so many pets.<div class="close_banner" data-track=\'{"eventCat": "Peanuts Movie", "eventAct": "AdBock", "eventLbl": "Banner Close"}\'><img src="/images/shelter/close_big.png" width="26" height="26"></div></div>'); 153 $('body').css('background-position', 'center 35px'); 154 dataLayer.push({'event': 'eventTracker', 'eventCat': 'Peanuts Movie', 'eventAct': 'AdBlock', 'eventLbl': 'AdBlock Detected', 'eventVal': 0}); 155} 156 157$( document ).ready(function() { 158 if(typeof blockAdBlock === 'undefined') { 159 adBlockDetected(); 160 } else { 161 blockAdBlock.onDetected(adBlockDetected); 162 } 163 164 // listen for the clicks 165 $('body').on('click', '.close_banner', function () { 166 $('.ad-block-warning').css('display', 'none'); 167 $('body').css('background-position', 'center top'); 168 $.cookie('AAP_adblockbannerflag', 'hidden', { expires: 365 * 5, path: '/' }); // update (or set) the cookie 169 }); 170}); 171 172//Janrain modal 173(function() { 174 if (typeof window.janrain !== 'object') window.janrain = {}; 175 if (typeof window.janrain.settings !== 'object') window.janrain.settings = {}; 176 177 /* _______________ can edit below this line _______________ */ 178 179 janrain.settings.tokenUrl = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '')+'/janrain'; 180 janrain.settings.tokenAction = 'event'; 181 janrain.settings.type = 'modal'; 182 janrain.settings.appId = 'pkhdpkpgpehlpncchjom'; 183 janrain.settings.appUrl = 'https://login.adoptapet.com'; 184 //janrain.settings.providers = ["facebook","googleplus","yahoo","microsoftaccount"]; 185 janrain.settings.providers = ["facebook","googleplus","yahoo","linkedin-oauth2"]; 186 janrain.settings.providersPerPage = '6'; 187 janrain.settings.format = 'two column'; 188 janrain.settings.actionText = 'Login with'; 189 janrain.settings.showAttribution = false;
190 janrain.settings.fontColor = '#333333'; 191 janrain.settings.fontFamily = 'arial'; 192 janrain.settings.backgroundColor = '#FFFFFF'; 193 janrain.settings.width = '392'; 194 janrain.settings.modalBorderColor = '#ffffff'; 195 janrain.settings.modalBorderRadius = '4'; 196 janrain.settings.modalBorderWidth = '9'; 197 janrain.settings.modalBorderOpacity = '1.0'; 198 janrain.settings.buttonBorderColor = '#CCCCCC'; 199 janrain.settings.buttonBorderRadius = '4'; 200 janrain.settings.buttonBackgroundStyle = 'gradient'; 201 janrain.settings.language = 'en'; 202 janrain.settings.linkClass = 'janrainEngage'; 203 janrain.settings.facebookAutoLogin = false; 204 205 /* _______________ can edit above this line _______________ */ 206 207 function isReady() { janrain.ready = true; }; 208 if (document.addEventListener) { 209 document.addEventListener("DOMContentLoaded", isReady, false); 210 } else { 211 window.attachEvent('onload', isReady); 212 } 213 214 var e = document.createElement('script'); 215 e.type = 'text/javascript'; 216 e.id = 'janrainAuthWidget'; 217 218 if (document.location.protocol === 'https:') { 219 e.src = 'https://rpxnow.com/js/lib/login.adoptapet.com/engage.js'; 220 } else { 221 e.src = 'https://widget-cdn.rpxnow.com/js/lib/login.adoptapet.com/engage.js'; 222 } 223 224 var s = document.getElementsByTagName('script')[0]; 225 s.parentNode.insertBefore(e, s); 226})(); 227 228/* 229 * janRainWidgetOnLoad() - trigger events for local action on JanRain JS API 230 */ 231function janrainWidgetOnload() { 232 janrain.events.onProviderLoginToken.addHandler(function (data) { 233 $.get(janrain.settings.tokenUrl, 234 {token: data.token}, 235 function(profileData) { 236 if (profileData.status === 1) { 237 var user = profileData.form_data; 238 // add GA tracking here 239 //dataLayer.push({'event':'AdopterLogin','eventCat':'Login','eventAct':'loginCompleted','eventLbl':user.last_provider}); 240 241 // profileData from server should contain profileData.form_data = '{ "unique_email_id": "1", "first_names": "Bob" }' 242 //$.cookie('UUID2', user.unique_email_id, { expires: 365 * 10, path: '/', domain: user.jrses_cookie_domain }); // update (or set) the cookie 243 //$.cookie(user.jrses_cookie_name, user.jrses_id, { expires: 365 * 10, path: '/', domain: user.jrses_cookie_domain }); // update (or set) the cookie 244 245 janrain.engage.signin.modal.close(); 246 location.reload(true); 247 } 248 else { 249 // add GA tracking here 250 //_trackEvent('AdopterLogin', 'loginFailed', 'providerName', response.provider); 251 launchJanRainError(profileData.error_message); 252 } 253 } 254 ); 255 return; 256 }); 257 janrain.events.onReturnExperienceFound.addHandler(function(response) { 258 //var name = $.cookie('welcome_info_name'); 259 //janrain.engage.signin.widget.setActionText("Welcome back "+name); 260 // add GA tracking here 261 //_trackEvent('Login', 'loginFailed', 'providerName', response.provider); 262 }); 263 janrain.events.onProviderLoginError.addHandler(function(response) { 264 launchJanRainError(response.err.msg); 265 // add GA tracking here 266 //_trackEvent('Login', 'loginFailed', 'providerName', response.provider); 267 }); 268}; 269 270function launchJanRainError(msg) { 271 // set and style the header 272 var header = "<h1>Oh no, something isn't right</h1>"; 273 // set and style the body 274 var content = "Let's try again."; 275 // button to close modal 276 var button = "<button class='start-over'>Start Over</button>" 277 // add the error message, if present 278 if (msg !== undefined && msg.length > 0) { 279 content += '<br/><span class="error">' + msg + '</span>'; 280 } 281 // div here is already a jquery object 282 var div = $('body').append("<div class='janrain-overlay'><div class='janrain-error'><div class='janrain-close'></div>" + header + content + button + "</div></div>"); 283 $('#janrainModal').hide(); 284 // close the modal when click start over button 285 $('.start-over').on('click', function(){ 286 janrain.engage.signin.widget.refresh(); 287 $('.janrain-error, .janrain-overlay').addClass('close-modal'); 288 $('#janrainModal').show(); 289 }); 290 // close all modals when you click the x 291 $('.janrain-close').on('click', function(){ 292 $('.janrain-error, .janrain-overlay').addClass('close-modal'); 293 janrain.engage.signin.modal.close(); 294 }); 295}; 296 297function addCopyrightYear() { 298 document.write(new Date().getFullYear()); 299}
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.