PageSourceSearch

https://xn--n1adc.xn--80adxhks/tools/bootstrap.js?39

js xn--n1adc.xn--80adxhks collected 2026-10-07 13:02:44 UTC 42,866 bytes, 1,541 lines download raw bytes

1var __widthMobile = 600;
2var __isMobile = ($(window).width() <= __widthMobile);
3
4$(function () {
5
6		initElement();
7
8		$('body').bind('mouseup',function(e){
9			if(!e)e=window.event;
10			var target=e.target||e.srcElement;
11			var realTarget=target.parentNode;
12
13			if(sel_current){
14				if($(target).closest(sel_current).length==0){
15					selClose(sel_current);
16				}
17			}
18		});
19		$('body').bind('keypress',function(e){
20			if(!e)e=window.event;
21			var key=e.keyCode||e.which;
22			if(key==27){
23				if(currLightbox){
24					currLightbox.destroyLightbox();
25				}
26			}
27		});
28
29		$(window).on('resize',function(){bodyResize();});
30		function bodyResize(){
31			if($(window).width()<=999){
32				var padding=parseInt($('#main>header>.holder').css('padding-left'));
33
34				$('.adapt-nopadd').css({
35					'margin-left': '-'+padding+'px',
36					'margin-right': '-'+padding+'px'
37				});
38				$('.adapt-nopadd').find('.safe-padd').css({
39					'padding-left': padding+'px',
40					'padding-right': padding+'px',
41				});
42
43				$('.slider').each(function(index,item){
44					if($(item).data('original-height'))$(item).data('original-height',$(item).height());
45					var h=$(item).find('li:visible img').height();
46					$(item).children('ul').height(h);
47				});
48
49			}else{
50				$('.adapt-nopadd').css({
51					'margin-left': 'auto',
52					'margin-right': 'auto'
53				});
54				$('.adapt-nopadd').find('.safe-padd').css({
55					'padding-left': '0px',
56					'padding-right': '0px',
57				});
58
59				$('.slider').each(function(index,item){
60					if($(item).data('original-height')){
61						$(item).height(data('original-height'));
62						$(item).children('ul').css('height','auto');
63					}
64				});
65			}
66
67			if($(window).width()<=500){
68				$('[data-tabs]').each(function(index,item){
69					$(item).find('[data-tab]').each(function(index2,item2){
70						if(index2==0){
71							$(item2).addClass('tab-curr');
72							$(item).data('tab',item2);
73						}else{
74							$('#'+$(item2).attr('data-tab')).hide();
75						}
76
77						$(item2).click(function(){
78							var tab=$(this).closest('[data-tabs]').data('tab');
79							$(tab).removeClass('tab-curr');
80							$('#'+$(tab).attr('data-tab')).hide();
81							$(this).addClass('tab-curr');
82							$('#'+$(this).attr('data-tab')).show();
83							$(this).closest('[data-tabs]').data('tab',this);
84						});
85					});
86				});
87			}
88
89			if(currPopup){
90				currPopup.posPopup();
91			}
92		}
93		bodyResize();
94
95		$('#main>nav').click(function(){
96			if($(this).css('position')=='absolute'){
97				if(!$('#main>nav>.holder>.close').length){
98					$('#main>nav>.holder').append('<div class="close"><img src="images/ico_close2.png" alt="Закрыть" title="Закрыть"/></div>');
99					$('#main>nav>.holder>.close').click(function(event){
100						$('#main>nav').removeClass('opened');
101						$('#main>nav>.holder, #main>nav>.holder>ul, #main>nav>.holder>.close').stop().fadeOut(250);
102						event.stopPropagation();
103					});
104				}
105				$(this).removeClass('fixed');
106				$(this).addClass('opened');
107				$('#main>nav>.holder, #main>nav>.holder>ul, #main>nav>.holder>.close').stop().fadeIn(250);
108				if($('#main>nav>.holder').outerHeight() <= $(window).height()){
109					$(this).addClass('fixed');
110				}
111			}
112		});
113		$('#main>nav>.holder>ul>li>i').click(mniClick);
114		function mniClick(){
115			if($('#main>nav').css('position')=='absolute'){
116				$('#main>nav').data('ul',$('#main>nav>.holder>ul').html());
117				if($(this).siblings('ul').length){
118					$('#main>nav>.holder>ul').html( '<li class="back"></li>' + $(this).siblings('ul').html() );
119					$('#main>nav>.holder>ul>li.back').click(function(){
120						$('#main>nav>.holder>ul').html( $('#main>nav').data('ul') );
121						$('#main>nav>.holder>ul>li>i').click(mniClick);
122					});
123				}
124			}
125		}
126
127		$(window).on('resize',function(){
128			if(currPopup)currPopup.posPopup();
129			if(currLightbox)currLightbox.posLightbox();
130		});
131
132		$('.slider').each(function(index,item){
133			var $slider=$(item);
134			var timeout=$slider.attr('data-timeout');
135			var tid=null;
136			$slider.data({
137				'cnum' : 1,
138				'total': $slider.find('ul>li').length,
139				'progress': false
140			});
141			$slider.children('.arr-prev').click(function(){
142				if($slider.data('progress'))return false;
143				$slider.data('progress',true);
144				var cnum=$slider.data('cnum');
145				var cslide=$slider.find('ul>li:eq('+(cnum-1)+')');
146				cnum=(cnum<0)?$slider.data('total'):cnum-1;
147				$slider.data('cnum',cnum);
148				var nslide=$slider.find('ul>li:eq('+(cnum-1)+')');
149				$slider.find('.nav>i:eq('+(cnum-1)+')').addClass('curr').siblings('i').removeClass('curr');
150				cslide.stop().find('a>p').hide();
151				nslide.stop().addClass('forward').fadeIn(1000,function(){
152					cslide.hide().find('a>p').show();
153					$(this).removeClass('forward');
154					$slider.data('progress',false);
155				});
156				clearInterval($slider.data('tid'));
157				tid=setInterval(function(){
158					$slider.children('.arr-next').click();
159				},timeout*1000);
160				$slider.data('tid',tid);
161			});
162			$slider.children('.arr-next').click(function(){
163				if($slider.data('progress'))return false;
164				$slider.data('progress',true);
165				var cnum=$slider.data('cnum');
166				var cslide=$slider.find('ul>li:eq('+(cnum-1)+')');
167				cnum=(cnum+1>$slider.data('total'))?1:cnum+1;
168				$slider.data('cnum',cnum);
169				var nslide=$slider.find('ul>li:eq('+(cnum-1)+')');
170				$slider.find('.nav>i:eq('+(cnum-1)+')').addClass('curr').siblings('i').removeClass('curr');
171				cslide.stop().find('a>p').hide();
172				nslide.stop().addClass('forward').fadeIn(1000,function(){
173					cslide.hide().find('a>p').show();
174					$(this).removeClass('forward');
175					$slider.data('progress',false);
176				});
177				clearInterval($slider.data('tid'));
178				tid=setInterval(function(){
179					$slider.children('.arr-next').click();
180				},timeout*1000);
181				$slider.data('tid',tid);
182			});
183			tid=setInterval(function(){
184				$slider.children('.arr-next').click();
185			},timeout*1000);
186			$slider.data('tid',tid);
187
188			$slider.children('ul').after('<div class="nav"></div>');
189			$slider.find('li').each(function(index2,item2){
190				$slider.children('.nav').append('<i'+(index2==0?' class="curr"':'')+'></i>');
191			});
192
193			$slider.hammer().on('swiperight',function(){
194				$(this).children('.arr-prev').click();
195				return false;
196			});
197			$slider.hammer().on('swipeleft',function(){
198				$(this).children('.arr-next').click();
199				return false;
200			});
201		});
202
203		$('.more').click(function(){
204			$(this).addClass('progress');
205		});
206
207		if($('#admission').length){
208			admissionInit();
209		}
210
211		if($('#calculation-works').length){
212			calcWorksInit();
213		}
214
215		if ($('#start-sro').length) {
216			$('#sro-type-select .dropdown .item').click(function() {
217				var typeId = $(this).attr('data-value');
218				$('#contract-sum-select .dropdown .item').each(function(index, item) {
219					if ($(item).attr('data-type-id') == typeId) {
220						$(item).show();
221					} else {
222						$(item).hide();
223					}
224				});
225			});
226		}
227
228
229		function admissionInit(){
230			var $mn=$('#admission>.mn');
231			var $info=$('#admission>.info');
232			$mn.children('li').click(function(){
233				$info.height('auto');
234				var num=$(this).attr('data-num');
235				$(this).addClass('current').siblings('li').removeClass('current');
236				$info.children('li[data-num="'+num+'"]').addClass('current').siblings('li').removeClass('current');
237				if($mn.height()>$info.height()-4)$info.height($mn.height()-4);
238			});
239		}
240
241		function calcWorksInit(){
242			$('#calculation-works>ol>li>.dotted').click(function(){
243				$li=$(this).parent();
244				if(!$li.hasClass('current')){
245					$li.addClass('current').children('ol').stop().slideDown(400);
246
247				}else{
248					$li.removeClass('current').children('ol').stop().slideUp(400);
249				}
250			});
251		}
252
253});
254
255// INIT
256function initElement(element){
257   	$(element?element:'body').find('input').each(function(index,input){
258   		if($(input).parent().is('.inp-select') && input.type!='hidden'){
259			selInit($(input).parent()[0]);
260
261		}else if($(input).is('[data-mask]')){
262			$(input).inputmask($(input).attr('data-mask'),{
263				'clearMaskOnLostFocus': true
264			});
265		}
266	});
267}
268
269
270// MISCELLANEOUS FUNCTIONS
271inArray=Array.prototype.indexOf?
272function(arr,val){
273	return arr.indexOf(val)!=-1;
274}:
275function(arr,val){
276	var i=arr.length;
277	while(i--){
278		if(arr[i]==val)return true;
279}
280	return false;
281}
282function evalScripts(html){
283	var tempNode=document.createElement('div');
284	tempNode.innerHTML=html;
285	for(i in tempNode.childNodes){
286		var node=tempNode.childNodes[i];
287		if(node.tagName && node.tagName.toLowerCase()=='script'){
288			eval(node.innerHTML);
289		}
290	}
291}
292function isEven(number){
293	if(number%2==0)return true;
294	return false;
295}
296function loadImage(imgPath,callback){
297	var img=domC('img');
298	img.onload=function(){
299		if(typeof(callback)=='function'){
300			callback(img);
301		}else{
302			return img;
303		}
304	}
305	img.src=imgPath;
306}
307function waitForImage(img,callbackFunc){
308	img.onload=function(){callbackFunc();};
309}
310function getSize(element){
311	var w=$(element).outerWidth();
312	var h=$(element).outerHeight();
313	return {w:Math.round(w),h:Math.round(h)};
314}
315function setSize(element,size){
316	var w=size.w?size.w:size[0];
317	var h=size.h?size.h:size[1];
318	if(typeof(w)!='undefined')$(element).width(w);
319	if(typeof(h)!='undefined')$(element).height(h);
320}
321function setPosition(elem,pos){
322	elem.style.top=(pos.t?pos.t:pos[0])+'px';
323	elem.style.left=(pos.l?pos.l:pos[1])+'px';
324}
325function setPosLeft(elem,posleft){
326	elem.style.left=posleft+'px';
327}
328function setPosTop(elem,postop){
329	elem.style.top=postop+'px';
330}
331function getPosLeft(elem){
332	var l=parseInt(elem.style.left);
333	return l?l:0;
334}
335function getPosTop(elem){
336	var t=parseInt(elem.style.top);
337	return t?t:0;
338}
339function getClientWidth(){
340  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
341}
342function getClientHeight(){
343  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
344}
345
346// MESSAGES FUNCTIONS
347function msgSetWait(node,text,displayType){
348	if(!text)text='Подождите, идет загрузка...';
349	if(!displayType)displayType='block';
350	$(node).before(displayType=='inline'?'<span class="wait">'+text+'</span>':'<div class="wait">'+text+'</div>');
351	return $(node).prev().get(0);
352}
353function msgSetError(node,text,displayType){
354	if(!text)return false;
355	if(!displayType)displayType='block';
356	$(node).before(displayType=='inline'?'<span class="error">'+text+'</span>':'<div class="error">'+text+'</div>');
357	return $(node).prev().get(0);
358}
359function msgSetMessage(node,text,displayType){
360	if(!text)return false;
361	if(!displayType)displayType='block';
362	$(node).before(displayType=='inline'?'<span class="message">'+text+'</span>':'<div class="message">'+text+'</div>');
363	return $(node).prev().get(0);
364}
365function msgSetSuccess(node,text,displayType){
366	if(!text)return false;
367	if(!displayType)displayType='block';
368	$(node).before(displayType=='inline'?'<span class="success">'+text+'</span>':'<div class="success">'+text+'</div>');
369	return $(node).prev().get(0);
370}
371function msgUnset(node){
372	$(node).prev('.wait, .error, .message, .success').remove();
373}
374
375// CHECKS FUNCTIONS
376function checkNotEmpty(fld,mode){
377
378	if(typeof(mode)=='undefined')mode=1;
379
380	if(fld.value)return true;
381
382	else{
383
384		if(mode==0){
385
386			$(fld).addClass('err');
387
388		}else if(mode==1){
389
390			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
391
392		}
393
394		return false;
395
396	}
397
398}
399
400function checkEmail(fld,mode){
401
402	if(typeof(mode)=='undefined')mode=1;
403
404	var reg=/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9][a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/;
405
406	var str=fld.value;
407
408	if(!str || reg.test(str))return true;
409
410	else{
411
412		if(mode==0){
413
414			$(fld).addClass('err');
415
416		}else if(mode==1){
417
418			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
419
420		}
421
422		return false;
423
424	}
425
426}
427
428function checkPhone(fld,mode){
429
430	if(typeof(mode)=='undefined')mode=1;
431
432	var reg=/[0-9\+\-() ,\.]+/;
433
434	var str=fld.value;
435
436	if(!str || reg.test(str))return true;
437
438	else{
439
440		if(mode==0){
441
442			$(fld).addClass('err');
443
444		}else if(mode==1){
445
446			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
447
448		}
449
450		return false;
451
452	}
453
454}
455
456function checkDate(fld,mode){
457
458	if(typeof(mode)=='undefined')mode=1;
459
460	var reg=/^(\d){1,2}\.(\d){1,2}\.(\d){4}$/;
461
462	var str=fld.value;
463
464	if(x!='')return reg.test(x);
465
466	if(!str || reg.test(str))return true;
467
468	else{
469
470		if(mode==0){
471
472			$(fld).addClass('err');
473
474		}else if(mode==1){
475
476			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
477
478		}
479
480		return false;
481
482	}
483
484}
485
486function checkResetStatus(elem,mode){
487
488	if(typeof(mode)=='undefined')mode=1;
489
490	if(elem.tagName.toLowerCase()!='form'){
491
492		if(mode==0){
493
494			$(elem).removeClass('err');
495
496		}else if(mode==1){
497
498			$(elem).closest('.inp-text, .inp-textarea').removeClass('error');
499
500		}
501
502	}else{
503
504		$(elem).find('input, textarea').each(function(index,input){
505
506			checkResetStatus(input);
507
508		});
509
510	}
511
512}
513
514function checkPassword(fld,mode){
515
516	if(typeof(mode)=='undefined')mode=1;
517
518	var reg=/[A-z0-9\.]+/;
519
520	var str=fld.value;
521
522	if(reg.test(str))return true;
523
524	else{
525
526		if(mode==0){
527
528			$(fld).addClass('err');
529
530		}else if(mode==1){
531
532			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
533
534		}
535
536		return false;
537
538	}
539
540}
541
542function checkTheSame(fld,mode){
543
544	if(typeof(mode)=='undefined')mode=1;
545
546	var fld2=gei(fld.id+'_repeat');
547
548	if(fld.value==fld2.value)return true;
549
550	else{
551
552		if(mode==0){
553
554			$(fld).addClass('err');
555
556		}else if(mode==1){
557
558			$(fld).closest('.inp-text, .inp-textarea').addClass('error');
559
560		}
561
562		return false;
563
564	}
565
566}
567
568// 1 - not empty
569
570// 2 - e-mail
571
572// 3 - phone
573
574// 4 - date
575
576// 5 - password
577
578// 6 - the same
579
580function checkElements(elements,patterns,mode){
581
582	if(typeof(mode)=='undefined')mode=1;
583
584	var correct=true;
585
586	for(var i=0;i<elements.length;i++){
587
588		if(patterns[i][1] && !checkNotEmpty(elements[i],mode)){
589
590			correct=false;
591
592		}else{
593
594			if(patterns[i][2] && !checkEmail(elements[i],mode)){
595
596				correct=false;
597
598			}
599
600			if(patterns[i][3] && !checkPhone(elements[i],mode)){
601
602				correct=false;
603
604			}
605
606			if(patterns[i][4] && !checkDate(elements[i],mode)){
607
608				correct=false;
609
610			}
611
612			if(patterns[i][5] && !checkPassword(elements[i],mode)){
613
614				correct=false;
615
616			}
617
618			if(patterns[i][6] && !checkTheSame(elements[i],mode)){
619
620				correct=false;
621
622			}
623
624		}
625
626	}
627
628	return correct;
629
630}
631
632// SELECT FUNCTIONS
633var sel_current=null;
634var sel_item_current=null;
635function selInit(select){
636	if($(select).data('inited'))return true;
637	var inp_hidden=$(select).children('input:hidden');
638	var inp_title=$(select).children('input:text');
639	var rbtn=$(select).children('.r');
640	var dropdown=$(select).children('.dropdown');
641	var currValue=inp_hidden.val();
642
643	inp_hidden.data('resetvalue',currValue);
644	inp_title.click(function(){selToggle($(this).parent()[0]);});
645	inp_title.keydown(function(e){
646		if(!e)e=window.event;
647		var keyCode=e.keyCode;
648		if($(this).siblings('.dropdown').css('display')!='block'){
649			if(keyCode>=37&&keyCode<=40){
650				selOpen($(this).parent()[0]);
651			}
652		}
653		if(keyCode==27||keyCode==9){
654			selClose($(this).parent()[0]);
655		}else if(keyCode==40){
656			selItemList($(this).parent()[0]);
657		}else if(keyCode==38){
658			selItemList($(this).parent()[0],true);
659		}else if(keyCode==13){
660			selItemSet($(select).find('.dropdown>.inner>.over')[0]);
661			selClose($(this).parent()[0]);
662			return false;
663		}
664	});
665	inp_title.focus(function(){$(this).parent().addClass('focused')});
666	inp_title.blur(function(){if($(this).siblings('.dropdown').css('display')!='block')$(this).parent().removeClass('focused')});
667	rbtn.click(function(){selToggle($(this).parent()[0]);});
668	dropdown.find('.inner>.item').each(function(index,item){
669		if($(item).val()==currValue)$(item).addClass('current');
670		$(item).click(function(){selItemSet(this);});
671		$(item).mouseover(function(){selItemOver(this);});
672		$(item).mouseout(function(){selItemOut(this);});
673	});
674
675	$(select).data('inited',true);
676}
677function selOpen(select){
678	if(sel_current)
679		selClose(sel_current);
680	$(select).addClass('focused');
681	$(select).children('.dropdown').show();
682	$(select).find('.dropdown').each(function(index,item){
683		if($(item).height()>268){
684		    $(item).children('.inner').height(268).jScrollPane({
685    			scrollbarWidth: 5,
686				showArrows: false
687			});
688	    }
689	});
690	sel_current=select;
691}
692function selClose(select){
693	$(select).children('.dropdown').hide();
694	sel_current=null;
695	$(select).removeClass('focused');
696}
697function selToggle(select){
698	if($(select).children('.dropdown').css('display')=='block'){
699		selClose(select);
700	}else{
701		selOpen(select);
702	}
703}
704function selItemSet(item){
705	var select=$(item).closest('.inp-select').get(0);
706	var val=$(item).attr('data-value');
707	$(item).siblings('.current').removeClass('current');
708	$(select).children('input:hidden').val(val);
709	$(select).children('input:text').val($(item).html());
710	$(item).addClass('current');
711	$(item).removeClass('over');
712	selClose(select);
713	$(select).children('input:text').blur();
714	return val;
715}
716function selItemOver(item){
717	$(item).addClass('over');
718}
719function selItemOut(item){
720	$(item).removeClass('over');
721}
722function selItemList(select,direction){
723	var item=$(select).find('.dropdown>.inner>.over')[0];
724	if(!item)item=$(select).find('.dropdown>.inner>.current')[0];
725	if(item)selItemOut(item);
726	var new_item=item?(direction?$(item).prev('.item')[0]:$(item).next('.item')[0]):($(select).find('.dropdown>.inner>.item')[0]);
727	if(!new_item)new_item=direction?$(select).find('.dropdown>.inner>.item:last')[0]:$(select).find('.dropdown>.inner>.item:first')[0];
728	selItemOver(new_item);
729}
730
731// POPUP FUNCTIONS
732var currPopup=null;
733// объект - Стандартный попап
734function Popup(info,params){
735	var self=this;
736	this.popup=null;
737	this.popupTop=null;
738	this.icoClose=null;
739	this.fixed=true;
740	this.popupCode='';
741	this.objectSource=null;
742	this.width=0;
743	this.height=0;
744	this.source='ajax';
745	this.onClose=null;
746	this.onShow=null;
747	this.className='';
748	this.icoClose='';
749	this.params=params?params:{};
750
751	// зафиксировать попап
752	this.fixPopup=function(){
753		self.popup.style.position='fixed';
754	}
755
756	// дефиксировать попап
757	this.unfixPopup=function(){
758		self.popup.style.position='absolute';
759	}
760
761	// позиционировать попап
762	this.posPopup=function(scrollToTop){
763		var t=0,l=0,w=0,h=0;
764		w=parseInt(Math.round(getClientWidth()));
765		h=parseInt(Math.round(getClientHeight()));
766		var scrollTop=parseInt(self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop));
767		var size=getSize(self.popup);
768		self.height=$(self.popup).outerHeight();
769		l=Math.round(w/2 - size.w/2);
770		if(self.popup.offsetHeight+40<h){
771			if(self.fixed){
772				self.fixPopup();
773				t=Math.round(h/2 - size.h/2);
774			}else{
775				t=scrollTop + Math.round(h/2 - size.h/2);
776			}
777		}else{
778			self.unfixPopup();
779			t=scrollTop + 40;
780		}
781
782		if($(window).height()<size.h){
783			if (scrollToTop || !__isMobile) {
784				//t=0;
785				$('#wrapper').addClass('js-popup-overflow').height(self.height);
786				//$(document).scrollTop(0);
787			}
788		}else{
789			$('#wrapper').removeClass('js-popup-overflow').height('100%');
790		}
791
792		//setPosition(self.popup,{t: t,l: l});
793		if (scrollToTop || !__isMobile) {
794			$(self.popup).css({
795				top: t,
796				left: l
797			});
798		}		
799	}
800
801	// показать попап
802	this.showPopup=function(){
803		$(self.popup).css({'visibility':'hidden','display':'block'});
804		if(self.fixed)self.fixPopup();
805		else self.unfixPopup();
806		self.posPopup(true);
807		showCover();
808		$(self.popup).css('visibility','visible');
809		$('body').addClass('covered');
810	}
811
812	// спрятать попап
813	this.hidePopup=function(){
814		$(popup).hide();
815		$('body').removeClass('covered');
816		hideCover();
817		currPopup=null;
818	}
819
820	// уничтожить попап
821	this.destroyPopup=function(){
822		$(self.popup).remove();
823		$('body').removeClass('covered');
824		$('#wrapper').removeClass('js-popup-overflow').height('100%');
825		hideCover();
826		currPopup=null;
827	}
828
829	// инициализация
830	this.init=function(popupCode){
831		if(self.source=='ajax'){
832			self.params.data['code']=self.popupCode;
833		}
834		$.ajax({
835			type: 'POST',
836			url: '/ajax-act-GetPopup.html',
837			data: self.params.data,
838			dataType: 'html',
839			success: function(response){
840				var tempPar=document.createElement('div');
841				$(tempPar).html(response);
842				if(self.source=='object'){
843					$(tempPar).find('#popup-content-inner').html($(self.objectSource));
844				}else if(self.source=='html'){
845					$(tempPar).find('#popup-content-inner').html(self.htmlSource);
846				}
847				self.popup=$(tempPar).children().get(0);
848				currPopup=self;
849				$(document.body).append(self.popup);
850				if(self.onClose && typeof(self.onClose)=='function'){
851					$(self.popup).find('.ico-close').on('click',self.onClose);
852				}else{
853					$(self.popup).find('.ico-close').click(function(){
854						self.destroyPopup();
855					});
856				}
857				if(self.className)$(self.popup).addClass(self.className);
858				if(self.icoClose)$(self.popup).find('.ico-close').attr('src',self.icoClose);
859				if(self.width && $(window).width()>self.width)self.popup.style.width=self.width+'px';
860				initElement(self.popup);
861				if(self.fixed){
862					self.fixPopup();
863				}
864				self.showPopup();
865				if(self.source=='ajax')evalScripts(self.popup);
866				if(self.onShow && typeof(self.onShow)=='function'){
867					self.onShow();
868				}
869			}
870		});
871
872	}
873
874	if(currPopup)$(currPopup).remove();
875
876	if(params.width&&params.width>0)this.width=params.width;
877	if(typeof(params.fixed)!='undefined')this.fixed=self.params.fixed;
878	if(params.source)this.source=params.source;
879	if(params.className)this.className=params.className;
880	if(params.icoClose)this.icoClose=params.icoClose;
881	if(params.onClose)this.onClose=params.onClose;
882	if(params.onShow)this.onShow=params.onShow;
883
884	if(self.source=='ajax')this.popupCode=info;
885	else if(self.source=='object')this.objectSource=info;
886	else if(self.source=='html')this.htmlSource=info;
887	self.params.data=params.data?params.data:{};
888	this.init(self.popupCode);
889}
890
891// показать фон
892function showCover(){
893	if($(window).width()>999){
894		$('#cover').fadeIn(300);
895	}else{
896		$('#cover').show();
897	}
898
899}
900// спрятать фон
901function hideCover(){
902	if($(window).width()>999){
903		$('#cover').fadeOut(300);
904	}else{
905		$('#cover').hide();
906	}
907}
908
909// LIGHTBOX FUNCTION
910var currLightbox=null;
911// объект - Лайтбокс
912function Lightbox(lightboxCode,waitElem,info){
913	var self=this;
914	this.lightbox=null;
915	this.lightboxInner2=null;
916	this.icoClose=null;
917	this.inner=null;
918	this.fixed=true;
919	this.lightboxCode='';
920	this.waitElem=null;
921	this.info=info?info:{};
922	this.autoDarken=true;
923
924	// зафиксировать лайтбокс
925	this.fixLightbox=function(){
926		self.lightbox.style.position='fixed';
927	}
928
929	// дефиксировать лайтбокс
930	this.unfixLightbox=function(){
931		self.lightbox.style.position='absolute';
932	}
933
934	// позиционировать лайтбокс
935	this.posLightbox=function(animate){
936		var t=0,l=0,w=0,h=0;
937		w = parseInt(Math.round(getClientWidth()));
938		h = parseInt(Math.round(getClientHeight()));
939		var scrollTop = parseInt(self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop));
940		var size=getSize(self.lightbox);
941		l=Math.round(w/2 - size.w/2);
942		if(self.lightbox.offsetHeight<h){
943			if(self.fixed){
944				t=self.fixed?Math.round(h/2 - size.h/2):scrollTop + Math.round(h/2 - size.h/2);
945			}else{
946				t=scrollTop + Math.round(h/2 - size.h/2);
947			}
948		}else{
949			self.unfixLightbox();
950			t=scrollTop + 40;
951		}
952		if(!animate)$(self.lightbox).css({'top':t,'left':l});
953		else $(self.lightbox).animate({'top':t,'left':l});
954	}
955
956	// показать лайтбокс
957	this.showLightbox=function(){
958		$(self.lightbox).css({'visibility':'hidden','display':'block'});
959		if(self.fixed)self.fixLightbox();
960		else self.unfixLightbox();
961		self.posLightbox();
962		showCover();
963		$(self.lightbox).css('visibility','visible');
964	}
965
966	// спрятать лайтбокс
967	this.hideLightbox=function(){
968		$(lightbox).hide();
969		hideCover();
970		currLightbox=null;
971	}
972
973	// уничтожить лайтбокс
974	this.destroyLightbox=function(){
975		$(self.lightbox).remove();
976		hideCover();
977		currLightbox=null;
978	}
979
980	/*
981	// хайлайт иконки-креста
982	this.highlightCloseIco=function(){
983		self.icoClose.src='images/ico_close2_act.gif';
984	}
985	// лоулайт иконки-креста
986	this.lowlightCloseIco=function(){
987		self.icoClose.src='images/ico_close2.gif';
988	}
989	*/
990
991	// инициализация
992	this.init=function(lightboxCode){
993		self.info['code']=lightboxCode;
994		self.info['width']=self.widthType;
995		$.ajax({
996			type: 'POST',
997			url: '/ajax-act-GetLightbox.html',
998			data: self.info,
999			dataType: 'html',
1000			success: function(response){
1001				var tempPar=document.createElement('div');
1002				if(response)tempPar.innerHTML=response;
1003				self.lightbox=$(tempPar).children().get(0);
1004				currLightbox=self;
1005				self.lightboxTop=$(self.lightbox).children().get(0);
1006				self.icoClose=$(self.lightboxTop).find('img').get(0);
1007				$(self.icoClose).on('click',self.destroyLightbox);
1008				//self.lightboxInner2=domFC(domFC(domFC(domFC(domNN(domFC(domFC(self.lightbox)))))));
1009				//self.icoClose=domLC(self.lightbox);
1010				//self.icoClose.onclick=self.destroyLightbox;
1011				//self.icoClose.onmouseover=self.highlightCloseIco;
1012				//self.icoClose.onmouseout=self.lowlightCloseIco;
1013				document.body.appendChild(self.lightbox);
1014
1015				if(self.waitElem){
1016					if(typeof(self.waitElem)=='string')self.waitElem=$('#'+self.waitElem).get(0);
1017					if(self.waitElem.tagName.toLowerCase()=='img'){
1018						var lightboxTimer=setTimeout(function(){
1019							self.showLightbox();
1020						},1500);
1021						waitForImage(self.waitElem,function(){
1022							self.showLightbox();
1023							/*
1024							if(self.fixed){
1025								self.fixLightbox();
1026							}
1027							*/
1028							clearTimeout(lightboxTimer);
1029							self.waitElem.onload=function(){return true;};
1030							evalScripts(self.lightbox);
1031						});
1032					}
1033				}else{
1034					self.showLightbox();
1035				}
1036				if(self.autoDarken){
1037
1038				}
1039
1040				if(self.fixed){
1041					self.fixLightbox();
1042				}
1043			}
1044		});
1045
1046	}
1047	if(currLightbox)$(currLightbox).remove();
1048	this.lightboxCode=lightboxCode;
1049	if(waitElem)this.waitElem=waitElem;
1050	this.init(self.lightboxCode);
1051}
1052
1053// FILE UPLOADER
1054// объект - Файловый AJAX-загрузчик
1055function Uploader(){
1056	var self=this;
1057	this.uploader=null;
1058	this.isIe=(getBrowser()=='ie');
1059
1060	// инициализация
1061	this.init=function(){
1062		var uploader=document.createElement('div');
1063		uploader.id='uploader';
1064		$(document.body).append(uploader);
1065		self.uploader=uploader;
1066	}
1067
1068	// поле со значением параметра
1069	this.getParamInput=function(param,value){
1070		if(!self.isIe){
1071			var inp=document.createElement('input');
1072			inp.type='hidden';
1073			inp.name=param;
1074			inp.value=value;
1075		}else{
1076			var inp=document.createElement('<input type="hidden" name="'+param+'" value="'+value+'">');
1077		}
1078		return inp;
1079	}
1080
1081	// закачка
1082	this.upload=function(input,info){
1083		var container=$(input).parent().get(0);
1084		var fauxInput=$(container).children('.faux-input');
1085		var valueHolder=$(input).next().get(0);
1086		if(valueHolder.value){
1087			self.removeFile(valueHolder.value);
1088			fauxInput.innerHTML='';
1089			var uploadedLine=$(container).parent().children('.uploaded-file').get(0);
1090			if(uploadedLine)$(uploadedLine).remove();
1091		}
1092
1093		var fileBtn=$(container).children('.browse-btn').get(0);
1094		if(fileBtn)self.setButtonState(fileBtn,1);
1095
1096		var iframe=document.createElement(self.isIe?'<iframe name="uploader'+info['id']+'" src="">':'iframe');
1097		with(iframe){
1098			name='uploader'+info['id'];
1099			setAttribute('name','uploader'+info['id']);
1100			id='uploader'+info['id'];
1101		}
1102		$(self.uploader).append(iframe);
1103
1104		var form=document.createElement(self.IsIe?'<form action="/ajax-act-GetUploader.html" method="post" enctype="multipart/form-data" target="uploader'+info['id']+'" id="uploader-form'+info['id']+'">':'form');
1105		with(form){
1106			id='uploader-form'+info['id'];
1107			action='/ajax-act-GetUploader.html';
1108			target='uploader'+info['id'];
1109			enctype='multipart/form-data';
1110			setAttribute('method','post');
1111			setAttribute('target','uploader'+info['id']);
1112			setAttribute('enctype','multipart/form-data');
1113		}
1114		$(self.uploader).append(form);
1115
1116		input.id='file-input'+info['id']+'_'+info['element_id'];
1117		input.name='File';
1118		input.setAttribute('id','file-input'+info['id']+'_'+info['element_id']);
1119		input.setAttribute('name','File');
1120		valueHolder.id='file-value-holder'+info['id']+'_'+info['element_id'];
1121		valueHolder.setAttribute('id','file-value-holder'+info['id']+'_'+info['element_id']);
1122		valueHolder.setAttribute('uploading',1);
1123		$(form).prepend(input);
1124
1125		for(var k in info){
1126			$(form).append(self.getParamInput(k,info[k]));
1127		}
1128
1129		form.submit();
1130	}
1131
1132	// установка состояния кнопки
1133	this.setButtonState=function(button,state){
1134		if(state==1){
1135			$(button).parent('.inp-file').addClass('process');
1136		}else{
1137			$(button).parent('.inp-file').removeClass('process');
1138		}
1139	}
1140
1141	// файл закачен
1142	this.setUploaded=function(id,elementId,value,caption,html){
1143		valueHolder=$('#file-value-holder'+id+'_'+elementId).get(0);
1144		valueHolder.value=value;
1145		var container=$(valueHolder).parent().get(0);
1146		var fileBtn=$(container).children('.browse-btn').get(0);
1147		var fauxInput=$(container).children('.faux-inp').get(0);
1148		fauxInput.innerHTML=caption;
1149		var uploadedFile=document.createElement('span');
1150		$(uploadedFile).addClass('uploaded-file').html(html);
1151		$(container).after(uploadedFile);
1152		var input=$('#file-input'+id+'_'+elementId).get(0);
1153		input.name='';
1154		input.removeAttribute('name');
1155		$(valueHolder).before(input);
1156		valueHolder.removeAttribute('uploading');
1157		if(fileBtn)self.setButtonState(fileBtn,0);
1158	}
1159
1160	// удаление формы и фрейма
1161	this.destroy=function(id){
1162		var iframe=$('#uploader'+id).get(0);
1163		var form=$('#uploader-form'+id).get(0);
1164		$(iframe).remove();
1165		$(form).remove();
1166	}
1167
1168	// отменить загруженный файл
1169	this.removeFile=function(filepath){
1170		$.ajax({
1171			type: 'POST',
1172			url: '/ajax-act-RemoveFile.html',
1173			data: {'filepath':filepath}
1174		});
1175	}
1176	this.uploader=$('#uploader').get(0);
1177	if(!this.uploader)this.init();
1178
1179}
1180
1181function uplUpload(input,uploaderCode,info){
1182	var element_id=$(input).attr('data-element-id');
1183	var inp_name_prefix=$(input).attr('data-inp-name');
1184	$(input).siblings('input:hidden').attr('name',inp_name_prefix+'['+element_id+']');
1185
1186	info['code']=uploaderCode;
1187	var uploader=new Uploader();
1188	uploader.upload(input,info);
1189}
1190function uplSetUploaded(recordId,elementId,value,filename,html){
1191	if(!html)html='Файл успешно загружен';
1192	var uploader=new Uploader();
1193	uploader.setUploaded(recordId,elementId,value,filename,html);
1194	uploader.destroy(recordId);
1195}
1196
1197// CALLBACK
1198function cbSendForm(form){
1199	msgUnset(form);
1200	checkResetStatus(form,0);
1201	if(checkElements([form.meastr23],[{1:true}])){
1202		form.submit_btn.disabled=true;
1203		var waitNode=msgSetWait(form);
1204
1205		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1206
1207		$.ajax({
1208			type: $(form).attr('method'),
1209			url: $(form).attr('action'),
1210			data: $(form).serialize(),
1211			success: function(response){
1212				var responseStatus=parseInt(response.substr(0,1));
1213				var responseText=response.substr(2);
1214
1215				if(responseStatus=='1'){
1216
1217					if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') {
1218						yaCounter31102727.reachGoal('obrzvonok');
1219					}
1220					if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') {
1221						ga('send', 'event', 'отправка формы', 'обратный звонок');
1222					}
1223
1224					msgSetSuccess(form,responseText);
1225					$('.popup>.form-text, .popup .form').slideUp(300);
1226					form.reset();
1227				}else{
1228					msgSetError(form,responseText);
1229				}
1230				$(waitNode).remove();
1231				form.submit_btn.disabled=false;
1232			}
1233		});
1234	}else{
1235		msgSetError(form,'Пожалуйста, укажите контактный телефон.');
1236	}
1237}
1238
1239// CALLBACK whatsapp
1240function cbSendForm1(form){
1241	msgUnset(form);
1242	checkResetStatus(form,0);
1243	if(checkElements([form.meastr23],[{1:true}])){
1244		form.submit_btn.disabled=true;
1245		var waitNode=msgSetWait(form);
1246
1247		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1248
1249		$.ajax({
1250			type: $(form).attr('method'),
1251			url: $(form).attr('action'),
1252			data: $(form).serialize(),
1253			success: function(response){
1254				var responseStatus=parseInt(response.substr(0,1));
1255				var responseText=response.substr(2);
1256
1257				if(responseStatus=='1'){
1258
1259					if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') {
1260						yaCounter31102727.reachGoal('whatsapp');
1261					}
1262					if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') {
1263						ga('send', 'event', 'отправка формы', 'WhatsApp заказ');	
1264					}					
1265
1266					msgSetSuccess(form,responseText);
1267					$('.popup>.form-text, .popup .form').slideUp(300);
1268					form.reset();
1269				}else{
1270					msgSetError(form,responseText);
1271				}
1272				$(waitNode).remove();
1273				form.submit_btn.disabled=false;
1274			}
1275		});
1276	}else{
1277		msgSetError(form,'Пожалуйста, укажите контактный телефон.');
1278	}
1279}
1280
1281// ORDER
1282function orderSendForm(form, pos){
1283	msgUnset(form);
1284	checkResetStatus(form,0);
1285	if(checkElements([form.meastr23],[{1:true}])){
1286		form.submit_btn.disabled=true;
1287		var waitNode=msgSetWait(form);
1288
1289		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1290
1291		$.ajax({
1292			type: $(form).attr('method'),
1293			url: $(form).attr('action'),
1294			data: $(form).serialize(),
1295			success: function(response){
1296				var responseStatus=parseInt(response.substr(0,1));
1297				var responseText=response.substr(2);
1298
1299				if(responseStatus=='1'){
1300
1301					if(pos == 'header'){
1302						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('zayavkaheader');
1303						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'заявка шапка');
1304					}
1305					if(pos == 'footer'){
1306						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('zayavkafooter');
1307						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'заявка ф
1307утер');
1308					}
1309					if(pos == 'contacts'){
1310						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('zayavkaskomtaktov');
1311						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'заявка с контактов');
1312					}
1313					if(pos == 'statya'){
1314						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('zayavkastatya');
1315						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'заявка с контактов');
1316					}
1317					msgSetSuccess(form,responseText);
1318					$(form).parent().find('.form-text, .form').slideUp(300);
1319					form.reset();
1320				}else{
1321					msgSetError(form,responseText);
1322				}
1323				$(waitNode).remove();
1324				form.submit_btn.disabled=false;
1325			}
1326		});
1327	}else{
1328		msgSetError(form,'Пожалуйста, укажите контактный телефон.');
1329	}
1330}
1331
1332// CALCULATION ORDER
1333function calcOrderSendForm(form, page){
1334	msgUnset($(form).find('.form').get(0));
1335	checkResetStatus(form,0);
1336	if(checkElements([form.meastr23],[{1:true}])){
1337		form.submit_btn.disabled=true;
1338		var waitNode=msgSetWait(form);
1339
1340		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1341
1342		$.ajax({
1343			type: $(form).attr('method'),
1344			url: $(form).attr('action'),
1345			data: $(form).serialize(),
1346			success: function(response){
1347				var responseStatus=parseInt(response.substr(0,1));
1348				var responseText=response.substr(2);
1349
1350				if(responseStatus=='1'){
1351
1352					if(page == 1){
1353						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('stroy');
1354						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'расчет строителям');
1355					}
1356					if(page == 2){
1357						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('project');
1358						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'расчет проектный');
1359					}
1360					if(page == 3){
1361						if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('izisk');
1362						if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'расчет изыскателям');
1363					}
1364
1365					msgSetSuccess($(form).find('.form').get(0),responseText);
1366					$(form).parent().find('.form-text, .form').slideUp(300);
1367					form.reset();
1368				}else{
1369					msgSetError($(form).find('.form').get(0),responseText);
1370				}
1371				$(waitNode).remove();
1372				form.submit_btn.disabled=false;
1373			}
1374		});
1375	}else{
1376		msgSetError($(form).find('.form').get(0),'Пожалуйста, укажите контактный телефон.');
1377	}
1378}
1379
1380// Animated scroll to target
1381function _scrollTo(target, offset) {
1382	var wh = $(window).height();
1383	if (typeof(offset) == 'undefined') offset = Math.round($(target).outerHeight() /2) - Math.round(wh / 2);
1384	else if (offset === false) offset = 0;
1385	$('html,body').animate({
1386		scrollTop: $(target).offset().top + offset
1387	}, 1000);
1388}
1389
1390// ADMISSION
1391function admSendForm(form){
1392	msgUnset(form);
1393	checkResetStatus(form,0);
1394	//if(checkElements([form.firm,form.name,form.meastr23,form.email],[{1:true},{1:true},{1:true},{1:true,2:true}])){
1395	//if(checkElements([form.firm,form.trmeas21,form.meastr23,form.rmeast25],[{1:true},{1:true},{1:true},{1:true,2:true}])){
1396	if(checkElements([form.meastr23],[{1:true}])){
1397		form.submit_btn.disabled=true;
1398		var waitNode=msgSetWait(form);
1399		if (__isMobile) {
1400			_scrollTo($('.popup .start-sro'), 0);
1401		}
1402
1403		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1404
1405		$.ajax({
1406			type: $(form).attr('method'),
1407			url: $(form).attr('action'),
1408			data: $(form).serialize(),
1409			success: function(response){
1410				var responseStatus=parseInt(response.substr(0,1));
1411				var responseText=response.substr(2);
1412
1413				if(responseStatus=='1'){
1414
1415					if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('vstupitvsro');
1416					if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'вступить в сро');
1417
1418					msgSetSuccess(form,responseText);
1419					$('.popup .start-sro').addClass('success');
1420					$('.popup>.form-text, .popup .form').slideUp(300);
1421					form.reset();
1422				}else{
1423					msgSetError(form,responseText);
1424				}
1425				$(waitNode).remove();
1426				form.submit_btn.disabled=false;
1427			}
1428		});
1429	}else{
1430		msgSetError(form,'Пожалуйста, укажите контактный телефон.');
1431	}
1432}
1433function admissionPopupInit() {
1434	$('#sro-type-select .dropdown .item').click(function() {
1435				var typeId = $(this).attr('data-value');
1436				$('#contract-sum-select .dropdown .item').each(function(index, item) {
1437					if ($(item).attr('data-type-id') == typeId) {
1438						$(item).show();
1439					} else {
1440						$(item).hide();
1441					}
1442				});
1443			});
1444}
1445
1446// REGISTRY
1447function regSendForm(form){
1448	msgUnset(form);
1449	checkResetStatus(form,0);
1450	if(checkElements([form.meastr23],[{1:true}])){
1451		form.submit_btn.disabled=true;
1452		var waitNode=msgSetWait(form);
1453
1454		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1455
1456		$.ajax({
1457			type: $(form).attr('method'),
1458			url: $(form).attr('action'),
1459			data: $(form).serialize(),
1460			success: function(response){
1461				var responseStatus=parseInt(response.substr(0,1));
1462				var responseText=response.substr(2);
1463
1464				if(responseStatus=='1'){
1465
1466					if (typeof yaCounter31102727 !== 'undefined' && yaCounter31102727 !== null && typeof yaCounter31102727.reachGoal === 'function') yaCounter31102727.reachGoal('reestr');
1467					if (typeof ga !== 'undefined' && ga !== null && typeof ga === 'function') ga('send', 'event', 'отправка формы', 'реестр');
1468
1469					msgSetSuccess(form,responseText);
1470					$('#bl-registry .form').slideUp(300);
1471					form.reset();
1472				}else{
1473					msgSetError(form,responseText);
1474				}
1475				$(waitNode).remove();
1476				form.submit_btn.disabled=false;
1477			}
1478		});
1479	}else{
1480		msgSetError(form,'Пожалуйста, укажите свой телефон.');
1481	}
1482}
1483
1484// FAQ
1485function faqSendForm(form){
1486	msgUnset(form);
1487	checkResetStatus(form,0);
1488	if(checkElements([form.rmeast25,form.text],[{1:true,2:true},{1:true}])){
1489		form.submit_btn.disabled=true;
1490		var waitNode=msgSetWait(form);
1491
1492		$(form).append('<input type="hidden" name="capcha" value="' + navigator.userAgent + '"/>');
1493
1494		$.ajax({
1495			type: $(form).attr('method'),
1496			url: $(form).attr('action'),
1497			data: $(form).serialize(),
1498			success: function(response){
1499				var responseStatus=parseInt(response.substr(0,1));
1500				var responseText=response.substr(2);
1501
1502				if(responseStatus=='1'){
1503					msgSetSuccess(form,responseText);
1504					$('#bl-registry .form').slideUp(300);
1505					form.reset();
1506				}else{
1507					msgSetError(form,responseText);
1508				}
1509				$(waitNode).remove();
1510				form.submit_btn.disabled=false;
1511			}
1512		});
1513	}else{
1514		msgSetError(form,'Пожалуйста, укажите свой e-mail и напишите вопрос.');
1515	}
1516}
1517
1518// MORE
1519function faqMore(more){
1520	var $more=$(more);
1521	$more.addClass('progress');
1522	if(!$more.data('page'))$more.data('page',1);
1523	setTimeout(function(){
1524		var page=$more.data('page');
1525		$more.data('page',page+1);
1526		$.ajax({
1527			type: 'post',
1528			url: '/faq-act-GetMore.html',
1529			data: {'page':page+1},
1530			success: function(response){
1531				var responseStatus=parseInt(response.substr(0,1));
1532				var responseText=response.substr(2);
1533				$more.siblings('ul').append(responseText);
1534				if(responseStatus==0){
1535					$more.hide();
1536				}
1537				$more.removeClass('progress');
1538			}
1539		});
1540	},5E2);
1541}

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.