PageSourceSearch

https://imt-ishim.ru/bitrix/cache/js/s1/simai.framework/page_b1891…b76ae53d6967b32d0d3c1_v1.js?176524949360721

js imt-ishim.ru collected 2026-10-02 23:10:33 UTC 60,721 bytes, 1,227 lines download raw bytes

1
2; /* Start:"a:4:{s:4:"full";s:101:"/bitrix/templates/simai.framework/components/bitrix/map.yandex.view/contacts/script.js?17652306071540";s:6:"source";s:86:"/bitrix/templates/simai.framework/components/bitrix/map.yandex.view/contacts/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
3if (!window.BX_YMapAddPlacemark)
4{
5	window.BX_YMapAddPlacemark = function(map, arPlacemark)
6	{
7		if (null == map)
8			return false;
9
10		if(!arPlacemark.LAT || !arPlacemark.LON)
11			return false;
12
13		var props = {};
14		if (null != arPlacemark.TEXT && arPlacemark.TEXT.length > 0)
15		{
16			var value_view = '';
17
18			if (arPlacemark.TEXT.length > 0)
19			{
20				var rnpos = arPlacemark.TEXT.indexOf("\n");
21				value_view = rnpos <= 0 ? arPlacemark.TEXT : arPlacemark.TEXT.substring(0, rnpos);
22			}
23
24			props.balloonContent = arPlacemark.TEXT.replace(/\n/g, '<br />');
25			props.hintContent = value_view;
26		}
27
28		var obPlacemark = new ymaps.Placemark(
29			[arPlacemark.LAT, arPlacemark.LON],
30			props,
31			{balloonCloseButton: true}
32		);
33
34		map.geoObjects.add(obPlacemark);
35
36		return obPlacemark;
37	}
38}
39
40if (!window.BX_YMapAddPolyline)
41{
42	window.BX_YMapAddPolyline = function(map, arPolyline)
43	{
44		if (null == map)
45			return false;
46
47		if (null != arPolyline.POINTS && arPolyline.POINTS.length > 1)
48		{
49			var arPoints = [];
50			for (var i = 0, len = arPolyline.POINTS.length; i < len; i++)
51			{
52				arPoints.push([arPolyline.POINTS[i].LAT, arPolyline.POINTS[i].LON]);
53			}
54		}
55		else
56		{
57			return false;
58		}
59
60		var obParams = {clickable: true};
61		if (null != arPolyline.STYLE)
62		{
63			obParams.strokeColor = arPolyline.STYLE.strokeColor;
64			obParams.strokeWidth = arPolyline.STYLE.strokeWidth;
65		}
66		var obPolyline = new ymaps.Polyline(
67			arPoints, {balloonContent: arPolyline.TITLE}, obParams
68		);
69
70		map.geoObjects.add(obPolyline);
71
72		return obPolyline;
73	}
74}
75/* End */
76;
77; /* Start:"a:4:{s:4:"full";
77s:64:"/simai/asset/simai.property/.default/js/script.js?17652305795178";s:6:"source";s:49:"/simai/asset/simai.property/.default/js/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
78function SFPropAddNewRow(tableID, row_to_clone)
79{
80	var tbl = document.getElementById(tableID);
81	var cnt = tbl.rows.length;
82	if(row_to_clone == null)
83		row_to_clone = -2;
84	var sHTML = tbl.rows[cnt+row_to_clone].cells[0].innerHTML;
85	var oRow = tbl.insertRow(cnt+row_to_clone+1);
86	var oCell = oRow.insertCell(0);
87
88	var s, e, n, p;
89	p = 0;
90	while(true)
91	{
92		s = sHTML.indexOf('[n',p);
93		if(s<0)break;
94		e = sHTML.indexOf(']',s);
95		if(e<0)break;
96		n = parseInt(sHTML.substr(s+2,e-s));
97		sHTML = sHTML.substr(0, s)+'[n'+(++n)+']'+sHTML.substr(e+1);
98		p=s+1;
99	}
100	p = 0;
101	while(true)
102	{
103		s = sHTML.indexOf('__n',p);
104		if(s<0)break;
105		e = sHTML.indexOf('_',s+2);
106		if(e<0)break;
107		n = parseInt(sHTML.substr(s+3,e-s));
108		sHTML = sHTML.substr(0, s)+'__n'+(++n)+'_'+sHTML.substr(e+1);
109		p=e+1;
110	}
111	p = 0;
112	while(true)
113	{
114		s = sHTML.indexOf('__N',p);
115		if(s<0)break;
116		e = sHTML.indexOf('__',s+2);
117		if(e<0)break;
118		n = parseInt(sHTML.substr(s+3,e-s));
119		sHTML = sHTML.substr(0, s)+'__N'+(++n)+'__'+sHTML.substr(e+2);
120		p=e+2;
121	}
122	p = 0;
123	while(true)
124	{
125		s = sHTML.indexOf('xxn',p);
126		if(s<0)break;
127		e = sHTML.indexOf('xx',s+2);
128		if(e<0)break;
129		n = parseInt(sHTML.substr(s+3,e-s));
130		sHTML = sHTML.substr(0, s)+'xxn'+(++n)+'xx'+sHTML.substr(e+2);
131		p=e+2;
132	}
133	p = 0;
134	while(true)
135	{
136		s = sHTML.indexOf('%5Bn',p);
137		if(s<0)break;
138		e = sHTML.indexOf('%5D',s+3);
139		if(e<0)break;
140		n = parseInt(sHTML.substr(s+4,e-s));
141		sHTML = sHTML.substr(0, s)+'%5Bn'+(++n)+'%5D'+sHTML.substr(e+3);
142		p=e+3;
143	}
144	oCell.innerHTML = sHTML;
145
146	var patt = new RegExp ("<"+"script"+">[^\000]*?<"+"\/"+"script"+">", "ig");
147	var code = sHTML.match(patt);
148	if(code)
149	{
150		for(var i = 0; i < code.length; i++)
151		{
152			if(code[i] != '')
153			{
154				s = code[i].substring(8, code[i].length-9);
155				jsUtils.EvalGlobal(s);
156			}
157		}
158	}
159
160	if (BX && BX.adminPanel)
161	{
162		BX.adminPanel.modifyFormElements(oRow);
163		BX.onCustomEvent('onAdminTabsChange');
164	}
165
166	setTimeout(function() {
167		var r = BX.findChildren(oCell, {tag: /^(input|select|textarea)$/i});
168		if (r && r.length > 0)
169		{
170			for (var i=0,l=r.length;i<l;i++)
171			{
172				if (r[i].form && r[i].form.BXAUTOSAVE)
173					r[i].form.BXAUTOSAVE.RegisterInput(r[i]);
174				else
175					break;
176			}
177		}
178	}, 10);
179}
180
181function SFSetUrlVar(id, el_id)
182{
183	var obj_ta = BX(el_id);
184	//IE
185	if (document.selection)
186	{
187		obj_ta.focus();
188		var sel = document.selection.createRange();
189		sel.text = id;
190		//var range = obj_ta.createTextRange();
191		//range.move('character', caretPos);
192		//range.select();
193	}
194	//FF
195	else if (obj_ta.selectionStart || obj_ta.selectionStart == '0')
196	{
197		var startPos = obj_ta.selectionStart;
198		var endPos = obj_ta.selectionEnd;
199		var caretPos = startPos + id.length;
200		obj_ta.value = obj_ta.value.substring(0, startPos) + id + obj_ta.value.substring(endPos, obj_ta.value.length);
201		obj_ta.setSelectionRange(caretPos, caretPos);
202		obj_ta.focus();
203	}
204	else
205	{
206		obj_ta.value += id;
207		obj_ta.focus();
208	}
209
210	BX.fireEvent(obj_ta, 'change');
211	obj_ta.focus();
212}
213
214function SFEChangeProptocol(link_md5_id)
215{
216	var protocol_ = BX('pro' + link_md5_id).value;	
217	var linkval = BX('link' + link_md5_id).value;
218	linkval = linkval.trim();
219	while (linkval.substr(0, 1) == '/')
220	{
221		linkval = linkval.substr(1);
222	}
223	var linkval_ = linkval.toLowerCase();
224	if (linkval_.substr(0, 8) == 'https://')
225	{
226		BX('link' + link_md5_id).value = linkval.substr(8);
227		BX('full' + link_md5_id).value = protocol_ + linkval.substr(8);
228	}
229	else if (linkval_.substr(0, 7) == 'http://')
230	{
231		BX('link' + link_md5_id).value = linkval.substr(7);
232		BX('full' + link_md5_id).value = protocol_ + linkval.substr(7);
233	}
234	else if (linkval.length > 0)
235	{
236		BX('full' + link_md5_id).value = protocol_ + linkval;
237	}
238	else
239	{
240		BX('full' + link_md5_id).value = '';
241	}
242}
243
244function SFEParseUrl(link_md5_id)
245{
246	var linkval = BX('link' + link_md5_id).value;
247	linkval = linkval.trim();
248	var linkval_ = linkval.toLowerCase();
249	if (linkval_.substr(0, 8) == 'https://')
250	{
251		BX('pro' + link_md5_id).value = 'https://';
252		linkval = linkval.substr(8);
253		while (linkval.substr(0, 1) == '/')
254		{
255			linkval = linkval.substr(1);
256		}
257		BX('link' + link_md5_id).value = linkval;
258		BX('full' + link_md5_id).value = 'https://' + linkval;
259	}
260	else if (linkval_.substr(0, 7) == 'http://')
261	{
262		BX('pro' + link_md5_id).value = 'http://';
263		linkval = linkval.substr(7);
264		while (linkval.substr(0, 1) == '/')
265		{
266			linkval = linkval.substr(1);
267		}
268		BX('link' + link_md5_id).value = linkval;
269		BX('full' + link_md5_id).value = 'http://' + linkval;
270	}
271	else if (linkval_.substr(0, 2) == '//')
272	{
273		BX('pro' + link_md5_id).value = 'http://';
274		while (linkval.substr(0, 1) == '/')
275		{
276			linkval = linkval.substr(1);
277		}
278		BX('link' + link_md5_id).value = linkval;
279		BX('full' + link_md5_id).value = 'http://' + linkval;
280	}
281	else if (linkval_.substr(0, 1) == '/')
282	{
283		BX('pro' + link_md5_id).value = '/';
284		while (linkval.substr(0, 1) == '/')
285		{
286			linkval = linkval.substr(1);
287		}
288		BX('link' + link_md5_id).value = linkval;
289		BX('full' + link_md5_id).value = '/' + linkval;
290	}
291	else if (linkval.length > 0)
292	{
293		BX('full' + link_md5_id).value = BX('pro' + link_md5_id).value + linkval;
294	}
295	else
296	{
297		BX('full' + link_md5_id).value = '';
298	}
299}
300/* End */
301;
302; /* Start:"a:4:{s:4:"full";
302s:60:"/simai/asset/simai.property/sf4/js/script.js?176523057936532";s:6:"source";s:44:"/simai/asset/simai.property/sf4/js/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
303
304function property() {
305
306    var list = document.body.querySelectorAll('input:not([type="hidden"])');
307    var select = document.body.querySelectorAll('select');
308    var textarea = document.body.querySelectorAll('textarea');
309    var checkbox = document.body.querySelectorAll('input[type="checkbox"]');
310    var listImage = document.body.querySelectorAll('[data-list]');
311    var cond = document.querySelectorAll('.radio-change');
312    var sort = document.querySelectorAll('[data-sort]');
313
314    function isTrue(el) {
315        if(el != null && el != undefined) return true; else return false;
316    }
317
318    var inactive = document.body.querySelectorAll('.sf4_property_inactive');
319
320    if(isTrue(inactive)) {
321        for(var k = 0; k < inactive.length; k++) {
322            var el = inactive[k];
323            el.addEventListener('click', function(e) {
324                e.currentTarget.classList.remove('sf4_property_inactive');
325                var input = e.currentTarget.querySelector('.hidden-input'),
326                    allElements = e.currentTarget.querySelectorAll('[disabled=""]');
327
328                for(var k = 0; k < allElements.length; k++)
329                    if(allElements[k].hasAttribute('disabled')) allElements[k].removeAttribute('disabled');
330                if(isTrue(input)) {
331                    input.setAttribute('value', "Y");
332                    input.value = "Y";
333                }
334                var allInput = e.currentTarget.querySelectorAll('input'),
335                    event = new Event('input');
336                if(isTrue(allInput)) {
337                    for(var x = 0; x < allInput.length; x++) {
338                        var eIn = allInput[x];
339                        if(eIn.classList.contains('hidden-input')) {
340                            eIn.focus();
341                        }
342                    }
343                }
344            })
345        }
346    }
347
348
349    var btnMulti = document.body.querySelectorAll('input[data-button-property=""]');
350        if(btnMulti != null) {
351            for(var k = 0; k < btnMulti.length; k++) {
352                btnMulti[k].onclick = function(e) {
353                    addField(e);
354                }
355            }
356        }
357
358
359    // ----------- SELECT ------------- //
360
361    if(select != null) {
362        for(var k = 0; k < select.length; k++) {
363            var slc = select[k];
364                slc.addEventListener('change', function(e) {
365                    var el = e.currentTarget;
366                    var chang = el.parentNode.querySelector('[if-type="checkbox"]');
367                    for(var s = 0; s < el.options.length; s++) {
368                        var opt = el.options[s];
369                        if(opt.selected) {
370                            opt.setAttribute('selected', '');
371                            if (chang != null) {
372                                chang.setAttribute('checked', 'checked');
373                                chang.setAttribute('value', opt.value);
374                            }
375                        } else {
376                            opt.removeAttribute('selected');
377                            if (chang != null) {
378                                chang.removeAttribute('checked');
379                            }
380                        }
381                    }
382                    var chan = new Event('change');
383                    if (chang != null) {
384                        chang.dispatchEvent(chan);
385                    }
386                });
387        }
388    }
389
390    if(isTrue(list)) {
391        for(var k = 0; k < list.length; k++) {
392            var el = list[k];
393            el.addEventListener('input', function(e) {
394                var input = e.target,
395                    condition = input.nextElementSibling,
396                    event = new Event('change');
397                if(condition !== null)
398                {
399                    if(condition.type != "hidden" || condition.type != "hidden") {
400                        if(isTrue(condition)) {
401                            condition.setAttribute('value', linkConditionSetValue(input) + input.value)
402                            condition.setAttribute('checked', 'checked');
403                            condition.dispatchEvent(event);
404                            if(input.hasAttribute('data-protocol')) {
405                                condition.value = linkConditionSetValue(input) + input.value;
406                            } else condition.value = input.value;
407                            condition.checked = true;
408                        }
409                        if(isTrue(input)) {
410                            if(input.classList.contains('form-check-input')) {
411                                if(input.checked) {
412                                    input.value = "Y";
413                                    input.checked = true;
414                                    input.setAttribute('value', 'Y');
415                                    input.setAttribute('checked', 'checked');
416                                } else {
417                                    input.setAttribute('value', 'N');
418                                    input.removeAttribute('checked');
419                                    input.checked = false;
420                                    input.value = "N";
421                                }
422                            }
423                        }
424                    }
425
426                }
427                
428            });
429        }
430    }
431
432    function linkConditionSetValue(input) {
433        if(input) {
434            if(input.hasAttribute('data-protocol')) {
435                
436                var container = input.parentNode,
437                    selectProtocol = container.querySelector('select[data-protocol=""]');
438                if(selectProtocol) {
439                    for(var k = 0; k < selectProtocol.options.length; k++) {
440                        var opt = selectProtocol.options[k];
441                        if(opt.selected) {
442                            return opt.value;
443                        }
444                    }
445                }
446            }
447        }
448    }
449
450    if(isTrue(textarea)) {
451        for(var k = 0; k < textarea.length; k++) {
452            var el = textarea[k];
453            el.addEventListener('input', function(e) {
454                var input = e.target,
455                    condition = input.nextElementSibling,
456                    event = new Event('change');
457                if(isTrue(condition)) {
458                    condition.setAttribute('value', input.value)
459                    condition.setAttribute('checked', 'checked');
460                    condition.dispatchEvent(event);
461                    condition.value = input.value;
462                    condition.checked = true;
463                }
464            })
465        }
466    }
467
468    if(isTrue(listImage)) {
469        for(var k = 0; k < listImage.length; k++) {
470            var data = listImage[k];
471            if(data.hasAttribute('data-list')) {
472                var dataList = data.getAttribute('data-list');
473                //imageAction(data);
474            }
475        }
476    }
477
478    // ----------- CHECKBOX ------------- //
479
480    if(checkbox != null) {
481        for(var k = 0; k < checkbox.length; k++) {
482            var check = checkbox[k],
483                chang = check.nextElementSibling;
484
485            if(check.checked) {
486                check.setAttribute('checked', '');
487                if(chang != null && chang != undefined)
488                    chang.setAttribute('checked', 'checked');
489            } else {
490                check.removeAttribute('checked', '');
491                if(chang != null && chang != undefined)
492                    chang.removeAttribute('checked');
493            }
494
495            if(chang != null && chang != undefined) {
496                var chan = new Event('change');
497                chang.dispatchEvent(chan);
498            }
499        }
500    }
501
502    var checkbox = document.body.querySelectorAll('[data-property-checkbox]');
503
504    if(checkbox != null) {
505        for(var k = 0; k < checkbox.length; k++) {
506            checkbox[k].addEventListener('change', function(e) {
507                var el = e.target,
508                    chang = el.nextElementSibling
509                if(el.checked) {
510                    el.value = 'Y'
511                    el.setAttribute('value', 'Y');
512                    el.setAttribute('checked', '');
513                    chang.setAttribute('checked', 'checked');
514                    chang.setAttribute('value', el.value);
515                } else {
516                    el.value = "N";
517                    el.setAttribute('value', 'N');
518                    el.setAttribute('checked', '');
519                    el.removeAttribute('checked');      
520                    chang.removeAttribute('checked');   
521                    chang.setAttribute('value', el.value);
522                }
523                var chan = new Event('change');
524                chang.dispatchEvent(chan);
525            });
526        }
527    }
528        if(inactive != null) {
529            for(var i = 0; i < inactive.length; i++) {
530
531                var input = inactive[i].querySelectorAll('input'),
532                    select = inactive[i].querySelectorAll('select'),
533                    textarea = inactive[i].querySelectorAll('textarea');
534
535                if(inactive[i].hasAttribute('data-input')) {
536                    inactive[i].ondragend = function(e) {
537                        e.target.parentNode.parentNode.querySelector('.hidden-input').value = 'Y'; 
538                        searchParent(e.target);				
539                    }
540                }
541
542                if(input != null) {
543                    for(var k = 0; k < input.length; k++) {
544                        var data = input[k];
545
546                        
547
548                        if(data.hasAttribute('data-property-checkbox')) {
549                            var dataCheck = data.getAttribute('data-property-checkbox');
550                                data.addEventListener('input', function(e) {
551                                    var el = e.target,
552                                        elHidden = el.parentNode.querySelector('.hidden-input');
553
554                                    if(el.checked) {
555                                        el.value = 'Y';
556                                        el.setAttribute('value', 'Y');
557                                        el.setAttribute('checked', 'checked');
558                                    } else {
559                                        el.value = 'N';
560                                        el.setAttribute('value', 'N');
561                                        el.removeAttribute('checked')
562                                    }
563                                    
564                                    if(elHidden != null) {
565                                        elHidden.value = 'Y'; 
566                                        elHidden.setAttribute('value', 'Y');                                                                       
567                                    }
568                                    searchParent(el);
569                                });
570                        }
571
572                        if(data.hasAttribute('data-entity')) {
573                            if(data.getAttribute('data-entity')) {
574
575                                var btn = data.parentNode.querySelector('input[type="button"]');
576                                if(btn != null) {
577                                    btn.addEventListener('click', function(e) {
578                                        var el = e.target;
579                                        var hidden = el.parentNode.parentNode.querySelector('.hidden-input');
580                                        hidden.value = "Y";
581                                        hidden.setAttribute('value', 'Y');
582                                        searchParent(el);
583                                    });
584                                }
585                            }
586                        }
587
588                        if(data.hasAttribute('data-datetime')) {
589                            if(data.getAttribute('data-datetime') == 'inactive-public') {
590                                data.addEventListener('click', function(e) {
591                                    data.classList.remove("sf4_property_inactive");
592                                })
593                                inactiveMode(data);
594                            }
595                        }
596                    }
597                }
598            }
599        }
600
601
602        if(list != null) {
603            for(var k = 0; k < list.length; k++) {
604                var listOne = list[k];
605                
606                if(listOne.hasAttribute('data-list')) {
607                    switch(listOne.getAttribute('data-list')) {
608                        case 'public-button':
609                            imageAction(listOne, true);
610                            break;
611                        case 'public-button-radio':
612                            imageAction(listOne, true);
613                            break;
614                        case 'public-image-list-one':
615                            imageAction(listOne);
616                        break;
617                        case 'public-image-list-multi':
618                            imageAction(listOne);
619                            break;                  
620                    }
621                }
622
623                if(listOne.hasAttribute('data-number')) {
624                    switch(listOne.getAttribute('data-number')) {
625                        case 'public-one':
626                            
627                            listOne.addEventListener('input', function(e) {
628                                var chang = e.target.nextElementSibling;
629                                chang.setAttribute('value', e.target.value);
630                                chang.setAttribute('checked', 'checked')
631                                var chan = new Event('change');
632                                chang.dispatchEvent(chan);
633                            });
634                            break;
635                    }
636                }
637            }
638        }
639
640        function addField(e) {
641            var btn = e.target,
642                container = btn.parentNode;
643            if(container != null) {
644                var el = container.querySelectorAll("*");
645                var propContainerElement = btn.parentNode.parentNode.querySelectorAll('*');
646                var input = [],
647                    entity = [],
648                    string = [],
649                    text = [],
650                    number = [],
651                    phone = [],
652                    url = [],
653                    link = [],
654                    date = [];
655
656                for(var i = 0; i < el.length; i++) {
657                    if(el[i].hasAttribute('data-property-field')) {
658                        switch(el[i].getAttribute('data-property-field')) {
659                            case 'entity':
660                                entity.push(el[i]);
661                                break;
662                            case 'string':
663                                string.push(el[i]);
664                                break;
665                            case 'text':
666                                text.push(el[i]);
667                                break;
668                            case 'number':
669                                number.push(el[i]);
670                                break;
671                            case 'phone':
672                                phone.push(el[i]);
673                                break;
674                            case 'url':
675                                url.push(el[i]);
676                                break;
677                            /*case 'link':
678                                link.push(el[i]);
679                                break;*/
680                            case 'date':
681                                date.push(el[i]);
682                                break;
683                        }
684                    }
685                }
686                for(var k = 0; k < propContainerElement.length; k++) {
687                    if(propContainerElement[k].hasAttribute('data-property-field')) {
688                        switch(propContainerElement[k].getAttribute('data-property-field')) {
689                            case 'link':
690                                link.push(propContainerElement[k]);
691                                break;
692                        }
693                    }
694                }
695                if(entity.length != 0) addEntity(entity, e);
696                if(text.length != 0) addText(text, e);
697                if(string.length != 0) addString(string, e);
698                if(number.length != 0) addString(number, e);
699                if(phone.length != 0) addString(phone, e);
700                if(url.length != 0) addString(url, e);
701                if(link.length != 0) addStringLink(link, e);
702                if(date.length != 0) addDate(date, e);
703            }
704        }
705        
706        function inactiveMode(input) {
707
708
709            input.addEventListener('input', function(e) {
710                var el = e.target;
711                el.parentNode.parentNode.querySelector('.hidden-input').value = 'Y'; 
712                searchParent(el);
713            });
714
715            input.addEventListener('change', function(e) {
716                var el = e.target;            
717                el.parentNode.parentNode.querySelector('.hidden-input').value = 'Y'; 					
718                searchParent(el);
719            });
720        }
721
722        function imageAction(input, active) {
723            input.addEventListener('click', function(e) {
724                var el = e.target;
725                var radio = el.parentNode.parentNode.querySelectorAll('input');
726                
727
728                var chang = el.nextElementSibling;
729                if(isTrue(chang))
730                    var par = chang.parentNode.parentNode.querySelectorAll('.radio-ch
730ange');
731                else {
732                    chang = el.parentNode.parentNode.querySelector('.radio-change');
733                    par = el.parentNode.parentNode.querySelectorAll('.radio-change');
734                }
735
736                var checkedValue = '';
737
738                for(var k = 0; k < radio.length; k++) {
739                    if(radio[k].checked && radio.length == 1) {
740                        checkedValue += radio[k].value
741                    } else if(radio[k].checked && radio.length > 1) {
742                        checkedValue += radio[k].value;
743                    }
744                }
745
746                par[0].setAttribute('value', checkedValue)
747
748                chang.setAttribute('checked', 'checked')
749                
750
751                var chan = new Event('change');
752                chang.dispatchEvent(chan);
753                par[0].dispatchEvent(chan)
754                chang.setAttribute('value', el.value);
755
756
757                if(input.type == 'radio') {
758                    for(var k = 0; k < radio.length; k++) {
759                        radio[k].checked = false;
760                        radio[k].removeAttribute('checked');
761                        if(active) radio[k].parentNode.classList.remove('active');   
762                    }
763                    el.checked = true;
764                    el.setAttribute('checked', '');
765                    if(active) el.parentNode.classList.add('active');
766                } else if(input.type == 'checkbox') {
767                    if(!el.checked) {
768                        el.checked = false;
769                        el.removeAttribute('checked');
770                        if(active) el.parentNode.classList.remove('active');
771                    } else {
772                        el.checked = true;
773                        el.setAttribute('checked', '');
774                        if(active) el.parentNode.classList.add('active');
775                    }
776                }
777            });
778        }
779
780        function searchParent(el) {
781            if(el != null && el.tagName != 'BODY') {
782                if(!el.parentNode.classList.contains('sf4_property_inactive')) searchParent(el.parentNode);
783                else el.parentNode.classList.remove('sf4_property_inactive');
784            }
785        }
786        
787        function rand() {
788            return Math.random() * (500000000000000000 - 50000000000000000) + 50000000000000000;
789        }
790
791        function addStringLink(link, e) {
792            var btnContainer = document.createElement('div');
793            btnContainer.className = e.currentTarget.parentNode.getAttribute('class');
794            var endClone = link[link.length - 1].cloneNode(true),
795                btnClone = e.currentTarget.cloneNode(true),
796                input = endClone.querySelectorAll('input'),
797                name = [];
798            if(input) {
799                for(var k = 0; k < input.length; k++) name.push(input[k].name);
800                for(var k = 0; k < input.length; k++) {
801                    input[k].value = '';
802                    input[k].name = fieldIncrementName(name[k], link);
803                    input[k].removeAttribute('required');
804                }
805                btnClone.onclick = function(ev) {
806                    addField(ev);
807                }
808                btnContainer.appendChild(btnClone);
809                link.push(endClone);
810                link.push(btnContainer);
811                var parent = link[0].parentNode;
812                parent.innerHTML = '';
813                for(var i = 0; i < link.length; i++) parent.appendChild(link[i]);
814            }
815        }
816
817        function addString(string, e) {
818            var endClone = string[string.length - 1].cloneNode(true),
819                btnClone = e.target.cloneNode(true),
820                input = endClone.querySelectorAll('input'),
821                name = input[0].name;
822                btnClone.onclick = function(e) {
823                    addField(e);
824                }
825                if(input == null)
826                    input = endClone.querySelectorAll('textarea');
827                input[0].value = '';
828                input[0].name = nameReplace(name, string);
829                input[0].removeAttribute('required');
830
831                if(input[0].hasAttribute('data-phone')) {
832                    var id = 'phone_mask_' + rand();
833                    input[0].id = id;
834                    id = '#' + id;
835
836                    jQuery(function($) {
837                        $(id).mask('+9 (999) 999-9999');
838                    });
839                }
840
841                if(input[0].hasAttribute('data-url')) {
842                    var id = rand();
843                    input[0].id = id;
844                    var btn = input[1];
845                    if(btn != null) {
846                        btn.addEventListener('click', function(e) {
847                                BX.adminShowMenu(this, [
848                                    {'TEXT':'Site directory','TITLE':'#SITE_DIR# - Site directory','ONCLICK':'SF.SFSetUrlVar(\'#
848SITE_DIR#\', \''+ id + '\')'},
849                                    {'SEPARATOR':true},
850                                    {'TEXT':'Storage id','TITLE':'#STORAGE_ID# - Storage id','ONCLICK':'SF.SFSetUrlVar(\'#STORAGE_ID#\', \''+ id + '\')'},
851                                    {'TEXT':'Section id','TITLE':'#SECTION_ID# - Section id','ONCLICK':'SF.SFSetUrlVar(\'#SECTION_ID#\', \''+ id + '\')'},
852                                    {'TEXT':'Item id','TITLE':'#ITEM_ID# - Item id','ONCLICK':'SF.SFSetUrlVar(\'#ITEM_ID#\', \''+ id + '\')'}], ''
853                                );
854                            });
855                    }
856                }
857                
858                string.push(endClone);
859                string.push(btnClone);
860                var parent = string[0].parentNode;
861                parent.innerHTML = '';
862                for(var i = 0; i < string.length; i++) parent.appendChild(string[i]);
863        }
864
865        function addDate(date, e) {
866            var endClone = date[date.length - 1].cloneNode(true),
867                btnClone = e.target.cloneNode(true);
868                var input = endClone.querySelectorAll('input'),
869                name = input[0].name;
870                btnClone.onclick = function(e) {
871                    addField(e);
872                }
873                input[0].value = '';
874                input[0].name = nameReplace(name, date);
875                input[0].removeAttribute('required');
876                date.push(endClone);
877                date.push(btnClone);
878                var parent = date[0].parentNode;
879                parent.innerHTML = '';
880                for(var i = 0; i < date.length; i++) parent.appendChild(date[i]);
881
882                jQuery(function($) {
883                    $('input[name="' + input[0].name + '"]').flatpickr({
884                        dateFormat: "d.m.Y",
885                        allowInput: true,
886                        locale: 'ru',
887                    });
888                });
889        }
890
891        function addText(text, e) {
892            var endClone = text[text.length - 1].cloneNode(true),
893                btnClone = e.target.cloneNode(true),
894                textArea = endClone.querySelectorAll('textarea'),
895                name = textArea[0].name;
896                btnClone.onclick = function(e) {
897                    addField(e);
898                }
899                var newText = document.createElement('textarea'),
900                    conText = document.createElement('div');
901                conText.className = 'form-group';
902                conText.setAttribute('data-property-field', 'text');
903                newText.name = nameReplace(name, text);
904                newText.className = 'form-control';
905                newText.removeAttribute('required');
906                newText.rows = textArea[0].rows;
907                newText.cols = textArea[0].cols;
908                conText.appendChild(newText);  
909                text.push(conText);
910                text.push(btnClone);
911                var parent = text[0].parentNode;
912                parent.innerHTML = '';
913                for(var i = 0; i < text.length; i++) parent.appendChild(text[i]);
914        }
915
916        function nameReplace(name, text) {
917            /*var startIndex = name.indexOf('[n', 0);
918            var length = 2;
919            if (startIndex < 0) {
920                startIndex = name.indexOf('[', 0);
921                length = 1;
922            }
923
924            if(text.length > 11) {
925                var index = name.substr(startIndex + length, 2);
926                var name = name.substr(0, name.length - 3);
927            }
928            else {
929                var index = name.substr(startIndex + length, 1);
930                var name = name.substr(0, name.length - 2);
931            }
932            
933            name += (Number(index)) + rand() + ']';*/
934            
935            var name_arr = name.split('[n');
936            var n_index = name_arr.pop();
937            if (n_index && name_arr.length > 0)
938            {
939                n_index = '0' + n_index.replace(/\D+/g,"");
940                n_index = parseInt(n_index);
941                n_index ++;
942                name = name_arr.join('[n');
943                name += '[n' +  n_index + ']';
944            }
945            else
946            {
947                var name_arr = name.split('[');
948                name_arr.pop();
949                name = name_arr.join('[');
950                name += '[n0]';
951            }
952            
953            return name;
954        }
955
956        function fieldIncrementName(name, text) {
957            var limit = name.substr(name.indexOf('[n', 0) + 2),
958                index = name.substr(name.indexOf('[n', 0) + 2, limit.length - 2),
959                name = name.substr(0, name.indexOf('[n', 0) + 2);
960            index++;
961            return name + index + '1]';
962        }
963
964        function addEntity(entity, e) {
965            var cI = entity[entity.length - 1].cloneNode(true),
966                cB = e.target.cloneNode(true),
967                inp = cI.querySelectorAll('input'),
968                id = inp[0].id,
969                btn = inp[1].getAttribute('onclick'),
970                name = inp[0].name,
971                randId = rand();
972
973            cB.onclick = function(e) {
974                addField(e);
975            }
976            btn = btn.replace(id, randId);
977            inp[0].value = '';
978            inp[0].name = nameReplace(name, entity);
979            inp[0].setAttribute('id', randId);
980            inp[1].setAttribute('onclick', btn);
981            entity.push(cI);
982            entity.push(cB);
983            var parent = entity[0].parentNode;
984            parent.innerHTML = '';
985            for(var j = 0; j < entity.length; j++) parent.appendChild(entity[j]);
986        }
987
988
989    // #region Link
990    
991        var link = document.body.querySelectorAll('.container-link');
992        for(var k = 0; k < link.length; k++) {
993            var container = link[k].querySelectorAll('.property_link');
994            for(var w = 0; w < container.length; w++) {
995                var input = container[w].querySelectorAll('input');
996                var select = container[w].querySelector('select');
997                for(var h = 0; h < input.length; h++) {
998                    if(input[h].hasAttribute('data-protocol')) {
999                        deleteSpace(input[h]);
1000                        replaiceProtocol(select, input[h]);
1001                        identifyProtocol(input[h]);
1002                    }
1003                }
1004            }
1005        }
1006
1007       /* window.addEventListener('click', function(e) {
1008            var el = e.target;
1009            if(el.oninput != null)
1010                identifyProtocol(el);
1011            if(el.hasAttribute('data-protocol'))
1012                identifyProtocol(el);
1013        });*/
1014
1015        function deleteSpace(input) {
1016            var str = '';                
1017            for(var s = 0; s < input.value.length; s++) if(input.value[s] != ' ') str += input.value[s];
1018            input.value = str;
1019        }
1020
1021        function identifyProtocol(el) {
1022            if(el.hasAttribute('data-protocol')) { 
1023                var input = el;
1024                var select = el.parentNode.querySelector('select');
1025                if(input != null) {
1026                    if(input.hasAttribute('data-protocol')) {
1027                        el.elSelect = select;
1028                        select.elInput = el;
1029                        el.oninput = function(e) {
1030                            let input = e.currentTarget;
1031                            replaiceProtocol(input.elSelect, input);
1032                        }
1033                        select.addEventListener('change', function(e) {
1034                            var sel = e.currentTarget;
1035                            replaiceProtocol(sel, sel.elInput);
1036                        })
1037                    }
1038                }
1039            }
1040        }
1041
1042        function replaiceProtocol(select, input) {
1043            deleteSpace(input);
1044            var fullLink = select.parentNode.querySelector('input[data-link-full=""]');
1045            for(var j = 0; j < select.options.length; j++) {
1046                var options = select.options[j];
1047                if(input.value.substring(0, options.value.length) == options.value) {
1048                    select.selectedIndex = j;
1049                    input.value = input.value.substring(options.value.length, input.value.length);
1050                    select.options[j].setAttribute('selected', '');
1051                    select.options[j].selected = true;
1052                } else if(input.value.substring(0, 1) === '/') {
1053                    select.selectedIndex = 2;
1054                    select.options[2].selected = true;
1055                    select.options[2].setAttribute('selected', '');
1056                } else if(input.value.substring(0, options.value.length) === './') {
1057                    select.selectedIndex = 3;
1058                    select.options[3].selected = true;
1059                    select.options[3].setAttribute('selected', '');
1060                } else if(input.value.substring(0, options.value.length) === '../') {
1061                    select.selectedIndex = 4;
1062                    select.options[4].selected = true;
1063                    select.options[4].setAttribute('selected', '');
1064                }
1065            }
1066            if(input.value != "") fullLink.value = setFullLink(select) + input.value;
1067            else fullLink.value = '';
1068        }
1069
1070        function setFullLink(select) {
1071            for(var k = 0; k < select.options.length; k++) if(select.options[k].selected) return select.options[k].value;
1072            return false;
1073        }
1074
1075        if(isTrue(cond)) {
1076            for(var k = 0; k < cond.length; k++) {
1077                var el = cond[k],
1078                    event = new Event('change');
1079                el.dispatchEvent(event);
1080            }
1081        }
1082
1083    // #endregion Link
1084
1085    SF.SFSetUrlVar = function(id, el_id) {
1086    var obj_ta = BX(el_id);
1087    //IE
1088    if (document.selection) {
1089        obj_ta.focus();
1090        var sel = document.selection.createRange();
1091        sel.text = id;
1092        //var range = obj_ta.createTextRange();
1093        //range.move('character', caretPos);
1094        //range.select();
1095    }
1096    //FF
1097    else if (obj_ta.selectionStart || obj_ta.selectionStart == '0')
1098    {
1099        var startPos = obj_ta.selectionStart;
1100        var endPos = obj_ta.selectionEnd;
1101        var caretPos = startPos + id.length;
1102        obj_ta.value = obj_ta.value.substring(0, startPos) + id + obj_ta.value.substring(endPos, obj_ta.value.length);
1103        obj_ta.setSelectionRange(caretPos, caretPos);
1104        obj_ta.focus();
1105    }
1106    else
1107    {
1108        obj_ta.value += id;
1109        obj_ta.focus();
1110    }
1111
1112    BX.fireEvent(obj_ta, 'change');
1113    obj_ta.focus();
1114}
1115
1116
1117'use strict';
1118
1119;( function ( document, window, index ) {
1120    var inputs = document.querySelectorAll( '[data-file=""]' );
1121    
1122    Array.prototype.forEach.call( inputs, function( input )
1123    {
1124        var label	 = input.nextElementSibling,
1125            labelVal = label.innerHTML;
1126
1127        input.addEventListener( 'change', function(e) {  
1128            var fileName = '';
1129            if( this.files && this.files.length > 1 )
1130                fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );
1131            else fileName = e.target.value.split( '\\' ).pop();
1132
1133            if( fileName ) {
1134                if(fileName.length > 16)
1135                    label.querySelector( 'span' ).innerHTML = fileName.slice(0, 16) + '...';
1136                else label.querySelector( 'span' ).innerHTML = fileName;
1137            }
1138            else label.innerHTML = labelVal;
1139
1140            // Для свойств
1141            var el = e.target;
1142            if(el.hasAttribute('data-inactive'))
1143                el.parentNode.parentNode.classList.remove('sf4_property_inactive')
1144        });
1145
1146        // Firefox bug fix
1147        input.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); });
1148        input.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); });
1149    });
1150}( document, window, 0 ));
1151
1152
1153};
1154
1155
1156try {
1157    property();
1158} catch(error) {
1159    window.addEventListener('DOMContentLoaded', function(e) {
1160        property();
1161    });
1162}
1163
1164
1165
1166
1167
1168SF.send = function(event, element) {
1169    if(document.createEvent){
1170        var e = document.createEvent('Events');
1171        e.initEvent(event, true, false);
1172    }
1173    else if(document.createEventObject()) {
1174        var e = document.createEventObject();
1175    }
1176    else return;
1177
1178    if(element.dispatchEvent)
1179        element.dispatchEvent(e);
1180    else if(element.fireEvent) element.fireEvent(event, e);
1181}
1182
1183SF.receive = function(event, el, handler) {
1184    if(window.addEventListener)
1185        el.addEventListener(event, handler, false);
1186    else if(window.attachEvent)
1187        el.attachEvent(event, handler);
1188}
1189
1190SF.receive('open-setting', window, property);
1191
1192
1193/* End */
1194;
1195; /* Start:"a:4:{s:4:"full";s:54:"/simai/asset/mask/js/jquery.mask.min.js?17652305798185";s:6:"source";s:39:"/simai/asset/mask/js/jquery.mask.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1196// jQuery Mask Plugin v1.14.15
1197// github.com/igorescobar/jQuery-Mask-Plugin
1198var $jscomp={scope:{},findInternal:function(a,l,d){a instanceof String&&(a=String(a));for(var p=a.length,h=0;h<p;h++){var b=a[h];if(l.call(d,b,h,a))return{i:h,v:b}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,l,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[l]=d.value)};
1199$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,l,d,p){if(l){d=$jscomp.global;a=a.split(".");for(p=0;p<a.length-1;p++){var h=a[p];h in d||(d[h]={});d=d[h]}a=a[a.length-1];p=d[a];l=l(p);l!=p&&null!=l&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:l})}};
1200$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,d){return $jscomp.findInternal(this,a,d).v}},"es6-impl","es3");
1201(function(a,l,d){"function"===typeof define&&define.amd?define(["jquery"],a):"object"===typeof exports?module.exports=a(require("jquery")):a(l||d)})(function(a){var l=function(b,e,f){var c={invalid:[],getCaret:function(){try{var a,r=0,g=b.get(0),e=document.selection,f=g.selectionStart;if(e&&-1===navigator.appVersion.indexOf("MSIE 10"))a=e.createRange(),a.moveStart("character",-c.val().length),r=a.text.length;else if(f||"0"===f)r=f;return r}catch(C){}},setCaret:function(a){try{if(b.is(":focus")){var c,
1202g=b.get(0);g.setSelectionRange?g.setSelectionRange(a,a):(c=g.createTextRange(),c.collapse(!0),c.moveEnd("character",a),c.moveStart("character",a),c.select())}}catch(B){}}
vendor: 6,741 bytes, lines 1202-1218
1202,events:function(){b.on("keydown.mask",function(a){b.data("mask-keycode",a.keyCode||a.which);b.data("mask-previus-value",b.val());b.data("mask-previus-caret-pos",c.getCaret());c.maskDigitPosMapOld=c.maskDigitPosMap}).on(a.jMaskGlobals.useInput?"input.mask":"keyup.mask",c.behaviour).on("paste.mask drop.mask",function(){setTimeout(function(){b.keydown().keyup()},
1203100)}).on("change.mask",function(){b.data("changed",!0)}).on("blur.mask",function(){d===c.val()||b.data("changed")||b.trigger("change");b.data("changed",!1)}).on("blur.mask",function(){d=c.val()}).on("focus.mask",function(b){!0===f.selectOnFocus&&a(b.target).select()}).on("focusout.mask",function(){f.clearIfNotMatch&&!h.test(c.val())&&c.val("")})},getRegexMask:function(){for(var a=[],b,c,f,n,d=0;d<e.length;d++)(b=m.translation[e.charAt(d)])?(c=b.pattern.toString().replace(/.{1}$|^.{1}/g,""),f=b.optional,
1204(b=b.recursive)?(a.push(e.charAt(d)),n={digit:e.charAt(d),pattern:c}):a.push(f||b?c+"?":c)):a.push(e.charAt(d).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"));a=a.join("");n&&(a=a.replace(new RegExp("("+n.digit+"(.*"+n.digit+")?)"),"($1)?").replace(new RegExp(n.digit,"g"),n.pattern));return new RegExp(a)},destroyEvents:function(){b.off("input keydown keyup paste drop blur focusout ".split(" ").join(".mask "))},val:function(a){var c=b.is("input")?"val":"text";if(0<arguments.length){if(b[c]()!==a)b[c](a);
1205c=b}else c=b[c]();return c},calculateCaretPosition:function(){var a=b.data("mask-previus-value")||"",e=c.getMasked(),g=c.getCaret();if(a!==e){var f=b.data("mask-previus-caret-pos")||0,e=e.length,d=a.length,m=a=0,h=0,l=0,k;for(k=g;k<e&&c.maskDigitPosMap[k];k++)m++;for(k=g-1;0<=k&&c.maskDigitPosMap[k];k--)a++;for(k=g-1;0<=k;k--)c.maskDigitPosMap[k]&&h++;for(k=f-1;0<=k;k--)c.maskDigitPosMapOld[k]&&l++;g>d?g=10*e:f>=g&&f!==d?c.maskDigitPosMapOld[g]||(f=g,g=g-(l-h)-a,c.maskDigitPosMap[g]&&(g=f)):g>f&&
1206(g=g+(h-l)+m)}return g},behaviour:function(f){f=f||window.event;c.invalid=[];var e=b.data("mask-keycode");if(-1===a.inArray(e,m.byPassKeys)){var e=c.getMasked(),g=c.getCaret();setTimeout(function(){c.setCaret(c.calculateCaretPosition())},a.jMaskGlobals.keyStrokeCompensation);c.val(e);c.setCaret(g);return c.callbacks(f)}},getMasked:function(a,b){var g=[],d=void 0===b?c.val():b+"",n=0,h=e.length,q=0,l=d.length,k=1,r="push",p=-1,t=0,y=[],v,z;f.reverse?(r="unshift",k=-1,v=0,n=h-1,q=l-1,z=function(){return-1<
1207n&&-1<q}):(v=h-1,z=function(){return n<h&&q<l});for(var A;z();){var x=e.charAt(n),w=d.charAt(q),u=m.translation[x];if(u)w.match(u.pattern)?(g[r](w),u.recursive&&(-1===p?p=n:n===v&&n!==p&&(n=p-k),v===p&&(n-=k)),n+=k):w===A?(t--,A=void 0):u.optional?(n+=k,q-=k):u.fallback?(g[r](u.fallback),n+=k,q-=k):c.invalid.push({p:q,v:w,e:u.pattern}),q+=k;else{if(!a)g[r](x);w===x?(y.push(q),q+=k):(A=x,y.push(q+t),t++);n+=k}}d=e.charAt(v);h!==l+1||m.translation[d]||g.push(d);g=g.join("");c.mapMaskdigitPositions(g,
1208y,l);return g},mapMaskdigitPositions:function(a,b,e){a=f.reverse?a.length-e:0;c.maskDigitPosMap={};for(e=0;e<b.length;e++)c.maskDigitPosMap[b[e]+a]=1},callbacks:function(a){var h=c.val(),g=h!==d,m=[h,a,b,f],q=function(a,b,c){"function"===typeof f[a]&&b&&f[a].apply(this,c)};q("onChange",!0===g,m);q("onKeyPress",!0===g,m);q("onComplete",h.length===e.length,m);q("onInvalid",0<c.invalid.length,[h,a,b,c.invalid,f])}};b=a(b);var m=this,d=c.val(),h;e="function"===typeof e?e(c.val(),void 0,b,f):e;m.mask=
1209e;m.options=f;m.remove=function(){var a=c.getCaret();m.options.placeholder&&b.removeAttr("placeholder");b.data("mask-maxlength")&&b.removeAttr("maxlength");c.destroyEvents();c.val(m.getCleanVal());c.setCaret(a);return b};m.getCleanVal=function(){return c.getMasked(!0)};m.getMaskedVal=function(a){return c.getMasked(!1,a)};m.init=function(d){d=d||!1;f=f||{};m.clearIfNotMatch=a.jMaskGlobals.clearIfNotMatch;m.byPassKeys=a.jMaskGlobals.byPassKeys;m.translation=a.extend({},a.jMaskGlobals.translation,f.translation);
1210m=a.extend(!0,{},m,f);h=c.getRegexMask();if(d)c.events(),c.val(c.getMasked());else{f.placeholder&&b.attr("placeholder",f.placeholder);b.data("mask")&&b.attr("autocomplete","off");d=0;for(var l=!0;d<e.length;d++){var g=m.translation[e.charAt(d)];if(g&&g.recursive){l=!1;break}}l&&b.attr("maxlength",e.length).data("mask-maxlength",!0);c.destroyEvents();c.events();d=c.getCaret();c.val(c.getMasked());c.setCaret(d)}};m.init(!b.is("input"))};a.maskWatchers={};var d=function(){var b=a(this),e={},f=b.attr("data-mask");
1211b.attr("data-mask-reverse")&&(e.reverse=!0);b.attr("data-mask-clearifnotmatch")&&(e.clearIfNotMatch=!0);"true"===b.attr("data-mask-selectonfocus")&&(e.selectOnFocus=!0);if(p(b,f,e))return b.data("mask",new l(this,f,e))},p=function(b,e,f){f=f||{};var c=a(b).data("mask"),d=JSON.stringify;b=a(b).val()||a(b).text();try{return"function"===typeof e&&(e=e(b)),"object"!==typeof c||d(c.options)!==d(f)||c.mask!==e}catch(t){}},h=function(a){var b=document.createElement("div"),d;a="on"+a;d=a in b;d||(b.setAttribute(a,
1212"return;"),d="function"===typeof b[a]);return d};a.fn.mask=function(b,d){d=d||{};var e=this.selector,c=a.jMaskGlobals,h=c.watchInterval,c=d.watchInputs||c.watchInputs,t=function(){if(p(this,b,d))return a(this).data("mask",new l(this,b,d))};a(this).each(t);e&&""!==e&&c&&(clearInterval(a.maskWatchers[e]),a.maskWatchers[e]=setInterval(function(){a(document).find(e).each(t)},h));return this};a.fn.masked=function(a){return this.data("mask").getMaskedVal(a)};a.fn.unmask=function(){clearInterval(a.maskWatchers[this.selector]);
1213delete a.maskWatchers[this.selector];return this.each(function(){var b=a(this).data("mask");b&&b.remove().removeData("mask")})};a.fn.cleanVal=function(){return this.data("mask").getCleanVal()};a.applyDataMask=function(b){b=b||a.jMaskGlobals.maskElements;(b instanceof a?b:a(b)).filter(a.jMaskGlobals.dataMaskAttr).each(d)};h={maskElements:"input,td,span,div",dataMaskAttr:"*[data-mask]",dataMask:!0,watchInterval:300,watchInputs:!0,keyStrokeCompensation:10,useInput:!/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&
1214h("input"),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}};a.jMaskGlobals=a.jMaskGlobals||{};h=a.jMaskGlobals=a.extend(!0,{},h,a.jMaskGlobals);h.dataMask&&a.applyDataMask();setInterval(function(){a.jMaskGlobals.watchDataMask&&a.applyDataMask()},h.watchInterval)},window.jQuery,window.Zepto);
1215
1216/* End */
1217;
1218; /* Start:"a:4:{s:4:"full";s:116:"/bitrix/templates/simai.framework/components/bitrix/main.userconsent.request/main/user_consent.min.js?17652306077363";s:6:"source";s:97:"/bitrix/templates/simai.framework/components/bitrix/main.userconsent.request/main/user_consent.js";s:3:"min";
1218s:101:"/bitrix/templates/simai.framework/components/bitrix/main.userconsent.request/main/user_consent.min.js";s:3:"map";s:101:"/bitrix/templates/simai.framework/components/bitrix/main.userconsent.request/main/user_consent.map.js";}"*/
1219(function(){function t(t){this.caller=t.caller;this.formNode=t.formNode;this.controlNode=t.controlNode;this.inputNode=t.inputNode;this.config=t.config}t.prototype={};BX.UserConsent={msg:{title:"MAIN_USER_CONSENT_REQUEST_TITLE",btnAccept:"MAIN_USER_CONSENT_REQUEST_BTN_ACCEPT",btnReject:"MAIN_USER_CONSENT_REQUEST_BTN_REJECT",loading:"MAIN_USER_CONSENT_REQUEST_LOADING",errTextLoad:"MAIN_USER_CONSENT_REQUEST_ERR_TEXT_LOAD"},events:{save:"main-user-consent-request-save",refused:"main-user-consent-request-refused",accepted:"main-user-consent-request-accepted"},current:null,autoSave:false,isFormSubmitted:false,isConsentSaved:false,attributeControl:"data-bx-user-consent",load:function(t){var e=this.find(t)[0];if(!e){return null}this.bind(e);return e},loadAll:function(t,e){this.find(t,e).forEach(this.bind,this)},loadFromForms:function(){var t=document.getElementsByTagName("FORM");t=BX.convert.nodeListToArray(t);t.forEach(this.loadAll,this)},find:function(t){if(!t){return[]}var e=t.querySelectorAll("["+this.attributeControl+"]");e=BX.convert.nodeListToArray(e);return e.map(this.createItem.bind(this,t)).filter(function(t){return!!t})},bind:function(t){if(t.config.submitEventName){BX.addCustomEvent(t.config.submitEventName,this.onSubmit.bind(this,t))}else if(t.formNode){BX.bind(t.formNode,"submit",this.onSubmit.bind(this,t))}BX.bind(t.controlNode,"click",this.onClick.bind(this,t))},createItem:function(e,n){var i=n.querySelector('input[type="checkbox"]');if(!i){return}try{var s=JSON.parse(n.getAttribute(this.attributeControl));var o={formNode:null,controlNode:n,inputNode:i,config:s};if(e.tagName=="FORM"){o.formNode=e}else{o.formNode=BX.findParent(i,{tagName:"FORM"})}o.caller=this;return new t(o)}catch(r){return null}},onClick:function(t,e){this.requestForItem(t);e.preventDefault()},onSubmit:function(t,e){this.isFormSubmitted=true;if(this.check(t)){return true}else{if(e){e.preventDefault()}return false}},check:function(t){if(t.inputNode.checked){this.saveConsent(t);return true}this.requestForItem(t);return false},requestForItem:function(t){this.setCurrent(t);this.requestConsent(t.config.id,{sec:t.config.sec,replace:t.config.replace},this.onAccepted,this.onRefused)},setCurrent:function(t){this.current=t;this.autoSave=t.config.autoSave;this.actionRequestUrl=t.config.actionUrl},onAccepted:function(){if(!this.current){return}var t=this.current;this.saveConsent(this.current,function(){BX.onCustomEvent(t,this.events.accepted,[]);BX.onCustomEvent(this,this.events.accepted,[t]);this.isConsentSaved=true;if(this.isFormSubmitted&&t.formNode&&!t.config.submitEventName){BX.submit(t.formNode)}});this.current.inputNode.checked=true;this.current=null},onRefused:function(){BX.onCustomEvent(this.current,this.events.refused,[]);BX.onCustomEvent(this,this.events.refused,[this.current]);this.current.inputNode.checked=false;this.current=null;this.isFormSubmitted=false},initPopup:function(){if(this.popup){return}this.popup={}},popup:{isInit:false,caller:null,nodes:{container:null,shadow:null,head:null,loader:null,content:null,textarea:null,buttonAccept:null,buttonReject:null},onAccept:function(){this.hide();BX.onCustomEvent(this,"accept",[])},onReject:function(){this.hide();BX.onCustomEvent(this,"reject",[])},init:function(){if(this.isInit){return true}var t=document.querySelector("script[data-bx-template]");if(!t){return false}var e=document.createElement("DIV");e.innerHTML=t.innerHTML;e=e.children[0];if(!e){return false}document.body.insertBefore(e,document.body.children[0]);this.isInit=true;this.nodes.container=e;this.nodes.shadow=this.nodes.container.querySelector("[data-bx-shadow]");this.nodes.head=this.nodes.container.querySelector("[data-bx-head]");this.nodes.loader=this.nodes.container.querySelector("[data-bx-loader]");this.nodes.content=this.nodes.container.querySelector("[data-bx-content]");this.nodes.textarea=this.nodes.container.querySelector("[data-bx-textarea]");this.nodes.buttonAccept=this.nodes.container.querySelector("[data-bx-btn-accept]");this.nodes.buttonReject=this.nodes.container.querySelector("[data-bx-btn-reject]");this.nodes.buttonAccept.textContent=BX.message(this.caller.msg.btnAccept);this.nodes.buttonReject.textContent=BX.message(this.caller.msg.btnReject);BX.bind(this.nodes.buttonAccept,"click",this.onAccept.bind(this));BX.bind(this.nodes.buttonReject,"click",this.onReject.bind(this));return true},setTitle:function(t){if(!this.nodes.head){return}this.nodes.head.textContent=t},setContent:function(t){if(!this.nodes.textarea){return}this.nodes.textarea.textContent=t},show:function(t){if(typeof t=="boolean"){this.nodes.loader.style.display=!t?"":"none";this.nodes.content.style.display=t?"":"none"}this.nodes.container.style.display=""},hide:function(){this.nodes.container.style.display="none"}},cache:{list:[],stringifyKey:function(t){return BX.type.isString(t)?t:JSON.stringify({key:t})},set:function(t,e){var n=this.get(t);if(n){n.data=e}else{this.list.push({key:this.stringifyKey(t),data:e})}},getData:function(t){var e=this.get(t);return e?e.data:null},get:function(t){t=this.stringifyKey(t);var e=this.list.filter(function(e){return e.key==t});return e.length>0?e[0]:null},has:function(t){return!!this.get(t)}},requestConsent:function(t,e,n,i){e=e||{};e.id=t;var s=this.cache.stringifyKey(e);if(!this.popup.isInit){this.popup.caller=this;if(!this.popup.init()){return}BX.addCustomEvent(this.popup,"accept",n.bind(this));BX.addCustomEvent(this.popup,"reject",i.bind(this))}if(this.current&&this.current.config.text){this.cache.set(s,this.current.config.text)}if(this.cache.has(s)){this.setTextToPopup(this.cache.getData(s))}else{this.popup.setTitle(BX.message(this.msg.loading));this.popup.show(false);this.sendActionRequest("getText",e,function(t){this.cache.set(s,t.text||"");this.setTextToPopup(this.cache.getData(s))},function(){this.popup.hide();alert(BX.message(this.msg.errTextLoad))})}},setTextToPopup:function(t){var e="";var n=t.indexOf("\n");var i=t.indexOf(".");n=n<i?n:i;if(n>=0&&n<=100){e=t.substr(0,n).trim();e=e.split(".").map(Function.prototype.call,String.prototype.trim).filter(String)[0]}this.popup.setTitle(e?e:BX.message(this.msg.title));this.popup.setContent(t);this.popup.show(true)},saveConsent:function(t,e){this.setCurrent(t);var n={id:t.config.id,sec:t.config.sec,url:window.location.href};if(t.config.originId){var i=t.config.originId;if(t.formNode&&i.indexOf("%")>=0){var s=t.formNode.querySelectorAll('input[type="text"], input[type="hidden"]');s=BX.convert.nodeListToArray(s);
1219s.forEach(function(t){if(!t.name){return}i=i.replace("%"+t.name+"%",t.value?t.value:"")})}n.originId=i}if(t.config.originatorId){n.originatorId=t.config.originatorId}BX.onCustomEvent(t,this.events.save,[n]);BX.onCustomEvent(this,this.events.save,[t,n]);if(this.isConsentSaved||!t.config.autoSave){if(e){e.apply(this,[])}}else{this.sendActionRequest("saveConsent",n,e,e)}},sendActionRequest:function(t,e,n,i){n=n||null;i=i||null;e.action=t;e.sessid=BX.bitrix_sessid();e.action=t;BX.ajax({url:this.actionRequestUrl,method:"POST",data:e,timeout:10,dataType:"json",processData:true,onsuccess:BX.proxy(function(t){t=t||{};if(t.error){i.apply(this,[t])}else if(n){n.apply(this,[t])}},this),onfailure:BX.proxy(function(){var t={error:true,text:""};if(i){i.apply(this,[t])}},this)})}};BX.ready(function(){BX.UserConsent.loadFromForms()})})();
1220/* End */
1221;; /* /bitrix/templates/simai.framework/components/bitrix/map.yandex.view/contacts/script.js?17652306071540*/
1222; /* /simai/asset/simai.property/.default/js/script.js?17652305795178*/
1223;
1223 /* /simai/asset/simai.property/sf4/js/script.js?176523057936532*/
1224; /* /simai/asset/mask/js/jquery.mask.min.js?17652305798185*/
1225; /* /bitrix/templates/simai.framework/components/bitrix/main.userconsent.request/main/user_consent.min.js?17652306077363*/
1226
1227//# sourceMappingURL=page_b1891955e32b76ae53d6967b32d0d3c1.map.js

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.