PageSourceSearch

https://windigo.ru/bitrix/components/altasib/geobase.select.city/templates/.default/script.js?158315919030624

js windigo.ru collected 2026-10-08 04:34:06 UTC 30,624 bytes, 845 lines download raw bytes

1if(typeof altasib_geobase=='undefined')var altasib_geobase={};
2
3altasib_geobase.letters='';
4altasib_geobase.timer='0';
5altasib_geobase.request_numb=0;
6altasib_geobase.handlers_set=false;
7
8if(altasib_geobase.is_mobile)
9	altasib_geobase.search_en=$('input').is('[name=altasib_geobase_mb_search]');
10else
11	altasib_geobase.search_en=$('input').is('[name=altasib_geobase_search]');
12altasib_geobase.select_city=true;
13
14if(typeof BX!='undefined'){
15	BX.addCustomEvent(window,'onFrameDataReceived',function(json){altasib_geobase.sc_init_handlers();});
16}
17else if(typeof top.BX!='undefined'){
18	top.BX.addCustomEvent(window,'onFrameDataReceived',function(json){altasib_geobase.sc_init_handlers();});
19}
20
21$(document).ready(function(){
22	$(this).keydown(function(e){
23		if(e.keyCode===27&&$('div#altasib_geobase_win').is(':visible')){
24			if(altasib_geobase.is_mobile)altasib_geobase.sc_mb_cls();
25			else altasib_geobase.sc_cls();
26		}
27	});
28	altasib_geobase.sc_parse_city();
29
30	window.setTimeout('altasib_geobase.sc_init_handlers()',350);
31});
32
33altasib_geobase.sc_init_handlers=function(){
34	if(altasib_geobase.handlers_set)return false;
35
36	$('.altasib_geobase_sml_btn.altasib_geobase_sml_yes').click(function(event){
37		event.stopPropagation();
38		return false;
39	});
40
41	if(altasib_geobase.is_mobile){
42		var mb_close=$('#altasib_geobase_mb_close a');
43		if(mb_close.length>0)
44			altasib_geobase.handlers_set=true;
45
46		mb_close.click(function(event){
47			event.preventDefault();altasib_geobase.sc_mb_cls();
48		});
49
50		$('.altasib_geobase_mb_disabled#altasib_geobase_mb_btn').click(function(event){
51			event.preventDefault();altasib_geobase.sc_onclk();
52		});
53
54		$('.altasib_geobase_mb_find #altasib_geobase_mb_info').click(function(event){
55			event.preventDefault();altasib_geobase.sc_add_city(event);
56		})
57		.keyup(function(event){altasib_geobase.sc_selKey(event);})
58		.dblclick(function(event){altasib_geobase.sc_onclk();});
59
60		$('.altasib_geobase_mb_find #altasib_geobase_mb_search').click(function(event){
61			event.preventDefault();altasib_geobase.clear_field();
62		})
63		.focus(function(event){altasib_geobase.city_field_focus();})
64		.keyup(function(event){altasib_geobase.sc_inpKey(event);})
65		.keydown(function(event){altasib_geobase.sc_inpKeyDwn(event);})
66		.blur(function(event){altasib_geobase.city_field_blur();});
67
68		$('a#all_cities_button_mobile').click(function(event){
69			event.preventDefault();altasib_geobase.all_cities();
70		});
71
72		$('.altasib_geobase_mb_link_city').click(function(event){
73			if($('div#altasib_geobase_mb_win').length>0)
74				altasib_geobase.sc_open();
75			else
76				altasib_geobase.sc_load_open();
77		});
78
79	}else{
80
81		var dp_cities=$('.altasib_geobase_cities ul li a');
82		if(dp_cities.length>0)
83			altasib_geobase.handlers_set=true;
84
85		dp_cities.click(function(event){event.preventDefault();});
86
87		$('#altasib_geobase_close a').click(function(event){
88			event.preventDefault();altasib_geobase.sc_cls();
89		});
90
91		$('.altasib_geobase_link_city').click(function(event){
92			if($('div#altasib_geobase_win').length>0)
93				altasib_geobase.sc_open();
94			else
95				altasib_geobase.sc_load_open();
96		});
97
98		$('.altasib_geobase_disabled#altasib_geobase_btn').click(function(event){
99			event.preventDefault();altasib_geobase.sc_onclk();
100		});
101
102		$('.altasib_geobase_find #altasib_geobase_info').click(function(event){
103			event.preventDefault();altasib_geobase.sc_add_city(event);
104		})
105		.keyup(function(event){altasib_geobase.sc_selKey(event);})
106		.dblclick(function(event){altasib_geobase.sc_onclk();});
107
108		$('.altasib_geobase_find #altasib_geobase_search')
109			.keyup(function(event){altasib_geobase.sc_inpKey(event);})
110			.keydown(function(event){altasib_geobase.sc_inpKeyDwn(event);});
111	}
112	return true;
113}
114
115altasib_geobase.sc_init_vars=function(){
116	if(altasib_geobase.is_mobile){
117		altasib_geobase.search_en=$('input').is('[name=altasib_geobase_mb_search]');
118		if(altasib_geobase.search_en){
119			var search=$('input[name=altasib_geobase_mb_search]');
120		}
121	}else{
122		altasib_geobase.search_en=$('input').is('[name=altasib_geobase_search]');
123
124		if(altasib_geobase.search_en){
125			var search=$('input[name=altasib_geobase_search]');
126		}
127		altasib_geobase.height=$('div#altasib_geobase_win').css('height');
128	}
129}
130
131altasib_geobase.sc_repeat=function(){
132	if(altasib_geobase.is_mobile){
133		var list='#altasib_geobase_mb_list_';
134		var actClass='altasib_geobase_mb_act';
135		if((actEl=$('.altasib_geobase_mb_cities .altasib_geobase_mb_fst .'+actClass)).length==0)
136			actEl=$('.altasib_geobase_mb_cities .altasib_geobase_mb_list_ie .'+actClass);
137	}else{
138		var list='#altasib_geobase_list_';
139		var actClass='altasib_geobase_act';
140		if((actEl=$('.altasib_geobase_cities .altasib_geobase_fst .'+actClass)).length==0)
141			actEl=$('.altasib_geobase_cities .altasib_geobase_list_ie .'+actClass);
142	}
143	var flag=true;
144	if(typeof altasib_geobase.codes!=='undefined'){
145		for(var i=0;i<altasib_geobase.codes.length;i++){
146			if(actEl.children().is(list+altasib_geobase.codes[i])){
147				flag=false;break;
148			}
149		}
150		if(flag)actEl.remove();
151		else actEl.removeClass(actClass);
152	}
153}
154
155//It is my city
156altasib_geobase.sc_onclk=function(cityid,ctryCode,regionCode){
157	var id='',cityName='';
158	if(typeof ctryCode=='undefined'||ctryCode=='')
159		ctryCode=altasib_geobase.COUNTRY_CODE;
160
161	if(altasib_geobase.is_mobile){
162		var btn=$('#altasib_geobase_mb_btn'),
163			dis='altasib_geobase_mb_disabled',
164			list_='altasib_geobase_mb_list_',
165			search=$('input#altasib_geobase_mb_search'),
166			cities='.altasib_geobase_mb_cities',
167			fst='.altasib_geobase_mb_fst',
168			list_ie='.altasib_geobase_mb_list_ie';
169	}else{
170		var btn=$('#altasib_geobase_btn'),
171			dis='altasib_geobase_disabled',
172			list_='altasib_geobase_list_',
173			search=$('input#altasib_geobase_search'),
174			cities='.altasib_geobase_cities',
175			fst='.altasib_geobase_fst',
176			list_ie='.altasib_geobase_list_ie';
177	}
178
179	if(typeof cityid=='undefined'&&btn.hasClass(dis)&&cityid!='Enter')return false;
180
181	if(typeof cityid!=='undefined'&&cityid!='Enter'&&cityid!=''){
182		if(!isNaN(cityid)){
183			id=cityid;
184			altasib_geobase.short_name=altasib_geobase.sc_trim($('#'+list_+id).html());
185			altasib_geobase.full_name=altasib_geobase.sc_trim($('#'+list_+id).attr('title'));
186		}else{
187			cityName=cityid;
188			altasib_geobase.short_name=$('#'+list_+cityName).html();
189			altasib_geobase.full_name=$('#'+list_+cityName).attr('title');
190		}
191	}
192	else if(typeof altasib_geobase.selected_id!=='undefined'){
193		id=altasib_geobase.selected_id;
194	}
195	altasib_geobase.sc_repeat();
196
197	if((typeof regionCode=='undefined'||regionCode=='null')&&typeof altasib_geobase.region_code!='undefined'){
198		regionCode=altasib_geobase.region_code;
199	}
200
201	if(typeof altasib_geobase.short_name!='undefined'&&typeof altasib_geobase.socrs!='undefined'){
202		var index,len,socr=altasib_geobase.short_name.split('. ')[0];
203		for(index=0,len=altasib_geobase.socrs.length;index<len;++index){
204			if(socr==altasib_geobase.socrs[index]){
205				altasib_geobase.short_name=altasib_geobase.short_name.substring(socr.length+2);break;
206			}
207		}
208	}
209
210	if(document.getElementById(list_+(!isNaN(cityid)?id:cityName.replace(/[_ \t]+/g,'_')))==null){
211		if((elem=$(cities+' '+fst)).length==0)
212			elem=$(cities+' '+list_ie);
213		elem.prepend('<li>'+'<a id="'+list_+(!isNaN(cityid)?id:cityName.replace(/[_ \t]+/g,'_'))
214		+'" title="'+search.val()+'" href="#"'+' onclick="altasib_geobase.sc_onclk(\''+altasib_geobase.short_name+'\',\''+ctryCode+'\');return false;">'+altasib_geobase.short_name+'</a></li>');
215	}
216	$.ajax({
217		type:'POST',
218		url:'/bitrix/tools/altasib.geobase/altasib_geobase_get.php',
219		dataType:'json',
220		data:{'sessid':altasib_geobase.bitrix_sessid,
221			'city_id':id,
222			'CITY_NAME':cityName,
223			'COUNTRY_CODE':ctryCode,
224			'REGION_CODE':regionCode,
225			'url':window.location.pathname,
226			'save':'Y'
227		},
228		timeout:10000,
229		success:function(data,textStatus){altasib_geobase.after_set_city(data,cityid,cityName,id);},
230		complete:function(data,textStatus){
231			if(textStatus!='success')
232				altasib_geobase.after_set_city(data.responseText,cityid,cityName,id);
233		}
234	});
235}
236
237altasib_geobase.after_set_city=function(data,cityid,cityName,id){
238	if(altasib_geobase.is_mobile){
239		var list=$('div#altasib_geobase_mb_info');
240	}else{
241		var list=$('div#altasib_geobase_info');
242	}
243	list.html('');
244	if(data==''||data==null)
245		list.animate({height:'hide'},'fast');
246	else{
247		if(data=='1'||data[data.length-1]=='1'||data[0]=='1'){
248			if(altasib_geobase.is_mobile){
249				$('#altasib_geobase_mb_list_'+(!isNaN(cityid)?id:cityName.replace(/[_ \t]+/g,'_')))
250					.parent().addClass('altasib_geobase_mb_act');
251				$('#altasib_geobase_mb_btn').addClass('altasib_geobase_mb_disabled');
252
253				var clink=$('.altasib_geobase_mb_link .altasib_geobase_mb_link_city');
254				var search=$('input#altasib_geobase_mb_search');
255				window.setTimeout('altasib_geobase.sc_mb_cls()',275);
256				window.setTimeout('altasib_geobase.sml_cls()',275);
257			}else{
258				$('#altasib_geobase_list_'+(!isNaN(cityid)?id:cityName.replace(/[_ \t]+/g,'_')))
259					.parent().addClass('altasib_geobase_act');
260				$('#altasib_geobase_btn').addClass('altasib_geobase_disabled');
261
262				var clink=$('.altasib_geobase_link .altasib_geobase_link_city');
263				var search=$('input#altasib_geobase_search');
264				window.setTimeout('altasib_geobase.sc_cls()',275);
265				window.setTimeout('altasib_geobase.sml_cls()',275);
266			}
267
268			clink.html(altasib_geobase.short_name);
269			clink.attr('title',altasib_geobase.full_name);
270			search.val('');
271			altasib_geobase.sc_parse_city();
272
273			if(typeof cityName=='undefined'||cityName==''||cityName==null)
274				cityName=altasib_geobase.short_name;
275
276			if(typeof BX!='undefined'){
277				var arEventPars=[cityName,id,altasib_geobase.full_name,data];
278				BX.onCustomEvent('onAfterSetCity',arEventPars);
279			}
280
281			if(data.length>1){//redirect
282				var arDt=data.split(';');
283				if(arDt&&!(arDt.propertyIsEnumerable('length'))&&typeof arDt==='object'&&typeof arDt.length==='number'){
284					var redLen=arDt.length;
285					if(redLen>=3){
286						var i;
287						for(i=2;i<redLen;i++){
288							if(typeof arDt[i]!='undefined'&&arDt[i].length){
289								$('body').append('<script>'+arDt[i].replace('\n','')+'</'+'script>');
290							}
291						}
292					}
293
294					if(typeof arDt[1]!='undefined'&&arDt[1].length){
295						setTimeout(function(){
296							if(arDt[1]=='#reload')location.reload();
297							else document.location.href=arDt[1];
298						},1500);
299					}
300				}
301			}
302		}
303	}
304}
305
306altasib_geobase.add_city=function(city,country_code){
307	if(typeof city=='undefined')
308		city=altasib_geobase.short_name;
309	if(typeof country_code=='undefined')
310		country_code=altasib_geobase.COUNTRY_CODE;
311	var cityID=(!isNaN(city)?city:city.replace(/[_ \t]+/g,'_'));
312	if(document.getElementById('altasib_geobase_list_'+cityID)==null
313			&&$('ul.altasib_geobase_fst li:contains("'+city+'")').length==0){
314		if((elem=$('.altasib_geobase_cities .altasib_geobase_fst')).length==0)
315			elem=$('.altasib_geobase_cities .altasib_geobase_list_ie');
316		elem.prepend('<li class="altasib_geobase_act">'+'<a id="altasib_geobase_list_'+cityID+'" title="'+altasib_geobase.full_name+'" href="#"'+' onclick="altasib_geobase.sc_onclk(\''+city+'\',\''+country_code+'\');return false;">'+city+'</a></li>');
317	}else if($('ul.altasib_geobase_fst li:contains("'+city+'")').length>0){
318		$('ul.altasib_geobase_fst li:contains("'+city+'"):first').addClass('altasib_geobase_act');
319	}
320}
321
322altasib_geobase.sc_click=function(code,country,region_code){
323	var el=$('div#altasib_geobase_inp_'+code);
324
325	if(el.length==0)
326		el=$('div#altasib_geobase_inp_'+region_code);
327
328	altasib_geobase.short_name=el.attr('value');
329
330	if(altasib_geobase.is_mobile){
331		var light='altasib_geobase_mb_light';
332	}else{
333		var light='altasib_geobase_light';
334	}
335	altasib_geobase.full_name=altasib_geobase.sc_trim(el.html().replace(new RegExp('<strong class="'+light+'">','g'),'').replace(new RegExp('</strong>','g'),''));//IE
336	altasib_geobase.full_name=altasib_geobase.full_name.replace(new RegExp('<STRONG class='+light+'>','g'),'').replace(new RegExp('</STRONG>','g'),'');
337
338	altasib_geobase.selected_id=el.attr('id').substr(20);
339	altasib_geobase.COUNTRY_CODE=country;
340	altasib_geobase.region_code=region_code;
341    
342    //avk_0063
343    $(el).closest('#altasib_geobase_info').css('display','none');
344    $('.altasib_geobase_pu_i > a').removeClass('altasib_geobase_disabled');
345    
346	return false;
347}
348
349$(function(){
350	$(document).click(function(event){
351		if(altasib_geobase.is_mobile){
352			if($(event.target).closest('#altasib_geobase_mb_info').length)return;
353			$('#altasib_geobase_mb_info').animate({height:'hide'},'fast');
354			if(altasib_geobase.search_en)
355				if($('input#altasib_geobase_mb_search').val()==''&&!$('#altasib_geobase_mb_btn').hasClass('altasib_geobase_mb_disabled'))
356					$('#altasib_geobase_mb_btn').addClass('altasib_geobase_mb_disabled');
357		}else{
358			if($(event.target).closest('#altasib_geobase_info').length)return;
359			$('#altasib_geobase_info').animate({height:'hide'},'fast');
360			if(altasib_geobase.search_en)
361				if($('input#altasib_geobase_search').val()==''&&!$('#altasib_geobase_btn').hasClass('altasib_geobase_disabled'))
362					$('#altasib_geobase_btn').addClass('altasib_geobase_disabled');
363		}
364		event.stopPropagation();
365	});
366});
367
368$(function(){
369	$(document).click(function(event){
370		if(altasib_geobase.is_mobile){
371			if($('div#altasib_geobase_mb_popup').is(':visible')&&altasib_geobase.sc_is_open){
372				if($(event.target).closest('div#altasib_geobase_mb_popup').length)return;
373				altasib_geobase.sc_mb_cls('visible');event.stopPropagation();
374			}
375		}else{
376			if($('div#altasib_geobase_popup').is(':visible')&&altasib_geobase.sc_is_open){
377				if($(event.target).closest('div#altasib_geobase_popup').length)return;
378				altasib_geobase.sc_cls('visible');event.stopPropagation();
379			}
380		}
381	});
382});
383
384altasib_geobase.sc_cls=function(vis){
385	if(vis==='visible'&&!$('div#altasib_geobase_popup').is(':visible'))return false;
386	$('div#altasib_geobase_win').animate({top:'-'+altasib_geobase.height},750).fadeOut(400);
387	$('div#altasib_geobase_popup_back').hide();
388	altasib_geobase.sc_is_open=false;
389	if(typeof altasib_geobase.replace!='undefined'){
390		altasib_geobase.sc_parse_city();
391		altasib_geobase.replace();
392	}
393}
394
395altasib_geobase.sml_no=function(event){
396	event.stopPropagation();
397	altasib_geobase.sml_cls();
398	altasib_geobase.sc_open();
399}
400
401altasib_geobase.sml_cls=function(){
402	var sml_wn=$('.altasib_geobase_sml_win');
403	sml_wn.animate({top:'-'+altasib_geobase.height},750).fadeOut(400);
404	if(typeof altasib_geobase.replace!='undefined'){
405		altasib_geobase.sc_parse_city();
406		altasib_geobase.replace();
407	}
408}
409
410altasib_geobase.sc_load_open=function(){
411	var res=$.ajax({
412		url:'/bitrix/tools/altasib.geobase/select_city.php',
413		dataType:'html',
414		data:{'SITE_ID':altasib_geobase.SITE_ID,
415			'get_select':'Y',
416			'show_select':'Y',
417			'AUTOLOAD':'Y'
418		},
419		type:'POST',
420		success:function(data){
421			$('body').append(data);
422			altasib_geobase.sc_open();
423			window.setTimeout('altasib_geobase.sc_init_handlers()',350);
424		},
425	});
426}
427
428altasib_geobase.sc_open=function(){
429	if(altasib_geobase.is_mobile){
430		$('div#altasib_geobase_mb_win').fadeIn();
431		altasib_geobase.sc_init_vars();
432		$('div#altasib_geobase_mb_popup_back').show();
433	}else{
434		var win=$('div#altasib_geobase_win');
435		win.fadeIn();altasib_geobase.sc_init_vars();
436		$('div#altasib_geobase_popup_back').show();
437		win.animate({top:'9%'},750);
438	}
439	window.setTimeout('altasib_geobase.sc_is_open=true;',1000);
440}
441
442altasib_geobase.sc_clear_cities=function(){
443	var elems=$('ul.altasib_geobase_fst li:not(.altasib_geobase_auto):not(.altasib_geobase_act)');
444	if(elems.length>0){
445		altasib_geobase.sc_country();
446		if(typeof altasib_geobase.country_cur!='undefined'&&altasib_geobase.country_cur!=null)
447			if(typeof altasib_geobase.country_cur.country!='undefined')
448				if(altasib_geobase.country_cur.country!=='RU')
449					elems.empty();
450	}
451}
452
453altasib_geobase.sc_country=function(){//from cookies
454	if((altasib_geobase.country_cur=altasib_geobase.sc_getCookie(altasib_geobase.COOKIE_PREFIX+'_'+'ALTASIB_GEOBASE_COUNTRY'))!==null){
455		altasib_geobase.country_cur=decodeURIComponent(altasib_geobase.country_cur.replace(/\+/g,' '));
456		altasib_geobase.country_cur=$.parseJSON(altasib_geobase.country_cur);
457	}
458}
459
460altasib_geobase.sc_add_city=function(e){//Select
461	if(altasib_geobase.is_mobile){
462		$('#altasib_geobase_mb_btn').removeClass('altasib_geobase_mb_disabled');
463		$('#altasib_geobase_mb_search').focus();
464		$('#altasib_geobase_mb_info').animate({height:'hide'},'fast');
465		$('input#altasib_geobase_mb_search').val(altasib_geobase.full_name);
466	}else{
467		$('#altasib_geobase_btn').removeClass('altasib_geobase_disabled');
468		$('#altasib_geobase_search').focus();
469		$('#altasib_geobase_info').animate({height:'hide'},'fast');
470		$('input#altasib_geobase_search').val(altasib_geobase.full_name);
471	}
472}
473
474altasib_geobase.sc_load=function(){
475	altasib_geobase.timer=0;
476	var reqId=++altasib_geobase.request_numb;
477	if(typeof altasib_geobase.lang=='undefined'){
478		altasib_geobase.sc_country();
479		if(typeof altasib_geobase.country_cur!='undefined'&&altasib_geobase.country_cur!=null
480			&&typeof altasib_geobase.country_cur.country!='undefined'){
481				altasib_geobase.lang=altasib_geobase.country_cur.country;
482		}
483		else
484			altasib_geobase.sc_lang_set();
485	}
486	if(typeof altasib_geobase.jqxhr=='object'&&altasib_geobase.jqxhr!=null)
487		altasib_geobase.jqxhr.abort();
488
489	altasib_geobase.jqxhr=$.ajax({
490		type:'POST',
491		url:'/bitrix/tools/altasib.geobase/altasib_geobase_get.php',
492		dataType:'json',
493		data:{'city_name':altasib_geobase.letters,
494			'sessid':altasib_geobase.bitrix_sessid,
495			'lang':altasib_geobase.lang
496		},
497		timeout:10000,
498		success:function(data){
499			if(reqId==altasib_geobase.request_numb){
500				if(altasib_geobase.is_mobile){
501					var list=$('div#altasib_geobase_mb_info');
502				}else{
503					var list=$('div#altasib_geobase_info');
504				}
505
506				list.html('');
507				if(data==''||data==null)
508					list.animate({height:'hide'},'fast');
509				else{
510					var arOut='',oLength=0;
511					for(var prop='REGION' in data){
512						if(data.hasOwnProperty(prop))oLength++;
513					}
514
515					for(var i=0;i<oLength;i++){
516						var sOpt=(typeof(data[i]['CITY'])=='undefined'||data[i]['CITY']==' '||data[i]['CITY']==null?'':data[i]['CITY']);
517						sOpt+=(typeof(data[i]['REGION'])=='undefined'||data[i]['REGION']==' '||data[i]['REGION']==null?'':(sOpt.length>0?', ':'')+data[i]['REGION']);
518						sOpt+=(typeof(data[i]['DISTRICT'])=='undefined'||data[i]['DISTRICT']==''||data[i]['DISTRICT']==' '||data[i]['DISTRICT']==null?'':(sOpt.length>0?', ':'')+data[i]['DISTRICT']);
519						sOpt+=(typeof(data[i]['COUNTRY'])=='undefined'||data[i]['COUNTRY']==' '?'':(sOpt.length>0?', ':'')+data[i]['COUNTRY']);
520						var code=typeof(data[i]['C_CODE'])=='undefined'?data[i]['ID']:data[i]['C_CODE'];
521						var countryID=(typeof(data[i]['COUNTRY_CODE'])=='undefined'?data[i]['COUNTRY']:data[i]['COUNTRY_CODE']);
522						var sOptVal=data[i]['CITY'];
523						if(typeof sOptVal=='undefined'||altasib_geobase.sc_trim(sOptVal)==''||sOptVal=='null'){
524							sOptVal=data[i]['REGION'];
525							var codeReg=typeof(data[i]['C_CODE'])=='undefined'?data[i]['ID']:data[i]['C_CODE'];
526						}
527						arOut+= '<div id="altasib_geobase_inp_'+code+'"'+'value="'+sOptVal+'" onclick="altasib_geobase.sc_click(\''+(typeof codeReg=='undefined'?code:'')+'\',\''
528						+(typeof countryID=='undefined'?'': countryID)+'\',\''
529						+(typeof codeReg=='undefined'?'':codeReg)+'\');">
529'+sOpt+'</div>\n';
530					}
531					list.html(arOut);
532					if(typeof $.fn.altasib_geobase_light!='undefined')
533						list.altasib_geobase_light(altasib_geobase.letters);
534					list.animate({height:'show'},'fast');
535				}
536			}
537			altasib_geobase.jqxhr=null;
538		}
539	});
540}
541
542altasib_geobase.sc_selKey=function(e){//Select
543	e=e||window.event;
544	t=(window.event)?window.event.srcElement:e.currentTarget;
545	if(!altasib_geobase.is_mobile){
546		if(e.keyCode==13){//Enter
547			altasib_geobase.sc_onclk('Enter');
548			$('#altasib_geobase_info').hide();return;
549		}else if(e.keyCode==38&&$('div#altasib_geobase_info > div :first').hasClass('altasib_geobase_focus')){//Up
550			$('.altasib_geobase_find input[name=altasib_geobase_search]').focus();
551			$('#altasib_geobase_info').animate({height:'hide'},'fast');
552			$('div.altasib_geobase_focus').removeClass('altasib_geobase_focus');
553		}
554	}else{
555		if(e.keyCode==13){//Enter
556			altasib_geobase.sc_onclk('Enter');
557			$('#altasib_geobase_mb_info').hide();return;
558		}else if(e.keyCode==38&&$('div#altasib_geobase_mb_info > div :first').hasClass('altasib_geobase_mb_focus')){//Up
559			$('.altasib_geobase_mb_find input[name=altasib_geobase_mb_search]').focus();
560			$('#altasib_geobase_mb_info').animate({height:'hide'},'fast');
561			$('div.altasib_geobase_mb_focus').removeClass('altasib_geobase_mb_focus');
562		}
563	}
564}
565
566altasib_geobase.sc_inpKeyDwn=function(e){//input search
567	e=e||window.event;
568	t=(window.event)?window.event.srcElement:e.currentTarget;
569	if(altasib_geobase.is_mobile){
570		var list=$('div#altasib_geobase_mb_info'),
571			listDiv=$('div#altasib_geobase_mb_info div'),
572			focus='altasib_geobase_mb_focus',
573			dFocus='div.altasib_geobase_mb_focus',
574			dInfo='div#altasib_geobase_mb_info',
575			find='.altasib_geobase_mb_find',
576			Search='altasib_geobase_mb_search';
577	}else{
578		var list=$('div#altasib_geobase_info'),
579			listDiv=$('div#altasib_geobase_info div'),
580			focus='altasib_geobase_focus',
581			dFocus='div.altasib_geobase_focus',
582			dInfo='div#altasib_geobase_info',
583			find='.altasib_geobase_find',
584			Search='altasib_geobase_search';
585	}
586
587	if(e.keyCode==40){//Down
588		if(altasib_geobase.sc_trim(list.html())!=''){
589			list.animate({height:'show'},'fast');
590		}
591		if(!listDiv.hasClass(focus)){
592			$(dInfo+' > div :first').addClass(focus);return;
593		}else{
594			if($(dInfo+' > div :last').hasClass(focus)){return;}else{
595				$(dInfo+' >.'+focus).next('div').addClass(focus);
596				$(dFocus+' :first').removeClass(focus);
597			}
598		}
599	}else if(e.keyCode==13){//Enter
600		if(altasib_geobase.is_mobile){
601			if(!$('#altasib_geobase_mb_btn').hasClass('altasib_geobase_mb_disabled')){
602				altasib_geobase.sc_onclk('Enter');
603				list.hide();
604				$('div.altasib_geobase_mb_focus :first').removeClass(focus);
605			}
606			else if(listDiv.hasClass(focus)){
607				id=$('div#altasib_geobase_mb_info div.altasib_geobase_mb_focus').attr('id');
608				$('#'+id).click();
609			}
610		}else{
611			if(!$('#altasib_geobase_btn').hasClass('altasib_geobase_disabled')){
612				altasib_geobase.sc_onclk('Enter');
613				list.hide();
614				$(dFocus+' :first').removeClass(focus);
615			}else if(listDiv.hasClass(focus)){
616				id=$(dInfo+' '+dFocus).attr('id');
617				$('#'+id).click();
618			}
619		}
620		return;
621	}
622	else if(e.keyCode==38){//Up
623		if(listDiv.hasClass(focus)){
624			if($(dInfo+' > div :first').hasClass(focus)){
625				$(find+' input[name='+Search+']').focus();
626				list.animate({height:'hide'},'fast');
627				$(dFocus).removeClass(focus);
628			}
629			$(dInfo+' >.'+focus).prev('div').addClass(focus);
630			$(dFocus+' :last').removeClass(focus);return;
631		}
632	}else if(e.keyCode==35){//End
633		if(listDiv.hasClass(focus)){
634			$(dInfo+' > div :last').addClass(focus);
635			$(dFocus+' :first').removeClass(focus);return;
636		}
637	}else if(e.keyCode==36){//Home
638		if(listDiv.hasClass(focus)){
639			$(dInfo+' > div :first').addClass(focus);
640			$(dFocus+' :last').removeClass(focus);return;
641		}
642	}
643}
644
645altasib_geobase.sc_inpKey=function(e){//input search
646	e=e||window.event;
647	t=(window.event)?window.event.srcElement:e.currentTarget;
648	if(altasib_geobase.is_mobile){
649		var list=$('div#altasib_geobase_mb_info');
650	}else{
651		var list=$('div#altasib_geobase_info');
652	}
653	var sFind=altasib_geobase.sc_trim(t.value);
654
655	if(altasib_geobase.letters==sFind)return;//empty
656	altasib_geobase.letters=sFind;
657	if(altasib_geobase.timer){
658		clearTimeout(altasib_geobase.timer);
659		altasib_geobase.timer=0;
660	}
661	if(altasib_geobase.letters.length<2){
662		list.animate({height:'hide'},'fast');return;
663	}
664	altasib_geobase.timer=window.setTimeout('altasib_geobase.sc_load()',190);
665}
666
667$.fn.altasib_geobase_light=function(pat){
668	function altasib_geobase_innerLight(node,pat){
669		var skip=0;
670		if(node.nodeType==3){
671			var pos=node.data.toUpperCase().indexOf(pat);
672			if(pos>=0){
673				var strongnode=document.createElement('strong');
674				if(altasib_geobase.is_mobile)
675					strongnode.className='altasib_geobase_mb_light';
676				else
677					strongnode.className='altasib_geobase_light';
678				var middlebit=node.splitText(pos);
679				var endbit=middlebit.splitText(pat.length);
680				var middleclone=middlebit.cloneNode(true);
681				strongnode.appendChild(middleclone);
682				middlebit.parentNode.replaceChild(strongnode,middlebit);
683				skip=1;
684			}
685		}
686		else if(node.nodeType==1&&node.childNodes&&!/(script|style)/i.test(node.tagName)){
687			for(var i=0;i<node.childNodes.length;++i){
688				i+=altasib_geobase_innerLight(node.childNodes[i],pat);
689			}
690		}
691		return skip;
692	}
693	return this.each(function(){altasib_geobase_innerLight(this,pat.toUpperCase());});
694};
695
696$.fn.altasib_geobase_removeLight=function(){
697	return this.find(altasib_geobase.is_mobile?'strong.altasib_geobase_mb_light':'strong.altasib_geobase_light').each(function(){
698		this.parentNode.firstChild.nodeName;
699		with(this.parentNode){
700			replaceChild(this.firstChild,this);normalize();
701		}
702	}).end();
703};
704
705altasib_geobase.sc_lang_set=function(){
706	altasib_geobase.lang='en';
707	if(typeof altasib_geobase.auto_code!=='undefined'&&altasib_geobase.auto_code!==null)
708		if(typeof altasib_geobase.auto_code.COUNTRY_CODE!=='undefined'){
709			if(altasib_geobase.auto_code.COUNTRY_CODE=='RU')
710				altasib_geobase.lang='ru';
711			altasib_geobase.COUNTRY_CODE=altasib_geobase.auto_code.COUNTRY_CODE;
712		}
713
714	if(typeof altasib_geobase.manual_code!=='undefined'&&altasib_geobase.manual_code!==null){
715		if(typeof altasib_geobase.manual_code.COUNTRY_CODE!=='undefined'){
716			if(altasib_geobase.manual_code.COUNTRY_CODE=='RU')
717				altasib_geobase.lang='ru';
718			altasib_geobase.COUNTRY_CODE=altasib_geobase.manual_code.COUNTRY_CODE;
719		}
720		if(typeof altasib_geobase.manual_code['REGION']!=='undefined'){
721			if(typeof altasib_geobase.manual_code['REGION']['CODE']!=='undefined'){
722				altasib_geobase.lang='ru';
723				if(typeof altasib_geobase.COUNTRY_CODE=='undefined'||altasib_geobase.COUNTRY_CODE==null||altasib_geobase.COUNTRY_CODE=='')
724					altasib_geobase.COUNTRY_CODE='RU';
725			}
726		}
727	}
728}
729
730altasib_geobase.sc_parse_city=function(){
731
732	if((altasib_geobase.manual_code=altasib_geobase.sc_getCookie(altasib_geobase.COOKIE_PREFIX+'_'+'ALTASIB_GEOBASE_CODE'))!==null){
733		altasib_geobase.manual_code=decodeURIComponent(altasib_geobase.manual_code.replace(/\+/g,' '));
734		altasib_geobase.manual_code=$.parseJSON(altasib_geobase.manual_code);
735	}
736	if((altasib_geobase.auto_code=altasib_geobase.sc_getCookie(altasib_geobase.COOKIE_PREFIX+'_'+'ALTASIB_GEOBASE'))!==null){
737		altasib_geobase.auto_code=decodeURIComponent(altasib_geobase.auto_code.replace(/\+/g,' '));
738		altasib_geobase.auto_code=$.parseJSON(altasib_geobase.auto_code);
739	}
740
741	altasib_geobase.sc_lang_set();
742
743	if(altasib_geobase.manual_code!==null){
744		if(typeof altasib_geobase.manual_code['CITY']!=='undefined'){
745			if(typeof altasib_geobase.manual_code['CITY']['NAME']!=='undefined'){
746				altasib_geobase.city=altasib_geobase.manual_code['CITY']['NAME'];
747				altasib_geobase.region=altasib_geobase.manual_code['REGION']['NAME']
748					+' '+altasib_geobase.manual_code['REGION']['SOCR'];
749			}
750			else if(typeof altasib_geobase.manual_code['CITY_RU']!=='undefined'){
751				if(altasib_geobase.lang=='ru'){
752					altasib_geobase.country=altasib_geobase.manual_code['COUNTRY_RU'];
753					altasib_geobase.city=altasib_geobase.manual_code['CITY_RU'];
754				}else{
755					altasib_geobase.country=altasib_geobase.manual_code['COUNTRY'];
756					altasib_geobase.city=altasib_geobase.manual_code['CITY'];
757				}
758				altasib_geobase.region=altasib_geobase.manual_code['REGION'];
759
760				if(typeof altasib_geobase.manual_code['POST']!=='undefined')
761					altasib_geobase.post=altasib_geobase.manual_code['POST'];
762			}
763		}
764		else if(typeof altasib_geobase.manual_code['CITY_NAME']!=='undefined'){
765			altasib_geobase.city=altasib_geobase.manual_code['CITY_NAME'];
766			altasib_geobase.region=altasib_geobase.manual_code['REGION_NAME'];
767			if(typeof altasib_geobase.manual_code['COUNTRY_NAME']!=='undefined')
768				altasib_geobase.country=altasib_geobase.manual_code['COUNTRY_NAME'];
769			if(typeof altasib_geobase.manual_code['POSTINDEX']!=='undefined')
770				altasib_geobase.post=altasib_geobase.manual_code['POSTINDEX'];
771		}
772	}else if(altasib_geobase.auto_code!==null){
773		altasib_geobase.city=altasib_geobase.auto_code['CITY_NAME'];
774		altasib_geobase.region=altasib_geobase.auto_code['REGION_NAME'];
775		if(typeof altasib_geobase.auto_code['COUNTRY_NAME']!=='undefined')
776			altasib_geobase.country=altasib_geobase.auto_code['COUNTRY_NAME'];
777		if(typeof altasib_geobase.auto_code['POSTINDEX']!=='undefined')
778			altasib_geobase.post=altasib_geobase.auto_code['POSTINDEX'];
779	}
780}
781
782altasib_geobase.sc_getCookie=function(name){
783	var nameEQ=name+'=';
784	var ca=document.cookie.split(';');
785	for(var i=0;i<ca.length;i++){
786		var c=ca[i];
787		while(c.charAt(0)==' ')
788			c=c.substring(1,c.length);
789		if(c.indexOf(nameEQ)==0)
790			return c.substring(nameEQ.length,c.length);
791	}
792	return null;
793}
794
795altasib_geobase.sc_mb_cls=function(vis){
796	if(vis==='visible'&&!$('div#altasib_geobase_mb_popup').is(':visible'))return false;
797
798	$('div#altasib_geobase_mb_win').fadeOut(400);
799	$('div#altasib_geobase_mb_popup_back').hide();
800	altasib_geobase.sc_is_open=false;
801
802	if(typeof altasib_geobase.replace!='undefined'){
803		altasib_geobase.parse_city();
804		altasib_geobase.replace();
805	}else if(typeof altasib_geobase.sc_parse_city!='undefined'){
806		altasib_geobase.sc_parse_city();
807	}
808}
809
810altasib_geobase.all_cities=function(){
811	$('#all_cities_button_mobile').hide();
812	$('#altasib_geobase_mb_cities').css({'overflow-y':'scroll','height':'259px'});
813}
814
815altasib_geobase.city_field_focus=function(){
816	$('#altasib_geobase_mb_header').hide();
817	$('#altasib_geobase_mb_find').css({'padding-top':'23px'});
818}
819
820altasib_geobase.city_field_blur=function(){
821	if($('#altasib_geobase_mb_search').val().length==0){
822		$('#altasib_geobase_mb_header').show();
823		$('#altasib_geobase_mb_find').css({'padding-top':'0px'});
824		$('#altasib_geobase_mb_search').val(altasib_geobase.perem);
825		setTimeout('$("#altasib_geobase_mb_search").focus()',1);
826		$('div#altasib_geobase_mb_info').animate({height:'show'},'fast');
827	}
828}
829
830altasib_geobase.clear_field=function(){
831	altasib_geobase.perem=$('#altasib_geobase_mb_search').val();
832	$('#altasib_geobase_mb_search').val('');
833}
834
835altasib_geobase.sc_trim=function(s){
836	if(altasib_geobase.sc_type.isString(s))
837		return s.replace(/^[\s\r\n]+/g,'').replace(/[\s\r\n]+$/g,'');
838	else
839		return s;
840}
841altasib_geobase.sc_type={
842	isString:function(item){
843		return item===''?true:(item?(typeof(item)=='string'||item instanceof String):false);
844	}
845}

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.