var js_general=true; // Флаг, что этот файл загрузился. . .
var elems=new Array();
function checkNum (event){
	key=(event.which ? event.which : event.keyCode);
	//alert(key);
	//if((key < 48 || key > 57) && key!=8 && key!=13 && key!=27 && key!=9)
	if((key < 48 || key > 57) && !(key==8 || key==13 || key==27 || key==9 || key==45 || key==46 || key==33 || key==34 || key==35 || key==36 || key==37 || key==39 || key==96 || key==97 || key==98 || key==99 || key==100 || key==101 || key==102 || key==103 || key==104 || key==105 || key==116))
		return false;
}

function checkPhone (event){
	key=(event.which ? event.which : event.keyCode);
	//alert(key);
	//if((key < 48 || key > 57) && key!=8 && key!=13 && key!=27 && key!=9)
	if((key < 48 || key > 57) && !(key==8 || key==13 || key==27 || key==9 || key==45 || key==46 || key==33 || key==34 || key==35 || key==36 || key==43 || key==40 || key==41 || key==32))
		return false;
}

function create_ticket(ticket_name, ticket_title) {
	// <ins name="ticket_name">ticket_title</ins>  // Так вставляется подсказка в HTML
	var ins=document.createElement('ins');
	if(ticket_title) {
		var text=document.createTextNode(ticket_title);
		ins.appendChild(text);
	} else {
		var img=document.createElement('img');
		img.className='help';
		img.src='/images/icons/help.png';
		img.width='15';
		img.height='16';
		ins.appendChild(img);
	}
   
	var ttt=new c_ticket(ticket_name, '', ins);
	return ins;
}


// переключение закладок в site_prices.php
function show_tab(num) {
	var tabs=Array('', 'group_level', 'group_level_pr', 'group_level_yind_gind', 'group_level_pr_yind_gind');
	// alert(tabs[num]);
	for(var i=1; i<5; i++) {
		document.getElementById(tabs[i]).style.display='none';
	}
	document.getElementById(tabs[num]).style.display='block';
}

/*
// свернуть/развернуть все сайты
function hide_all_sites_info(sites) {
	for(i in sites) {
		document.getElementById('site_'+sites[i]+'_info').style.display='none';
	}
}
function show_all_sites_info(sites) {
	for(i in sites) {
		document.getElementById('site_'+sites[i]+'_info').style.display='table-row-group';
	}
}
*/

function close_help_message(obj) {
	obj.parentNode.style.display='none';
}

// показать/скрыть информацию о сайте
function toggle_site_info(site_id) {
	var obj=document.getElementById('site_'+site_id+'_info');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='site_'+site_id+'=1';
	} else {
		obj.style.display='none';
		document.cookie='site_'+site_id+'=0';
	}
}

// показать/скрыть информацию о проекте
function toggle_project_info(project_id) {
	var obj=document.getElementById('project_'+project_id+'_info');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='project_o_'+project_id+'=1';
	} else {
		obj.style.display='none';
		document.cookie='project_o_'+project_id+'=0';
	}
}

// показать/скрыть информацию о сайте опта
function toggle_site_o_info(site_id) {
	var obj=document.getElementById('site_o_'+site_id+'_info');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='site_o_'+site_id+'=1';
	} else {
		obj.style.display='none';
		document.cookie='site_o_'+site_id+'=0';
	}
}

// показать/скрыть информацию о сайте опта для гостя
function toggle_guest_site_o_info(site_id) {
	var obj=document.getElementById('site_o_'+site_id+'_info');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='g_site_o_'+site_id+'=1';
	} else {
		obj.style.display='none';
		document.cookie='g_site_o_'+site_id+'=0';
	}
}

// показать/скрыть информацию о сайте мониторинга позиций
function toggle_site_p_info(site_id) {
	var obj=document.getElementById('site_p_'+site_id+'_info');
	if(obj.style.display=='none') {
		obj.style.display='';
		// document.cookie='site_p_'+site_id+'=1';
	} else {
		obj.style.display='none';
		// document.cookie='site_p_'+site_id+'=0';
	}
}

function toggle_check_filters() {
	var obj=document.getElementById('check_filters_div');
	var obj2=document.getElementById('check_filters_div2');
	if(obj.style.display=='none') {
		obj.style.display='';
		obj2.style.display='';
		document.cookie='check_filters=1';
	} else {
		obj.style.display='none';
		obj2.style.display='none';
		document.cookie='check_filters=0';
	}
}

/*
function toggle_check_urls() {
	var obj=document.getElementById('check_urls_div');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='check_urls=1';
	} else {
		obj.style.display='none';
		document.cookie='check_urls=0';
	}
}

function toggle_export_form() {
	var obj=document.getElementById('export_form_div');
	if(obj.style.display=='none') {
		obj.style.display='';
		document.cookie='show_export_form=1';
	} else {
		obj.style.display='none';
		document.cookie='show_export_form=0';
	}
}
*/

function show_all_sites_info(sites) {
	if(all_info_state==0) {
		for(i in info_state) {
			document.getElementById('site_'+i+'_info').style.display='';
			document.cookie='site_'+i+'=1';
		}
		document.getElementById('toggle_info').innerHTML='Свернуть все площадки';
		all_info_state=1;
	} else {
		for(i in info_state) {
			document.getElementById('site_'+i+'_info').style.display='none';
			document.cookie='site_'+i+'=0';
		}
		document.getElementById('toggle_info').innerHTML='Раскрыть все площадки';
		all_info_state=0;
	}
}

function show_all_projects_o_info(projects) {
	if(all_info_state==0) {
		for(i in info_state) {
			document.getElementById('project_'+i+'_info').style.display='';
			document.cookie='project_o_'+i+'=1';
		}
		document.getElementById('toggle_info').innerHTML='Свернуть все проекты';
		all_info_state=1;
	} else {
		for(i in info_state) {
			document.getElementById('project_'+i+'_info').style.display='none';
			document.cookie='project_o_'+i+'=0';
		}
		document.getElementById('toggle_info').innerHTML='Раскрыть все проекты';
		all_info_state=0;
	}
}

function show_all_sites_o_info(projects) {
	if(all_info_state==0) {
		for(i in info_state) {
			document.getElementById('site_o_'+i+'_info').style.display='';
			document.cookie='g_site_o_'+i+'=1';
		}
		document.getElementById('toggle_info').innerHTML='Свернуть все сайты';
		all_info_state=1;
	} else {
		for(i in info_state) {
			document.getElementById('site_o_'+i+'_info').style.display='none';
			document.cookie='g_site_o_'+i+'=0';
		}
		document.getElementById('toggle_info').innerHTML='Раскрыть все сайты';
		all_info_state=0;
	}
}

// удаление групп урл (отправка формы)
function delete_url_groups(site_o_id) {
	var checked_flag=false;
	var uform=document.getElementById('form_s'+site_o_id);
	for(var i in uform.elements) {
		if(uform.elements[i].checked) {
			checked_flag=true;
		}
	}
	if(checked_flag) {
		if(confirm('Вы уверены, что хотите удалить выбранные группы URL?')) {
			uform.submit();
		}
	} else {
		alert('Ни одна группа URL не выбрана!');
	}
}

// на странице links отметить ссылки
function check_links() {
	var t_elements = document.getElementById("links").elements;
	var pages = document.getElementById("urls").value;

	if(pages.length > 0) {
		pages = pages.split("\n");
		var nof_pages = 0;

		for(var i = 0; i < t_elements.length; i++) {
			if( t_elements[i].type == "checkbox" && t_elements[i].getAttribute("full_page_url")!= null && in_array(t_elements[i].getAttribute("full_page_url"), pages) ) {
				t_elements[i].checked = true;
				nof_pages++;
			}
		}

		alert("Отмечено ссылок: " + nof_pages);
	} else {
		alert("Введите хоть один УРЛ!");
	}

	return false;
}

// на странице links отметить ссылки по частичному совпадению
function check_linksi() {
	var t_elements = document.getElementById("links").elements;
	var pages = document.getElementById("urls").value;
     
	pages = pages.replace(/http:\/\//g,'');
	pages = pages.replace(/\n\s*\n/g,'\n');
	pages = pages.replace(/\n+/g,'\n');
	pages = pages.replace(/\n+$/g,'');
	pages = pages.replace(/^\n+/g,'');

	if(pages.length > 0) {
		var  nn = pages.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g,"\\$1"); 
		nn = nn.replace(/\n/g,'\|');
		nn = nn.replace(/\r/g,'');

		nn = nn.replace(/\|([^|]+)/g,'|http\://$1');

		var nof_pages = 0;
      
		var ff = new RegExp('^(http\://'+nn+')',"g"); 
      
		for(var i = 0; i < t_elements.length; i++) {
			if( t_elements[i].type == "checkbox" && t_elements[i].getAttribute("full_page_url")!= null ) {
				if( t_elements[i].getAttribute("full_page_url").match(ff) ) {
  					t_elements[i].checked = true;
  					nof_pages++;
				}
			}
		}
      
		alert("Отмечено ссылок: " + nof_pages);
	} else {
		alert("Введите хоть один УРЛ!");
	}

	return false;
}

// на странице links отметить непроиндексированные ссылки
function check_links_noindex (se) {
	var t_elements = document.getElementById("links").elements;
	var nof_pages = 0;
	var attr;
	switch(se) {
		case 1: attr='yandex_noind'; break;
		case 2: attr='google_noind'; break;
		case 3: attr='yandex_p_noind'; break;
		case 4: attr='google_p_noind'; break;
	}
	for(var i = 0; i < t_elements.length; i++) {
		if( t_elements[i].type == "checkbox" && t_elements[i].getAttribute(attr)!= null ) {
			t_elements[i].checked = true;
			nof_pages++;
		}
	}
	alert("Отмечено ссылок: " + nof_pages);
}

function check_links_tppl(mform, shift) {

	if(shift===undefined) {
		shift=0;
	}
	var nof_pages=0;
	var willcheck=true;

	var tic_min = parseInt(mform.elements[0].value);
	var tic_max = parseInt(mform.elements[1].value);
	var tic_flag = false;
	var pr_min = parseInt(mform.elements[3].value);
	var pr_max = parseInt(mform.elements[4].value);
	var pr_flag = false;
	var price_min = parseFloat(mform.elements[5].value);
	var price_max = parseFloat(mform.elements[6].value);
	var price_flag = false;
	var level = parseInt(mform.elements[7].value);
	var level_flag = false;
	var tic, pr, l, price;

	if(!isNaN(tic_min) || !isNaN(tic_max)) {
		tic_flag=true;
		if(isNaN(tic_min)) {
			tic_min=-1;
		}
		if(isNaN(tic_max)) {
			tic_max=99999999;
		}
	}
	if(!isNaN(pr_min) || !isNaN(pr_max)) {
		pr_flag=true;
		if(isNaN(pr_min)) {
			pr_min=-1;
		}
		if(isNaN(pr_max)) {
			pr_max=99999999;
		}
	}
	if(!isNaN(price_min) || !isNaN(price_max)) {
		price_flag=true;
		if(isNaN(price_min)) {
			price_min=-1;
		}
		if(isNaN(price_max)) {
			price_max=99999999;
		}
	}
	if(!isNaN(level) && level>0 && level<=5) {
		level_flag=true;
	}
	if(tic_flag || pr_flag || price_flag || level_flag) {

		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		var tds;
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!='TR') {
				continue;
			}
			tds=links_tr.getElementsByTagName("td");
			will_check=true;
			if(tic_flag) {
				tic=(tds[8+shift].firstChild.innerHTML);
				if(tic=='нет') {
					tic=-1;
				} else if(tic=='-') {
					tic=-2;
				} else {
					tic=parseInt(tic);
				}
				if(tic>=tic_min && tic<tic_max) {
				} else {
					will_check=false;
				}
			}
			if(pr_flag) {
				pr=tds[9+shift].firstChild.innerHTML;
				if(pr=='нет') {
					pr=-1;
				} else if(pr=='-') {
					pr=-2;
				} else {
					pr=parseInt(pr);
				}
				if(pr<pr_max && pr>=pr_min) {
				} else {
					will_check=false;
				}
			}
			if(level_flag) {
				l=parseInt(tds[10+shift].innerHTML);
				if(l==level) {
				} else {
					will_check=false;
				}
			}
			if(price_flag) {
				price=parseFloat(tds[11+shift].innerHTML);
				if(price<price_max && price>=price_min) {
				} else {
					will_check=false;
				}
			}
			if(will_check) {
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
			// alert(tic+' '+pr+' '+l+' '+price);
		}

		alert("Отмечено ссылок: " + nof_pages);
	} else {
		alert('Нужно что-нибудь выбрать');
	}

}

/*
function check_links_tic(min, max) {
	var nof_pages=0;
	var tic;

	if(min==undefined) {
		// min=0;
		min=document.getElementById('tic_min').value;
	}
	if(max==undefined) {
		max=document.getElementById('tic_max').value;
	}
	if(min=="" && max=="") {
		alert("Необходимо указать минимальный и/или максимальный ТИЦ.");
	} else {
		if(min=="") {
			min=-1;
		}
		if(max=="") {
			max=99999999;
		}
		// var links_tr = document.getElementById("links_table").firstChild.nextSibling.firstChild;
		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!='TR') {
				continue;
			}
			// tic=parseInt(links_tr.children[8].firstChild.innerHTML);
			// tic=parseInt(links_tr.childNodes[10].firstChild.innerHTML);
			tic=(links_tr.getElementsByTagName("td")[8].firstChild.innerHTML);
			if(tic=='нет') {
				tic=-1;
			} else if(tic=='-') {
				tic=-2;
			} else {
				tic=parseInt(tic);
			}
			if(tic<max && tic>=min) {
				// alert(links_tr.lastChild.firstChild.checked=true);
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
		}
		alert("Отмечено ссылок: " + nof_pages);
	}
}

function check_links_pr(min, max) {
	var nof_pages=0;
	var pr=0;

	if(min==undefined) {
		// min=0;
		min=document.getElementById('pr_min').value;
	}
	if(max==undefined) {
		max=document.getElementById('pr_max').value;
	}
	if(min=="" && max=="") {
		alert("Необходимо указать минимальный и/или максимальный PR.");
	} else {
		if(min=="") {
			min=-1;
		}
		if(max=="") {
			max=99999999;
		}
		// var links_tr = document.getElementById("links_table").firstChild.nextSibling.firstChild;
		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!='TR') {
				continue;
			}
			pr=links_tr.getElementsByTagName("td")[9].firstChild.innerHTML;
			if(pr=='нет') {
				pr=-1;
			} else if(pr=='-') {
				pr=-2;
			} else {
				pr=parseInt(pr);
			}
			if(pr<max && pr>=min) {
				// alert(links_tr.lastChild.firstChild.checked=true);
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
		}
		alert("Отмечено ссылок: " + nof_pages);
	}
}

function check_links_price(min, max) {
	var nof_pages=0;
	var price=0;

	if(min==undefined) {
		// min=0;
		min=document.getElementById('price_min').value;
	}
	if(max==undefined) {
		max=document.getElementById('price_max').value;
	}
	if(min=="" && max=="") {
		alert("Необходимо указать минимальную и/или максимальную цену.");
	} else {
		min=parseFloat(min);
		max=parseFloat(max);
		if(!min && min!==0) {
			min=-1;
		}
		if(!max && max!==0) {
			max=99999999;
		}
		// var links_tr = document.getElementById("links_table").firstChild.nextSibling.firstChild;
		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!="TR") {
				continue;
			}
			price=parseFloat(links_tr.getElementsByTagName("td")[11].innerHTML);
			// alert(min+', '+price+', '+max);
			if(price<max && price>=min) {
				// alert(links_tr.lastChild.firstChild.checked=true);
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
		}
		alert("Отмечено ссылок: " + nof_pages);
	}
}

function check_links_level(level) {
	var nof_pages=0;
	var l=0;

	if(level==undefined) {
		level=document.getElementById('level_eq').value;
	}
	if(level==undefined || level=="") {
		// level=0;
		level=-1;
		alert("Необходимо указать уровень вложенности.");
	} else {
		level=parseFloat(level);
		// var links_tr = document.getElementById("links_table").firstChild.nextSibling.firstChild;
		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!="TR") {
				continue;
			}
			l=parseFloat(links_tr.getElementsByTagName("td")[10].innerHTML);
			if(l==level) {
				// alert(links_tr.lastChild.firstChild.checked=true);
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
		}
		alert("Отмечено ссылок: " + nof_pages);
	}
}
*/

/*
function check_links_links(links) {
	var nof_pages=0;
	var l=0;

	if(links==undefined) {
		links=document.getElementById('level_eq').value;
	}
	if(links==undefined || links=="") {
		// links=0;
		links=-1;
		alert("Необходимо указать уровень вложенности.");
	} else {
		links=parseFloat(links);
		// var links_tr = document.getElementById("links_table").firstChild.nextSibling.firstChild;
		var links_tr = document.getElementById("links_table").getElementsByTagName("tr")[0];
		while(links_tr=links_tr.nextSibling) {
			if(links_tr.tagName!="TR") {
				continue;
			}
			l=parseFloat(links_tr.children[10].innerHTML);
			if(l==links) {
				// alert(links_tr.lastChild.firstChild.checked=true);
				links_tr.lastChild.firstChild.checked=true;
				nof_pages++;
			}
		}
		alert("Отмечено ссылок: " + nof_pages);
	}
}
*/

// используется пока только на странице links
function in_array(needle, haystack) {
	for(i = 0; i <= haystack.length; i++) {
		if(needle == haystack[i] || needle + "\r" == haystack[i]) return true;
	}
	return false;
}

// инвертирует чекбоксы в заданной форме
function checkall(c_form, state) {
	if(state==undefined) {
		for(i=0; i<c_form.elements.length; i++) {
			if(c_form.elements[i].type=='checkbox') {
				if(c_form.elements[i].checked == true ) {
					c_form.elements[i].checked = false;
				} else {
					c_form.elements[i].checked = true;
				}
			}
		}
	} else {
		for(i=2; i<c_form.elements.length; i++) {
			if(c_form.elements[i].type=='checkbox') {
				c_form.elements[i].checked = state;
			}
		}
	}
}

// для главной страницы
function select_box(boxno) {
	document.getElementById('box_1').className='blox move2';
	document.getElementById('box_2').className='blox move2';
	document.getElementById('box_3').className='blox move2';
	document.getElementById('blox_desc_1').style.display='none';
	document.getElementById('blox_desc_2').style.display='none';
	document.getElementById('blox_desc_3').style.display='none';
	document.getElementById('box_'+boxno).className='blox move2 dotted';
	document.getElementById('blox_desc_'+boxno).style.display='block';
}

function use_filter(id, href) {
	document.getElementById(id).action=href;
	document.getElementById(id).submit();
	return false;
}

var httpRequest = createXmlHttpRequestObject();
// проверка ftp
function ftp_test(ftp_host, ftp_port, ftp_login, ftp_password, ftp_dir) {
	ftp_host=document.getElementById('site_ftp_host').value;
	ftp_port=document.getElementById('site_ftp_port').value;
	ftp_login=document.getElementById('site_ftp_login').value;
	ftp_password=document.getElementById('site_ftp_password').value;
	ftp_dir=document.getElementById('site_ftp_dir').value;
	document.getElementById('ftp_status').innerHTML='<img src="/images/iconka-01.gif" /> Testing your FTP...';
	var query='ftp_host='+ftp_host+'&ftp_port='+ftp_port+'&ftp_login='+ftp_login+'&ftp_password='+ftp_password+'&ftp_dir='+ftp_dir;
	// var httpRequest = createXmlHttpRequestObject();
	httpRequest.open("POST", "/ftp_test.php", true);
	// httpRequest.onreadystatechange=function(obj) {return handler_request(obj); } (httpRequest);
	httpRequest.onreadystatechange=function() { return handler_request(); };
	httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	httpRequest.send(query);
}

handler_request=function() {
	if(httpRequest.readyState==4) {
		if(httpRequest.status==200) {
			// print_r2(httpRequest);
			var ans=httpRequest.responseText;
			var str='';
			switch(ans) {
				case '0': str='ОК'; break;
				case '1': str='не авторизованный пользователь'; break;
				case '2': str='задайте сервер, логин, пароль'; break;
				case '3': str='не удалось соединиться с сервером'; break;
				case '4': str='неверные логин и/или пароль'; break;
				case '5': str='неверная корневая директория'; break;
				default: str='ошибка сервера';
				// default: str='ошибка сервера ('+ans+')';

			}
			document.getElementById('ftp_status').innerHTML=str;
		}
	}
}

// изменение цены (используется на одной страницы, может стоит перенести)
// надо проверку на допустимость?
// надо округлять как-то
function price_up_5() {
	var pages_num=(document.getElementById('pages_prices_1').form.elements.length-3)/2;
	for(var i=1;i<=pages_num;i++) {
		if(document.getElementById('pages_prices_'+i).value) {
			// document.getElementById('pages_prices_'+i).value=(parseFloat(document.getElementById('pages_prices_'+i).value)+parseFloat(document.getElementById('pages_prices_orig_'+i).value/10)).toFixed(2);
			document.getElementById('pages_prices_'+i).value=Math.round(parseFloat(document.getElementById('pages_prices_'+i).value)*100+parseFloat(document.getElementById('pages_prices_orig_'+i).value/10))/100;
		} else {
			// document.getElementById('pages_prices_'+i).value=(parseFloat(document.getElementById('pages_prices_orig_'+i).value)+parseFloat(document.getElementById('pages_prices_orig_'+i).value/10)).toFixed(2);
			document.getElementById('pages_prices_'+i).value=Math.round(parseFloat(document.getElementById('pages_prices_orig_'+i).value)+parseFloat(document.getElementById('pages_prices_orig_'+i).value)/10)/100;
		}
	}
	return false;
}

function price_down_5() {
	var new_price;
	var min_price=0.20;
	var pages_num=(document.getElementById('pages_prices_1').form.elements.length-3)/2;
	for(var i=1;i<=pages_num;i++) {
		if(document.getElementById('pages_prices_'+i).value) {
			// document.getElementById('pages_prices_'+i).value=(parseFloat(document.getElementById('pages_prices_'+i).value)-parseFloat(document.getElementById('pages_prices_orig_'+i).value/10)).toFixed(2);
			new_price=Math.round(parseFloat(document.getElementById('pages_prices_'+i).value)*100-parseFloat(document.getElementById('pages_prices_orig_'+i).value/10))/100;
			if(new_price>=min_price) {
				document.getElementById('pages_prices_'+i).value=new_price;
			} else {
				document.getElementById('pages_prices_'+i).value=min_price;
			}
		} else {
			// document.getElementById('pages_prices_'+i).value=(parseFloat(document.getElementById('pages_prices_orig_'+i).value)-parseFloat(document.getElementById('pages_prices_orig_'+i).value/10)).toFixed(2);
			new_price=Math.round(parseFloat(document.getElementById('pages_prices_orig_'+i).value)-parseFloat(document.getElementById('pages_prices_orig_'+i).value/10))/100;
			if(new_price>=min_price) {
				document.getElementById('pages_prices_'+i).value=new_price;
			} else {
				document.getElementById('pages_prices_'+i).value=min_price;
			}
		}
	}
	return false;
}

function price_reset() {
	var pages_num=(document.getElementById('pages_prices_1').form.elements.length-3)/2;
	for(var i=1;i<=pages_num;i++) {
		// document.getElementById('pages_prices_'+i).value=(parseFloat(document.getElementById('pages_prices_orig_'+i).value)).toFixed(2);
		document.getElementById('pages_prices_'+i).value=Math.round(parseFloat(document.getElementById('pages_prices_orig_'+i).value))/100;
	}
	return false;
}

function price_clear() {
	var pages_num=(document.getElementById('pages_prices_1').form.elements.length-3)/2;
	for(var i=1;i<=pages_num;i++) {
		document.getElementById('pages_prices_'+i).value='';
	}
	return false;
}
// =====

function print_r2(param){
	var flag;
	myWin=open('', 'print_r2','width=600, height=400, scrollbars=yes, resizable=yes');
	myWin.document.writeln('<pre style="border: 1px solid gray; background-color: #fee; font-family: tahoma; font-size: 11px; padding: 10px;">');
	if(typeof(param)=='object' && param!=null) {
		for(element in param) {
			//alert('param.'+element);
			//alert(eval('param.'+element));
			//if(element==0)
			// continue;
			flag=true;
			try {
				eval('param.'+element);
			} catch (e) {
				flag=false;
			}
			if(flag) {
				myWin.document.writeln(element+'='+eval('param.'+element));
			} else {
				myWin.document.writeln(element+'=UNDEFINED');
				//myWin.document.writeln(element+'='+eval('param['+element+']'));
			}
		}
	}else{
		myWin.document.writeln('var='+param);
	}
	myWin.document.writeln('</pre>');
	//myWin.document.close();
}

function print_r3(param) {
	//var flag;
	var value='';
	var text=''
	myWin=open('', 'print_r2','width=600, height=400, scrollbars=yes, resizable=yes');
	//myWin.document.writeln('<pre style="border: 1px solid gray; background-color: #fee; font-family: tahoma; font-size: 11px; padding: 10px;">');
	var pre=document.createElement('pre');
	//pre.style="border: 1px solid gray; background-color: #fee; font-family: tahoma; font-size: 11px; padding: 10px;";
	pre.style.border="1px solid gray";
	pre.style.backgroundColor="#fee";
	pre.style.fontFamily="Tahoma";
	pre.style.fontSize="11px";
	pre.style.padding="10px";
	if(param==null) {
		text=document.createTextNode('Переменная is null');
	} else if(typeof(param)=='object') {
		for(element in param) {
			try {
				value=eval('param.'+element);
				if(value.length>1000) {
					value.length=1000;
				}
				text=document.createTextNode(element+'='+value+'\n');
			} catch(e) {
				try {
					value=eval('param['+element+']');
					if(value.length>1000) {
						value.length=1000;
					}
					text=document.createTextNode(element+'='+value+'\n');
				} catch(e) {
					text=document.createTextNode(element+'=UNDEFINED'+'\n');
				}
			}
			pre.appendChild(text);
		}
      
	}
	//myWin.document.writeln('<html><body><div id="body2"></div></body></html>');
	//myWin.document.close();
	//var textarea=document.createElement('textarea');
	//myWin.document.getElementById('body2').appendChild(textarea);
	//print_r2(myWin.document.body);
	//myWin.document.body.appendChild(textarea);
	myWin.document.body.appendChild(pre);

}

var time_get_object_all=0;
var count_get_object_all=0;
var time_get_object_id=0;
var count_get_object_id=0;
var time_get_object_arr=0;
var count_get_object_arr=0;
var text_get_object_id='';
var glob=0;

function get_object(obj) {
	var time1=new Date();
	var time;
	if(!obj) {
		return null;
	}
	switch(typeof(obj)) {
	case 'object':
		break;
	case 'string':
		if(elems && elems[obj]) {
			obj=elems[obj];
			time=new Date();
			time_get_object_arr+=(time-time1);
			count_get_object_arr++;
		} else {
			var text=obj;
			if(obj=document.getElementById(obj)) {
				//text_get_object_id+="\n"+text;
				time=new Date();
				time_get_object_id+=(time-time1);
				count_get_object_id++;
			} else {
				return false;
			}
		}
		break;
	default:
		glob++;
		if(glob<5)
			alert("Неверный первый параметр в функции get_object ["+typeof(obj)+"]"); // (!)
		return false;
	}
	time=new Date();
	time_get_object_all+=(time-time1);
	count_get_object_all++;
	return obj;
}


function add_class(obj, class_name) {
	obj=get_object(obj);
	obj.className+=(obj.className!='' ? ' ' : '')+class_name;
}

function del_class(obj, class_name) {
	obj=get_object(obj);
	var class_names=Array();
	class_names=obj.className.split(' ');

	var new_class_name='';
	var flag=false;
	for(key in class_names) {
		if(class_names[key]==class_name) {
			continue;
		}
		if(flag==true) {
			new_class_name+=' ';
		} else {
			flag=true;
		}

		new_class_name+=class_names[key];
	}
	obj.className=new_class_name;
}

function room_style_change(obj){
	if(obj.value=='0') {
		document.getElementById('div_room_style_str').style.visibility='visible';
	} else {
		document.getElementById('div_room_style_str').style.visibility='hidden';
	}
}

function resize(obj, width_end, height_end, time) {
	switch(typeof(obj)) {
		case 'object':
			break;
		case 'string':
			obj=document.getElementById(obj);
			break;
		default:
			alert("Неверный первый параметр в функции resize"); // (!)
	}

	if(time==undefined) {
		time=1000;
	}
	obj.style.visibility="visible";
	obj.style.width=width_end+"px";
	obj.style.height=height_end+"px";
	if(width_end==0 || height_end==0) {
		obj.style.visibility="hidden";
	}
}

// Определение браузера
var browser='';
var browser_version=0;
//function get_browser() {
	var user_agent=navigator.userAgent;
	if(user_agent.indexOf('Opera')!=-1) {
		browser='Opera';
		browser_version=user_agent.match(/Opera[ \/]([\d.]+)/);
		browser_version=parseFloat(browser_version[1]);
	} else if(user_agent.indexOf('Firefox')!=-1) {
		browser='Firefox';
		browser_version=user_agent.match(/Firefox[ \/]([\d.]+)/);
		browser_version=parseFloat(browser_version[1]);
	}else if(user_agent.indexOf('Chrome')!=-1) {
		browser='Chrome';
		browser_version=user_agent.match(/Chrome[ \/]([\d.]+)/);
		browser_version=parseFloat(browser_version[1]);
	}else if(user_agent.indexOf('Safari')!=-1) {
		browser='Safari';
		browser_version=user_agent.match(/Safari[ \/]([\d.]+)/);
		browser_version=parseFloat(browser_version[1]);
	} else if(user_agent.indexOf('MSIE')!=-1) {
		browser='IE';
		browser_version=user_agent.match(/MSIE ([\d.]+)/);
		browser_version=parseFloat(browser_version[1]);
	} else {
		browser='undefined';
	}
//}
//get_browser();
//alert(browser);
//alert(browser_version);

document.createElement2 = function(element, name) {
	var obj;
	if(browser=='IE') {
		obj=document.createElement('<'+element+' name="'+name+'">');
	} else {
		obj=document.createElement(element);
		obj.name=name;
	}
	return obj;

	//return document.createElement('<input name="vasya" />');
}

function addHandler(obj, event, handler){
	obj=get_object(obj);

	if(typeof(obj.addEventListener)!='undefined'){
		obj.addEventListener(event, handler, false);
		//print_r2(obj);
		//alert('DOM');
	}else if(typeof(obj.attachEvent)!='undefined'){
		obj.attachEvent('on'+event, handler);
		//alert('IE');
	}else{
		throw "Браузер не поддерживается. (Incompatible browser)";
	}
}


// ******************************* Замена функции escape *******************************
// Инициализируем таблицу перевода
var trans = [];
for (var i=0x410; i<=0x44F; i++) {
	trans[i] = i - 0x350; // А-Яа-я
}
trans[0x401] = 0xA8; 	// Ё
trans[0x451] = 0xB8; 	// ё
//trans[0x2014] = 0x97;	// —
trans[0x0402] = 128
trans[0x0403] = 129
trans[0x201A] = 130
trans[0x0453] = 131
trans[0x201E] = 132
trans[0x2026] = 133
trans[0x2020] = 134
trans[0x2021] = 135
trans[0x20AC] = 136
trans[0x2030] = 137
trans[0x0409] = 138
trans[0x2039] = 139
trans[0x040A] = 140
trans[0x040C] = 141
trans[0x040B] = 142
trans[0x040F] = 143
trans[0x0452] = 144
trans[0x2018] = 145
trans[0x2019] = 146
trans[0x201C] = 147
trans[0x201D] = 148
trans[0x2022] = 149
trans[0x2013] = 150
trans[0x2014] = 151
//trans[0x98] = 152
trans[0xFFFD] = 152 // FireFox
trans[0x2122] = 153
trans[0x0459] = 154
trans[0x203A] = 155
trans[0x045A] = 156
trans[0x045C] = 157
trans[0x045B] = 158
trans[0x045F] = 159
//trans[0xA0] = 160
trans[0x040E] = 161
trans[0x045E] = 162
trans[0x0408] = 163
//trans[0xA4] = 164
trans[0x0490] = 165
//trans[0xA6] = 166
//trans[0xA7] = 167
trans[0x0401] = 168
//trans[0xA9] = 169
trans[0x0404] = 170
//trans[0xAB] = 171
//trans[0xAC] = 172
//trans[0xAD] = 173
//trans[0xAE] = 174
trans[0x0407] = 175
//trans[0xB0] = 176
//trans[0xB1] = 177
trans[0x0406] = 178
trans[0x0456] = 179
trans[0x0491] = 180
//trans[0xB5] = 181
//trans[0xB6] = 182
//trans[0xB7] = 183
trans[0x0451] = 184
trans[0x2116] = 185
trans[0x0454] = 186
//trans[0xBB] = 187
trans[0x0458] = 188
trans[0x0405] = 189
trans[0x0455] = 190
trans[0x0457] = 191

// Переопределяем функцию escape()
var escape2 = function(str) {
	var ret = [];
	// Составляем массив кодов символов, попутно переводим кириллицу
	for (var i = 0; i < str.length; i++) {
		var n = str.charCodeAt(i);
		if(typeof trans[n]!='undefined') { 
			n = trans[n];
		}
		if(n<=0xFF) {
			ret.push(n);
		}
	}
	return escape(String.fromCharCode.apply(null, ret));
}


//*************************************************************************************
function createXmlHttpRequestObject() {
	var xmlHttp;
	if(typeof(XMLHttpRequest)!="undefined") {
		xmlHttp=new XMLHttpRequest();
	} else if(typeof(ActiveXObject)!="undefined") {
		var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");
		for(var i=0; i<xmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(xmlHttpVersions[i]);
			} catch(e) {}
		}
		//req=new ActiveXObject("Msxml2.XMLHTTP");
	}
	if(!xmlHttp) {
		alert("Ваш браузер не поддерживает необходимые технологии. Обновите браузер.");
	}
	return xmlHttp;
}


//*************************************************************************************
function show_hide_left_area(nosearch) {
	var left_area_td=document.getElementById('column_left');
	var left_area=document.getElementById('left_area');

	var lp_settings=get_cookie('lp_settings');
	if(left_area_td.offsetWidth<10) {
		left_area_td.style.width='224px';
		left_area.style.width='224px';
		left_area.style.visibility="visible";


		if(typeof(indek_search_flag)!='undefined') {
			del_class('hide_left_area_button2', 'maximize');
		} else {
			del_class('hide_left_area_button', 'maximize');
		}
		document.cookie='lp_settings='+(lp_settings | 1);
	} else {
		left_area_td.style.width='0px';
		left_area.style.width='0px';
		left_area.style.visibility="hidden";
		if(typeof(indek_search_flag)!='undefined') {
			add_class('hide_left_area_button2', 'maximize');
		} else {
			add_class('hide_left_area_button', 'maximize');
		}
		document.cookie='lp_settings='+(lp_settings & ~1);
	}
	var lp_settings=get_cookie('lp_settings');
}

/*function setCookie (name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}*/

function get_cookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function show_hide_block(panel_num, show_flag) {
	var obj_min=document.getElementById('panel_'+panel_num+'_min');
	var obj_max=document.getElementById('panel_'+panel_num+'_max');
	//alert(Math.pow(2,64));
	//return;
	//document.cookie="foo=bar; path=/; expires=Mon, 01-Jan-2001 00:00:00 GMT";
	//alert(document.cookie);
	document.cookie='adsfsdaf=1234';
	//alert(document.cookie);
	var lp_settings=get_cookie('lp_settings');
	//alert(lp_settings);
	if(show_flag) {
		obj_min.style.display='none';
		obj_max.style.display='block';
		document.cookie='lp_settings='+(lp_settings | Math.pow(2,panel_num));
	} else {
		obj_min.style.display='block';
		obj_max.style.display='none';
		document.cookie='lp_settings='+(lp_settings & ~Math.pow(2,panel_num));
	}
	//var lp_settings=get_cookie('lp_settings');
	//alert(lp_settings);
	//alert(document.cookie);
	var left_area=document.getElementById('left_area');
	var button=document.getElementById('hide_left_area_button');
	if(button) {
		button.style.top=parseInt((left_area.offsetHeight-72)/2)+'px';
	}
}

function fast_panel(n) {
	var lp_settings=get_cookie('lp_settings');
	if(n==1) {
		del_class('tab_2', 'active');
		add_class('tab_1', 'active');
		del_class('tab_2_content', 'active');
		add_class('tab_1_content', 'active');
		document.cookie='lp_settings='+(lp_settings & ~Math.pow(2,12));
	} else {
		del_class('tab_1', 'active');
		add_class('tab_2', 'active');
		del_class('tab_1_content', 'active');
		add_class('tab_2_content', 'active');
		document.cookie='lp_settings='+(lp_settings | Math.pow(2,12));
	}
	var left_area=document.getElementById('left_area');
	var button=document.getElementById('hide_left_area_button');
	if(button) {
		button.style.top=parseInt((left_area.offsetHeight-72)/2)+'px';
	}
}


// fixPNG(); http://www.tigir.com/js/fixpng.js (author Tigirlas Igor)
function fixPNG(element) {
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))	{
		var src;
		if (element.tagName=='IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = "/images/empty.png";
			}
		} else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}

// Класс для создания плавающего окошка.
/***********************
var popup = new c_popup(block_flag);
если block_flag, то экран блокируется белым фоном (так по-умолчанию).
или через popup.block=true;

Примеры:
var popup = new c_popup();
popup.position='left center'; // слева по центру
//popup.position='center'; // по центру
this.buttonClose=false; // без крестика
this.block=false; // Без блокирования экрана белым фоном

popup.left=200; // если позиция left, то слева на 200px, иначе просто игнорируется.

popup.width=200;
popup.height=100;

// Способ задания ссылки 1 (Текста соответственно не будет.)
popup.url_flag=true;
popup.create('http://mail.ru');

// Способ задания текста 1
popup.create('<b>Vasya</b> <i>Pupkin</i>');

// Способ задания текста 2
var div=document.createElement('div');
div.style.textDecoration='underline';
var text=document.createTextNode('Это текст');
div.appendChild(text);
popup.create(div);

// Способ задания текста 3
var popup_content=popup.create();
popup_content.innerHTML='<i>Пупкин</i> <b>Вася</b>';

// Способ задания текста 4
var popup_content=popup.create();
var div=document.createElement('div');
div.style.textDecoration='underline';
var text=document.createTextNode('Это тоже просто текст');
div.appendChild(text);
popup_content.appendChild(div);

***********************/
function c_popup(block) {
	if(block==true || block===undefined) {
		this.block=true;
	} else {
		this.block=false;
	}
	this.width=600;
	this.height=400;
	this.top=100;
	this.right=100;
	this.bottom=100;
	this.left=100;
	this.position='center';
	this.popup=null;
	this.buttonClose=true;
	this.url_flag=false;
}


c_popup.prototype.text_progress = function() {
	this.popup_container.innerHTML='';
}

c_popup.prototype.create = function(obj_text) {
	var body=document.body;
	var popup_container;
	if(!(popup_container=document.getElementById('popup_container'))) {
		popup_container=document.createElement('div');
		popup_container.id='popup_container';
		body.insertBefore(popup_container, body.firstChild);
	}
	this.popup_container=popup_container;
	popup_container.innerHTML='';

	if(this.block) {
		var block_screen;
		if(!(block_screen=document.getElementById('block_screen'))) {
			block_screen=document.createElement('div');
			block_screen.id='block_screen';
         
			body.insertBefore(block_screen, body.firstChild);
		}
		this.block_screen=block_screen;

		if(browser=='IE' && browser_version<7) {
			block_screen.style.height=document.body.offsetHeight; //(!!!) Блокирует не полностью
			add_class(block_screen, 'block_ie');
		} else {
			add_class(block_screen, 'block');
		}
	}
   
	var popup=document.createElement('div');
	popup.style.width=this.width+'px';
	popup.style.height=this.height+'px';
	this.popup=popup;
	popup.id='popup';
	popup.className='popup';

	//print_r2(document.body);
	if(window.innerHeight) {
		var screenWidth=window.innerWidth;
		var screenHeight=window.innerHeight;
		//alert(screenHeight);
	} else if(document.body && document.body.clientHeight) {
		var screenWidth=document.body.clientWidth;
		var screenHeight=document.body.clientHeight;
	} else {
		var screenWidth=1024;
		var screenHeight=768;
	}
	// Для IE
	if(browser=='IE') {
		//alert('msie');
		if(document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {
			var screenWidth=document.documentElement.clientWidth;
			//alert('clientHeight='+document.documentElement.clientHeight);
			var screenHeight=document.documentElement.clientHeight;
		}
	}
	this.screenWidth=screenWidth;
	this.screenHeight=screenHeight;

	var positions=this.position.split(' ');
	switch(positions[0]) {
		case 'left':
			popup.style.left=this.left+'px';
			break;
		case 'right':
			popup.style.right=this.right+'px';
			break;
		default: //case 'center':
			popup.style.left=parseInt((screenWidth-this.width)/2)+'px';
			break;
	}

	if(positions[1]==undefined) {
		positions[1]=positions[0];
	}

	if(browser=='IE' && browser_version<7) {
		popup.style.position="absolute";
		var scrollTop=document.documentElement.scrollTop;
		//popup.style.top=scrollTop+100+'px';
		switch(positions[1]) {
			case 'top':
				popup.style.top=scrollTop+this.top+'px';
				break;
			case 'bottom':
				//alert((scrollTop+screenHeight-this.height-this.bottom)+'px');
				popup.style.top=(scrollTop+screenHeight-this.height-this.bottom)+'px';
				//popup.style.right='-400px';
				break;
			default: //case 'center':
				//alert('scrollTop='+scrollTop);
				//alert('screenHeight='+screenHeight);
				//alert('this.height='+this.height);
            
				popup.style.top=scrollTop+parseInt((screenHeight-this.height)/2)+'px';
				break;
		}
	} else {
		switch(positions[1]) {
			case 'top':
				popup.style.top=this.top+'px';
				break;
			case 'bottom':
				popup.style.bottom=this.bottom+'px';
				break;
			default: //case 'center':
				//alert('scrollTop='+scrollTop+'screenHeight='+screenHeight+'this.height='+this.height);
				popup.style.top=parseInt((screenHeight-this.height)/2)+'px';
				break;
		}
	}

	var close_button=document.createElement('div');
	close_button.id='close_button';
	close_button.title='Закрыть';
	close_button.onclick=function(obj) {
		return function() {
			obj.close();
		}
	}(this)
	popup.appendChild(close_button);

	if(this.url_flag) {
		var popup_content=document.createElement('iframe');
		popup_content.src=obj_text;
	} else {
		var popup_content=document.createElement('div');
		if(typeof(obj_text) == 'object') {
			popup_content.appendChild(obj_text);
		} else if(typeof(obj_text)=='string') {
			popup_content.innerHTML=obj_text;
		}
	}
	popup_content.id="popup_content";
	this.popup_content=popup_content;
	this.popup_container.appendChild(popup);
	popup.appendChild(popup_content);
	return popup_content;
}

c_popup.prototype.close = function() {
	this.popup_container.innerHTML='';
	if(this.block) {
		del_class(this.block_screen, 'block');
		del_class(this.block_screen, 'block_ie');
	}
}


/********************************************/
/*print_r2(document);
window.onload=function() {
	alert(3333);
}*/

addHandler(window, 'load', function() {
	var left_area=document.getElementById('left_area');
	if(left_area) {
		var button=document.getElementById('hide_left_area_button');
		if(button) {
			button.style.top=parseInt((left_area.offsetHeight-72)/2)+'px';
		}
	}
});

if(!get_cookie('lp_settings')) {
	document.cookie='lp_settings='+(Math.pow(2,32)-1);
}
global=0;


function my_round(val) {
	if(val==='') {
		return '';
	}
	return Math.round(val);
}

function my_format(val) {
	if(val==='') {
		return '';
	}
	val=parseFloat(val);
	if(val>=5) {
		return Math.round(val);
	} else if(val>1) {
		var o_num=new Number(val);
		return o_num.toFixed(1); 
	} else if(val>0) {
		var o_num=new Number(val);
		return o_num.toFixed(2);
	} else if(val===0) {
		return 0;
	} else {
		var o_num=new Number(val);
		return o_num.toFixed(1);
	}
}

/*
// это здесь не надо уже, вроде
function toggle_export_form() {
	var obj=document.getElementById('export_form');
	if(obj.style.display=='none') {
		obj.style.display='';
	} else {
		obj.style.display='none';
	}
}
*/


function get_position_x(obj) {
	var left=obj.offsetLeft;
	while(obj=obj.offsetParent) {
		//print_r2(obj.style.overflow);
		left+=obj.offsetLeft;
	}
	return left;
}

function get_position_y(obj) {
	var top=obj.offsetTop;
	while(obj=obj.offsetParent) {
		top+=obj.offsetTop;
	}
	return top;
}

// links_positions add text
function add_text(obj) {
	document.getElementById('add_text').style.display='';
	document.getElementById('add_text_input').focus();
	obj.style.display='none';
	// var tr=document.createElement('tr');
	// tr.innerHTML='<td>aaaaaaaaa</td>';
	// tr.innerHTML=document.getElementById('add_text').innerHTML;
	// document.getElementById('add_query_tbody').appendChild(tr);

}

function delete_item(item_id){
var randomnumber=Math.floor(Math.random()*1001)
var ret = true;

if(prompt('Введите '+randomnumber+', если Вы уверены, что хотите удалить выбранные ссылки') != randomnumber) {
	alert('Введено неверное число, действие НЕ БУДЕТ выполнено!');
	ret = false;
}

return ret;
}

function recount_bg(page) {
	recounting=1;
	recount_init=true;
	var xmlHttp = createXmlHttpRequestObject();
	if(page==undefined) {
		xmlHttp.open("GET", "recount_links_bg.php");
	} else {
		xmlHttp.open("GET", "recount_links_bg.php?page="+page);
	}
	// var msg;
	// if(msg=document.getElementById("recount_message")) {
	// 	msg.innerHTML="Recounting...";
	// }

	var recounting_status;
	if(recounting_status=document.getElementById("recounting_status")) {
		recounting_status.innerHTML="Идёт пересчёт... Отправка запроса...";
	}

	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState != 4)
			return 0;

		// clearTimeout(timeout); // очистить таймаут при наступлении readyState 4

		if (xmlHttp.status == 200) {
			// Все ок
			// ...
			recounting=0;
			// alert(xmlHttp.responseText);
			// print_r2(xmlHttp.responseText);
			if(xmlHttp.responseText=="1") {
				var recounting_status;
				if(recounting_status=document.getElementById("recounting_status")) {
					recounting_status.innerHTML="";
				}
				// var msg;
				// if(msg=document.getElementById("recount_message")) {
				// 	msg.innerHTML="Recounted";
				// }
/*
				var sdiv;
				if(sdiv=document.getElementById("status_filter")) {
					sdiv.innerHTML+='Hello, World!';
				}
*/
				if(myInterval) {
					clearInterval(myInterval);
				}
			} else if(xmlHttp.responseText=="") {
				var recounting_status;
				if(recounting_status=document.getElementById("recounting_status")) {
					recounting_status.innerHTML="Идёт пересчёт...";
				}
			} else {
				var msg;
				if(msg=document.getElementById("recount_message")) {
					msg.innerHTML="Recounting error";
				}
			}
			// ...

		} else if(xmlHttp.status!=0) {
			handleError(xmlHttp.statusText) // вызвать обработчик ошибки с текстом ответа
		}
	}

	xmlHttp.send(null);
	// Таймаут 10 секунд
	// var timeout = setTimeout( function(){ xmlHttp.abort(); handleError("Time over") }, 10000);
}

function handleError(message) {
	// обработчик ошибки
	// ...
		alert("Ошибка: "+message)
		// ...
}
