PageSourceSearch

https://www.oceanstatecu.org/mstinc/grp/web_banner/js/web_banner.js

js oceanstatecu.org collected 2026-10-05 20:13:28 UTC 27,497 bytes, 811 lines download raw bytes

1"use strict";
2
3(function ($) {
4  $.mobile_dropdown = function (params) {
5    //check abort cases:
6    if (!$ || !$.fn.jquery) {
7      if (typeof console != "undefined" && typeof console.log != "undefined")
8        console.log(
9          "Global JS: Mobile Alert - Aborting because jQuery does not exist"
10        );
11      return;
12    }
13    var jQuery_version = $.fn.jquery.split(".");
14    if (jQuery_version.length < 2) {
15      if (typeof console != "undefined" && typeof console.log != "undefined")
16        console.log(
17          "Global JS: Mobile Alert - Aborting because jQuery version number " +
18            "does not contain minor and major version numbers"
19        );
20      return;
21    }
22    var jQuery_majorVersion = parseInt(jQuery_version[0]);
23    var jQuery_minorVersion = parseInt(jQuery_version[1]);
24    if (
25      jQuery_majorVersion < 1 ||
26      (jQuery_majorVersion === 1 && jQuery_minorVersion < 7)
27    ) {
28      if (typeof console != "undefined" && typeof console.log != "undefined")
29        console.log(
30          "Global JS: Mobile Alert - Aborting because jQuery version is not at least 1.7"
31        );
32      return;
33    }
34    // Framebusting code: if this is in a frame we shouldnt load the dropdown
35    if (
36      self.location.href != top.location.href ||
37      self.location.href.indexOf("onlineserv/HB") != -1 ||
38      self.location.href.indexOf("/bridge/") != -1 ||
39      self.location.href.indexOf("/preprod/") != -1 ||
40      self.location.href.indexOf("/disclosure") != -1 ||
41      self.location.href.indexOf("OnlineForm.cgi") != -1 ||
42      self.location.href.indexOf("onlineserv/HB/logout.html") != -1 ||
43      self.location.href.indexOf("usp/landing_dpv") != -1 ||
44      self.location.href.indexOf("ofs/live/forms") != -1 ||
45      self.location.href.indexOf("noGRS") != -1
46    ) {
47      return;
48    }
49    /*if ( document.compatMode.indexOf('BackCompat') != -1 ) {
50        	return;
51        }*/
52    var quirks = document.documentMode;
53    if (quirks == 5) {
54      return;
55    }
56
57    function getUrlVar(pkey) {
58      var results = new RegExp(pkey + "=([^&]*)", "i").exec(
59        window.location.search
60      );
61      return (results && results[1]) || "";
62    }
63
64    //setup cookie function
65    var cookie = function (key, value, options) {
66      // key and value given, set cookie...
67      if (
68        arguments.length > 1 &&
69        (value === null || typeof value !== "object")
70      ) {
71        if (!options || typeof options != "object") options = {};
72
73        if (value === null) {
74          options.expires = -1;
75        }
76
77        if (typeof options.expires === "number") {
78          var days = options.expires,
79            t = (options.expires = new Date());
80          t.setDate(t.getDate() + days);
81        }
82
83        return (document.cookie = [
84          encodeURIComponent(key),
85          "=",
86          options.raw ? String(value) : encodeURIComponent(String(value)),
87          options.expires ? "; expires=" + options.expires.toUTCString() : "", // use expires attribute, max-age is not supported by IE
88          options.path ? "; path=" + options.path : "; path=/",
89          options.domain ? "; domain=" + options.domain : "",
90          options.secure ? "; secure" : "",
91        ].join(""));
92      }
93
94      // key and possibly options given, get cookie...
95      options = value || {};
96      var result,
97        decode = options.raw
98          ? function (s) {
99              return s;
100            }
101          : decodeURIComponent;
102      return (result = new RegExp(
103        "(?:^|; )" + encodeURIComponent(key) + "=([^;]*)"
104      ).exec(document.cookie))
105        ? decode(result[1])
106        : null;
107    }; // .cookie()
108
109    //setup default properties
110    var default_params = {
111      attr: {
112        fi_name: "Your Financial Institution",
113        di_num: "none",
114        url: {
115          dpad: false,
116          droid: false,
117          itunes: false,
118          ipad: false,
119        },
120      },
121      app_alert: {
122        active: false,
123        ie8_disable: false,
124        animate_disable: true,
125        menu_fix: false,
126        is_third_party: false,
127        ib_url: false,
128        mobile_settings_file: false,
129        droidfix: false,
130        droidclick: "",
131        ga_account: "UA-34266234-1",
132        cookie_name: "MstIncGlobal_mobile_app_alert",
133        cookie_name_droid: "MstIncGlobal_droid_app_alert",
134        onclick: "",
135        bg: false,
136        learn_more: false,
137        blacklist: false,
138        variance: false,
139        qr: false,
140      },
141      lifecycle: {
142        active: false,
143      },
144      product: {
145        rdc: false,
146        atm: false,
147        cma: false,
148        mbp: false,
149      },
150      ttob: {
151        active: false,
152        url: "",
153        sweeps: false,
154      },
155      T2D: {
156        active: false,
157      },
158      is_third_party: false,
159    };
160
161    //console.log( params.toSource() );
162
163    //merge passed parameters with default, precendence on the passed parameters
164
165    //$.mobile_dropdown.test = function() { alert('here'); };
166    this.getFiData = function () {
167      if (params.is_third_party) {
168        $.ajax({
169          async: false,
170          dataType: "jsonp",
171          cache: false,
172          url:
173            "//www." +
174            params.ib_url +
175            "/mstinc/grp/acc_mobile/settings/" +
176            params.mobile_settings_file +
177            ".json",
178          jsonpCallback: "acc_mobile_inject",
179          success: function (json) {
180            //console.log( json.toSource() );
181            params = $.extend(true, default_params, json, params);
182            if (typeof params.ttob.active == "string") {
183              params.ttob.active = params.ttob.active == "true";
184            }
185
186            //console.log( params.toSource() );
187            //console.log( "TP - " + params.toSource() );
188            if (params.lifecycle.active || params.ttob.active) {
189              params.app_alert.cookie_name = "webAccelBanner";
190              $.mobile_dropdown.build_banner();
191            } else {
192              params.app_alert.cookie_name = false;
193            }
194            return true;
195          },
196          error: function (err) {
197            alert("fail");
198          },
199        });
200      } else {
201        $.ajax({
202          async: false,
203          dataType: "json",
204          url: "/settings.js2",
205          cache: false,
206          success: function (json) {
207            params = $.extend(true, default_params, json, params);
208            var dparam = getUrlVar("accel");
209            if (typeof params.ttob.active == "string") {
210              params.ttob.active = params.ttob.active == "true";
211            }
212            var cookieparam = getUrlVar("mdsh");
213            //var cookieparam = MstIncGlobal.cookie("acc_mobile_test");
214            //var cookieparam = false;
215            //console.log( "TP - " + params.toSource() );
216            //
217            console.log(params);
218            if (params.lifecycle.active || params.ttob.active) {
219              params.app_alert.cookie_name = "webAccelBanner";
220              $.mobile_dropdown.build_banner();
221            } else {
222              params.app_alert.cookie_name = false;
223            }
224            return true;
225          },
226          error: function (err) {
227            return false;
228          },
229        });
230      }
231    };
232
233    //*************************** Setup helper functions ************************//
234
235    params.domain = top.document.location.href
236      .split("/")[2]
237      .replace("www.", "");
238
239    //browser detection
240    params.iPhone =
241      navigator.userAgent.indexOf("iPhone") > -1 ||
242      navigator.userAgent.indexOf("iPod") > -1
243        ? true
244        : false;
245    params.iPad = navigator.userAgent.indexOf("iPad") > -1 ? true : false;
246    params.android = navigator.userAgent.indexOf("Android") > -1 ? true : false;
247
248    $.mobile_dropdown.close_pad = function () {
249      _gaGRS("send", {
250        hitType: "event",
251        eventCategory: "iPad webAccelBanner",
252        eventAction: "Close",
253        eventLabel: params.attr.di_num,
254      });
255      $(
256        "#mstinc_mobile_alert_container, #mstinc_mobile_alert_background"
257      ).hide();
258      cookie(params.app_alert.cookie_name, params.cookie_count, {
259        expires: 365,
260      });
261      return false;
262    };
263    $.mobile_dropdown.close_droid = function () {
264      _gaGRS("send", {
265        hitType: "event",
266        eventCategory: "Android webAccelBanner",
267        eventAction: "Close",
268        eventLabel: params.attr.di_num,
269      });
270      $("#mstinc_mobile_android_container").hide();
271      cookie(params.app_alert.cookie_name_droid, params.cookie_count_droid, {
272        expires: 365,
273      });
274      $("body").css({ "background-position": "0px 0px", "margin-top": "0px" });
275      //_gaq.push(['grs._trackEvent', 'iPad Popup', 'Close Popup', params.domain]);
276      return false;
277    };
278    var bannerType = "";
279    $.mobile_dropdown.close_drop = function (bannerType) {
280      //$('body').css({"background-position": "0 0"});
281      cookie(params.app_alert.cookie_name, params.cookie_count, {
282        expires: 365,
283      });
284      return false;
285    };
286
287    var banner = "";
288    // BEGIN TEST SETTINGS
289    // params.ttob = {
290    // "active": true,
291    // "sweeps": false,
292    // "url": "https://turbotax.intuit.com/affiliate/wester2"
293    // };
294    // END TEST SETTINGS
295
296    var open_drop = function (banner) {
297      if (params.lifecycle.active || params.ttob.active) {
298        _gaGRS("send", {
299          hitType: "event",
300          eventCategory: "webAccelBanner",
301          eventAction: "Open Banner",
302          eventLabel: params.attr.di_num,
303        });
304      }
305      return false;
306    };
307
308    console.log(params);
309    //*************************** Setup helper functions ************************//
310
311    $.mobile_dropdown.build_banner = function () {
312      function getRandomInt(min, max) {
313        return Math.floor(Math.random() * (max - min + 1)) + min;
314      }
315
316      var random = 1;
317      /* BEGIN Google's Universal Analytics */
318
319      params.app_alert.ga_account = "UA-41942728-5";
320
321      (function (i, s, o, g, r, a, m) {
322        i["GoogleAnalyticsObject"] = r;
323        (i[r] =
324          i[r] ||
325          function () {
326            (i[r].q = i[r].q || []).push(arguments);
327          }),
328          (i[r].l = 1 * new Date());
329        (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
330        a.async = 1;
331        a.src = g;
332        m.parentNode.insertBefore(a, m);
333      })(
334        window,
335        document,
336        "script",
337        "//www.google-analytics.com/analytics.js",
338        "_gaGRS"
339      );
340
341      _gaGRS("create", params.app_alert.ga_account, { cookieName: "_gaGRS" });
342      _gaGRS("set", { campaignName: "webAccelBanner" });
343      _gaGRS("send", "pageview");
344
345      // if user closed dropdown twice, no longer show it
346      var noApps = false;
347      params.cookie_count = cookie(params.app_alert.cookie_name);
348      if (!params.attr.url.itunes || !params.attr.url.droid) {
349        noApps = true;
350      }
351
352      if (
353        !cookie(params.app_alert.cookie_name) ||
354        cookie(params.app_alert.cookie_name) < 2
355      ) {
356        params.cookie_count = 1;
357
358        if (cookie(params.app_alert.cookie_name)) {
359          params.cookie_count =
360            parseInt(cookie(params.app_alert.cookie_name)) + 1;
361        }
362      } else {
363        return;
364      }
365      //Determine which banner they should see this time. Need to have cookie val parsed by now
366      //if ( !cookie( 'bannerPosition') ) {
367      //reset all FIs to use new banner
368      cookie("bannerPosition", "0,0", { expires: 365 });
369      //}
370      var c = cookie("bannerPosition");
371      // convert cookie val to array
372      params.currentBanner = parseInt(c.split(",")[0]);
373      params.bannerShown = parseInt(c.split(",")[1]);
374
375      if (params.is_third_party) {
376        params.base_url = "https://www." + params.ib_url;
377        _gaGRS("send", {
378          hitType: "event",
379          eventCategory: "Third Party",
380          eventAction: top.document.location.href,
381          eventLabel: params.attr.di_num,
382        });
383      } else {
384        params.base_url = "";
385      }
386
387      // Given banner copy and an identifier, create dropdown with copy in text_block and run analytics function that adds GA events with JQ on('click' method. TODO - create analytics function
388
389      params.full_reg_url =
390        "https://" + params.attr.url.ib + "/tob/live/usp-core/app/register";
391      var today = new Date();
392      console.log(params);
393      const fis_in_campaign = [
394        "1010",
395        "1022",
396        "1085",
397        "1133",
398        "1139",
399        "1262",
400        "1328",
401        "1338",
402        "1359",
403        "1381",
404        "1384",
405        "1442",
406        "1501",
407        "1534",
408        "1559",
409        "1560",
410        "1566",
411        "1572",
412        "1598",
413        "1605",
414        "1608",
415        "1610",
416        "1642",
417        "1663",
418        "1668",
419        "1680",
420        "1683",
421        "1711",
422        "1724",
423        "3008",
424        "3031",
425        "3109",
426        "3119",
427        "3241",
428        "3357",
429        "3362",
430        "3414",
431        "3435",
432        "3454",
433        "3468",
434        "3503",
435        "3504",
436        "3507",
437        "3516",
438        "3542",
439        "3563",
440        "3633",
441        "3642",
442        "3648",
443        "3721",
444        "3723",
445        "3736",
446        "3767",
447        "3787",
448        "3792",
449        "3793",
450        "3854",
451        "3858",
452        "3922",
453        "3928",
454        "3935",
455        "3937",
456        "3944",
457        "3983",
458        "4008",
459        "4046",
460        "4090",
461        "4140",
462        "4166",
463        "4241",
464        "4261",
465        "4358",
466        "4375",
467        "4376",
468        "4404",
469        "4411",
470        "4425",
471        "4428",
472        "4441",
473        "4476",
474        "4496",
475        "4518",
476        "4519",
477        "4637",
478        "4644",
479        "4652",
480        "4857",
481        "4880",
482        "5039",
483        "5362",
484        "5366",
485        "5372",
486        "5409",
487        "5418",
488        "5433",
489        "5446",
490        "5448",
491        "5451",
492        "7044",
493        "7089",
494        "7168",
495        "7201",
496        "7254",
497        "7279",
498        "7301",
499        "7308",
500        "7312",
501        "7428",
502        "8010",
503        "8016",
504        "8050",
505        "8069",
506        "8072",
507        "8112",
508        "8131",
509        "8135",
510        "8137",
511        "8143",
512        "8150",
513        "8159",
514        "8167",
515        "9057",
516        "5299"
517      ];
518        //params.ttob.active
519      //if ( params.ttob.active) {
520	    if (false) {
521        var customBanner = function () {
522          $("head").append("<link>");
523          var css = $("head").children(":last");
524          css
525            .attr({
526              rel: "stylesheet",
527              type: "text/css",
528              href:
529                params.base_url + "/mstinc/grp/web_banner/css/web_banner.css",
530            })
531            .one("load", function () {
532              jQuery("head").append(
533                '<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">'
534              );
535
536              params.phrase = "";
537
538              if (params.ttob.url == "") {
539                params.ttob.url = "https://turbotax.intuit.com/";
540              }else if(params.ttob.url[0]!='h'){
541                  params.ttob.url = 'https://'+params.ttob.url
542              }
543		
544              
545	//Setting Sweeps to false since there is no sweepstakes for TurboTax Jan 2021.
546              params.ttob.sweeps = false;
547		var phraseParts = {
548                pre: "taxes off your list - save 10% on ",
549                link: "TurboTax",
550                post: ".",
551              };
552
553	     if (
554                params.ttob.tpw &&
555                params.ttob.tpw_msg &&
556                params.ttob.tpw_msg >= 1 &&
557                params.ttob.tpw_msg < 3
558              ) {
559                if (params.ttob.sweeps) {
560                  params.phrase =
561                    '<a href="' +
562                    params.ttob.url +
563                    '" onclick="return displayThirdPartyAlert("' +
564                    params.ttob.tpw_msg +
565                    '", this);" class="new_grs_link" target="_blank">Try TurboTax</a> by Feb 13<sup>th</sup> to enter to win $25K!';
566                } else if (params.ttob.extended) {
567                  if (random == 1) {
568                    params.phrase =
569                      phraseParts.pre +
570                      '<a href="' +
571                      params.ttob.url +
572                      '" onclick="return displayThirdPartyAlert(' +
573                      params.ttob.tpw_msg +
574                      ', this);" class="new_grs_link" target="_blank">' +
575                      phraseParts.link +
576                      "</a>" +
577                      phraseParts.post;
578                  } else if (random == 2) {
579                    params.phrase =
580                      'File simple returns free with <a href="' +
581                      params.ttob.url +
582                      '" onclick="return displayThirdPartyAlert(' +
583                      params.ttob.tpw_msg +
584                      ', this);" class="new_grs_link" target="_blank">TurboTax</a>.';
585                  }
586                } else {
587                  if (random == 1) {
588                    params.phrase =
589                      phraseParts.pre +
590                      '<a href="' +
591                      params.ttob.url +
592                      '" onclick="return displayThirdPartyAlert(' +
593                      params.ttob.tpw_msg +
594                      ', this);" class="new_grs_link" target="_blank">' +
595                      phraseParts.link +
596                      "</a>" +
597                      phraseParts.post;
598                  } else if (random == 2) {
599                    params.phrase =
600                      'File simple returns free with <a href="' +
601                      params.ttob.url +
602                      '" onclick="return displayThirdPartyAlert(' +
603                      params.ttob.tpw_msg +
604                      ', this);" class="new_grs_link" target="_blank">TurboTax</a>.';
605                  }
606                }
607              } else {
608                console.log("TPW is " + params.ttob.tpw);
609                console.log("TPW msg is " + params.ttob.tpw_msg);
610                if (params.ttob.sweeps) {
611                  params.phrase =
612                    '<a href="' +
613                    params.ttob.url +
614                    '" class="new_grs_link" target="_blank">Try TurboTax</a> by Feb 13<sup>th</sup> to enter to win $25K!';
615                } else if (params.ttob.extended) {
616                  if (random == 1) {
617                    params.phrase =
618                      phraseParts.pre +
619                      '<a href="' +
620                      params.ttob.url +
621                      '" class="new_grs_link" target="_blank">' +
622                      phraseParts.link +
623                      "</a>" +
624                      phraseParts.post;
625                  } else if (random == 2) {
626                    params.phrase =
627                      'File simple returns free with <a href="' +
628                      params.ttob.url +
629                      '" class="new_grs_link" target="_blank">TurboTax</a>.';
630                  }
631                } else {
632                  if (random == 1) {
633                    params.phrase =
634                      phraseParts.pre +
635                      '<a href="' +
636                      params.ttob.url +
637                      '" class="new_grs_link" target="_blank">' +
638                      phraseParts.link +
639                      "</a>" +
640                      phraseParts.post;
641                  } else if (random == 2) {
642                    params.phrase =
643                      'File simple returns free with <a href="' +
644                      params.ttob.url +
645                      '" class="new_grs_link" target="_blank">TurboTax</a>.';
646                  }
647                }
648              }
649
650              params.close =
651                '<div id="new_grs_alert_wrapper" class="ttob_close_wrapper"><div class="new_grs_alert_box_cc"><button id="new_grs_close" aria-label="Close this banner"></button></div></div>';
652
653              params.lc =
654                '<div id="new_grs_notification" class="new_grs_button"><p class="show-tablet show-desktop">' +
655                params.phrase +
656                '</p><p class="show-mobile">' +
657                params.phrase +
658                "</p></div>";
659
660              params.icon =
661                '<div class="new_grs_icon"><span id="ttob_icon"><img src="/mstinc/grp/web_banner/images/turbotax_logo.png" alt="TurboTax checkmark" /></span></div>';
662
663              //writing the content
664              jQuery("body").prepend(
665                '<div id="new_accelerate_banner"><div id="new_grs_container">' +
666                  params.icon +
667                  params.lc +
668                  "</div>" +
669                  params.close +
670                  "</div>"
671              );
672              jQuery("#new_accelerate_banner")
673                .show()
674                .animate({ bottom: "0px" }, 1000);
675
676              // replace with analytics function - cateogry is banner[0]
677              	jQuery("#new_accelerate_banner a").on("click", function (event) {
678                var lnk = $(this);
679                if (params.ttob.sweeps) {
680                  var action = "Click Banner TTOB-Sweepstakes";
681                } else {
682                  var action = "Click Banner TTOB";
683                }
684                var href = lnk.attr("href");
685                _gaGRS("send", {
686                  hitType: "event",
687                  eventCategory: "webAccelBanner",
688                  eventAction: action,
689                  eventLabel: params.attr.di_num,
690                });
691              });
692              jQuery("#new_grs_close").on("click", function () {
693                jQuery("#new_accelerate_banner").fadeOut(200);
694                return jQ18.mobile_dropdown.close_drop("web_banner");
695              });
696            });
697        };
698      } else if (params.lifecycle.active || params.lifecycle.active == "true") {
699        /*
700         * This lifecycle stanza links to the registration URL (params.full_reg_url just above) based off of the IB domain in settings.js2.
701         * If that is wrong, update the domain on WSC.
702         * Then reach out to GRS/Marketing (Rischa Trent or Ababa Mention) and give them the FI number and correct domain.
703         * This is to ensure that any scripts you run do not overwrite the data you corrected with their bad data in the FIRE database.
704         */
705        var customBanner = function () {
706          $("head").append("<link>");
707          var css = $("head").children(":last");
708          css
709            .attr({
710              rel: "stylesheet",
711              type: "text/css",
712              href:
713                params.base_url + "/mstinc/grp/web_banner/css/web_banner.css",
714            })
715            .one("load", function () {
716              jQuery("head").append(
717                '<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">'
718              );
719              jQuery("head").append(
720                '<link href="' +
721                  params.base_url +
722                  '/IBPrompt.css" rel="stylesheet">'
723              );
724
725              /*html_droid = params.attr.url.droid ? '<div class="app_button"><a target="_blank" href="'+ params.attr.url.droid +'" id="accel_droid_badge" onclick="'+params.app_alert.oncl
725ick+'"><img src="'+ params.base_url+'/mstinc/grp/acc_mobile/images/androidbadge.png" alt="Android Badge" /></a></div>' : '';*/
726              /*html_itunes = params.attr.url.itunes ? '<div class="app_button"><a target="_blank" href="'+ params.attr.url.itunes +'" id="accel_iphone_badge" onclick="'+params.app_alert.onclick+'"><img src="'+ params.base_url+'/mstinc/grp/acc_mobile/images/applebadge.png" alt="iPhone Badge" /></a></div>' : '';*/
727              /*html_mobile = noApps ? '<div class="app_button"><img src="'+ params.base_url+'/mstinc/grp/acc_mobile/images/badge_mobile.png" border="0" /></div>' : '';*/
728
729              /*params.learn_more = '<div class="learn_more" id="learn_more"><a target="_blank" href="'+ params.base_url + '/mstinc/grp/ulpOB" id="accel_learn_more">Learn More<img src="' + params.base_url + '/mstinc/grp/acc_mobile/images/closeTriangle.png" alt="Learn More Link" /></a></div>';*/
730              params.close =
731                '<div id="new_grs_alert_wrapper"><div class="new_grs_alert_box_cc"><button class="colorFront" id="new_grs_close" aria-label="Close this banner"></button></div></div>';
732
733              params.lc =
734                '<div id="new_grs_notification" class="new_grs_button"><p class="show-tablet show-desktop"><a href="' +
735                params.full_reg_url +
736                '" class="new_grs_link" target="_blank">Online Banking</a> makes it easier to manage your finances.</p><p class="show-mobile"><a href="' +
737                params.full_reg_url +
738                '" class="new_grs_link" target="_blank">Online Banking</a> made easy.</p></div>';
739
740              params.icon =
741                '<div class="new_grs_icon"><span class="colorFront" id="new_grs_icon"></span></div>';
742
743              //writing the content
744              jQuery("body").prepend(
745                '<div id="new_accelerate_banner"><div id="new_grs_container">' +
746                  params.icon +
747                  params.lc +
748                  "</div>" +
749                  params.close +
750                  "</div>"
751              );
752              jQuery("#new_accelerate_banner")
753                .show()
754                .animate({ bottom: "0px" }, 1000);
755
756              jQuery("#new_accelerate_banner").on("show", function () {});
757
758              // replace with analytics function - cateogry is banner[0]
759              jQuery("#new_accelerate_banner a").on("click", function (event) {
760                var lnk = $(this);
761                var action = "Click Banner";
762                var href = lnk.attr("href");
763                _gaGRS("send", {
764                  hitType: "event",
765                  eventCategory: "webAccelBanner",
766                  eventAction: action,
767                  eventLabel: params.attr.di_num,
768                });
769              });
770              jQuery("#new_grs_close").on("click", function () {
771                jQuery("#new_accelerate_banner").fadeOut(200);
772                return jQ18.mobile_dropdown.close_drop("web_banner");
773              });
774            });
775        };
776      }
777
778      var active_drop = true;
779      var text_spacer = "";
780      var mobile_app_content_styles = "";
781      var html_droid = "";
782      var html_itunes = "";
783      var html_mobile = "";
784      var html_text = "";
785
786      if ($(document).width() < 1005) {
787        text_spacer = "<br />";
788        mobile_app_content_styles = noApps
789          ? ' style="min-width: 760px;"'
790          : ' style="min-width: 760px;"';
791      } else {
792        text_spacer = "&nbsp;";
793        mobile_app_content_styles = noApps ? ' style=""' : "";
794      }
795
796      if ($("#MstIncGlobal_pos_rel").length == 0 && params.app_alert.active) {
797        var uFocus = document.activeElement;
798        $("body script").detach();
799        $("body").wrapInner('<div id="mobile_alert_wrap" ></div>');
800        uFocus.focus();
801      }
802
803      if (params.lifecycle.active || params.ttob.active) {
804        customBanner();
805        open_drop(params.gaCategory);
806        //dropdown_fix();
807      }
808    }; //build_banner
809    this.getFiData();
810  };
811})(jQ18);

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.