PageSourceSearch

https://superresearch.ru/comm/js/jshttprequest/jshttp.js

js superresearch.ru collected 2026-10-08 01:13:11 UTC 7,178 bytes, 232 lines download raw bytes

1/*
2version = '3.7.003 2009-07-13'
3*/
4//
5// Функции для работы jshttprequest
6//
7
8document.writeln('<scr' + 'ipt src="/comm/js/jshttprequest/jshttprequest.js" type="text/javascript"><\/scr' + 'ipt>');
9
10var LoadingWhere = 1;
11
12//
13// формирование url для запроса
14//
15function makeurl(url,clas,func)
16{
17	if(!url)
18	{
19		var loc = String(document.location);
20		url = (loc.indexOf('?') < 1) ? '/?id=1' : loc;
21	}
22	if(typeof(clas)!='undefined') url += '&clas=' + clas;
23	if(typeof(func)!='undefined') url += '&func=' + func;
24	return url;
25}
26
27//
28// получение страницы (cur_id) с заданными стилями и вставка в указанный div
29//
30function jshttp_getmess(divadd, cur_id, template, style, cell, get, loadingdiv, loadingtext, loadingw)
31{
32	divadd = find_div_id(divadd);
33	var url = makeurl('','jshttp','getmess');
34	var datas = {
35	'js_divadd'		: divadd,		// идентификатор div-а для вставки 
36	'js_cur_id' 	: cur_id,		// идентификатор получаемого объекта
37	'js_template'	: template,		// шаблон
38	'js_style'		: style,		// стиль
39	'js_cell'		: cell,			// список
40	'js_get'		: get			// 1 - получение GET-способом, 0 - PHP-функциями
41	};
42
43	if(typeof(loadingdiv)!='undefined' && (iloadingdiv = document.getElementById(loadingdiv)) && (idivadd = document.getElementById(divadd)))
44	{
45		if(typeof(loadingtext)=='undefined')
46			loadingtext = iloadingdiv.innerHTML;
47		else
48			loadingtext = '<div class="loading">' + loadingtext + '</div>';
49
50		if(typeof(loadingw)=='undefined')
51			loadingw = LoadingWhere;
52		if(loadingw==-1)
53			idivadd.innerHTML = iloadingdiv.innerHTML + idivadd.innerHTML;	//to top
54		else if(loadingw==1)
55			idivadd.innerHTML += iloadingdiv.innerHTML;						//to end
56		else
57			idivadd.innerHTML = iloadingdiv.innerHTML;						//replace
58	}
59	//alert(url);
60	JsHttpRequest.query(url, datas, jshttp_getmess_res, false);
61	return false;
62}
63
64//
65// получение страницы по url с заданными стилями и вставка в указанный div
66//
67// loadingw=-1	- div loadingdiv с текстом loadingtext добавляем в начало концу div-а divadd
68// loadingw=1	- div loadingdiv с текстом loadingtext добавляем к концу div-а divadd [по умолчанию]
69// loadingw=2	- div loadingdiv с текстом loadingtext заменяем div divadd
70// loadingw=0	- не вододим div loadingdiv
71//
72function jshttp_geturl(divadd, url, template, style, cell, loadingdiv, loadingtext, loadingw)
73{
74	divadd = find_div_id(divadd);
75	if(divadd)
76	{
77		document.getElementById(divadd).setAttribute('saveurl',url,0);
78	}
79	url += '&template=' + ((typeof(template)!='undefined') ? template : 'main_post');
80	if(typeof(style)!='undefined') url += '&style=' + style;
81	if(typeof(cell)!='undefined') url += '&cell=' + cell;
82	url += '&js_divadd=' + divadd;
83
84	if(typeof(loadingdiv)!='undefined' && (iloadingdiv = document.getElementById(loadingdiv)) && (idivadd = document.getElementById(divadd)))
85	{
86		if(typeof(loadingtext)=='undefined')
87			loadingtext = iloadingdiv.innerHTML;
88		else
89			loadingtext = '<div class="loading">' + loadingtext + '</div>';
90
91		if(typeof(loadingw)=='undefined')
92			loadingw = LoadingWhere;
93
94		if(loadingw==-1)
95			idivadd.innerHTML = loadingtext + idivadd.innerHTML;	//to top
96		else if(loadingw==1)
97			idivadd.innerHTML += loadingtext;						//to end
98		else if(loadingw==2)
99			idivadd.innerHTML = loadingtext;						//replace
100		else
101			;														//nothing
102	}
103	JsHttpRequest.query(url, null, jshttp_getmess_res, false);
104	//alert(url);
105	return false;
106}
107
108
109//
110// получение контента из функции блока (block_id) и вставка в указанный div
111//
112function jshttp_getblock(divadd, url, block_id)
113{
114	divadd = find_div_id(divadd);
115	url = makeurl(url,'jshttp','get_function_block');
116	var datas = {
117	'js_divadd'		: divadd,		// идентификатор div-а для вставки 
118	'js_block_id' 	: block_id		// идентификатор текущего блока (откуда запустили функцию)
119	};
120	JsHttpRequest.query(url, datas, jshttp_getmess_res, false);
121	return false;
122}
123
124function jshttp_getmess_res(result, errors)
125{
126	if(result && result['js_divadd'] && (idivadd = document.getElementById(result['js_divadd'])))
127	{
128		idivadd.innerHTML = result['js_info'];
129		if(result['js_eval'])
130		{
131			eval(result['js_eval']);
132			//alert(result['js_eval']);
133		}
134		if(typeof(jshttp_getmess_callback)=='function')
135		{
136			jshttp_getmess_callback(result);
137		}
138	}
139}
140
141
142//
143// проверка на допустимость полей формы регистрации: name login и user_nick
144//
145function jshttp_checkfield(field,url)
146{
147	if(!field) return;
148	url = makeurl(url,'jshttp','checkfield');
149	var datas = new Array();
150	datas[field.name] = field.value;
151	datas['js_name']  = field.name;
152	datas['js_value'] = field.value;
153	datas['js_desc'] = field.getAttribute('description');
154	if(!datas['js_desc'] && (desc = document.getElementById(field.name.replace('p__','d1__'))))
155		datas['js_desc'] = desc.innerHTML;
156	JsHttpRequest.query(url, datas, jshttp_checkfield_res, false);
157}
158function jshttp_checkfield_res(result, errors)
159{
160	var text1 = new Array();
161	var text2 = new Array();
162	text1["ru"] = 'Пользователь с таким "%s" уже существует';
163	text1["en"] = 'User with this "%s" already exist';
164	text2["ru"] = 'Заполните обязательное поле "%s"';
165	text2["en"] = 'Fill required field  "%s"';
166	var js_name = result['js_name'];
167	var js_value = result['js_value'];
168	var js_desc = result['js_desc'];
169	
170	if(result['js_err']==1)
171	{
172		document.getElementById(js_name).className += ' terbg';
173		alert(text1[TG_site_lang].replace(/%s/,js_desc));
174	}
175	else if(js_value=='')
176	{
177		document.getElementById(js_name).className += ' terbg';
178		alert(text2[TG_site_lang].replace(/%s/,js_desc));
179	}
180	else
181	{
182		document.getElementById(js_name).className = document.getElementById(js_name).className.replace(/ terbg/g,'');
183	}
184}
185
186//
187// если obj-объект, то ищет id ближайшего родительского div-а с id-м block_XXX
188// если obj-строка, то возвращает ее
189//
190function find_div_id(obj)
191{
192	if(typeof(obj)=='object')
193	{
194		while(obj = obj.parentNode)
195		{
196			//if(obj.className && obj.className.indexOf('block_is') >= 0)
197			//if(obj.id != "")
198				//return obj.id;
199			if(obj.id != "" && obj.id.indexOf('block_') >= 0)
200				return obj.id;
201		}
202		return false;
203	}
204	return obj;
205}
206
207
208
209//
210// тестовая
211//
212function test_select(form,field)
213{
214	//alert(form.name);
215	//alert(field.name);
216
217	var url = makeurl('','jshttp_test','test_select');
218	var datas = new Array();
219	datas['q'] = document.getElementById(form.name);
220	datas['abc'] = 'abc';
221
222	if(div = document.getElementById(field.name + '_diag'))
223		div.innerHTML = 'loading';
224
225	JsHttpRequest.query(url, datas, test_select_res, false);
226	return false;
227}
228function test_select_res(result, errors)
229{
230	if(idivadd = document.getElementById('block_171'))
231		idivadd.innerHTML = errors;
232}

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.