PageSourceSearch

https://abest.ru/bitrix/components/rank/callorder/templates/write/script.js

js abest.ru collected 2026-09-24 09:44:39 UTC 4,834 bytes, 136 lines download raw bytes

1$(function() {
2	$(".write-btn").click(SendWriteMsg);
3});
4
5function SendWriteMsg(e) {
6	var popup = $("#popup_writeus"),
7		$button = $(this),
8		metrika = $button.data('ym'),
9		modal_title = $(e.target).data('modal-title') || 'Задать вопрос';
10	console.log(e);
11	if (!!metrika) {
12		try {
13			ym(67919182, 'reachGoal', metrika + '_click');
14		} catch (e) {
15			console.log(e);
16		}
17	}
18	var fb_params={padding:0, centerOnScroll:true, titleShow:false, showNavArrows:false, wrapCSS: 'abest-popup'}
19	//var fb_params={}
20	if (!$("#popups").length) {
21			$("<div/>").attr('id','popups').css("display","none").appendTo('body');
22		}
23	if (popup.length) {
24		popup.find('.field').each(function(){
25			$(this).val('');
26		});
27	} else {
28		popup = $("<div/>")
29			.attr('id','popup_writeus')
30			.addClass("popupForm")
31			.html('<form action="" method="POST" id="writeus_form">\
32				<input type="hidden" name="writeus_form" value="1">\
33				<input type="hidden" name="callorder_url" value="'+window.location+'">\
34				<input type="hidden" name="callorder_useragent" value="'+navigator.userAgent+'">\
35				<input type="hidden" name="ajax_form" value="1">\
36				<input type="hidden" name="sessid" value="'+BX.bitrix_sessid()+'">\
37				<div class="formTitle">\
38					Задать вопрос\
39				</div>\
40				<div class="formContent">\
41					<div class="formGroup formGroupText">Вы можете задать вопрос на интересующую тему, заполнив следующую форму:</div>\
42					<div class="formGroup">\
43						<input type="text" name="callorder_name" id="callorder_name" class="field" value="" placeholder="Ваше имя">\
44					</div>\
45					<div class="formGroup">\
46						<input type="text" name="callorder_tel" id="callorder_tel" class="field" value="" placeholder="Контактный номер">\
47					</div>\
48					<div class="formGroup">\
49						<input type="text" name="callorder_mail" id="callorder_mail" class="field" value="" placeholder="Ваша почта">\
50					</div>\
51					<div class="formGroup">\
52						<textarea name="callorder_msg" id="callorder_msg" class="field" placeholder="Ваш вопрос"></textarea>\
53					</div>\
54					<div class="formGroup form-checkbox">\
55						<input type="checkbox" name="agree" id="agree_terms" value="1">\
56						<label for="agree_terms"><span></span>Я согласен с <a href="/conf_policy/" target="_blank">условиями передачи информации</a>.</label>\
57					</div>\
58					<div class="formGroup formGroupBtns">\
59						<button type="submit" class="btn btn-default btn-lg btn-block" disabled="disabled">Отправить</button>\
60					</div>\
61				</div>\
62			</form>')
63			.appendTo('#popups');
64
65		$("#agree_terms").change(function(){
66			var btn = $(this).parents("form").find("button[type=submit]");
67			if ($(this).prop("checked")) {
68				btn.removeAttr("disabled");
69			} else {
70				btn.attr("disabled", "disabled");
71
72			}
73		});
74		
75		popup_sent = $("<div/>").attr('id','popup_sent').addClass("popupForm").html('<div class="formTitle">Задать вопрос</div>\
76		<div class="formContent">\
77			<div class="formGroup formGroupText">\
78				<div class="resp-message"></div><div class="resp-descr"></div>\
79			</div>\
80			<div class="formGroup formGroupBtns">\
81				<a href="javascript:jQuery.fancybox.close();" class="btn btn-default btn-lg btn-block">Закрыть</a>\
82			</div>\
83		</div>\
84		').appendTo('#popups');
85		
86		$("#writeus_form").submit(function(event){
87			var error=false;
88			$(this).find('.field').each(function(){
89				if($(this).val() != ''){
90					$(this).removeClass('empty_field');
91				} else {
92					$(this).addClass('empty_field');
93					if (!error) $(this).focus();
94					error=true;
95				}
96			});
97			if (!error){
98				//alert($(this).serialize());
99				$.ajax({
100					url: window.location,
101					type: "post",
102					dataType: "json",
103					data: $(this).serialize(), 
104					success: function(data) {
105						//alert('good');
106						//$.fancybox.close(true);
107						$("#popup_sent .resp-message").html(data.message);
108						$("#popup_sent .resp-descr").html(data.description);
109						$.fancybox({href:"#popup_sent"},fb_params);
110						$("#writeus_form .field").val('');
111
112						if (!!metrika) {
113							try {
114								ym(67919182, 'reachGoal', metrika + '_success');
115							} catch (e) {
116								console.log(e);
117							}
118						}
119					},
120					error: function(data) {
121						//alert('bad');
122						//$.fancybox.close(true);
123						$("#popup_sent .resp-message").html("Ошибка");
124						$("#popup_sent .resp-descr").html("При попытке отправить сообщение произошла ошибка =(");
125						$.fancybox({href:"#popup_sent"},fb_params);
126					}
127				});
128			}
129			event.preventDefault();
130		});
131	}
132	popup.find('.formTitle').text(modal_title);
133	
134	$.fancybox({href:"#popup_writeus"},fb_params);
135	return false;
136};

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.