PageSourceSearch

https://viaconto.ro/themes/default/js/script.js?v=1791190373

js viaconto.ro collected 2026-10-08 16:54:26 UTC 27,582 bytes, 780 lines download raw bytes

1$(function() {
2	var special = ['reveal'];
3	$('.open-it-1, .open-it-2, .open-it-3').click(function() {
4	$(".open-it-1").toggleClass("opened");
5	var transitionClass = $(this).data('transition');
6	if ($.inArray(transitionClass, special) > -1) {
7	    $('body').addClass('over');
8	    $('body').addClass(transitionClass);
9	} else {
10	    $('body').removeClass('over');
11	    $('#site-canvas').removeClass();
12	    $('#site-canvas').addClass(transitionClass);
13	}
14	$('#site-wrapper').toggleClass('show-nav');
15	return false;
16	});
17	$('#nav-icon4 a').click(function(e) {
18	$('#nav-icon4').toggleClass('open');
19	$('#reg-menu').toggle("300");
20	$('#returning-txt').toggle("300");
21	e.preventDefault();
22	});
23	$("#consentother").click(function() {
24	val = false;
25	if ($(this).is(":checked")) {
26	    val = true;
27	}
28	$('#consent_mail').prop('checked', val);
29	$('#consent_sms').prop('checked', val);
30	$('#consent_post').prop('checked', val);
31	$('#consent_profile').prop('checked', val);
32	if($('#accept_agreement').length) {
33		$('#accept_agreement').prop('checked', val);
34	}
35	});
36	$("#toggle-history a").click(function(e){
37            e.preventDefault();
38	      $("#history-block").slideToggle();
39
40	  });
41	$(".list-option-link").click(function(e) {
42        e.preventDefault();
43        var listId = $(this).attr('id');
44        if(!listId ||  $('#'+listId+'-block').is(':visible') ){
45            return false;
46        }
47
48        $("#list-option li").removeClass("act");
49        $("#list-option li #"+listId).parent().addClass("act");
50        $(".list-option-div").hide();
51        $('#'+listId+'-block').toggle();
52	});
53});
54
55$(document).ready(function() {
56    $("#change-date-save").click(function(e) {
57        e.preventDefault();
58        $('#save-changes, #change-date-save').attr("disabled", true);
59        $('#payment_day').removeClass('error');
60        $('#changedate-msg').html('').hide();
61        $.post('/?name=user_cabinet&op=change_payment_date', {
62            'new_dt': $('#payment_day').val()
63        }, function(resp) {
64            if (!resp) location.reload();
65            else {
66                $('#changedate-msg').html(resp.msg).show('slow');
67                if (resp.status == 'changedate_req_success') {
68                    $("#save-changes, #datepicker-wrap").hide();
69                    $("#change-date").addClass('disabled');
70                    $("#payment-date, #change-date").show();
71                } else {
72                    $('#payment_day').addClass('error');
73                }
74                $('#save-changes, #change-date-save').attr("disabled", false);
75            }
76            return false;
77        }, 'json');
78        return true;
79    });
80    $("#sign-in, #returning-txt").click(function(e) {
81        $("#log-drop").toggleClass("drop-open");
82        e.preventDefault();
83    });
84    $(".nav_toggle").click(function(e) {
85        $("#nav").slideToggle();
86        e.preventDefault();
87    });
88    $("#nav-toggle").click(function(e) {
89        $(".reg-menu-wrap").slideToggle();
90        e.preventDefault();
91    });
92    $("#lang").selectmenu({
93        change: function(event, ui) {
94            new_lang = this.value;
95            if (new_lang) {
96                window.location.href = '/' + new_lang;
97            }
98        }
99    });
100    $(".tooltip").tooltip({
101        position: {
102            my: "center bottom-10",
103            at: "center top",
104            using: function(position, feedback) {
105                $(this).css(position);
106                $("<div>").addClass("arrow").addClass(feedback.vertical).addClass(feedback.horizontal).appendTo(this);
107            }
108        }
109    });
110    $('#increase-form').on('submit', function(e) {
111        e.preventDefault();
112        var passed = true;
113        if (!$('#ag').is(':checked')) {
114            $('.rules-block:first').addClass('error');
115            $('.error-msg').removeClass('hider').addClass('show');
116            passed = false;
117        } else {
118            $('.rules-block:first').removeClass('error');
119            $('.error-msg').removeClass('show').addClass('hider');
120        }
121        var consent_credit_bureau = 0;
122        if ($('#block-consent_credit_bureau').length > 0) {
123            if ($('#consent_credit_bureau').prop('checked')) {
124                $('#block-consent_credit_bureau').removeClass('error');
125                $('.error-msg').removeClass('show').addClass('hider');
126                consent_credit_bureau = 1;
127            } else {
128                passed = false;
129                $('#block-consent_credit_bureau').addClass('error');
130                $('.error-msg').removeClass('hider').addClass('show');
131            }
132        }
133        var consent_anaf_report = 0;
134        if ($('#block-consent_anaf_report').length > 0) {
135            if ($('#consent_anaf_report').prop('checked')) {
136                $('#block-consent_anaf_report').removeClass('error');
137                $('.error-msg').removeClass('show').addClass('hider');
138                consent_credit_bureau = 1;
139            } else {
140                passed = false;
141                $('#block-consent_anaf_report').addClass('error');
142                $('.error-msg').removeClass('hider').addClass('show');
143            }
144        }
145
146        var consent_anaf_report  = setupConsentToggle('consent_anaf_report', true);
147        var consent_credit_bureau = setupConsentToggle('consent_credit_bureau', true);
148
149
150        var methodSel = '';
151        if ($('div.payout-choice').length > 0) {
152            if (!$('input[type="radio"][name="method"]').is(':checked')) {
153                passed = false;
154                $('#err_method').show();
155            } else {
156                $('#err_method').hide();
157                methodSel = $('input[type="radio"][name="method"]:checked').val();
158            }
159        }
160        if (!passed) {return false;}
161        $('.rules-block:first').removeClass('error');
162        $('.error-msg').removeClass('show').addClass('hider');
163        $(".btn").hide();
164        $.post('/?name=user_cabinet&op=increase_limit', {
165            'sum': parseInt($('#credit_limit').val()),
166            'method': methodSel,
167            'consent_credit_bureau': consent_credit_bureau,
168	        'consent_pep': Number($('#consent_pep').prop('checked')),
169            'consent_anaf_report' : consent_anaf_report
170        }, function(resp) {
171            if (resp.status == 'increase_req_success' || resp.status == 'kyc_required') {
172                window.location.href = resp.path;
173                return true;
174            } else {
175                $('.error-msg').html('<span class="wait"></span> ' + resp.msg).removeClass('hider').addClass('show');
176                $(".btn").show();
177                return false;
178            }
179        }, 'json');
180        return true;
181    });
182    $('#register-form').on('submit', function(e) {
183        e.preventDefault();
184        var form = $(this);
185        clearErrors(form);
186        $('#promo_code').removeClass('error');
187        $('.rules-block').removeClass('error');
188        if (!$('#accept_agreement').is(':checked')) {
189            $('.rules-block:first').addClass('error');
190        }
191        if (checkEmptyFields(form)) {
192            addErrors(form, '');
193            return false;
194        }
195        if (checkErrRegFields(form)) {
196            addErrors(form, '');
197            return false;
198        }
199        $("button").hide();
200        $.post('/?name=user_cabinet&op=register_new', form.serialize(), function(resp) {
201            if (resp.status == 'success') {
202                window.location.href = resp.path;
203                return true;
204            }
205            if (resp.status == 'domain_failed') {
206                $('#mail').addClass('error');
207            }
208            if (resp.status == 'exists_deleted' || resp.status == 'pk_failed') {
209                $('#pers_code1').addClass('error');
210                $('#pers_code2').addClass('error');
211            }
212            if (resp.status == 'bd_failed' || resp.status == 'age_failed') {
213                $('#birth_day').addClass('error');
214                $('#birth_month').addClass('error');
215                $('#birth_year').addClass('error');
216            }
217            if (resp.status == 'promo_fail' || resp.status == 'promo_exist') {
218                $('#promo_code').addClass('error');
219            }
220            addErrors(form, resp.msg);
221            $("button").show();
222            return false;
223        }, 'json');
224        return true;
225    });
226
227    function checkErrRegFields(form) {
228        var pk1 = $('#pers_code1').val();
229        var pk2 = $('#pers_code2').val();
230        if ((pk1.length != 6 || pk2.length != 5) || !validate_pers_code(pk1 + pk2)) {
231            $('#pers_code1').addClass('error');
232            $('#pers_code2').addClass('error');
233        } else {
234            var d = parseInt(pk1.substr(0, 2), 10);
235            if (d > 0 && d < 32) {
236                var m = parseInt(pk1.substr(2, 2), 10);
237                var y = pk1.substr(4, 2);
238                var yr_span = parseInt(pk2.substr(0, 1), 10);
239                var yr = (yr_span == 1 ? parseInt('19' + y) : parseInt('20' + y));
240                $('#birth_day').val(d);
241                $('#birth_month').val(m);
242                $('#birth_year').val(yr);
243            }
244        }
245        var email = $.trim($('#mail').val());
246        if (!form_check_mail(email, true)) {
247            $('#mail').addClass('error');
248        }
249        var psw1 = $.trim($('#pass1').val());
250        var psw2 = $.trim($('#pass2').val());
251        if (!regexp_this(psw1, 'pass')) {
252            $("#pass1").addClass('error');
253            $("#pass2").addClass('error');
254        }
255        if (psw1 != psw2) {
256            $("#pass1").addClass('error');
257            $("#pass2").addClass('error');
258        }
259        if (!regexp_this($.trim($('#mobile').val()), 'phone')) {
260            $("#mobile").addClass('error');
261        }
262        if ($('#bank').val() == 0) {
263            $('#bank').addClass('error');
264        }
265        return form.find('.error').size();
266    }
267    $('#register-confirm-form').on('submit', function(e) {
268        e.preventDefault();
269        var form = $(this);
270        clearErrors(form);
271        checkUserIncome();
272        if ($.trim($("#confirm_loan_code").val()) == '') {
273            $("#confirm_loan_code").val('');
274            $("#confirm_loan_code").addClass('error');
275        }
276        if (form.find('.error').size() > 0) {
277            addErrors(form, '');
278            return false;
279        }
280        $("button").hide();
281        $.post('/?name=user_cabinet&op=register_new', form.serialize(), function(resp) {
282            if (resp.status == 'success') {
283                window.location.href = resp.path;
284                return true;
285            }
286            if (resp.status) {
287                if (resp.status == 'confirm_fail') {
288                    $('#confirm_loan_code').addClass('error');
289                }
290                addErrors(form, resp.msg);
291                $("button").show();
292                return false;
293            } else {
294                window.location.href = resp.path;
295                return false;
296            }
297        }, 'json');
298        return true;
299    });
300    $('#confirm-loan-form').on('submit', function(e) {
301        e.preventDefault();
302        var form = $(this);
303        clearErrors(form);
304        checkUserIncome();
305        if (form.find('.error').size() > 0) {
306            addErrors(form, '');
307            return false;
308        }
309        $.post('/?name=user_cabinet&op=new_loan_process', form.serialize(), function(resp) {
310            if (resp.status == 'success') {
311                window.location.href = resp.path;
312                return true;
313            }
314            if (resp.status) {
315                addErrors(form, resp.msg);
316                return false;
317            } else {
318                window.location.href = resp.path;
319                return false;
320            }
321        }, 'json');
322        return true;
323    });
324
325    function checkUserIncome() {
326        var passed = true;
327        if ($.trim($("#work_place").val()) == '') {
328            $("#work_place").val('');
329            $("#work_place").addClass("error");
330            passed = false;
331        } else {
332            $("#work_place").removeClass("error");
333        }
334        if ($("#month_revenue").val() == '') {
335            $("#month_revenue").addClass("error");
336            passed = false;
337        } else {
338            $("#month_revenue").removeClass("error");
339        }
340        if ($("#month_costs").val() == '') {
341            $("#month_costs").addClass("error");
342            passed = false;
343        } else {
344            $("#month_costs").removeClass("error");
345        }
346        var other_crd = $.trim($("#other_credits").val());
347        if (other_crd != '') {
348            if (isNaN(parseFloat(other_crd))) {
349                $("#other_credits").addClass("error");
350                passed = false;
351            } else {
352                $("#other_credits").val(parseFloat(other_crd).toFixed(2)).removeClass("error");
353            }
354        }
355        if ($("#family_size").val() == '') {
356            $("#family_size").addClass("error");
357            passed = false;
358        } else {
359            $("#family_size").removeClass("error");
360        }
361        return passed;
362    }
363    $('form[name="login-form"]').on('submit', function(e) {
364        e.preventDefault();
365        var form = $(this);
366        clearErrors(form);
367        if (checkEmptyFields(form)) {
368            addErrors(form, '');
369            return false;
370        }
371        /* type="email" alone lets the browser block submission with its own validation
372           bubble, in the browser/OS UI language rather than the page's -- check format
373           ourselves first so the message is always in the site's own language. */
374        var mailField = form.find('[name="mail"]');
375        if (mailField.length && !validate_email($.trim(mailField.val()))) {
376            mailField.addClass('error');
377            addErrors(form, window.LNG_LOGIN_MESSAGES ? window.LNG_LOGIN_MESSAGES.invalid_email : '');
378            return false;
379        }
380        $.post('/?name=user_cabinet&op=ajax_login', form.serialize(), function(resp) {
381
382            if (resp == 'success') {
383                window.location.href = '/profile';
384                return true;
385            } else {
386                form.find('.required').each(function() {
387                    form.find('.required').addClass('error');
388                });
389                /* ajax_login returns a bare status string, not an object -- resp.msg is always
390                   undefined here, so fall back to the translated messages from popup/login.phtml */
391                var msg = (resp == '101' && window.LNG_LOGIN_MESSAGES) ? window.LNG_LOGIN_MESSAGES.blackl
391isted
392                    : (window.LNG_LOGIN_MESSAGES ? window.LNG_LOGIN_MESSAGES.incorrect : '');
393                addErrors(form, msg);
394                return false;
395            }
396        });
397        return true;
398    });
399    $("#btt-logout").click(function(e) {
400        e.preventDefault();
401        $.post('/?name=user_cabinet&op=logout', function(r) {
402            window.location.href = '/';
403            return false;
404        }, 'json');
405        return false;
406    });
407    $('#forgot-password-form').on('submit', function(e) {
408        e.preventDefault();
409        var form = $(this);
410        clearErrors(form);
411        var field = $('#remember_pass_mail');
412        if (!form_check_mail((field.val()), true)) {
413            addErrors(form, '');
414            return false;
415        }
416        $.post('/?name=user_cabinet&op=forgot_password', form.serialize(), function(resp) {
417            if (resp.status == 'success') {
418                form.find('.success-msg').removeClass('hider').addClass('show');
419                return false;
420            } else {
421                field.addClass('error');
422                form.find('.success-msg').removeClass('show').addClass('hider');
423                addErrors(form, resp.msg);
424                return false;
425            }
426        }, 'json');
427        return true;
428    });
429
430    function processProfileSave(form, data) {
431        if (!data.status) {
432            window.location.href = data.path;
433            return false;
434        }
435        if (data.status == 'success') {
436            form.find('.success-msg').removeClass('hider').addClass('show');
437            return false;
438        } else {
439            form.find('.success-msg').removeClass('show').addClass('hider');
440            addErrors(form, data.msg);
441            return false;
442        }
443    }
444    $('#profile-income-form').on('submit', function(e) {
445        e.preventDefault();
446        var form = $(this);
447        clearErrors(form);
448        if (!checkUserIncome()) {
449            addErrors(form, '');
450            return false;
451        }
452        $.post('/?name=user_cabinet&op=save', form.serialize(), function(resp) {
453            processProfileSave(form, resp);
454        }, 'json');
455        return true;
456    });
457    $('#profile-setting-form').on('submit', function(e) {
458        e.preventDefault();
459        var form = $(this);
460        clearErrors(form);
461        $.post('/?name=user_cabinet&op=save', form.serialize(), function(resp) {
462            processProfileSave(form, resp);
463        }, 'json');
464        return true;
465    });
466    $('#profile-pers-form').on('submit', function(e) {
467        e.preventDefault();
468        var form = $(this);
469        clearErrors(form);
470        if (checkErrPersFields(form)) {
471            addErrors(form, '');
472            return false;
473        }
474        $.post('/?name=user_cabinet&op=save', form.serialize(), function(resp) {
475            processProfileSave(form, resp);
476        }, 'json');
477        return true;
478    });
479    $('.phone_change').click(function(e) {
480        $('.phoneChange').toggle('slow', function() {
481            e.preventDefault();
482            $('.error-msg').removeClass('show').addClass('hider');
483            $("#Phone").removeClass('error');
484            if ($('#btt-profile').is(':visible')) $('#btt-profile').hide();
485            else $('#btt-profile').show();
486        });
487    });
488
489    function checkErrPersFields(form) {
490        check_chars($('#mobile'), '+1234567890', 12);
491        var email = $.trim($('#Mail').val());
492        if (!form_check_mail(email, true)) {
493            $('#Mail').addClass('error');
494        }
495        var new_pass1 = $("#pass1").val();
496        var new_pass2 = $("#pass2").val();
497        var old_pass = $("#passold").val();
498        var len1 = new_pass1.length;
499        var len2 = new_pass2.length;
500        var len3 = old_pass.length;
501        if (new_pass1 != '' || new_pass2 != '' || old_pass != '') {
502            var rexp = /^([a-zA-Z0-9]){6,15}$/;
503            if ((new_pass1 != new_pass2) || len1 < 6 || len2 < 6 || len3 < 1 || !rexp.test(new_pass1)) {
504                if (len1 < 6 || !rexp.test(new_pass1) || (new_pass1 && new_pass1 != new_pass2)) {
505                    $("#pass1").addClass("error");
506                } else {
507                    $("#pass1").removeClass("error");
508                }
509                if (len2 < 6 || (new_pass1 && new_pass1 != new_pass2)) {
510                    $("#pass2").addClass("error");
511                } else {
512                    $("#pass2").removeClass("error");
513                }
514                if (len3 < 1) {
515                    $("#passold").addClass("error");
516                } else {
517                    $("#passold").removeClass("error");
518                }
519            } else {
520                $("#passold").removeClass("error");
521                $("#pass1").removeClass("error");
522                $("#pass2").removeClass("error");
523            }
524        } else {
525            $("#passold").removeClass("error");
526            $("#pass1").removeClass("error");
527            $("#pass2").removeClass("error");
528        }
529        return form.find('.error').size();
530    }
531
532    function redirect(url) {
533        window.open(url, '_blank');
534    }
535
536    function procees_response(data, path) {
537        if (data === true) {
538            window.location.href = path;
539            return false;
540        }
541        if (data.status == null) {
542            var err = '';
543            $.each(data, function(key, value) {
544                if ($('#' + key + '_group').length > 0) {
545                    $('#' + key + '_group').addClass('has-error');
546                    err += value + '<br/>';
547                }
548                $('#errors').find('p').html(err);
549                $('#errors').removeClass('fade out').addClass('fade in');
550            });
551        } else if (data.status == true) {
552            if (path != '') {
553                window.location.href = path + data.usr_id;
554                return false;
555            }
556            $('.fgroup').each(function() {
557                $(this).val('');
558                $('#msg').html(data.msg);
559                $('.alert-success').show('slow');
560            });
561        } else {
562            addErrors(form, data.status);
563        }
564    }
565
566    function checkEmptyFields(form) {
567        form.find('.required').each(function() {
568            if ($.trim($(this).val()) != '') {
569                $(this).removeClass('error');
570            } else {
571                $(this).addClass('error');
572            }
573        });
574        return form.find('.error').size();
575    }
576
577    function clearErrors(form) {
578        form.find('.required').each(function() {
579            form.find('.required').removeClass('error');
580        });
581        form.find('.error-msg').removeClass('show').addClass('hider');
582        form.find('.success-msg').removeClass('show').addClass('hider');
583    }
584
585    function addErrors(form, msg) {
586        if (msg != '') form.find('.error-msg').html(msg);
587        form.find('.error-msg').removeClass('hider').addClass('show');
588    }
589
590    function include(url) {
591        document.write('<script src="' + url + '"></script>');
592    }
593    (function($) {
594        $.fn.serializefiles = function() {
595            var obj = $(this);
596            var formData = new FormData();
597            $.each($(obj).find("input[type='file']"), function(i, tag) {
598                $.each($(tag)[0].files, function(i, file) {
599                    formData.append(tag.name, file);
600                });
601            });
602            var params = $(obj).serializeArray();
603            $.each(params, function(i, val) {
604                formData.append(val.name, val.value);
605            });
606            return formData;
607        };
608    })(jQuery);
609    $("#discount-choice #close-1").click(function(e) {
610        $("#discount-choice").fadeOut();
611        e.preventDefault();
612    });
613    $("#discount-choice .button").click(function(e) {
614        $.post("/?name=ajax&case=set_promo", {
615            value: $(this).attr('rel')
616        }, function(resp) {
617            if (resp == 'success') {
618                $("#discount-choice").fadeOut();
619                jsCalculatorFormData();
620            } else {
621                alert('error');
622                location.reload();
623            }
624        })
625        e.preventDefault();
626    });
627
628    function check_promocode() {
629        promo_code = $('#promo_code').val();
630        loan_amount = $('#sum_input').val();
631        loan_days = $('#days_input').val();
632        promo_ratio = $('#promo_ratio').val();
633        if (promo_code != last_promo || promo_ratio != 1) {
634            $('#promo_ratio').val(1);
635            $('#load_in').hide();
636            last_promo = promo_code;
637            $.post("/?name=ajax&case=check_promocode", {
638                summ: loan_amount,
639                days: loan_days,
640                code: promo_code
641            }, function(resp) {
642                if (resp.length > 0) {
643                    $('#load_in').html(resp).fadeIn('slow');
644                    $('#load_in').fadeIn('slow', function() {
645                        $(this).show();
646                    });
647                }
648            });
649        }
650    }
651});
652
653function setError(obj) {
654    $(obj).addClass(getErrorClassName());
655
656}
657function removeErorr(obj) {
658    $(obj).removeClass(getErrorClassName());
659
660}
661
662function setupConsentToggle(consentId, isChecked) {
663    const $checkbox = $('#' + consentId);
664    const $block = $('#block-' + consentId);
665
666    if ($checkbox.length > 0) {
667        // Initial check when function is called
668        const isChecked = $checkbox.is(':checked');
669        if(isChecked){
670            $block.toggleClass('error', !isChecked);
671        }
672
673        // Live update on checkbox change
674        $checkbox.change(function () {
675            $block.toggleClass('error', !$(this).is(':checked'));
676        });
677
678        return isChecked ? 1 : 0;
679    }
680
681    return 0;
682}
683
684function getErrorClassName() {
685    return 'error';
686}
687
688$(function() {
689   $(document).on('drag dragstart dragend dragover dragenter dragleave drop', '.dropzone', function (e) {
690        e.preventDefault();
691        e.stopPropagation();
692    });
693
694    $(document).on('dragover dragenter', '.dropzone', function () {
695        $(this).addClass('is-dragover');
696    });
697
698    $(document).on('dragleave dragend drop', '.dropzone', function () {
699        $(this).removeClass('is-dragover');
700    });
701
702    $(document).on('drop', '.dropzone', function (e) {
703        droppedFiles = e.originalEvent.dataTransfer.files;
704        fileName = droppedFiles[0]['name'];
705        $(this).find('.filename').html(fileName);
706        $(this).find('.upload').hide();
707    });
708
709    $("input:file").change(function () {
710        // No file when the picker was cancelled or the input was reset
711        if (!this.files || !this.files[0]) {
712            return;
713        }
714        fileName = this.files[0].name;
715        $(this).closest('.dropzone').find('.filename').html(fileName);
716        $(this).closest('.dropzone').find('.upload').hide();
717    });
718	
719	$('#trigger-doc-alert').click(function (e) {
720        $(this).addClass('disabled');
721        postUpload();
722        e.preventDefault();
723    });
724	
725	function postUpload() {
726    $('.form-error-msg').hide();
727    var file_list = new FormData();
728
729    valid = true;
730    $.each($("input:file"), function (key, value) {
731        file_id = $(value).prop('id');
732        var file = $('#' + file_id).prop('files')[0];
733        var max_size = parseInt($(value).attr('data-maxsize'), 10);
734
735        if (valid && !checkInput('#' + file_id)) {
736            valid = false;
737        } else if (file && max_size && file.size > max_size) {
738            valid = false;
739            $('#error_size').show();
740        } else {
741            file_list.append(file_id, file);
742        }
743    });
744
745    if (valid) {
746        $.ajax({
747            url: '/?name=public&case=upload_files',
748            type: 'POST',
749            data: file_list,
750            cache: false,
751            contentType: false,
752            processData: false,
753            success: function (reply) {
754                if (reply == 'true') {
755                    window.location.href = window.location.href + '?success=1';
756                } else if (reply == 'size' || reply == 'format') {
757                    $('#error_' + reply).show();
758                    $('.form-error-msg').addClass("shake-it");
759                    setTimeout(function () {
760                        $('.form-error-msg').removeClass('shake-it');
761                    }, 2000);
762                    $('#trigger-doc-alert').removeClass('disabled');
763                } else {
764                    window.location.href = '/profile';
765                }
766            },
767            error: function () {
768                $('#trigger-doc-alert').removeClass('disabled');
769            }
770        });
771    } else {
772        $('.form-error-msg').show();
773        $('.form-error-msg').addClass("shake-it");
774        setTimeout(function () {
775            $('.form-error-msg').removeClass('shake-it');
776        }, 2000);
777        $('#trigger-doc-alert').removeClass('disabled');
778    }
779}
780});

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.