PageSourceSearch

https://egrul-base.ru/themes/sample/js/all.js?t=1790773998

js egrul-base.ru collected 2026-09-30 13:13:31 UTC 41,431 bytes, 1,397 lines download raw bytes

1var A;
2
3A = {
4  //=================================================
5  // ПЕРМЕННЫЕ САЙТА
6  //=================================================
7  //-- A.w - ССЫЛКА НА ОКНО С САЙТОМ
8  w: $(window),
9  //-- A.dropper - ПОДДЕРЖИВАЕТСЯ ЛИ DRAG AND DROP
10  dropper: false,
11  //-- A.fff - функция для вывода в лог получаемых данных через api
12  logApi: function(data, cd) {
13    return console.log(data, cd);
14  },
15  reload: function() {
16    return window.location.reload();
17  },
18  display: function(x, y) {
19    if (y) {
20      return $(x).show();
21    } else {
22      return $(x).hide();
23    }
24  },
25  disabled: function(x, y) {
26    if (y) {
27      return $(x).removeAttr('disabled');
28    } else {
29      return $(x).attr('disabled', true);
30    }
31  },
32  notify: function(x, html = '') {
33    return x.queue(function() {
34      x.html(html).show(300);
35      return x.dequeue();
36    });
37  },
38  stopPropogation: function(e) {
39    return e.stopPropagation();
40  },
41  toggleInfoText: function(id) {
42    var $t;
43    $t = $("#info_text_" + id);
44    $t.toggleClass('open');
45    if (!$t.hasClass('open')) {
46      return $t.hide(300);
47    } else {
48      return $t.show(300);
49    }
50  },
51  mail: /^([A-Za-z0-9_-]+\.)*[A-Za-z0-9_-]+@[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*\.[A-Za-z]{2,6}$/,
52  testMail: function(x) {
53    return A.mail.test(x);
54  },
55  serialize: function(form) {
56    var a, i, j, len, o;
57    a = $(form).serializeArray();
58    o = {};
59    for (j = 0, len = a.length; j < len; j++) {
60      i = a[j];
61      o[i.name] = i.value;
62    }
63    return o;
64  },
65  htmlspecialchars: function(str) {
66    if (typeof str === "string") {
67      str = str.replace(/&/g, "&amp;");
68      str = str.replace(/"/g, '&#34;');
69      str = str.replace(/'/g, "&#039;");
70      str = str.replace(/</g, "<");
71      str = str.replace(/>/g, ">");
72    }
73    return str;
74  },
75  //-------------------------------------------------
76  // A.createRequestObject - Создаёт новый RequestObject
77  //-------------------------------------------------
78  createRequestObject: function() {
79    if (typeof XMLHttpRequest === 'undefined') {
80      try {
81        return new ActiveXObject("Msxml2.XMLHTTP.6.0");
82      } catch (error) {}
83      try {
84        return new ActiveXObject("Msxml2.XMLHTTP.3.0");
85      } catch (error) {}
86      try {
87        return new ActiveXObject("Msxml2.XMLHTTP");
88      } catch (error) {}
89      try {
90        return new ActiveXObject("Microsoft.XMLHTTP");
91      } catch (error) {}
92      throw new Error("This browser does not support XMLHttpRequest.");
93    }
94    return new XMLHttpRequest();
95  },
96  domen: '',
97  //-------------------------------------------------
98  // A.setCookie - НАЗНАЧЕНИЕ ПЕЧЕНЕК
99  //-------------------------------------------------
100  setCookie: function(k, v, date) {
101    var c, cook, domain;
102    domain = ' domain=*.' + window.location.host + ';';
103    domain = ' domain=.' + A.domen + ';';
104    cook = k + "=" + v + '; expires=' + new Date(date ? date : new Date().getTime() + 5184000000).toGMTString() + '; path=/;';
105    document.cookie = cook + domain;
106    c = A.getCookie('k');
107    if (c !== v) {
108      document.cookie = cook;
109    }
110    return cook;
111  },
112  getCookie: function(name) {
113    var pattern, regexp;
114    pattern = "(?:; )?" + name + "=([^;]*);?";
115    regexp = new RegExp(pattern);
116    if (regexp.test(document.cookie)) {
117      return decodeURIComponent(RegExp["$1"]);
118    }
119    return false;
120  },
121  date: function(x, o = {}) {
122    var d;
123    d = {
124      yearOffset: 0,
125      lang: 'ru',
126      timepicker: true,
127      format: 'd.m.Y'
128    };
129    $.extend(true, d, o);
130    return $(x).datetimepicker(d);
131  },
132  //-------------------------------------------------
133  // A.init - ИНИЦИАЛИЗАЦИЯ САЙТА
134  //-------------------------------------------------
135  init: function() {
136    A.dropper = !(typeof window.FileReader === 'undefined');
137    A.content = $("#content");
138    A.content_padding = 90;
139    A.P.init();
140    A.W.init();
141    A.resize();
142    return A.scroll();
143  },
144  /*
145  $('.fancy').fancybox({
146    openEffect	: 'none',
147    closeEffect	: 'none'
148  });
149  */
150  ready: function() {
151    //A.resize();
152    A.w.resize(function() {
153      return A.resize();
154    });
155    A.w.scroll(function() {
156      return A.scroll();
157    });
158    return A.P.ready();
159  },
160  //-------------------------------------------------
161  // A.resize - Изменение размеров страницы
162  //-------------------------------------------------
163  resize: function() {},
164  //-------------------------------------------------
165  // A.scroll - Изменение размеров страницы
166  //-------------------------------------------------
167  scroll: function() {
168    return A.P.scroll();
169  }
170};
171
172$(window).ready(function() {
173  return A.ready();
174});
175
176$(window).load(function() {
177  return A.init();
178});
179
180var API;
181
182API = {
183  init: function() {
184    return API.uinit(API.U, '/api/');
185  },
186  isEmpty: function(o) {
187    var i;
188    for (i in o) {
189      return false;
190    }
191    return true;
192  },
193  uinit: function(x, path) {
194    var i, results;
195    results = [];
196    for (i in x) {
197      if (i === "url") {
198        continue;
199      }
200      if (!API.isEmpty[x[i]]) {
201        API.uinit(x[i], path + i + '/');
202      }
203      if (x[i] === "") {
204        x[i] = path + i + '/';
205      }
206      results.push(x[i].url = path + i + '/');
207    }
208    return results;
209  },
210  U: {
211    report: {
212      want_pay: ""
213    },
214    company: {
215      form: ""
216    },
217    form: {
218      region: '',
219      okved: ''
220    },
221    login: {
222      login: "",
223      exit: "",
224      exit_admin: "",
225      admin: "",
226      admin_login: ""
227    },
228    account: {
229      uadd: "",
230      uexit: "",
231      login: "",
232      newpass: "",
233      resetpass: "",
234      uupdate: "",
235      remind: "",
236      form: {
237        auth: "",
238        reg: "",
239        remind: ""
240      }
241    }
242  },
243  GET: {
244    // u - url
245    // d - data
246    // c - callback
247    // cd - callback data
248    r: function(u, d, c, cd) {
249      d['nocache'] = (new Date()).getTime();
250      return $.ajax({
251        url: u,
252        type: "POST",
253        dataType: d.dataType !== void 0 ? d.dataType : "html",
254        data: d,
255        success: function(data) {
256          if (c !== void 0) {
257            return c(data, cd);
258          }
259        },
260        error: function() {
261          return c({
262            error: 1
263          }, cd);
264        }
265      });
266    }
267  }
268};
269
270$(window).ready(function() {
271  return API.init();
272});
273
274A.DELETE = {
275  init: function() {}
276};
277
278A.F = {
279  report_id: 0,
280  payReport: function(btn) {
281    var $btn, $email, $res, email, isError, s;
282    $btn = $(btn);
283    A.I.waitButton($btn);
284    $email = $("#account_email");
285    email = '';
286    isError = false;
287    $res = $("#pay_res").hide();
288    if ($email.length > 0) {
289      email = $email.val().trim();
290      if (email === '') {
291        $res.text("Укажите email. На него придёт ссылка для скачивания выборки").show();
292        isError = true;
293      }
294    }
295    if (isError) {
296      return A.I.unwaitButton($btn);
297    } else {
298      return API.GET.r(API.U.report.want_pay, s = {
299        id: A.F.report_id,
300        email,
301        dataType: "JSON"
302      }, function(data, cd) {
303        console.log(s, data);
304        A.I.unwaitButton($btn);
305        if (data.uid) {
306          A.setCookie('uid', data.uid);
307          A.setCookie('uim', data.uim);
308        }
309        return $.fn.PAY('cloudpayments', data['data']);
310      });
311    }
312  },
313  //if data.link
314  //  window.location.href = data.link
315  init: function() {},
316  exit: function() {
317    A.setCookie('uid', '---');
318    A.setCookie('uim', '---');
319    return window.location.href = "/";
320  },
321  reg: function(f) {
322    var $f, $res, s;
323    $f = $(f);
324    s = {
325      dataType: "JSON",
326      email: $.trim($("input[name=email]", $f).val()),
327      pass: $.trim($("input[name=pass]", $f).val())
328    };
329    $res = $(".res", $f).hide(300);
330    if (s.email === "") {
331      A.notify($res, 'Введите email');
332    } else if (!A.mail.test(s.email)) {
333      A.notify($res, 'Введите корректный email');
334    } else if (s.pass === "") {
335      A.notify($res, 'Введите пароль');
336    } else {
337      A.I.waitButton($("button", $f));
338      A.I.waitInput($("input[type=submit]", $f));
339      API.GET.r(API.U.account.uadd, s, A.F.aAuth, {
340        f: $f,
341        r: $res
342      });
343    }
344    return false;
345  },
346  aAuth: function(data, cd) {
347    A.I.unwaitButton($("button", cd.f));
348    A.I.unwaitInput($("input[type=submit]", cd.f));
349    if (data.e === 1) {
350      return A.notify(cd.r, data.m);
351    } else {
352      window.location.href = "/profile/";
353      if (data.p !== void 0) {
354        A.setCookie('uid', data.p.uid);
355        return A.setCookie('uim', data.p.uim);
356      }
357    }
358  },
359  auth: function(f) {
360    var $f, $res, s;
361    $f = $(f);
362    s = {
363      dataType: "JSON",
364      email: $.trim($("input[name=email]", $f).val()),
365      pass: $.trim($("input[name=pass]", $f).val()),
366      nocache: (new Date()).getTime()
367    };
368    $res = $(".res", $f).hide(300);
369    if (s.email === "") {
370      A.notify($res, 'Введите email');
371    } else if (s.pass === "") {
372      A.notify($res, 'Введите пароль');
373    } else {
374      A.I.waitButton($("button", $f));
375      A.I.waitInput($("input[type=submit]", $f));
376      API.GET.r(API.U.account.login, s, A.F.aAuth, {
377        f: $f,
378        r: $res
379      });
380    }
381    return false;
382  },
383  remind: function(f) {
384    var $f, $res, s;
385    $f = $(f);
386    s = {
387      dataType: "JSON",
388      email: $.trim($("input[name=email]", $f).val()),
389      nocache: (new Date()).getTime()
390    };
391    $res = $(".res", $f).hide(300);
392    if (s.email === "") {
393      A.notify($res, 'Введите email');
394    } else {
395      A.I.waitButton($("button", $f));
396      A.I.waitInput($("input[type=submit]", $f));
397      API.GET.r(API.U.account.remind, s, A.F.aRemind, {
398        f: $f,
399        r: $res
400      });
401    }
402    return false;
403  },
404  aRemind: function(data, cd) {
405    console.log(data);
406    A.I.unwaitButton($("button", cd.f));
407    A.I.unwaitInput($("input[type=submit]", cd.f));
408    return A.notify(cd.r, data.m);
409  },
410  newPass: function(f) {
411    var $f, $res, s;
412    $f = $(f);
413    s = {
414      dataType: "JSON",
415      pass1: $.trim($("input[name=pass1]", $f).val()),
416      pass2: $.trim($("input[name=pass2]", $f).val()),
417      key: $.trim($("input[name=key]", $f).val()),
418      hash: $.trim($("input[name=hash]", $f).val()),
419      id: $.trim($("input[name=id]", $f).val()),
420      nocache: (new Date()).getTime()
421    };
422    $res = $(".res", $f).hide(300);
423    if (s.pass1 === "") {
424      A.notify($res, 'Введите пароль');
425    } else if (s.pass2 === "") {
426      A.notify($res, 'Повторите пароль');
427    } else if (s.pass1 !== s.pass2) {
428      A.notify($res, 'Пароли должны совпадать');
429    } else {
430      A.I.waitButton($("button", $f), {
431        title: 'Отправка'
432      });
433      A.I.waitInput($("input[type=submit]", $f), {
434        title: 'Отправка'
435      });
436      API.GET.r(API.U.account.newpass, s, A.F.aRemind, {
437        f: $f,
438        r: $res
439      });
440    }
441    return false;
442  },
443  resetPass: function(f) {
444    var $f, $res, s;
445    $f = $(f);
446    s = {
447      dataType: "JSON",
448      pass1: $.trim($("input[name=pass1]", $f).val()),
449      pass2: $.trim($("input[name=pass2]", $f).val())
450    };
451    $res = $(".res", $f).hide(300);
452    if (s.pass1.length < 6) {
453      A.notify($res, 'Длина пароля должна быть не менее 6 символов');
454    } else if (s.pass1 === "") {
455      A.notify($res, 'Введите пароль');
456    } else if (s.pass2 === "") {
457      A.notify($res, 'Повторите пароль');
458    } else if (s.pass1 !== s.pass2) {
459      A.notify($res, 'Введённые пароли не совпадают');
460    } else {
461      A.I.waitButton($("button", $f));
462      A.I.waitInput($("input[type=submit]", $f));
463      API.GET.r(API.U.account.resetpass, s, A.F.aResetPass, {
464        f: $f,
465        r: $res
466      });
467    }
468    return false;
469  },
470  aResetPass: function(data, cd) {
471    A.I.unwaitButton($("button", cd.f));
472    A.I.unwaitInput($("input[type=submit]", cd.f));
473    A.notify(cd.r, data.m);
474    if (data.uim !== void 0) {
475      return A.setCookie('uim', data.uim);
476    }
477  },
478  updateProfile: function(f) {
479    var $f, $res, s;
480    $f = $(f);
481    s = {
482      dataType: "JSON",
483      name: $.trim($("input[name=name]", $f).val()),
484      sname: $.trim($("input[name=sname]", $f).val()),
485      fname: $.trim($("input[name=fname]", $f).val()),
486      phone: $.trim($("input[name=phone]", $f).val())
487    };
488    $res = $(".res", $f).hide(300);
489    A.I.waitButton($("button", $f));
490    A.I.waitInput($("input[type=submit]", $f));
491    API.GET.r(API.U.account.uupdate, s, A.F.aUpdateProfile, {
492      f: $f,
493      r: $res
494    });
495    return false;
496  },
497  aUpdateProfile: function(data, cd) {
498    A.I.unwaitButton($("button", cd.f));
499    A.I.unwaitInput($("input[type=submit]", cd.f));
500    return A.notify(cd.r, data.m);
501  },
502  form: function() {
503    var $btn, send;
504    send = {
505      dataType: "JSON",
506      region: $("#choose_region").data('value'),
507      okved: $("#choose_okved").data('value'),
508      revenue_from: $("#revenue_from").val(),
509      revenue_to: $("#revenue_to").val(),
510      growth_from: $("#growth_from").val(),
511      growth_to: $("#growth_to").val(),
512      capital_from: $("#capital_from").val(),
513      capital_to: $("#capital_to").val(),
514      emp_from: $("#emp_from").val(),
515      emp_to: $("#emp_to").val(),
516      date_begin: $("#date_begin").val(),
517      date_end: $("#date_end").val(),
518      company_size: $("#company_size").data('value'),
519      company_status: $("#company_status").data('value'),
520      company_okfs: $("#company_okfs").data('value'),
521      is_phone: $("#is_phone").is(":checked") ? 1 : 0,
522      is_email: $("#is_email").is(":checked") ? 1 : 0,
523      is_site: $("#is_site").is(":checked") ? 1 : 0,
524      is_report: $("#is_report").is(":checked") ? 1 : 0
525    };
526    console.log('send', send);
527    A.I.waitButton($btn = $('#form_result .btn'));
528    API.GET.r(API.U.company.form, send, function(data, cd) {
529      console.log(data);
530      A.I.unwaitButton($btn);
531      return $("#form_result").html(data.html);
532    });
533    return false;
534  }
535};
536
537var H;
538
539H = {
540  menu: {},
541  selected: {},
542  top_selected: null,
543  inited: false,
544  dir: '', // up | down | left | right
545  title: null,
546  data: null,
547  scroll: [],
548  isLoading: false,
549  now: window.location.pathname,
550  ready: function() {
551    //history.scrollRestoration = 'manual';
552    console.log(history.scrollRestoration);
553    if (!H.inited) {
554      $(window).on('popstate', H.switchByWindow);
555      H.inited = true;
556      H.body = $("#content");
557      H.title = $("title");
558      H.keywords = $("meta[name=keywords]");
559      H.description = $("meta[name=description]");
560      H.title = $("title");
561      //H.switch()
562      H.$html = $("html,body");
563      return $(window).on('scroll', H.onScroll);
564    }
565  },
566  onScroll: function() {
567    if (!H.isLoading) {
568      return H.scroll[window.location.href] = H.$html.scrollTop();
569    }
570  },
571  reload: function() {
572    return H.switch();
573  },
574  formGo: function(form) {
575    var $f, action, path, s;
576    s = ($f = $(form)).serialize();
577    action = $f.attr('action');
578    if (action === void 0) {
579      action = window.location.pathname;
580    }
581    //console.log action
582    H.go(path = action + '?' + s);
583    return false;
584  },
585  go: function(x, data = null, title = '', reload = true) {
586    var y;
587    if (x.substr(0, 1) === '/') {
588      x = x.substr(1);
589    }
590    y = '/' + x;
591    H.data = data;
592    history.pushState(data, title, y);
593    if (reload) {
594      return H.switch();
595    }
596  },
597  setTitle: function(x) {
598    return H.title.text(x);
599  },
600  switchByWindow: function(x) {
601    console.log('switchByWindow', H.now, window.location.pathname, x);
602    //if x == null
603    return H.switch(x);
604  },
605  switch: function(event = null) {
606    var path, url;
607    //console.log 'switch',x
608    //history.scrollRestoration = 'manual';
609    H.now = window.location.pathname;
610    path = H.parse();
611    url = path.join("/");
612    if (url === "/" || url === "") {
613      url = "/?mini=1";
614    } else {
615      url = `/${url}/?mini=1`;
616    }
617    if (window.location.search.length > 0) {
618      url += '&' + window.location.search.substr(1);
619    }
620    console.log(url);
621    //console.log url
622    H.isLoading = true;
623    A.P.$show_more = null;
624    return $.ajax({
625      url: url,
626      //url:"/#{url}/?mini=1"
627      dataType: "JSON",
628      success: function(data) {
629        var $c, $cat, $data, $html, $item, count_in_row, h, i, j, k, len, p, page, pp, ref, ref1, s, scrollTo, top;
630        //console.log data
631        console.log('time_compile', data.time_compile, 'bd_time', data.time_bd, data.logs);
632        if (typeof data.location === "string" && data.location !== "") {
633          return H.go(data.location);
634        } else {
635          //console.log 'TITLE',data.title
636          H.title.text(data.title);
637          $data = $(data.content);
638          $html = $($data[0]);
639          H.setTitle(data.title);
640          H.keywords.attr('content', data.keywords);
641          H.description.attr('content', data.description);
642          $('head meta[property^="og"]').remove();
643          $('head').append($(data.og));
644          scrollTo = 0;
645          if (H.scroll[window.location.href] !== void 0 && event !== null) {
646            scrollTo = H.scroll[window.location.href];
647          }
648          //$hide = $(".b_content:not(.hide)").addClass('hide')
649          //$(".b_content").remove()
650          //$.fn.TABLE('allDestroy')
651          H.body.html($html);
652          A.P.initMini($html);
653          if ($data.length > 1) {
654            for (i = j = 1, ref = $data.length - 1; (1 <= ref ? j <= ref : j >= ref); i = 1 <= ref ? ++j : --j) {
655              s = document.createElement('script');
656              if ((ref1 = $data[i].tagName) === 'SCRIPT' || ref1 === 'script') {
657                s.innerHTML = $($data[i]).html();
658                H.body[0].appendChild(s);
659              }
660            }
661          }
662          //A.P.initLazy($html)
663          if (window.location.hash !== '') {
664            if (($c = $(window.location.hash)).length > 0) {
665              scrollTo = $c.offset().top - 100;
666            }
667          }
668          
669          //H.$html.scrollTop(scrollTo)
670          if ($("#catalog_content_wrap", $data).length > 0) {
671            $cat = $(".catalog:eq(0)", $data);
672            $item = $(".item:eq(0)", $cat);
673            top = $cat.offset().top;
674            h = $item.height() + 10;
675            p = H.parse();
676            page = 0;
677            for (k = 0, len = p.length; k < len; k++) {
678              i = p[k];
679              console.log('i', i);
680              pp = parseInt(i);
681              if (!isNaN(pp)) {
682                page = pp;
683              }
684            }
685            console.log("$cat", $cat, top, h, scrollTo, page);
686            count_in_row = A.isMobile() ? 2 : 3;
687            if (page > 0) {
688              scrollTo -= h * (12 / count_in_row) * page;
689              scrollTo = 0;
690            }
691          }
692          H.$html.scrollTop(scrollTo);
693          A.P.scroll();
694          return H.isLoading = false;
695        }
696      },
697      error: function() {
698        return console.log('history error ');
699      }
700    });
701  },
702  SEARCH: {
703    set: function(s, reload = false) {
704      var x;
705      x = window.location.pathname + '?' + s;
706      return H.go(x, null, '', reload);
707    },
708    parse: function() {
709      var i, pos, res, v, x;
710      res = {};
711      if (window.location.search.length > 0) {
712        x = window.location.search.substr(1).split('&');
713        for (i in x) {
714          v = x[i];
715          pos = v.indexOf('=');
716          if (pos >= 0) {
717            res[v.substr(0, pos)] = v.substr(pos + 1);
718          } else {
719            res[v] = null;
720          }
721        }
722      }
723      return res;
724    },
725    setValue: function(key, value, reload = false) {
726      var s, x;
727      x = H.SEARCH.parse();
728      x[key] = value;
729      s = H.SEARCH.toString(x);
730      return H.SEARCH.set(s);
731    },
732    toString: function(a) {
733      var i, res, v;
734      res = [];
735      for (i in a) {
736        v = a[i];
737        res.push(i + '=' + (v != null ? v : ''));
738      }
739      return res.join('&');
740    },
741    get: function(x) {
742      var e;
743      try {
744        return decodeURI(H.SEARCH.parse()[x]);
745      } catch (error) {
746        e = error;
747        return H.SEARCH.parse()[x];
748      }
749    }
750  },
751  //H.SEARCH.parse()[x]
752  parse: function(x = null) {
753    var a, i, j, len, o;
754    a = x !== null ? x.split('/') : window.location.pathname.split("/");
755    o = [];
756    for (j = 0, len = a.length; j < len; j++) {
757      i = a[j];
758      if (i !== "") {
759        o.push(i);
760      }
761    }
762    return o;
763  }
764};
765
766$(window).ready(H.ready);
767
768//-------------------------------------------------
769// A.I = РАБОТА С ПОЛЯМИ ВВОДА
770//-------------------------------------------------
771A.I = {
772  waitInput: function(x) {
773    return $(x).each(function() {
774      var button, click, val;
775      button = $(this);
776      click = button.attr('onclick');
777      val = $.trim(button.val());
778      return button.attr('onclick', '').attr('data-val', val).val(val === "" ? '' : 'Отправляется...').addClass("wait").attr('data-onclick', click).attr('disabled', 'disabled');
779    });
780  },
781  unwaitInput: function(x) {
782    return $(x).each(function() {
783      var b;
784      b = $(this);
785      return b.val(b.attr('data-val')).removeClass("wait").attr('onclick', b.attr('data-onclick')).removeAttr('disabled');
786    });
787  },
788  waitButton: function(x) {
789    return $(x).each(function() {
790      var button, click, val;
791      button = $(this);
792      click = button.attr('onclick');
793      val = $.trim(button.html());
794      if (val !== "?") {
795        return button.attr('onclick', '').attr('data-val', val).html(val === "" || val === "&nbsp;" ? '' : 'Отправляется...').addClass("wait").attr('data-onclick', click).attr('disabled', 'disabled');
796      }
797    });
798  },
799  unwaitButton: function(x) {
800    return $(x).each(function() {
801      var b;
802      b = $(this);
803      return b.html(b.attr('data-val')).removeClass("wait").attr('onclick', b.attr('data-onclick')).removeAttr('disabled');
804    });
805  }
806};
807
808A.P = {
809  init: function() {
810    A.P.html = $("html,body");
811    A.P.body = $("body");
812    A.P.initMini(A.P.body);
813    return $(document).click(function(e) {
814      var $t;
815      $t = $(e.target);
816      $("#search .results").hide();
817      $("#search_rubric .results").hide();
818      if ($t.closest('.select').length === 0) {
819        return $(".select").removeClass('open');
820      }
821    });
822  },
823  scrollToTop: function() {
824    var ref;
825    return (ref = A.P.html) != null ? ref.scrollTop(0) : void 0;
826  },
827  scrollToAnimate: function(id) {
828    var $c;
829    $c = $(id);
830    if ($c.length > 0) {
831      return A.P.html.animate({
832        scrollTop: $c.offset().top - 100
833      }, 500);
834    }
835  },
836  search: function() {
837    var $res, val;
838    val = $("#search input").val();
839    $res = $("#search .results").html('<div class="result">Загрузка...</div>').show();
840    return API.GET.r('/api/company/search/', {
841      s: val
842    }, function(data, cd) {
843      return $res.html(data);
844    });
845  },
846  setRegionsValue: function(res) {
847    var r, txt;
848    r = false;
849    if (res.region.length > 0 || res.city.length > 0) {
850      txt = "Регионы: " + res.region.length + ', города: ' + res.city.length;
851      r = true;
852    } else {
853      txt = "Регионы и города";
854    }
855    $("#choose_region .title").text(txt);
856    $("#choose_region").data('value', res);
857    console.log('setRegionsValue', res);
858    return r;
859  },
860  setRegions: function() {
861    var area, city, region, res;
862    area = [];
863    city = [];
864    region = [];
865    $("#choose_region .check_area:checked").each(function() {
866      return area.push(this.value);
867    });
868    $("#choose_region .check_city:checked").each(function() {
869      return city.push(this.value);
870    });
871    $("#choose_region .check_region:checked").each(function() {
872      return region.push(this.value);
873    });
874    res = {area, city, region};
875    A.P.setRegionsValue(res);
876    //txt = "Регионы: "+region.length+', города: '+city.length
877    //$("#choose_region .title").text(txt)
878    //$("#choose_region").data('value',res)
879    A.W.close();
880    return $.fn.FORM('change', null, false);
881  },
882  setOkvedValue: function(res) {
883    var r, total, txt;
884    r = false;
885    total = res.cat.length + res.big.length + res.medium.length + res.small.length;
886    if (total > 0) {
887      txt = "Виды деятельности: " + (res.cat.length + res.big.length + res.medium.length + res.small.length);
888      r = true;
889    } else {
890      txt = "Виды деятельности";
891    }
892    $("#choose_okved .title").text(txt);
893    $("#choose_okved").data('value', res);
894    console.log('setOkved', res);
895    return r;
896  },
897  setOkved: function() {
898    var big, cat, medium, res, small;
899    cat = [];
900    big = [];
901    medium = [];
902    small = [];
903    $("#choose_okved .check_cat:checked").each(function() {
904      return cat.push(this.value);
905    });
906    $("#choose_okved .check_big:checked").each(function() {
907      return big.push(this.value);
908    });
909    $("#choose_okved .check_medium:checked").each(function() {
910      return medium.push(this.value);
911    });
912    $("#choose_okved .check_small:checked").each(function() {
913      return small.push(this.value);
914    });
915    res = {cat, big, medium, small};
916    A.P.setOkvedValue(res);
917    //txt = "Виды деятельности: "+(cat.length + big.length + medium.length + small.length )
918    //$("#choose_okved .title").text(txt)
919    //$("#choose_okved").data('value',res)
920    A.W.close();
921    return $.fn.FORM('change', null, false);
922  },
923  searchRegion: function() {
924    var val;
925    val = $("#search_region input").val().toLowerCase();
926    console.log('val', val);
927    $("#choose_region .toggler").removeClass('open');
928    $("#choose_region .el_search").hide();
929    return $("#choose_region .txt").each(function() {
930      var $area, $region, $t, isShow, text;
931      $t = $(this);
932      text = $t.text();
933      isShow = text.toLowerCase().indexOf(val) >= 0;
934      if (isShow) {
935        $t.closest('.el_search').show();
936        $region = $t.closest('.toggler_region');
937        $area = $t.closest('.toggler_area');
938        $region.addClass('open');
939        $area.addClass('open');
940        $("> .toggle_title", $region).show();
941        return $("> .toggle_title", $area).show();
942      }
943    });
944  },
945  searchOkved: function() {
946    var val;
947    val = $("#search_okved input").val().toLowerCase();
948    $("#choose_okved .toggler").removeClass('open');
949    $("#choose_okved .el_search").hide();
950    return $("#choose_okved .txt").each(function() {
951      var $big, $cat, $medium, $t, isShow, text;
952      $t = $(this);
953      text = $t.text();
954      isShow = text.toLowerCase().indexOf(val) >= 0;
955      if (isShow) {
956        $t.closest('.el_search').show();
957        $cat = $t.closest('.toggler_cat');
958        $big = $t.closest('.toggler_big');
959        $medium = $t.closest('.toggler_medium');
960        $cat.addClass('open');
961        $big.addClass('open');
962        $medium.addClass('open');
963        $("> .toggle_title", $cat).show();
964        $("> .toggle_title", $big).show();
965        return $("> .toggle_title", $medium).show();
966      }
967    });
968  },
969  initMini: function($html) {
970    var $c, $contacts_wrap, $cr, $cr2;
971    $.fn.FORM('init', $html);
972    $.fn.RUBRIC('init', $html);
973    A.P.initPreventLink($html);
974    $(".select_all", $html).click(function() {
975      $('.area_list input').prop("checked", false);
976      //$('.area_list > .toggler_area > .toggle_title > .checkbox > input').prop("checked",true)
977      $('.area_list > .toggler_area > .toggle_title > .checkbox > input').click();
978      $('.area_list .checkbox').removeClass('not_all');
979      $('.okved_list input').prop("checked", false);
980      //$('.area_list > .toggler_area > .toggle_title > .checkbox > input').prop("checked",true)
981      $('.okved_list > .toggler_cat > .toggle_title > .checkbox > input').click();
982      return $('.okved_list .checkbox').removeClass('not_all');
983    });
984    $contacts_wrap = $("#contacts_wrap", $html);
985    console.log('$("#contacts_wrap",$html)', $("#contacts_wrap", $html));
986    if ($contacts_wrap.length > 0) {
987      API.GET.r('/api/company/contacts/', {
988        ogrn: $contacts_wrap.attr('data-ogrn')
989      }, function(data, cd) {
990        var $data;
991        console.log('contacts', data, $contacts_wrap);
992        $data = $(data);
993        $contacts_wrap.replaceWith($data);
994        return A.P.initMini($data);
995      });
996    }
997    $(".copy", $html).each(function() {
998      var $copy, $t;
999      $t = $(this);
1000      $copy = $('<button class="copy_button"></button>');
1001      $t.append($copy);
1002      return $copy.click(function(e) {
1003        var range, success;
1004        e.preventDefault();
1005        e.stopPropagation();
1006        window.getSelection().removeAllRanges();
1007        range = document.createRange();
1008        range.selectNode($t[0]);
1009        window.getSelection().addRange(range);
1010        success = document.execCommand('copy');
1011        range.setEnd($t[0], 0);
1012        $t.addClass('copied');
1013        return setTimeout(function() {
1014          return $t.removeClass('copied');
1015        }, 2000);
1016      });
1017    });
1018    if (($c = $(".idate", $html)).length > 0) {
1019      A.date($c);
1020    }
1021    $(".toggler", $html).each(function() {
1022      var $icon, $t;
1023      $t = $(this);
1024      $icon = $("> .toggle_title .toggle_icon", $t);
1025      return $icon.click(function() {
1026        return $t.toggleClass('open');
1027      });
1028    });
1029    $("#search_region input", $html).keyup(A.P.searchRegion);
1030    $cr = $("#choose_region [type=checkbox]", $html);
1031    $cr.click(function() {
1032      var $t, $toggler, checked;
1033      $t = $(this);
1034      $toggler = $t.closest(".toggler");
1035      if ($t.hasClass('check_area') || $t.hasClass('check_region')) {
1036        checked = $t.is(":checked");
1037        $("[type=checkbox]", $toggler).prop("checked", checked);
1038      }
1039      $cr.each(function() {
1040        var $tg, $tt, c1, c4;
1041        $tt = $(this);
1042        $tg = $tt.closest(".toggler");
1043        c1 = $("[type=checkbox]", $tg).length;
1044        if (c1 > 1) {
1045          if (!$tg.data('checked')) {
1046            $tg.data('checked', true);
1047            c4 = $tt.is(":checked") ? $("[type=checkbox]:checked", $tg).length : $("[type=checkbox]:not(:checked)", $tg).length;
1048            return $tt.parent().toggleClass('not_all', c1 !== c4);
1049          }
1050        }
1051      });
1052      return $("#choose_region .toggler").data('checked', false);
1053    });
1054    $("#search_okved input", $html).keyup(A.P.searchOkved);
1055    $cr2 = $("#choose_okved [type=checkbox]", $html);
1056    $cr2.click(function() {
1057      var $t, $toggler, checked;
1058      $t = $(this);
1059      $toggler = $t.closest(".toggler");
1060      if ($t.hasClass('check_cat') || $t.hasClass('check_big') || $t.hasClass('check_medium')) {
1061        checked = $t.is(":checked");
1062        $("[type=checkbox]", $toggler).prop("checked", checked);
1063      }
1064      $cr2.each(function() {
1065        var $tg, $tt, c1, c4;
1066        $tt = $(this);
1067        $tg = $tt.closest(".toggler");
1068        c1 = $("[type=checkbox]", $tg).length;
1069        if (c1 > 1) {
1070          if (!$tg.data('checked')) {
1071            $tg.data('checked', true);
1072            c4 = $tt.is(":checked") ? $("[type=checkbox]:checked", $tg).length : $("[type=checkbox]:not(:checked)", $tg).length;
1073            return $tt.parent().toggleClass('not_all', c1 !== c4);
1074          }
1075        }
1076      });
1077      return $("#choose_okved .toggler").data('checked', false);
1078    });
1079    $("#search input", $html).keyup(A.P.search);
1080    $("#menu .check", $html).click(function() {
1081      var $t, status, type;
1082      $("#menu .check", $html).removeClass('selected');
1083      $t = $(this);
1084      $t.addClass('selected');
1085      $("[data-status]").hide();
1086      if ($t[0].hasAttribute('data-set-status')) {
1087        status = $t.attr('data-set-status');
1088        if (status) {
1089          $(`[data-status=\"${status}\"]`).show();
1090        } else {
1091          $("[data-status]").show();
1092        }
1093      }
1094      if ($t[0].hasAttribute('data-set-type')) {
1095        type = $t.attr('data-set-type');
1096        if (type) {
1097          return $(`[data-type=\"${type}\"]`).show();
1098        } else {
1099          return $("[data-type]").show();
1100        }
1101      }
1102    });
1103    return $(".select", $html).each(function() {
1104      var $t, $title, val;
1105      $t = $(this);
1106      $title = $(".value", $t);
1107      $title.click(function() {
1108        return $t.toggleClass('open');
1109      });
1110      $(".option", $t).click(function() {
1111        var $option;
1112        $option = $(this);
1113        $t.data('value', $option.attr('data-value'));
1114        $(".value span", $t).text($option.text());
1115        $t.removeClass('open');
1116        return $t.trigger('select.change');
1117      });
1118      val = $t.attr('data-value');
1119      if (val) {
1120        return $(`.option[data-value=${val}]`, $t).click();
1121      }
1122    });
1123  },
1124  initPreventLink: function(x) {
1125    return $("a:not(.prevented):not(.no_prevent)", $(x)).addClass('prevented').click(A.P.preventALink);
1126  },
1127  preventALink: function(e) {
1128    var href;
1129    href = $(this).attr('href');
1130    if (href && href.substr(0, 1) === "#") {
1131      e.preventDefault();
1132      e.stopPropagation();
1133      return A.P.scrollToAnimate(href);
1134    } else if (href !== void 0) {
1135      if (href.substr(0, 1) === '/') {
1136        e.preventDefault();
1137        return H.go($(this).attr('href'));
1138      }
1139    }
1140  },
1141  ready: function() {
1142    return A.P.animate = $(".ani");
1143  },
1144  scroll: function() {
1145    var ref;
1146    return (ref = A.P.animate) != null ? ref.each(function() {
1147      var $t;
1148      if (!($t = $(this)).hasClass('animated')) {
1149        if (($t.offset().top - (A.w.scrollTop() + A.w.height()) < 0) && ($t.offset().top + $t.height()) > (A.w.scrollTop() + 5)) {
1150          return $t.addClass('animated').addClass($t.attr('data-ani'));
1151        }
1152      }
1153    }) : void 0;
1154  }
1155};
1156
1157A.TOGGLE = {
1158  init: function() {}
1159};
1160
1161A.UPDATE = {
1162  init: function() {}
1163};
1164
1165//-----------------------------------------------
1166// A.W - Работа со всплывающими окнами
1167//-----------------------------------------------
1168A.W = {
1169  back: null,
1170  w: null,
1171  i: null,
1172  init: function() {
1173    A.W.back = $("#wback");
1174    if (A.W.back.length > 0) {
1175      A.W.w = $("#window");
1176      return A.W.i = $("#w_inner");
1177    } else {
1178      return delete A.W;
1179    }
1180  },
1181  startLoad: function() {
1182    return A.W.i.addClass("load").html("Загрузка данных");
1183  },
1184  finishLoad: function(data) {
1185    return A.W.i.removeClass("load").html(data);
1186  },
1187  setHtml: function(data) {
1188    var $data;
1189    $data = $(data);
1190    A.P.initMini($data);
1191    A.W.finishLoad($data);
1192    return typeof uLogin !== "undefined" && uLogin !== null ? uLogin.init() : void 0;
1193  },
1194  open: function(w) {
1195    A.P.body.css('overflow', 'hidden');
1196    A.W.back.addClass('open');
1197    return A.W.w.css({
1198      maxWidth: (w !== void 0 ? w : 800) + "px"
1199    });
1200  },
1201  close: function() {
1202    var base;
1203    A.W.back.removeClass('open');
1204    A.P.body.css('overflow', 'auto');
1205    A.W.i.html("");
1206    return typeof (base = A.W).onClose === "function" ? base.onClose() : void 0;
1207  },
1208  openRegion: function() {
1209    var value;
1210    A.W.open(1000);
1211    A.W.startLoad();
1212    value = $("#choose_region").data('value');
1213    if (value === void 0) {
1214      value = {};
1215    }
1216    return API.GET.r(API.U.form.region, value, A.W.aOpenRecall);
1217  },
1218  openOkved: function() {
1219    var value;
1220    A.W.open(1000);
1221    A.W.startLoad();
1222    value = $("#choose_okved").data('value');
1223    if (value === void 0) {
1224      value = {};
1225    }
1226    return API.GET.r(API.U.form.okved, value, A.W.aOpenRecall);
1227  },
1228  openRecall: function() {
1229    A.W.open(1000);
1230    A.W.startLoad();
1231    return API.GET.r(API.U.get.form.recall, {}, A.W.aOpenRecall);
1232  },
1233  aOpenRecall: function(data) {
1234    A.W.setHtml(data);
1235    return $(".window_inner input[name=phone]").mask("+7 (999) 999-99-99");
1236  },
1237  openAuth: function() {
1238    A.W.open(600);
1239    A.W.startLoad();
1240    return API.GET.r(API.U.account.form.auth, {}, A.W.aOpenRecall);
1241  },
1242  openReg: function() {
1243    A.W.open(600);
1244    A.W.startLoad();
1245    return API.GET.r(API.U.account.form.reg, {}, A.W.aOpenRecall);
1246  },
1247  openRemind: function() {
1248    A.W.open(600);
1249    A.W.startLoad();
1250    return API.GET.r(API.U.account.form.remind, {}, A.W.aOpenRecall);
1251  }
1252};
1253
1254(function($) {
1255  var F;
1256  $.fn.FORM = function(method) {
1257    if (F[method]) {
1258      return F[method].apply(this, Array.prototype.slice.call(arguments, 1));
1259    } else if (typeof method === "object" || !method) {
1260      return F.init.apply(this, arguments);
1261    } else {
1262      return $.error('Метод с именем ' + method + ' не существует для jQuery.FORM');
1263    }
1264  };
1265  return F = {
1266    change: function($html, isScroll = true) {
1267      $("#form_result").html('<button class="btn green big">Рассчитать стоимость</button>');
1268      if (isScroll) {
1269        return A.P.scrollToTop();
1270      }
1271    },
1272    reset: function($html) {
1273      return H.go('/form/');
1274    },
1275    init: function($html) {
1276      var clickForm;
1277      clickForm = false;
1278      $("#choose_region", $html).each(function() {
1279        var d, data, r;
1280        d = $(this).attr('data-value');
1281        try {
1282          data = JSON.parse(d);
1283          r = A.P.setRegionsValue(data);
1284          return clickForm = r || clickForm;
1285        } catch (error) {}
1286      });
1287      $("#choose_okved", $html).each(function() {
1288        var d, data, r;
1289        d = $(this).attr('data-value');
1290        try {
1291          data = JSON.parse(d);
1292          r = A.P.setOkvedValue(data);
1293          return clickForm = r || clickForm;
1294        } catch (error) {}
1295      });
1296      if (clickForm) {
1297        $("#form_result .btn", $html).click();
1298      }
1299      $("#d_form input").change(function() {
1300        return $.fn.FORM('change', null, false);
1301      });
1302      $("[data-input=\"checkbox\"]").change(function() {
1303        return $.fn.FORM('change', null, false);
1304      });
1305      return $("#d_form .select").on('select.change', function() {
1306        return $.fn.FORM('change', null, false);
1307      });
1308    }
1309  };
1310})(jQuery);
1311
1312(function($) {
1313  var F;
1314  $.fn.PAY = function(method) {
1315    if (F[method]) {
1316      return F[method].apply(this, Array.prototype.slice.call(arguments, 1));
1317    } else if (typeof method === "object" || !method) {
1318      return F.init.apply(this, arguments);
1319    } else {
1320      return $.error('Метод с именем ' + method + ' не существует для jQuery.PAY');
1321    }
1322  };
1323  return F = {
1324    init: function() {},
1325    cloudpayments: function(o = {}) {
1326      var widget;
1327      console.log(o);
1328      widget = new (cp.CloudPayments)();
1329      widget.pay('charge', {
1330        publicId: o.token,
1331        description: 'Оплата товаров в egrul-base.ru',
1332        amount: o.amount,
1333        currency: 'RUB',
1334        invoiceId: o.invoiceId,
1335        //accountId: '[email protected]'
1336        skin: 'mini',
1337        data: o.data
1338      }, {
1339        onSuccess: function(options) {
1340          console.log('onSuccess', options, options);
1341          // success
1342          //действие при успешной оплате
1343          // A.W.openThankYou()
1344          H.go('/profile/');
1345        },
1346        onFail: function(reason, options) {
1347          console.log('onFail', reason, options);
1348        },
1349        // fail
1350        //действие при неуспешной оплате
1351        //F.cloudpayments(o)
1352        onComplete: function(paymentResult, options) {
1353          console.log('paymentResult', paymentResult, options);
1354        }
1355      });
1356    }
1357  };
1358//Вызывается как только виджет получает от api.cloudpayments ответ с результатом транзакции.
1359//например вызов вашей аналитики Facebook Pixel
1360})(jQuery);
1361
1362(function($) {
1363  var F;
1364  $.fn.RUBRIC = function(method) {
1365    if (F[method]) {
1366      return F[method].apply(this, Array.prototype.slice.call(arguments, 1));
1367    } else if (typeof method === "object" || !method) {
1368      return F.init.apply(this, arguments);
1369    } else {
1370      return $.error('Метод с именем ' + method + ' не существует для jQuery.RUBRIC');
1371    }
1372  };
1373  return F = {
1374    init: function($html) {
1375      return $("#search_rubric", $html).each(function() {
1376        return $(this).keyup(F.search);
1377      });
1378    },
1379    search: function() {
1380      var $res, send, val;
1381      val = $("#search_rubric input[name=text]").val();
1382      $res = $("#search_rubric .results").html('<div class="result">Загрузка...</div>').show();
1383      send = {
1384        s: val,
1385        area: $("#search_rubric [name=area]").val(),
1386        city: $("#search_rubric [name=city]").val(),
1387        region: $("#search_rubric [name=region]").val(),
1388        code: $("#search_rubric [name=code]").val(),
1389        inner: $("#inner").is(":checked") ? 1 : 0
1390      };
1391      API.GET.r('/api/region/search/', send, function(data, cd) {
1392        return $res.html(data);
1393      });
1394      return false;
1395    }
1396  };
1397})(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.