PageSourceSearch

https://real-avto.com/local/templates/real_moscow/js/letsee.js?17645977786763

js real-avto.com collected 2026-10-06 18:00:51 UTC 6,763 bytes, 194 lines download raw bytes

1;(function ($) {
2
3    $(function () {
4
5        var style_tag = $('<style>').appendTo('body');
6        var letsee_custom_css = {};
7
8        if (window.letsee_custom_css)
9            letsee_custom_css = window.letsee_custom_css;
10
11        function set_css(css) {
12            style_tag.text(css);
13        }
14
15        function gen_base_css() {
16            return ('*:not(.letsee-guard) {' +
17                '   line-height: 1.3 !important;' +
18                '   text-shadow: none !important;' +
19                '}' +
20                'a:not(.letsee-guard) {' +
21                '   text-decoration: underline !important;' +
22                '}');
23        }
24
25        function gen_font_size_css(font_size) {
26            if (font_size == null)
27                return '';
28
29            return ('*:not(.letsee-guard) {' +
30                '     font-size: ' + font_size + 'px !important;' +
31                '}');
32        }
33
34        function gen_images_css(hide) {
35            if (!hide)
36                return '';
37
38            return (letsee_custom_css.images_hidden || '') + 'img { display: none !important; }';
39        }
40
41        function gen_colors_css(colors) {
42            if (!colors)
43                return '';
44
45            var props;
46            switch (colors) {
47                case 'bonw': props = 'color: #000 !important; background: #fff !important;'; break;
48                case 'wonb': props = 'color: #fff !important; background: #000 !important;'; break;
49            }
50
51            if (props)
52                return (letsee_custom_css.colors && letsee_custom_css.colors[colors] || '') + '*:not(.letsee-guard) {' + props + '}';
53            else
54                return '';
55        }
56
57        function gen_css(options) {
58            if (!options.enabled)
59                return '';
60
61            return (
62                (letsee_custom_css.enabled || '') +
63                gen_base_css() +
64                gen_font_size_css(options.font_size) +
65                gen_images_css(options.hide_images) +
66                gen_colors_css(options.colors)
67            );
68        }
69
70        var panel = $(
71            '<dl id="letsee-panel">' +
72            '<dt>Размер шрифта:</dt>' +
73            '<dd>' +
74            '<a href="#" class="letsee-change-fontsize letsee-fontsize-small letsee-fontsize-active" data-letsee-fontsize="17">A</a>' +
75            '<a href="#" class="letsee-change-fontsize letsee-fontsize-medium" data-letsee-fontsize="21">A</a>' +
76            '<a href="#" class="letsee-change-fontsize letsee-fontsize-large"  data-letsee-fontsize="25">A</a>' +
77            '</dd>' +
78            '<dt>' +
79            '<label for="letsee-hide-images">' +
80            'Отключить изображения' +
81            '<input type="checkbox" id="letsee-hide-images" class="letsee-hide-images"/>' +
82            '</label>' +
83            '</dt>' +
84            '<dt>Цвета:</dt>' +
85            '<dd>' +
86            '<a href="#" class="letsee-colors letsee-colors-bonw letsee-colors-active" data-letsee-colors="bonw"><span>A</span></a>' +
87            '<a href="#" class="letsee-colors letsee-colors-wonb" data-letsee-colors="wonb"><span>A</span></a>' +
88            '</dd>' +
89            '<dt><a href="#" class="letsee-turn-off">Выключить</a></dt>' +
90            '</dl>'
91        )
92            .addClass('letsee-guard')
93            .find('*')
94            .addClass('letsee-guard')
95            .end()
96
97            .find('.letsee-change-fontsize')
98            .on('click', function () {
99                $(this).closest('dl').find('.letsee-change-fontsize').removeClass('letsee-fontsize-active');
100                $(this).addClass('letsee-fontsize-active');
101                apply_panel();
102                return false;
103            })
104            .end()
105
106            .find('.letsee-colors')
107            .on('click', function () {
108                $(this).closest('dl').find('.letsee-colors').removeClass('letsee-colors-active');
109                $(this).addClass('letsee-colors-active');
110                apply_panel();
111                return false;
112            })
113            .end()
114
115            .find('.letsee-hide-images')
116            .on('change', apply_panel)
117            .end()
118
119            .on('click', '.letsee-turn-off', function () {
120                letsee_toggle_panel();
121                return false;
122            })
123
124            .prependTo('body');
125
126        function panel2options() {
127            return {
128                enabled: $('body').hasClass('letsee-active'),
129                font_size: panel.find('.letsee-fontsize-active').attr('data-letsee-fontsize'),
130                hide_images: panel.find('.letsee-hide-images').prop('checked'),
131                colors: panel.find('.letsee-colors-active').attr('data-letsee-colors')
132            };
133        }
134
135        function options2panel(options) {
136            $('body').toggleClass('letsee-active', !!options.enabled);
137
138            panel.find('.letsee-change-fontsize')
139                .removeClass('letsee-fontsize-active')
140                .filter('[data-letsee-fontsize="' + (options.font_size || 17) + '"]')
141                .addClass('letsee-fontsize-active');
142
143            panel.find('.letsee-hide-images').prop('checked', !!options.hide_images);
144
145            panel.find('.letsee-colors')
146                .removeClass('letsee-colors-active')
147                .filter('[data-letsee-colors="' + (options.colors || 'bonw') + '"]')
148                .addClass('letsee-colors-active');
149        }
150
151        function apply_panel() {
152            set_css(gen_css(panel2options()));
153            save_options(panel2options());
154        }
155
156        function set_cookie(name, value) {
157            document.cookie = name + '=' + encodeURIComponent(value) + ';expires=Mon,01-Jan-2050 00:00:00 GMT;path=/';
158        }
159
160        function get_cookie(name) {
161            if (!document.cookie) return null;
162
163            var cookies = document.cookie.split(';');
164            for (var i = 0; i < cookies.length; i++) {
165                var cookie = $.trim(cookies[i]);
166                if (cookie.substring(0, name.length + 1) == (name + '='))
167                    return decodeURIComponent(cookie.substring(name.length + 1));
168            }
169        }
170
171        function save_options(options) {
172            set_cookie('letsee', JSON.stringify(options));
173        }
174
175        function load_options() {
176            try {
177                return JSON.parse(get_cookie('letsee'));
178            } catch (e) {
179                return {};
180            }
181        }
182
183        window.letsee_toggle_panel = function () {
184            $('body').toggleClass('letsee-active');
185            apply_panel();
186        };
187
188        var options = load_options();
189        options2panel(options);
190        set_css(gen_css(options));
191
192    });
193
194})(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.