PageSourceSearch

https://images.adoptapet.com/js/public.js

js adoptapet.com collected 2026-09-24 08:48:41 UTC 11,519 bytes, 299 lines download raw bytes

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.