PageSourceSearch

https://www.wirefly.com/sites/all/modules/features/phone_and_plan/js/sidebar_tool.js?tl7mis

js wirefly.com collected 2026-09-24 22:12:25 UTC 9,358 bytes, 203 lines download raw bytes

1(function($) {
2  Drupal.behaviors.sidebar_tool = {
3    attach: function(context, settings) {
4      //window.object_plans = [];
5      //window.object_phones = [];
6      $('#edit-additional-lines-1').prop( "checked", true );
7      $('#selected_phone_image_field,#edit-field-talk-minutes-value,#edit-field-messages-value,#edit-field-plan-data-value').change(function() {
8        check_plan_form();
9      });
10      $('#edit-field-contract-length-value-1,#edit-field-contract-length-value-24,.bef-select-as-radios[name="additional_lines"]').change(function() {
11        check_plan_form();
12      });
13
14      $('.step .next').click(function() {
15        var step = parseInt($(this).parents('div.step').data('step')) + 1;
16        show_slide(step);
17      });
18
19      $('.step .previous').click(function() {
20        var step = parseInt($(this).parents('div.step').data('step')) - 1;
21        show_slide(step);
22      });
23
24      $('.num-slider').click(function(){
25        var step = $(this).data('step');
26        show_slide(step);
27      });
28
29      function show_slide(step) {
30        $('.step').hide();
31        $('div').find("[data-step='" + step + "']").show();
32      }
33
34      function check_plan_form() {
35        var plan_count = object_plans['plan'].length;
36
37        //Check number of lines
38        var line = 1;
39        $('.bef-select-as-radios[name="additional_lines"]').each(function() {
40          if ($(this).is(':checked')) {
41            line = $(this).val();
42          }
43        });
44
45        // Check that phone has been selected
46        var phone = $('#selected_phone_field').val();
47
48        // Check contract length none
49        var contracts = [];
50        $('input[name="field_contract_length_value[]"]').each(function() {
51          if ($(this).is(':checked')) {
52            filtered = true;
53            contracts.push($(this).val());
54          }
55        });
56
57        if (object_plans) {
58          for (row in object_plans['plan']) {
59            var filtered = false;
60            if (!object_plans['plan'][row]['buy_url'].length && !filtered) {
61              filtered = true;
62              plan_count--;
63            }
64
65            // Check that phone has been selected
66            if (phone.length > 0 && !filtered) {
67              var aDataPhones = (typeof object_plans['plan'][row]['associated_phones'] === 'string') ? object_plans['plan'][row]['associated_phones'].split('||') : [];
68              if ($.inArray(phone, aDataPhones) == -1) {
69                filtered = true;
70                plan_count--;
71              }
72            }
73            //Check minutes
74            if ($('#edit-field-talk-minutes-value').val() != '' && $('#edit-field-talk-minutes-value').val() != 'All' && !filtered) {
75              if (parseInt(object_plans['plan'][row]['minutes']) < parseInt($('#edit-field-talk-minutes-value').val())) {
76                filtered = true;
77                plan_count--;
78              }
79            }
80
81            //Check message
82            if ($('#edit-field-messages-value').val() != '' && $('#edit-field-messages-value').val() != 'All' && !filtered) {
83              if (parseInt(object_plans['plan'][row]['messages']) < parseInt($('#edit-field-messages-value').val())) {
84                filtered = true;
85                plan_count--;
86              }
87            }
88
89            //Check Data
90            if ($('#edit-field-plan-data-value').val() != '' && $('#edit-field-plan-data-value').val() != 'Any' && !filtered) {
91              if (parseInt(object_plans['plan'][row]['data']) < parseInt($('#edit-field-plan-data-value').val())) {
92                filtered = true;
93                plan_count--;
94              }
95            }
96
97            // Check contract length none
98            if (contracts.length > 0 && !filtered) {
99              var tmp_true = false;
100              for (row1 in contracts) {
101                if (contracts[row1] == object_plans['plan'][row]['contract_length']) {
102                  tmp_true = true;
103                }
104              }
105              if (!tmp_true) {
106                filtered = true;
107                plan_count--;
108              }
109            }
110
111            if (!filtered) {
112              if (typeof object_plans['plan'][row]['additional_lines']['line'] !== 'undefined') {
113                if (line > object_plans['plan'][row]['additional_lines']['line'].length && !filtered) {
114                  filtered = true;
115                  plan_count--;
116                }
117              } else {
118                if (parseInt(line) > 1) {
119                  filtered = true;
120                  plan_count--;
121                }
122              }
123            }
124            if (parseInt(line) > 1 && typeof object_plans['plan'][row]['additional_lines']['line'] !== 'undefined' && typeof object_plans['plan'][row]['additional_lines']['line'].length === 'undefined' && !filtered) {
125              filtered = true;
126              plan_count--;
127            }
128          }
129        }
130        var output = [],
131            plan_count_string = plan_count.toString(),
132            html = '';
133        for (var i = 0, len = plan_count_string.length; i < len; i += 1) {
134          html += '<span>'+plan_count_string.charAt(i)+'</span>';
135        }
136        $('#plan-count').html(html+' <span class="text">Plans</span>');
137      }
138
139      // == prevent ajax error alert and display in console instead
140      var err = window.alert;
141      window.alert = function() {
142        console.log(this, arguments);
143      };
144
145      $.ajax({
146        type: "GET",
147        url: "/geo.php",
148        dataType: 'text',
149        cache: true,
150        success: function(country) {
151          if(country == 'US'){
152            $('#block-views-plans-sidebar-plantool-'+sidebar).show();
153            check_plan_form();
154            /*$.ajax({
155              type: 'GET',
156              url: '/sites/wirefly.com/files/json/wireless_plans_listing.js',
157              dataType: 'json',
158              cache: true,
159              success: function(object) {
160                object_plans = object;
161                check_plan_form();
162              }
163            });
164            $.ajax({
165              type: 'GET',
166              url: '/sites/wirefly.com/files/json/wireless_phones_listing.js',
167              dataType: 'json',
168              cache: true,
169              success: function(object) {
170                object_phones = object;
171              }
172            });*/
173          }
174        }
175      });
176      //
177      $('#plan-submit').click(function() {
178        _paq.push(['trackEvent', 'Sidebar Plan Tool', 'Plan Tool Landing Page']);
179        $('#views-exposed-form-plans-sidebar-plantool-'+sidebar+' .views-exposed-widgets').children('.col').hide();
180        $('#views-exposed-form-plans-sidebar-plantool-'+sidebar+' .views-exposed-widgets').children('.col.results').show().prepend("<div id='progress-overlay' class='progress-overlay'><div class='content'><p><span class='loading-text'>Please wait while we're loading your results.</span><span class='loading-gif'><img src='data:image/gif;base64,R0lGODlhEAALAPQAAP///wAAANra2tDQ0Orq6gYGBgAAAC4uLoKCgmBgYLq6uiIiIkpKSoqKimRkZL6+viYmJgQEBE5OTubm5tjY2PT09Dg4ONzc3PLy8ra2tqCgoMrKyu7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3
180jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA' alt='' /></span></p></div></div>");
181        var line = 1;
182        $('.bef-select-as-radios[name="additional_lines"]').each(function() {
183          if ($(this).is(':checked')) {
184            line = $(this).val();
185          }
186        });
187        var query_string = '?';
188        query_string += 'field_associated_plans_nid=' + ($('#selected_phone_field').val() ? $('#selected_phone_field').val() : 'All') + '&';
189        query_string += 'field_talk_minutes_value=' + (parseInt($('#edit-field-talk-minutes-value').val()) ? parseInt($('#edit-field-talk-minutes-value').val()) : '') + '&';
190        query_string += 'messages=' + (parseInt($('#edit-field-messages-value').val()) ? parseInt($('#edit-field-messages-value').val()) : 200) + '&';
191        query_string += 'field_plan_data_value=' + (parseInt($('#edit-field-plan-data-value').val()) ? parseInt($('#edit-field-plan-data-value').val()) : 500) + '&';
192        query_string += 'additional_lines=' + line + '&plan=500' + '&';
193        query_string += 'spend=' + '&';
194        query_string += 'src=sidebar'+ sidebar_version + '&';
195        if ($('#edit-field-contract-length-value-1').prop('checked')) query_string += 'field_contract_length_value[]=1' + '&';
196        if ($('#edit-field-contract-length-value-24').prop('checked')) query_string += 'field_contract_length_value[]=24' + '&';
197        window.location = '/content/phone-plans' + query_string;
198      });
199      //
200
201    }
202  };
203})(jQuery);

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.