PageSourceSearch

https://www.myrateplan.com/sites/myrateplan.com/files/advagg_js/js…4nQpyCuPKEJwnNcrol5mAFqJZSIy_jJGSCkH77qM.js

js myrateplan.com collected 2026-09-25 20:12:15 UTC 13,908 bytes, 379 lines download raw bytes

1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId])
10/******/ 			return installedModules[moduleId].exports;
11
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			exports: {},
15/******/ 			id: moduleId,
16/******/ 			loaded: false
17/******/ 		};
18
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
22/******/ 		// Flag the module as loaded
23/******/ 		module.loaded = true;
24
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28
29
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35
36/******/ 	// __webpack_public_path__
37/******/ 	__webpack_require__.p = "";
38
39/******/ 	// Load entry module and return exports
40/******/ 	return __webpack_require__(0);
41/******/ })
42/************************************************************************/
43/******/ ([
44/* 0 */
45/***/ function(module, exports) {
46
47	/* jshint ignore:start */
48	(function($) {
49	  $(window).on('DOMContentLoaded load resize', function () {
50	    if (window.innerWidth <= 756) {
51	      var lastRadioInView = null,
52	          notVisibleCount = 0,
53	          position = null;
54	      $('.form-item-additional-lines').each(function (index) {
55	        if (index > 0) {
56	          $('#more-lines').remove();
57	          if (isElementVisible($('.form-item-additional-lines')[index]) === true) {
58	            if ($(this).hasClass('inview') === false) {
59	              $(this).addClass('inview');
60	            }
61	            lastRadioInView = this;
62	          }
63	          else {
64	            if (window.moreLinesClicked !== true) {
65	              $(this).removeClass('inview').after('<div id="more-lines">+</div>');
66	            }
67	            notVisibleCount++;
68	          }
69
70	          if (window.moreLinesClicked !== true && index == 10 && notVisibleCount > 0 && lastRadioInView !== null) {
71	            // Get position of last visible radio button.
72	            position = $(lastRadioInView).position();
73	            var leftPosition = $('body').hasClass('front') ? position.left : position.left + 3;
74	            $('#more-lines').css({
75	              top: position.top + 'px',
76	              left: leftPosition + 'px'
77	            });
78	          }
79	        }
80	      });
81	      $('#more-lines').click(function () {
82	        window.moreLinesClicked = true;
83	        $(this).remove();
84	        $('.views-widget-filter-edit-additional-lines .views-widget').css('height', 'auto');
85	      });
86	      if (window.innerWidth < 480) {
87	        $('.form-item-field-contract-length-value:nth-child(2) label').text('No Contract');
88	      }
89	      else {
90	        $('.form-item-field-contract-length-value:nth-child(2) label').text('Monthly/No Contract');
91	      }
92
93        // Fix tooltip toggle
94	      $('.icon-info').unbind().click(function () {
95	        $('.tooltip').toggle();
96	      });
97
98				$('.tooltip').unbind().click(function () {
99					$('.tooltip').toggle();
100				});
101	    }
102	    else {
103	      $('.inview').removeClass('inview');
104	      $('#more-lines').remove();
105	    }
106	  });
107
108	  function isElementVisible(el) {
109	      var rect     = el.getBoundingClientRect(),
110	          containerElement = document.getElementById('edit-additional-lines'),
111	          container = containerElement.getBoundingClientRect();
112
113	      // Return boolean of if the container and the element
114	      // have the same top position.
115	      return (rect.top >= container.top && rect.top < (container.top + 45));
116	  }
117	})(jQuery);
118
119
120/***/ }
121/******/ ]);
122
123;/*})'"*/
124;/*})'"*/
125/******/ (function(modules) { // webpackBootstrap
126/******/ 	// The module cache
127/******/ 	var installedModules = {};
128
129/******/ 	// The require function
130/******/ 	function __webpack_require__(moduleId) {
131
132/******/ 		// Check if module is in cache
133/******/ 		if(installedModules[moduleId])
134/******/ 			return installedModules[moduleId].exports;
135
136/******/ 		// Create a new module (and put it into the cache)
137/******/ 		var module = installedModules[moduleId] = {
138/******/ 			exports: {},
139/******/ 			id: moduleId,
140/******/ 			loaded: false
141/******/ 		};
142
143/******/ 		// Execute the module function
144/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
145
146/******/ 		// Flag the module as loaded
147/******/ 		module.loaded = true;
148
149/******/ 		// Return the exports of the module
150/******/ 		return module.exports;
151/******/ 	}
152
153
154/******/ 	// expose the modules object (__webpack_modules__)
155/******/ 	__webpack_require__.m = modules;
156
157/******/ 	// expose the module cache
158/******/ 	__webpack_require__.c = installedModules;
159
160/******/ 	// __webpack_public_path__
161/******/ 	__webpack_require__.p = "";
162
163/******/ 	// Load entry module and return exports
164/******/ 	return __webpack_require__(0);
165/******/ })
166/************************************************************************/
167/******/ ([
168/* 0 */
169/***/ function(module, exports) {
170
171	/* jshint ignore:start */
172	(function($) {
173	    Drupal.behaviors.myrateplan = {
174	        attach: function(context, settings) {
175	            $('body').removeClass('loading').addClass('ready');
176	        }
177	    };
178
179      var cookieAd = $ ? $.cookie("notify-ad") : null;
180
181      if(window.adblockEnabled === true) {
182        $('.notify-block').removeClass('hide');
183      };
184
185      if(cookieAd === '1') {
186        $('.notify-block').addClass('hide');
187      };
188
189      $('.notify-close, .notify-ok').click(function(){
190        $('.notify-block').addClass('hide');
191        $.cookie("notify-ad", 1, { expires : 3 });
192      });
193
194	    var aside = $('aside');
195	    var main = $('#main');
196	    var mainContainer = $('#main').find('.container').first();
197
198
199	    // Mobile Navigation Menu
200	    $(".mobile-toggle-btn").click(function() {
201	        $("html").toggleClass("openNav");
202	    });
203
204	    var winHeight;
205	    var winWidth;
206
207	    $(window).on('load resize', function() {
208	        winWidth = window.innerWidth;
209	        winHeight = window.innerHeight;
210
211	        if (winWidth <= 828) {
212	            $("meta.viewport").replaceWith("<meta content='width=device-width, initial-scale=1.0' name='viewport' class='viewport' />");
213	            $("nav").prependTo($("body"));
214	            $(".outer-nav-bar").addClass('mobile-nav-bar');
215	            $("#block-views-voip-content-top-block img").addClass('mobile-voip');
216	        } else {
217	            $("nav").appendTo($(".outer-nav-bar"));
218	            $(".mobile-toggle-btn").hide();
219	        }
220
221	        if ($('aside').css('position') === 'fixed') {
222	            aside.css('left', main.offset().left + mainContainer.outerWidth() + 'px');
223	        }
224
225	        if (winWidth < 1190) {
226	            aside.css({
227	                'position': 'relative',
228	                'top': '',
229	                'bottom': '',
230	                'left': ''
231	            });
232	        }
233	    });
234
235	    var currentScroll = 0;
236	    var nextScroll = 0;
237	    var asideBottomInWindow;
238	    var asideTop;
239	    var asideTopOffset;
240	    var mainContainerBottom;
241	    var mainContainerTop;
242
243	    // Dropdown Menu
244		  var timeout; // store a timeout here
245
246	    $('#main-menu li').hover(function() {
247		    clearTimeout(timeout);
248		    $('.nav-dropdown').removeClass('active').eq($(this).index()).addClass('active');
249		  }, function() {
250		    timeout = setTimeout(function() {
251		      $('.nav-dropdown').removeClass('active');
252		    }, 0);
253		  });
254
255	      $('.nav-dropdown').hover(function() {
256		    clearTimeout(timeout);
257		    $('.nav-dropdown').removeClass('active');
258		    $(this).addClass('active');
259		  }, function() {
260		    timeout = setTimeout(function() {
261		      $('.nav-dropdown').removeClass('active');
262		    }, 0);
263		  });
264
265	    $(document).scroll(function() {
266
267	        if (winWidth > 1190) {
268	            if (mainContainer.outerHeight(true) < aside.outerHeight(true)) {
269	                aside.css({
270	                    'position': 'relative',
271	                    'top': '',
272	                    'left': '',
273	                    'bottom': ''
274	                });
275	            } else {
276	                if (winHeight < (aside.outerHeight(true) + 170)) {
277
278	                    asideTop = $(window).scrollTop() - aside.offset().top + 170;
279	                    asideBottom = (($(window).scrollTop() + window.innerHeight) - (aside.offset().top + aside.outerHeight(true)));
280
281	                    mainContainerBottom = (($(window).scrollTop() + window.innerHeight) - (mainContainer.offset().top + mainContainer.outerHeight(true)));
282
283	                    mainContainerTop = $(window).scrollTop() - mainContainer.offset().top + 170;
284
285	                    nextScroll = $(this).scrollTop();
286
287	                    if (nextScroll > currentScroll) {
288	                        //scrolling down
289	                        if (asideBottom >= 0) {
290	                            // if aside bottom edge is in screen
291	                            aside.removeClass('scrolling');
292	                            if (mainContainerBottom >= 0) {
293	                                // if aside bottom edge is in screen and main container bottom edge is in screen set aside position absolute with top null, left, width of maincontainer, bottom 0
294	                                aside.css({
295	                                    'position': 'absolute',
296	                                    'top': '',
297	                                    'left': mainContainer.outerWidth() + 'px',
298	                                    'bottom': 0
299	                                });
300	                            } else {
301	                                // if aside bottom edge is in screen and  main container bottom edge not in screen set aside position fixed with bottom to bottom of screen,, top null, left width of mainContainer plus main margin
302	                                aside.css({
303	                                    'position': 'fixed',
304	                                    'bottom': 0,
305	                                    'top': '',
306	                                    'left': main.offset().left + mainContainer.outerWidth() + 'px'
307	                                });
308	                            }
309	                        } else {
310	                            //if aside bottom edge is not in screen, assign class of scrolling and set top to current top position
311	                            if (!aside.hasClass('scrolling')) {
312	                                aside.addClass('scrolling');
313	                                aside.css({
314	                                    'position': 'absolute',
315	                                    'bottom': '',
316	                                    'top': aside.offset().top - 150 + 'px',
317	                                    'left': mainContainer.outerWidth() + 'px'
318	                                });
319	                            }
320	                            // set aside position absolute with top at current position, left margin of main plus width of mainContainer, bottom null
321
322	                        }
323	                    } else {
324	                        //scrolling up
325	                        if (asideTop <= 0) {
326	                            // if aside top edge is in screen + 170px
327
328	                            aside.removeClass('scrolling');
329	                            if (mainContainerTop <= 0) {
330	                                //if main container top edge is in screen set aside position absolute with top 0, left width of maincontainer, bottom null
331	                                aside.css({
332	                                    'position': 'absolute',
333	                                    'top': '20px',
334	                                    'left': mainContainer.outerWidth() + 'px',
335	                                    'bottom': null
336	                                });
337	                            } else {
338	                                // if main container top edge not in screen set aside position fixed with top to top of screen + 170px, bottom null, left width of mainContainer plus main margin
339	                                aside.css({
340	                                    'position': 'fixed',
341	                                    'bottom': null,
342	                                    'top': '170px',
343	                                    'left': main.offset().left + mainContainer.outerWidth() + 'px'
344	                                });
345	                            }
346
347	                        } else {
348	                            //if aside top edge is not in screen, assign class of scrolling and set top to current top position
349	                            if (!aside.hasClass('scrolling')) {
350	                                aside.addClass('scrolling');
351	                                aside.css({
352	                                    'position': 'absolute',
353	                                    'bottom': '',
354	                                    'top': aside.offset().top - 150 + 'px',
355	                                    'left': mainContainer.outerWidth() + 'px'
356	                                });
357	                            }
358	                        }
359	                    }
360	                    currentScroll = nextScroll;
361	                } else {
362	                    aside.css({
363	                        'position': 'fixed',
364	                        'top': '170px',
365	                        'left': main.offset().left + mainContainer.outerWidth(true) + 'px'
366	                    });
367	                }
368	            }
369
370	        }
371	    });
372	})(jQuery);
373
374
375/***/ }
376/******/ ]);
377
378;/*})'"*/
379;/*})'"*/

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.