PageSourceSearch

https://www.teplospeccentr.ru/local/templates/.default/components/…/modal123/script.js?16184954644903

js teplospeccentr.ru collected 2026-10-07 01:21:17 UTC 4,903 bytes, 172 lines download raw bytes

1$(function(){
2
3	var $modalForms = $(".webformModal");
4
5	var sendWebForm = function(event, data){
6
7		var formData = new FormData(this);
8		var requiredErrorPosition = false;
9		var requiredError = false;
10
11		var $thisForm = $(this).addClass("loading");
12		var $parentThis = $thisForm.parents(".webFormDwModal");
13		var $thisFormFields = $thisForm.find(".webFormItemField");
14		var $thisFormErrors = $thisForm.find(".webFormItemError");
15		var $submitButton = $thisForm.find('input[type="submit"]').addClass("loading");
16		var $webFormError = $thisForm.find(".webFormError");
17		var $webFormCaptchaSid = $thisForm.find(".webFormCaptchaSid");
18		var $webFormCaptchaImage = $thisForm.find(".webFormCaptchaImage");
19
20		var formId = $parentThis.data("id");
21
22		$thisFormFields.each(function(i, nextField){
23
24			var $nextField = $(nextField);
25			if($nextField.data("required") == "Y"){
26				var $nextFieldEx = $nextField.find('input[type="text"], input[type="password"], input[type="file"], select, textarea');
27				if($nextFieldEx.attr("name")){
28					if(!$nextFieldEx.val() || $nextFieldEx.val().length == 0){
29						$nextFieldEx.addClass("error");
30						if(!requiredError){
31							requiredErrorPosition = $nextFieldEx.offset().top;
32							requiredError = true;
33						}
34					}
35				}
36
37			}
38		});
39
40		var $personalInfo = $thisForm.find(".personalInfoField");
41		if(!$personalInfo.prop("checked")){
42			$personalInfo.addClass("error");
43			requiredError = true;
44		}
45
46		if(requiredError == false){
47	  		$.ajax({
48	  			url: webFormAjaxDir + "?FORM_ID=" + formId + "&SITE_ID=" + webFormSiteId,
49	  			data: formData,
50			    cache: false,
51		        contentType: false,
52		        processData: false,
53		        enctype: "multipart/form-data",
54		        type: "POST" ,
55		        dataType: "json",
56	  			success: function(response){
57
58	  				//remove error labels
59	  				$thisFormErrors.empty().removeClass("visible");
60	  				$webFormError.empty().removeClass("visible");
61
62		  			if(response["SUCCESS"] != "Y"){
63
64			  			//set errors
65			  			$.each(response["ERROR"], function(nextId, nextValue){
66			  				var $errorItemContainer = $("#WEB_FORM_ITEM_" + nextId);
67			  				if(nextId != 0 && $errorItemContainer){
68			  					$errorItemContainer.find(".webFormItemError").html(nextValue).addClass("visible");
69			  				}else{
70			  					$webFormError.append(nextValue).addClass("visible");
71			  				}
72			  			});
73
74			  			// reload captcha
75			  			if(response["CAPTCHA"]){
76							$webFormCaptchaSid.val(response["CAPTCHA"]["CODE"]);
77							$webFormCaptchaImage.attr("src", response["CAPTCHA"]["PICTURE"]);
78						}
79
80					}else{
81						$("#webFormMessage_" + formId).css({
82							display: "block"
83						});
84						$(".webformModal").removeClass("visible");
85						$thisForm[0].reset();
86					}
87
88		  			//remove loader
89		  			$thisForm.removeClass("loading");
90		  			$submitButton.removeClass("loading");
91
92		  		}
93
94	  		});
95	  	}else{
96	  		
97	  		// if(requiredErrorPosition){
98	  		// 	$("html, body").animate({
99	  		// 		"scrollTop": requiredErrorPosition - $(window).height() / 2
100	  		// 	}, 250);
101	  		// }
102
103	  		$thisForm.removeClass("loading");
104	  		$submitButton.removeClass("loading");
105	  	}
106
107		return event.preventDefault();
108
109	}
110
111	var removeErrors = function(event){
112		$(this).removeClass("error");
113	};
114
115	var webFormExit = function(event){
116		$(".webFormMessage").hide();
117		return event.preventDefault();
118	}
119
120	var openWebFormModal = function(event){
121
122		var $thisForm = $("#webFormDwModal_" + $(this).data("id"));
123		var $thisFormCn = $thisForm.find(".webformModalContainer");
124
125		$thisForm.addClass("visible");
126
127		if($thisFormCn.height() < $(window).height()){
128			$thisForm.addClass("small");
129		}
130
131		return event.preventDefault();
132
133	}
134
135	var closeWebFormModal = function(event){
136		$(this).parents(".webformModal").removeClass("visible");
137		return event.preventDefault();
138	};
139
140	var checkFormsHeight = function(event){
141
142		//get window height now
143		var windowHeightNow = $(this).height();
144
145		//get web forms
146		$modalForms.each(function(i, nextForm){
147
148			//vars
149			var $nextForm = $(nextForm);
150			var $nextFormCn = $nextForm.find(".webformModalContainer");
151
152			//class change
153			if($nextFormCn.height() < windowHeightNow){
154				$nextForm.addClass("small");
155			}else{
156				$nextForm.removeClass("small");
157			}
158
159		});
160	}
161
162	$(document).on("focus", ".webFormItemField input, .webFormItemField select, .webFormItemField textarea", removeErrors);
163	$(document).on("click", ".webFormModalHeadingExit", closeWebFormModal);
164	$(document).on("click", ".openWebFormModal", openWebFormModal);
165	$(document).on("click", ".webFormMessageExit", webFormExit);
166	$(document).on("submit", ".webFormDwModal form", sendWebForm);
167
168	if($modalForms.length > 0){
169		$(window).on("resize", checkFormsHeight);	
170	}
171
172});

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.