PageSourceSearch

https://www.befrugal.com/js/BeFrugalRewardsDownload.js?v=NOXBDQK7DgAhbV42CgasVDBPDgTS7Yf_PbLiMNEdeT8

js befrugal.com collected 2026-09-24 09:19:10 UTC 23,790 bytes, 330 lines download raw bytes

1function BeFrugalRewardsInit() {
2    $(document).on('click', '#dvFirefoxRwdInstall #dvFirefoxRwdInstall_bfrl_closeButton', function (e) {
3        document.getElementById("dvFirefoxRwdInstall").style.display = "none";
4    });
5
6    $(document).on('click', '#dvFirefoxRwdInstall #dvFirefoxRwdInstall_instructionPop_dvRestart', function (e) {
7        window.open("/toolbar/download/?source=30", "_self");
8    });
9
10    let isFirefox = false;
11    if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
12        isFirefox = true;
13    }
14
15    let rewards_visibility_checked_counter= 0;
16    let brcArray = document.querySelectorAll('#BeFrugalRewardsDownloadConfig');
17    if (brcArray.length === 0) return;
18
19    for (let brConfigNum = 0; brConfigNum < brcArray.length; brConfigNum++) {
20        let brc = brcArray[brConfigNum];
21        if (!brc.value || brc.value.length == 0) continue;
22
23        let config = JSON.parse(brc.value);
24
25        var BeFrugalRewardsLinkCH = config.DownloadPath;
26
27        if (config.DownloadButtons.length > 0) {
28            var rewards_pop_visibility_checked_counter = 0;
29            $(document).on('click', config.DownloadButtons.join(','), async function (event) {
30                let source = $(event.target).attr('source') || config.Source;
31                let targetOverride = config.ClickTarget || "_blank";
32                let browserOverride = $(event.target).attr('browser') || "Chrome";
33                if (isFirefox) browserOverride = "Firefox";
34                let retailerId = $(event.target).attr('retailerId') || 0;
35                let offerId = $(event.target).attr('offerId') || 0;
36
37                if (source === "28" || source === "31" || source === "33") {
38                    if (browserOverride === "Firefox") {
39                        targetOverride = "_self";
40                        document.getElementById("dvFirefoxRwdInstall").style.display = "block";
41                    }
42                    window.open(BeFrugalRewardsLinkCH + "?source=" + source + "&retailerID=" + retailerId + "&offerId=" + offerId, targetOverride);
43                    var visibilityRewardsPop = function (e) {
44                        e.stopPropagation();
45                        e.stopImmediatePropagation();
46                        if (document.visibilityState === 'visible' && rewards_pop_visibility_checked_counter < 5) {
47                            if (rewards_pop_visibility_checked_counter === 0) {
48                                setTimeout(function () { rewards_pop_visibility_checked_counter = 1; }, 60000);
49                            }
50                            rewards_pop_visibility_checked_counter = rewards_pop_visibility_checked_counter + 1;
51                            GetIsBefrugalRewardSearchInstalled(function (rewardsInstalled) {
52                                if (rewardsInstalled) {
53                                    document.removeEventListener("visibilitychange", visibilityRewardsPop);
54                                    window.location.reload();
55                                }
56                            });
57                        }
58                    };
59
60                    if (rewards_pop_visibility_checked_counter === 0) {
61                        document.addEventListener("visibilitychange", visibilityRewardsPop);
62                        $(document).one('bf:shellload', function () {
63                            document.removeEventListener("visibilitychange", visibilityRewardsPop);
64                        });
65                    }
66                    return;
67                }
68
69                GetIsBefrugalRewardsInstalled(function (bAlreadyDownloaded) {
70                    if (bAlreadyDownloaded) {
71                        let newTabEvent = new Event('OpenRewardNewTab');
72                        document.body.dispatchEvent(newTabEvent);
73                    }
74                    else {
75                        if (rewards_visibility_checked_counter === 0) {
76                            rewards_visibility_checked_counter = 1;
77                            document.addEventListener("visibilitychange", function (e) {
78                                let readKeepChangesCookie = function () {
79                                    var ca = document.cookie.split(';');
80                                    for (var i = 0; i < ca.length; i++) {
81                                        var c = ca[i];
82                                        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
83                                        if (c.indexOf("RewardsManualKeepChanges=") == 0) return c.substring("RewardsManualKeepChanges=".length, c.length);
84                                    }
85                                    return null;
86                                }
87                                let keepChangesCookie = readKeepChangesCookie();
88                                if (keepChangesCookie && keepChangesCookie === "1") {
89                                    e.stopPropagation();
90                                    e.stopImmediatePropagation();
91                                    if (document.visibilityState === 'visible' && rewards_visibility_checked_counter < 5) {
92                                        rewards_visibility_checked_counter = rewards_visibility_checked_counter + 1;
93                                        GetIsBefrugalRewardsInstalled(function (bAlreadyDownloaded) {
94                                            if (bAlreadyDownloaded) rw_rewardsDialogDisplay();
95                                        });
96                                    }
97                                }
98                            });
99                        }
100                        window.open(BeFrugalRewardsLinkCH + "?source=" + source + "&retailerID=" + retailerId + "&offerId=" + offerId, targetOverride);
101                    }
102                });
103                return false;
104            });
105        }
106
107        async function GetIsBefrugalRewardsInstalled(callback) {
108            let url = '/ServicePages/BefrugalSiteWs/?handler=IsBeFrugalRewardsInstalled';
109            let resp = await fetch(url, {
110                headers: {
111                    'Content-Type': 'application/json',
112                    Accept: 'application/json',
113                }
114            });
115            if (resp.ok) {
116                var b = await resp.json();
117                callback(b);
118            }
119            else {
120                callback(false);
121            }
122        }
123
124        async function GetIsBefrugalRewardSearchInstalled(callback) {
125            let url = '/ServicePages/BefrugalSiteWs/?handler=IsBeFrugalRewardSearchInstalled';
126            let resp = await fetch(url, {
127                headers: {
128                    'Content-Type': 'application/json',
129                    Accept: 'application/json',
130                }
131            });
132            if (resp.ok) {
133                var b = await resp.json();
134                callback(b);
135            }
136            else {
137                callback(false);
138            }
139        }
140    } 
141}
142BeFrugalRewardsInit();
143$(document).on('bf:shellload', BeFrugalRewardsInit);
144
145document.addEventListener('endRewardsInstall', function (e) {
146    window.open("/addon/installationcomplete/", "_self");
147});
148
149function rw_rewardsDialogDisplay() {
150
151    //our popup will be active so close this other one
152    $('.FullAttentionPopup').hide();
153
154
155    let readRewardsFlowCookie = function() {
156        var ca = document.cookie.split(';');
157        for (var i = 0; i < ca.length; i++) {
158            var c = ca[i];
159            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
160            if (c.indexOf("RewardsFlow=") == 0) return c.substring("RewardsFlow=".length, c.length);
161        }
162        return null;
163    }
164
165    let rw_detail = readRewardsFlowCookie();
166    if (rw_detail) {
167        rw_detail = JSON.parse(decodeURIComponent(rw_detail));
168
169        rw_detail.pointAmount = 300;
170        rw_detail.pointAmount2 = 50;
171
172        if (rw_detail.CashBackRate) {
173            rw_detail.CashBackRate = rw_detail.CashBackRate + (rw_detail.CashBackRate.indexOf("Cash Back") < 0 ? " Cash Back" : "");
174        }
175        let isDeal = rw_detail.OfferId && rw_detail.OfferId > 0;
176        let imageUrl = isDeal ? rw_detail.OfferImageUrl : rw_detail.Logo;
177        if (imageUrl) {
178            imageUrl = (/^https?:/i.test(imageUrl) ? "" : "https:") + imageUrl;
179        }
180        //Create Elements
181        let element_1 = document.createElement("div");
182        let element_1_1 = document.createElement("div");
183        let element_1_1_2 = document.createElement("div");
184        let element_1_1_2_1 = document.createElement("img");
185        let element_1_1_2_2 = document.createElement("div");
186        let element_1_1_2_2_1 = document.createElement("img");
187        let element_1_1_2_2_2 = document.createElement("img");
188        let element_1_1_2_3 = document.createElement("div");
189        let element_1_1_2_3_1 = document.createElement("span");
190        let element_1_1_2_3_2 = document.createElement("span");
191        let element_1_1_2_3_2_1 = document.createElement("span");
192        let element_1_1_2_4 = document.createElement("div");
193        let element_1_1_2_4_1 = document.createElement("span");
194        let element_1_1_2_4_2 = document.createElement("span");
195        let element_1_1_2_4_2_1 = document.createElement("span");
196        let element_1_1_2_4_3 = document.createElement("span");
197        let element_1_1_2_5 = document.createElement("div");
198        let element_1_1_2_5_1 = document.createElement("span");
199        let element_1_1_2_5_1_1 = document.createElement("span");
200        let element_1_1_2_6 = document.createElement("div");
201
202        //Create Text Nodes
203        let textNode_1_1_2_3_1_1 = document.createTextNode("Congrats!");
204        let textNode_1_1_2_3_1 = document.createTextNode(" Rewards successfully activated and you earned ");
205        let textNode_1_1_2_3_2_1_1 = document.createTextNode(rw_detail.pointAmount2);
206        let textNode_1_1_2_3_2_1 = document.createTextNode(" Points");
207        let textNode_1_1_2_4_1 = document.createTextNode("Complete your purchase at ");
208        let textNode_1_1_2_4_1_1 = document.createTextNode(rw_detail.RetailerName);
209        let textNode_1_1_2_4_2 = document.createTextNode(" to earn additional ");
210        let textNode_1_1_2_4_2_1_1 = document.createTextNode(rw_detail.pointAmount);
211        let textNode_1_1_2_4_2_1 = document.createTextNode(" Points");
212        let textNode_1_1_2_4_3 = document.createTextNode(" plus ");
213        let textNode_1_1_2_5_1 = document.createTextNode("Make a Cash Back eligible purchase of $10 or more to earn");
214        let textNode_1_1_2_5_1_1_1 = document.createTextNode(rw_detail.pointAmount);
215        let textNode_1_1_2_5_1_1 = document.createTextNode(" Points");
216
217        //Set Attributes
218        element_1.setAttribute("id", "rw_chromeInstallationOverlay");
219        element_1.setAttribute("style", "display: block; background-color: rgba(102, 102, 102, 0.7);z-index: 2147483647 !important; position: fixed;top: 0;bottom: 0;left: 0;right: 0;");
220        element_1_1.setAttribute("style", "background-position: 0% 0%; background-color: initial; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; background-image: none !important; background-repeat: repeat !important; background-attachment: scroll !important;    z-index: 20001;width: 90%; text-align: left; height: 468px; position: fixed;left: 50%;top: 320px;transform: translate(-50%, -50%);font-family: Roboto, Arial !important;all: initial;");
221        element_1_1_2.setAttribute("id", "rw_installRetailer");
222        element_1_1_2.setAttribute("style", "background-color: #FFF; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);padding: 20px;border-radius: 14px;width: 525px;font-size: 18px;");
223        element_1_1_2_1.setAttribute("id", "rw_imgInstallRetailerPointsIcon");
224        element_1_1_2_1.setAttribute("src", "data:image/png;base64,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");
225        element_1_1_2_1.setAttribute("style", "width: 24px; position: absolute;height: auto;");
226        element_1_1_2_2.setAttribute("style", "width: 100%;text-align: center;padding: 0;");
227        element_1_1_2_2_1.setAttribute("id", "rw_imgInstallDeal");
228        element_1_1_2_2_1.setAttribute("style", (!isDeal ? "display:none;" : "") + "width: 180px;margin: auto;");
229        if (isDeal) element_1_1_2_2_1.setAttribute("src", imageUrl);
230        else element_1_1_2_2_2.setAttribute("src", imageUrl);
231        element_1_1_2_2_2.setAttribute("id", "rw_imgInstallRetailer");
232        element_1_1_2_2_2.setAttribute("style", (isDeal ? "display:none;" : "") + "width: 160px; margin: auto; font-size: 18px; padding: 16px;height: auto;");
233        element_1_1_2_3.setAttribute("style", "padding: 10px 20px;");
234        element_1_1_2_3_1.setAttribute("style", "font-weight:600");
235        element_1_1_2_3_2.setAttribute("style", "font-weight:600; color: #003399");
236        element_1_1_2_3_2_1.setAttribute("id", "rw_installDailyPoints");
237        element_1_1_2_4.setAttribute("id", "rw_dvInstallHasCashBack");
238        element_1_1_2_4.setAttribute("style", "padding: 10px 20px;");
239        element_1_1_2_4_1.setAttribute("id", "rw_installRetailerName");
240        element_1_1_2_4_1.setAttribute("style", "font-weight:600");
241        element_1_1_2_4_2.setAttribute("style", "font-weight:600; color: #003399");
242        element_1_1_2_4_2_1.setAttribute("id", "rw_installShoppingPoints");
243        element_1_1_2_4_3.setAttribute("id", "rw_installRetailerCashBack");
244        element_1_1_2_4_3.setAttribute("style", "font-weight:600; color:#199402");
245        if (rw_detail.CashBackRate) element_1_1_2_4_3.innerText = rw_detail.CashBackRate;
246        else { element_1_1_2_4.style.display = "none"; element_1_1_2_2_2.style.display = "none"; element_1_1_2_5.style.display = "block"; }
247        element_1_1_2_5.setAttribute("id", "rw_dvInstallNoCashBack");
248        element_1_1_2_5.setAttribute("style", "display:none;");
249        element_1_1_2_5_1.setAttribute("style", "font-weight:600; color: #003399");
250        element_1_1_2_5_1_1.setAttribute("id", "rw_installShoppingPoints2");
251        element_1_1_2_6.setAttribute("id", "rw_installRetailerGotIt");
252        element_1_1_2_6.setAttribute("style", "padding: 10px 55px;margin: auto; width: 75px; background-color: #002266; box-shadow: 0px 2px 4px #00000054;color: white;border-radius: 30px; margin-top: 30px;margin-bottom: 25px;text-align: center!important;cursor: pointer;");
253        element_1_1_2_6.innerText = "Got It";
254
255        //Append Children
256        var shadow = element_1.attachShadow({ mode: "closed" });
257        document.body.appendChild(element_1);
258        shadow.appendChild(element_1_1);
259        element_1_1.appendChild(element_1_1_2);
260        element_1_1_2.appendChild(element_1_1_2_1);
261        element_1_1_2.appendChild(element_1_1_2_2);
262        element_1_1_2_2.appendChild(element_1_1_2_2_1);
263        element_1_1_2_2.appendChild(element_1_1_2_2_2);
264        element_1_1_2.appendChild(element_1_1_2_3);
265        element_1_1_2_3.appendChild(element_1_1_2_3_1);
266        element_1_1_2_3_1.appendChild(textNode_1_1_2_3_1_1);
267        element_1_1_2_3.appendChild(textNode_1_1_2_3_1);
268        element_1_1_2_3.appendChild(element_1_1_2_3_2);
269        element_1_1_2_3_2.appendChild(element_1_1_2_3_2_1);
270        element_1_1_2_3_2_1.appendChild(textNode_1_1_2_3_2_1_1);
271        element_1_1_2_3_2.appendChild(textNode_1_1_2_3_2_1);
272        element_1_1_2.appendChild(element_1_1_2_4);
273        element_1_1_2_4.appendChild(textNode_1_1_2_4_1);
274        element_1_1_2_4.appendChild(element_1_1_2_4_1);
275        element_1_1_2_4_1.appendChild(textNode_1_1_2_4_1_1);
276        element_1_1_2_4.appendChild(textNode_1_1_2_4_2);
277        element_1_1_2_4.appendChild(element_1_1_2_4_2);
278        element_1_1_2_4_2.appendChild(element_1_1_2_4_2_1);
279        element_1_1_2_4_2_1.appendChild(textNode_1_1_2_4_2_1_1);
280        element_1_1_2_4_2.appendChild(textNode_1_1_2_4_2_1);
281        element_1_1_2_4.appendChild(textNode_1_1_2_4_3);
282        element_1_1_2_4.appendChild(element_1_1_2_4_3);
283        element_1_1_2.appendChild(element_1_1_2_5);
284        element_1_1_2_5.appendChild(textNode_1_1_2_5_1);
285        element_1_1_2_5.appendChild(element_1_1_2_5_1);
286        element_1_1_2_5_1.appendChild(element_1_1_2_5_1_1);
287        element_1_1_2_5_1_1.appendChild(textNode_1_1_2_5_1_1_1);
288        element_1_1_2_5_1.appendChild(textNode_1_1_2_5_1_1);
289        element_1_1_2.appendChild(element_1_1_2_6);
290
291        //events
292        element_1_1_2_6.addEventListener("click", () => {
293            window.location.reload();
294        });
295    }
296}
297
298document.addEventListener('applyRewardSearchConversion', function (e) {
299
300    let step1Hide = document.querySelectorAll("#dvFirefoxRwdInstall_FFAlmostDone");
301    if (step1Hide && step1Hide.length > 0) {
302        for (let i = 0; i < step1Hide.length > 0; i++)
303            step1Hide[i].style.display = "none";
304    }
305
306    let step2Show = document.querySelectorAll("#dvFirefoxRwdInstall_ffKeepChanges");
307    if (step2Show.length > 1) {
308        step2Show[0].style.display = "none";
309        step2Show[step2Show.length - 1].style.display = "block";
310    }
311
312    if (/Macintosh/i.test(window.navigator.userAgent)) {
313
314        let confs = document.querySelectorAll("#confDetector");
315        if (confs && confs.length > 0) {
316            for (let i = 0; i < confs.length > 0; i++)
317                step1Hide[i].addEventListener("mouseover", function () {
318                    var evt = document.createEvent('Event');
319                    evt.initEvent('endRewardsInstall', true, false);
320                    document.dispatchEvent(evt);
321                });
322        }
323
324        setTimeout(function () {
325            var evt = document.createEvent('Event');
326            evt.initEvent('endRewardsInstall', true, false);
327            document.dispatchEvent(evt);
328        }, 30000);
329    }
330});

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.