PageSourceSearch

https://transleasing.ru/bitrix/templates/new/static/js/calc.js?16974429198241

js transleasing.ru collected 2026-09-30 09:32:01 UTC 8,241 bytes, 193 lines download raw bytes

1$(document).ready(function(){
2    let __calcFormIsSubmitted = false
3
4    $("#calculator_cost").on('input', calculatorPrepayment);
5    $("#calculator_prepayment_slider").on('change', calcPrepaymentCostFromPrepaymentPercent.bind($("#calculator_prepayment_slider")))
6    $("#calculator_prepayment").on('change', calcPrepaymentPercentFromPrepaymentCost.bind($("#calculator_prepayment")))    
7    $("#select__type_property").on("change", formModify)
8    $("#select__type_property").on("change", setOrderForm)
9    //resubmit after change
10    $("#select__type_property").on("change", submitCalcForm)
11    $("#calculator_prepayment_slider").on('change', submitCalcForm)
12    $("#calculate-form").on('change', submitCalcForm)
13    //resubmit after change - end
14
15    $("input[name='hexagon']").on("input", ()=>{
16        let id = $(".select__hexagon:checked").data("id")
17        $("#select__type_property").val(id)
18        $("#select__type_property").change()
19    })
20    
21    $("#calculator_cost").on('input', setOrderForm)
22    $("#calculator_cost_slider").on('change', setOrderForm)
23    //$("input[name='type_property']").on("change", setOrderForm)
24    //$("select.js-type").trigger("change")
25
26    function submitCalcForm(){
27        if (__calcFormIsSubmitted) setTimeout(()=>{$("#calculate-form").submit()},200)
28    }
29
30    function setOrderForm(){
31        var cost = Math.round($("#calculator_cost").val().replace(/[^0-9]/g,''))
32        $("input.js-cost").val(cost)
33        var type = $(".type__option:selected").data('id')
34        var type_name = $(".type__option:selected").data('name')
35        //console.log(type_name)
36        $("select.js-type").val(type)
37        $("input.js-type-text").val(type_name)
38    }
39
40    function formModify(event) {
41        
42        var selecteddProperty = $(".type__option:selected")
43        var insurance = Math.round( selecteddProperty.data('insurance'))
44        var terms = Math.round( selecteddProperty.data('terms'))
45
46        var currentProcent = Math.round(selecteddProperty.data('procent'))
47        var minProcent = Math.round(selecteddProperty.data('min'))
48        
49        $("#calculator_prepayment_slider").attr('min', minProcent)
50        setTimeout(()=>{
51            $("#calculator_prepayment_slider").val(currentProcent)
52        }, 100)    
53
54        if (terms) { 
55            $(".radio4, .radio5, .radio6").hide()
56            $(".radio2").show()		
57	    if ($("#calculate-form")[0].time[3].checked || $("#calculate-form")[0].time[4].checked || $("#calculate-form")[0].time[5].checked) $("#calculate-form")[0].time[0].checked = true;	
58        } else {
59            $(".radio2").hide()
60            $(".radio4, .radio5, .radio6").show()
61    	    if ($("#calculate-form")[0].time[1].checked) $("#calculate-form")[0].time[3].checked = true;
62        }
63	if (insurance > 0) {
64	    $(".row--insurance").show()
65	    $(".js-insurance").val(insurance)
66	} else {
67	    $(".row--insurance").hide()
68	    $(".js-insurance").val(0)	
69	}
70    }
71
72    //Ðàñ÷åò ìèíèìàëüíîãî àâàíñà âçàâèñèìîñòè îò ñóììû 
73    function calculatorPrepayment (event)
74    {   
75        //console.log("#calculatorPrepayment")
76        var procent = $("#calculator_prepayment_slider").val()
77        
78        var cost = Math.round( $("#calculator_cost").val().replace(/ /g,'') );
79        var prepayment = Math.round( procent * ( cost/100  ));
80        
81        // if( event.type == 'change' ){            
82        //     $("#calculator_prepayment_procent").html(procent + '%');
83        // }   
84
85        if( prepayment == undefined || isNaN(prepayment) )     
86            return true;        
87        
88        //prepaymentFormated = new Intl.NumberFormat({ style: 'currency'}).format(prepayment);
89        
90        $("#calculator_prepayment").val(prepayment);  
91        //$("#calculator_prepayment_slider").val(prepayment);
92        //$("#calculator_prepayment_slider").attr('max', parseInt(cost * 0.49))
93    }
94    
95    //Ïåðåñ÷åò ñóììû àâàíñà â çàâèñèìîñòè îò ââåäåííîãî ïðîöåíòà
96    //$("#calculator_prepayment_procent").focusout(function(){
97    function calcPrepaymentCostFromPrepaymentPercent() {
98        //console.log("#calcPrepaymentCostFromPrepaymentPercent")
99        var procent = Math.round($(this).val());
100        var cost = Math.round( $("#calculator_cost").val().replace(/[^0-9]/g,'') );
101        var prepayment = Math.round(procent * ( cost/100 ));        
102        var minProcent = parseInt($(".type__option:selected").data("min"));
103        var maxProcent = 49;
103 // Ìàêñèìàëüíûé ïðîöåíò àâàíñà
104        var maxCost = cost/100 * maxProcent;
105        var minCost = cost/100 * minProcent;
106        
107        if( prepayment == undefined || isNaN(prepayment) || procent == undefined || isNaN(procent) || procent < minProcent ){                                    
108            $(this).val(minProcent)
109            $("#calculator_prepayment").val(minCost) // new Intl.NumberFormat({ style: 'currency'}).format(minCost) );
110            return false;
111        }
112
113        if( prepayment == undefined || isNaN(prepayment) || procent == undefined || isNaN(procent) || procent > maxProcent ){            
114            $(this).val(maxProcent);
115            $("#calculator_prepayment").val(maxCost) // new Intl.NumberFormat({ style: 'currency'}).format(maxCost) );
116            return false;
117        }
118
119        //prepaymentFormated = new Intl.NumberFormat({ style: 'currency'}).format(prepayment);
120        
121        $("#calculator_prepayment").val(prepayment);
122        $("#calculator_prepayment_procent").html(procent + '%');
123    };
124    
125    //Ïåðåñ÷åò ïðîöåíòà àâàíñà â çàâèñèìîñòè îò ñóììû àâàíñà êîòîðóþ ââåë ïîëüçîâàòåëü
126    $("#calculator_prepayment").focusout(function(){});
127
128    function calcPrepaymentPercentFromPrepaymentCost(){    
129        //console.log("#calcPrepaymentPercentFromPrepaymentCost")
130        var cost = Math.floor( $("#calculator_cost").val().replace(/[^0-9]/g,''));
131        var prepayment = Math.floor($(this).val().replace(/[^0-9]/g,''));
132        
133        var procent = Math.floor( prepayment * 100 / cost);
134        var minProcent = parseInt($(".type__option:selected").data("min"));
135        var maxProcent = 49; // Ìàêñèìàëüíûé ïðîöåíò àâàíñà
136        var maxCost = cost/100 * maxProcent;
137        var minCost = cost/100 * minProcent;
138
139        //console.log(procent)
140                
141        if( procent == undefined || isNaN(procent) || procent < minProcent ){
142            var newPrice = minCost; //new Intl.NumberFormat({ style: 'currency'}).format(minCost);
143            $(this).val(newPrice);
144            $("#calculator_prepayment_procent").val(minProcent);
145            $("#calculator_prepayment_slider").val(minProcent);
146            return false;
147        }    
148
149        if( procent == undefined || isNaN(procent) || procent > maxProcent ){
150            var newPrice = maxCost; //new Intl.NumberFormat({ style: 'currency'}).format(maxCost)
151            $(this).val(newPrice);
152            //$("#calculator_prepayment_procent").val(maxProcent);
153            $("#calculator_prepayment_slider").val(maxProcent);
154            return false;
155        }          
156        
157        $("#calculator_prepayment_slider").val(procent)
158        $("#calculator_prepayment_procent").html(procent + '%');
159    };
160    //Ñàáìèò ôîðìû êàëüêóëÿòîðà
161    $("#calculate-form").submit(function(event){
162        event.preventDefault();
163        var data = $(this).serialize();
164        var url = $(this).attr('action');
165        var _this = this;
166        if( window.trans.form.checkForm($(this) ) )
167        {
168            $.ajax({
169                url: url,
170                data: data,
171                method: "post",
172                cache: false
173            }).done( function(data){
174                $("#calculation-result").html(data);
175                $(".calculator__warning").show();
176            });        
177        }        
178        __calcFormIsSubmitted = true
179        console.log("__calcFormIsSubmitted = ", __calcFormIsSubmitted)
180    });
181    //Ðàñïå÷àòàòü ðàñ÷åò 
182    $("body").on("click", ".calculation__print, .calculation__download", function(event){
183        var data = $("#calculate-form").serialize();
184        var link = $(this).attr("href");        
185        var url = link + '?'+ data;        
186	
187        $(this).attr("href", url);
188    });
189
190    formModify()
191    setOrderForm()
192
193});

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.