// массив, какие фильтры установлены, а какие нет
var SetFilters = Array();
SetFilters['clinic_letters'] = (getCookie('u' + Filters['what'] + '_letter') > 0) ? 1 : 0;
SetFilters['clinic_geo'] = (getCookie('u_country') > 0) ? 1 : 0;
SetFilters['clinic_opers'] = (parseInt(getCookie('u' + Filters['what'] + '_opers')) != 0) ? 1 : 0;


// массив с данными о наличии метро в городах региона
var MetroInCity = Array();


// изменение фона при активности фильтра
// objname - идентификатор фильтра
// status - статус активности фильтра
function SetFilterActive(objname, status)
{
	if (CachObjects[objname])
	{
		SetFilters[objname] = (status > 0) ? 1 : 0;
	}
	
	if (SetFilters['clinic_letters'] == 1)
	{
		CachObjects['clinic_letters'].className = "clinic_letters_act";
		filter_letter=filter_letter_def;
	}
	else
	{
		CachObjects['clinic_letters'].className = "clinic_letters";
		filter_letter="";
	}
	
	if (SetFilters['clinic_geo'] == 1)
	{
		CachObjects['clinic_geo'].className = "clinic_geo_act";
		filter_geo=filter_geo_def;
	}
	else
	{
		CachObjects['clinic_geo'].className = "clinic_geo";
		filter_geo="";
	}
	
	if (SetFilters['clinic_opers'] == 1)
	{
		CachObjects['clinic_opers'].className = "clinic_opers_act";
		filter_oper=filter_oper_def;
	}
	else
	{
		CachObjects['clinic_opers'].className = "clinic_opers";
		filter_oper="";
	}

	FilterStatus();
}


// обработка фильтра глоссария
// letter - идентификатор элемента глоссария
function FilterStatus()
{
	filter_now="";
	if (filter_letter!=''){filter_now = filter_letter;}
	if (filter_now!='' && filter_geo!=''){filter_now = filter_now + ", " + filter_geo;} else {filter_now = filter_now + filter_geo;}
	if (filter_now!='' && filter_oper!=''){filter_now = filter_now + ", " + filter_oper;} else {filter_now = filter_now + filter_oper;}
	if (filter_now!='')
	{
		CachObjects['clinic_filters'].innerHTML  = "Включены фильтры: <b>"+ filter_now + "</b>";
		CachObjects['clinic_filters'].style.background  = "#F00";
	} 
	else 
	{
		CachObjects['clinic_filters'].innerHTML  = "Фильтры &nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"CachObjects['org_filters'].style.display = 'none';CachObjects['org_filters2'].style.display = 'block';\" class='white'>X</a>";
		CachObjects['clinic_filters'].style.background  = "#000";
	}
}

function FilterByLetter(letter)
{
	for (var i = 1; i < lettercnt; i++)
	{
		CachObjects['letter' + i].className = (letter != i) ? "link" : "active";
	}
	if (letter > 0)
	{
		CachObjects['lettercancel'].style.display = "block";
		SetFilterActive('clinic_letters', 1);
		Filters['letter'] = letter;
	}
	else
	{
		CachObjects['lettercancel'].style.display = "none";
		SetFilterActive('clinic_letters', 0);
		Filters['letter'] = 0;
	}
	//AddCookies();
	StartTimer();
}


// получаем аяксом результат поиска по веденной в поле строке
// what - тип географического объекта
// val - значение селекта
requests['doGetGeo'] = Array();
function doGetGeo(what, val)
{
	if (requests['doGetGeo'][what])
	{
		requests['doGetGeo'][what].abort;
	}
	value = Array();
	value['what'] = what;
	value['val'] = val;
	requests['doGetGeo'][what] = new JsHttpRequest();
	requests['doGetGeo'][what].onreadystatechange = function()
	{
		if (requests['doGetGeo'][what].readyState == 4)
		{
			AlwaysIfGeoChange(what, 0);
			if (requests['doGetGeo'][what].responseText)
			{
				CachObjects['pageerror'].innerHTML += requests['doGetGeo'][what].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doGetGeo'][what].responseJS.answer)
			{
				CachObjects[what + '_select'].innerHTML = requests['doGetGeo'][what].responseJS.answer.sel;
				CachObjects[what + '_ok'].innerHTML = arrow + ' onMouseOver="ShowTooltip(this, \'show_param1\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param1" class="jstooltip_txt">Выбрать параметр из списка</div>';
				if (what === 'region')
				{
					CachObjects['geo_region'].style.display = "block";
					CachObjects['country_wait'].innerHTML = unwait;
					CachObjects['country_wait'].style.display = "none";
				}
				else if (what === 'city')
				{
					CachObjects['geo_city'].style.display = "block";
					CachObjects['region_wait'].innerHTML = unwait;
					CachObjects['region_wait'].style.display = "none";
					if (requests['doGetGeo'][what].responseJS.answer.metro != "")
					{
						MetroInCity = requests['doGetGeo'][what].responseJS.answer.metro;
					}
				}
				else if (what === 'metro')
				{
					CachObjects['geo_metro'].style.display = "block";
					CachObjects['city_wait'].innerHTML = unwait;
					CachObjects['city_wait'].style.display = "none";
					if (requests['doGetGeo'][what].responseJS.answer.vetki != "")
					{
						CachObjects['geo_vetki'].style.display = "block";
						CachObjects['geo_vetki'].innerHTML = requests['doGetGeo'][what].responseJS.answer.vetki;
						//CachObjects[what + '_select'].innerHTML += requests['doGetGeo'][what].responseJS.answer.vetki;
					}
				}
				if (Filters[what] > 0)
				{
					gid(what).value = Filters[what];
					ok = ok.replace('replacethis', what);
					CachObjects[what + '_ok'].innerHTML = ok + ' onMouseOver="ShowTooltip(this, \'show_param2\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param2" class="jstooltip_txt">Отфильтровать по выбранному СЛЕВА географическому расположению</div>'; // заменяем стрелку после селекта на кнопку
					ok = ok.replace(what, 'replacethis');
				}
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doGetGeo\n" + requests['doGetGeo'][what].responseJS.statistic;
				}
			}
		}
	}
	requests['doGetGeo'][what].open(null, '/data/templates/serverside/ajax.geography.php', true);
	requests['doGetGeo'][what].send( { query: value } );
}


// получаем аяксом результат
requests['doGetCountries'] = "";
function doGetCountries()
{
	if (requests['doGetCountries'])
	{
		requests['doGetCountries'].abort;
	}
	requests['doGetCountries'] = new JsHttpRequest();
	requests['doGetCountries'].onreadystatechange = function()
	{
		if (requests['doGetCountries'].readyState == 4)
		{
			if (requests['doGetCountries'].responseText)
			{
				CachObjects['pageerror'].innerHTML = requests['doGetCountries'].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doGetCountries'].responseJS.answer)
			{
				CachObjects['countries'].innerHTML = requests['doGetCountries'].responseJS.answer;
				if ((0 + requests['doGetCountries'].responseJS.country) > 0)
				{
					Filters['country'] = requests['doGetCountries'].responseJS.country;
					if (requests['doGetCountries'].responseJS.city > 0)
					{
						Filters['city'] = requests['doGetCountries'].responseJS.city;
						Filters['city_user'] = requests['doGetCountries'].responseJS.city;
					}
				}
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doGetCountries\n" + requests['doGetCountries'].responseJS.statistic;
				}
				GeoWait(0);
			}
		}
	}
	requests['doGetCountries'].open(null, '/data/templates/serverside/ajax.clinics.countries.php', true);
	requests['doGetCountries'].send( { query: Filters } );
}


// обрабатываем постоянные действия при изменении значения селектов
// what - идентификатор селекта
// status - тип производимых действий
function AlwaysIfGeoChange(what, status)
{
	if (status > 0)
	{
		if (CachObjects[what + '_select'].style.display == 'block')
		{
			CachObjects[what + '_select'].focus(); // ставим фокус на объект-родитель
		}
		CachObjects[what + '_wait'].style.display = "block";
		CachObjects[what + '_wait'].innerHTML = wait; // выводим колесико аякса
		ok = ok.replace('replacethis', what);
		CachObjects[what + '_ok'].innerHTML = ok + ' onMouseOver="ShowTooltip(this, \'show_param3\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param3" class="jstooltip_txt">Отфильтровать по выбранному СЛЕВА географическому расположению</div>'; // заменяем стрелку после селекта на кнопку
		ok = ok.replace(what, 'replacethis');
	}
	else
	{
		if (CachObjects[what + '_select'].style.display == 'block')
		{
			CachObjects[what + '_select'].focus(); // ставим фокус на объект-родитель
		}
		CachObjects[what + '_wait'].innerHTML = unwait; // убираем колесико аякса
		CachObjects[what + '_wait'].style.display = "none";
		CachObjects[what + '_ok'].innerHTML = arrow + ' onMouseOver="ShowTooltip(this, \'show_param4\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param4" class="jstooltip_txt">Выбрать параметр из списка</div>'; // заменяем кнопку после селекта на стрелку
	}
}


// обрабатываем изменение значения любого географического селекта
// obj - объект-селект в котором произошли изменения
function IfGeoChange(obj)
{
	var what = obj.id; // получаем идентификатор селекта
	var val = obj.value; // получаем значение селекта
	// если изменился селект "Страны"
	if (what === "country")
	{
		Filters[what] = val;
		Filters['region'] = 0;
		Filters['city'] = 0;
		Filters['metro'] = 0;
		//AddCookies();
		doGetCountries();
		CachObjects['region_select'].innerHTML = ""; // очищаем объект с селектом по регионам
		CachObjects['city_select'].innerHTML = ""; // очищаем объект с селектом по городам
		CachObjects['metro_select'].innerHTML = ""; // очищаем объект с селектом по метро
		CachObjects['geo_region'].style.display = "none";
		CachObjects['geo_city'].style.display = "none"; // скрываем объект с селектом по городам
		CachObjects['geo_metro'].style.display = "none"; // скрываем объект с селектом по метро
		CachObjects['geo_vetki'].style.display = "none";
		// если изменили значение на другую страну
		if (val > 0)
		{
			CachObjects['geo_region'].style.display = "block";
			AlwaysIfGeoChange(what, 1); // применяеем постоянные действия
			doGetGeo("region", val); // запрашиваем у аякса селект с регионами
		}
		// если не выбрана ни одна страна
		else
		{
			AlwaysIfGeoChange(what, 0); // применяеем постоянные действия
		}
	}
	// если изменился селект "? егионы"
	if (what === "region")
	{
		Filters[what] = val;
		Filters['city'] = 0;
		Filters['metro'] = 0;
		//AddCookies();
		doGetCountries();
		CachObjects['city_select'].innerHTML = ""; // очищаем объект с селектом по городам
		CachObjects['metro_select'].innerHTML = ""; // очищаем объект с селектом по метро
		CachObjects['geo_city'].style.display = "none";
		CachObjects['geo_metro'].style.display = "none"; // скрываем объект с селектом по метро
		CachObjects['geo_vetki'].style.display = "none";
		if (val > 0)
		{
			CachObjects['geo_city'].style.display = "block";
			AlwaysIfGeoChange(what, 1); // применяеем постоянные действия
			doGetGeo("city", val);
		}
		else
		{
			AlwaysIfGeoChange(what, 0); // применяеем постоянные действия
		}
	}
	// если изменился селект "Города"
	if (what === "city")
	{
		Filters[what] = val;
		Filters[what + "_user"] = (val != 0) ? val : Filters[what + "_user"];
		Filters['metro'] = 0;
		//AddCookies();
		doGetCountries();
		CachObjects['metro_select'].innerHTML = "";
		CachObjects['geo_metro'].style.display = "none";
		CachObjects['geo_vetki'].innerHTML = "";
		CachObjects['geo_vetki'].style.display = "none";
		if (val > 0)
		{
			if (MetroInCity[val] > 0)
			{
				CachObjects['geo_metro'].style.display = "block";
				AlwaysIfGeoChange(what, 1); // применяеем постоянные действия
				doGetGeo("metro", val);
			}
			else
			{
				CachObjects[what + '_select'].focus();
				CachObjects[what + '_wait'].innerHTML = unwait; // убираем колесико аякса
				CachObjects[what + '_wait'].style.display = "none";
				ok = ok.replace('replacethis', what);
				CachObjects[what + '_ok'].innerHTML = ok + ' onMouseOver="ShowTooltip(this, \'show_param5\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param5" class="jstooltip_txt">Отфильтровать по выбранному СЛЕВА географическому расположению</div>'; // заменяем стрелку после селекта на кнопку
				ok = ok.replace(what, 'replacethis');
				StartTimer();
			}
		}
		else
		{
			AlwaysIfGeoChange(what, 0); // применяеем постоянные действия
		}
	}
	// если изменился селект "Метро"
	if (what === "metro")
	{
		Filters[what] = val;
		//AddCookies();
		doGetCountries();
		if (val > 0)
		{
			CachObjects[what + '_select'].focus();
			ok = ok.replace('replacethis', what);
			CachObjects[what + '_ok'].innerHTML = ok + ' onMouseOver="ShowTooltip(this, \'show_param6\', 3, -1);" onMouseOut="HideTooltip();"><div id="show_param6" class="jstooltip_txt">Отфильтровать по выбранному СЛЕВА географическому расположению</div>';
			ok = ok.replace(what, 'replacethis');
			StartTimer();
		}
		else
		{
			AlwaysIfGeoChange(what, 0);
			StartTimer();
		}
	}
}


//
function IfGeoClick(what)
{
	GeoWait(1);
	if (requests['doGetClinics'])
	{
		requests['doGetClinics'].abort;
	}
	if (what != "")
	{
		if (what == 'country')
		{
			Filters['region'] = 0;
			Filters['city'] = 0;
			Filters['city_user'] = 0;
			Filters['metro'] = 0;
			CachObjects['geo_country'].style.display = 'block';
			gid('country').value = Filters['country'];
			CachObjects['geo_region'].style.display = 'block';
			IfGeoChange(gid('country'));
		}
		if (what == 'region')
		{
			Filters['city'] = 0;
			Filters['city_user'] = 0;
			Filters['metro'] = 0;
			
			CachObjects['geo_metro'].style.display = "none";
			CachObjects['metro_ok'].innerHTML = "";
			CachObjects['metro_select'].innerHTML = "";
			CachObjects['geo_vetki'].style.display = "none";
			CachObjects['geo_vetki'].innerHTML = "";
			
			CachObjects['geo_country'].style.display = 'block';
			gid('country').value = Filters['country'];
			
			CachObjects['geo_region'].style.display = 'block';
			AlwaysIfGeoChange('country', 1);
			doGetGeo('region', Filters['country']);
			
			CachObjects['geo_city'].style.display = 'block';
			setTimeout("AlwaysIfGeoChange('region', 1); doGetGeo('city', Filters['region']);", 750);
		}
		if (what == 'city')
		{
			Filters['metro'] = 0;
			
			CachObjects['geo_metro'].style.display = "none";
			CachObjects['metro_ok'].innerHTML = "";
			CachObjects['metro_select'].innerHTML = "";
			CachObjects['geo_vetki'].style.display = "none";
			CachObjects['geo_vetki'].innerHTML = "";
			
			CachObjects['geo_country'].style.display = 'block';
			gid('country').value = Filters['country'];
			
			CachObjects['geo_region'].style.display = 'block';
			AlwaysIfGeoChange('country', 1);
			doGetGeo('region', Filters['country']);
			
			CachObjects['geo_city'].style.display = 'block';
			setTimeout("AlwaysIfGeoChange('region', 1); doGetGeo('city', Filters['region']);", 750);

			CachObjects['geo_metro'].style.display = 'block';
			setTimeout("AlwaysIfGeoChange('city', 1); if (MetroInCity[Filters['city']] > 0) { CachObjects['geo_metro'].style.display = 'block'; doGetGeo('metro', Filters['city']); } else { CachObjects['city_wait'].innerHTML = unwait; CachObjects['city_wait'].style.display = 'none'; }", 1500);
		}
		CachObjects['geo_hide'].style.display = 'none';
		CachObjects['geo_cancel'].style.display = "block";
	}
	else
	{
		Filters['country'] = 0;
		Filters['region'] = 0;
		Filters['city'] = 0;
		Filters['city_user'] = 0;
		Filters['metro'] = 0;
		CachObjects['geo_cancel'].style.display = "none";
		
		CachObjects['geo_country'].style.display = "none";
		CachObjects['country_ok'].innerHTML = "";
		CachObjects['country_select'].innerHTML = "";
		CachObjects['geo_region'].style.display = "none";
		CachObjects['region_ok'].innerHTML = "";
		CachObjects['region_select'].innerHTML = "";
		CachObjects['geo_city'].style.display = "none";
		CachObjects['city_ok'].innerHTML = "";
		CachObjects['city_select'].innerHTML = "";
		CachObjects['geo_metro'].style.display = "none";
		CachObjects['metro_ok'].innerHTML = "";
		CachObjects['metro_select'].innerHTML = "";
		CachObjects['geo_vetki'].style.display = "none";
		CachObjects['geo_vetki'].innerHTML = "";
		CachObjects['geo_hide'].style.display = "block";
		
		doGetGeo('country', 0);
	}
	doGetCountries();
	HideTooltip(); 
	//AddCookies();
	StartTimer();
}


//
function GeoWait(status)
{
	CachObjects['geo_wait'].innerHTML = (status > 0) ? waitbig : unwaitbig;
}


// получаем аяксом результат
requests['doGetOpersSelects'] = "";
function doGetOpersSelects()
{
	if (requests['doGetOpersSelects'])
	{
		requests['doGetOpersSelects'].abort;
	}
	requests['doGetOpersSelects'] = new JsHttpRequest();
	requests['doGetOpersSelects'].onreadystatechange = function()
	{
		if (requests['doGetOpersSelects'].readyState == 4)
		{
			if (requests['doGetOpersSelects'].responseText)
			{
				CachObjects['pageerror'].innerHTML = requests['doGetOpersSelects'].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doGetOpersSelects'].responseJS.answer.bodyside && requests['doGetOpersSelects'].responseJS.answer.trouble)
			{
				CachObjects['oper_bodyside'].innerHTML = requests['doGetOpersSelects'].responseJS.answer.bodyside;
				CachObjects['oper_trouble'].innerHTML = requests['doGetOpersSelects'].responseJS.answer.trouble;
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doGetOpersSelects\n" + requests['doGetOpersSelects'].responseJS.statistic;
				}
				OperWait(0);
			}
		}
	}
	requests['doGetOpersSelects'].open(null, '/data/templates/serverside/ajax.opers.php', true);
	requests['doGetOpersSelects'].send( { query: "selects" } );
}


// получаем аяксом результат
requests['doGetOpers'] = "";
function doGetOpers()
{
	if (requests['doGetOpers'])
	{
		requests['doGetOpers'].abort;
	}
	requests['doGetOpers'] = new JsHttpRequest();
	requests['doGetOpers'].onreadystatechange = function()
	{
		if (requests['doGetOpers'].readyState == 4)
		{
			if (requests['doGetOpers'].responseText)
			{
				CachObjects['pageerror'].innerHTML = requests['doGetOpers'].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doGetOpers'].responseJS.answer)
			{
				CachObjects['oper_list'].innerHTML = requests['doGetOpers'].responseJS.answer;
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doGetOpers\n" + requests['doGetOpers'].responseJS.statistic;
				}
				OperWait(0);
			}
		}
	}
	requests['doGetOpers'].open(null, '/data/templates/serverside/ajax.opers.php', true);
	requests['doGetOpers'].send( { query: Filters } );
}


// получаем аяксом результат
requests['doCheckedOpers'] = "";
function doCheckedOpers()
{
	if (requests['doCheckedOpers'])
	{
		requests['doCheckedOpers'].abort;
	}
	requests['doCheckedOpers'] = new JsHttpRequest();
	requests['doCheckedOpers'].onreadystatechange = function()
	{
		if (requests['doCheckedOpers'].readyState == 4)
		{
			if (requests['doCheckedOpers'].responseText)
			{
				CachObjects['pageerror'].innerHTML = requests['doCheckedOpers'].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doCheckedOpers'].responseJS.answer)
			{
				CachObjects['addselected'].innerHTML = requests['doCheckedOpers'].responseJS.answer;
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doCheckedOpers\n" + requests['doCheckedOpers'].responseJS.statistic;
				}
				OperWait(0);
			}
		}
	}
	requests['doCheckedOpers'].open(null, '/data/templates/serverside/ajax.opershecked.php', true);
	requests['doCheckedOpers'].send( { query: Filters } );
}



function OperWait(status)
{
	CachObjects['oper_wait'].innerHTML = (status > 0) ? waitbig : unwaitbig;
}



function OperSelects(obj)
{
	OperWait(1);
	if (obj.id == "bodyside")
	{
		if (obj.value > 0)
		{
			gid('trouble').selectedIndex = 0;
			Filters['trouble'] = 0;
		}
		Filters['bodyside'] = obj.value;
	}
	if (obj.id == "trouble")
	{
		if (obj.value > 0)
		{
			gid('bodyside').selectedIndex = 0;
			Filters['bodyside'] = 0;
		}
		Filters['trouble'] = obj.value;
	}
	doGetOpers();
}



function OperCancel()
{
	Filters['bodyside'] = 0;
	Filters['trouble'] = 0;
	Filters['opers'] = 0;
	Filters['sorter'] = (Filters['sorter'] == 3 || Filters['sorter'] == 4) ? 1 : Filters['sorter'];
	SetFilterActive('clinic_opers', 0);
	CachObjects['opers_fullselect'].style.display = 'block';
	CachObjects['opers_startselect'].style.display = 'block';
	CachObjects['opers_favorites'].style.display = 'block';
	CachObjects['addselected'].innerHTML='';
	CachObjects['addselected2'].innerHTML='';
	CachObjects['opers_selected'].style.display = 'none';
	CachObjects['opers_selection'].style.display = 'none';
	if (gid('bodyside'))
	{
		gid('bodyside').selectedIndex = 0;
	}
	if (gid('trouble'))
	{
		gid('trouble').selectedIndex = 0;
	}
	//AddCookies();
	doCheckedOpers();
	doGetOpers();
	StartTimer();
}



function OperStart()
{
	SetFilterActive('clinic_opers', 1);
	CachObjects['opers_fullselect'].style.display = 'none';
	CachObjects['opers_startselect'].style.display = 'none';
	CachObjects['opers_favorites'].style.display = 'none';
	CachObjects['opers_selected'].style.display = 'block';
	CachObjects['opers_selection'].style.display = 'block';
}



function CheckOpersByFilter()
{
	var isform = gid('allopers');
	var opers = Filters['opers'].split("_");
	if (opers.length > 0)
	{
		for (var i = 0; i < isform.length; i++)
		{
			for (var m = 0; m < opers.length; m++)
			{
				if (isform['chkoper[' + i + ']'].value == opers[m])
				{
					isform['chkoper[' + i + ']'].checked = true;
				}
			}
		}
		OperStart();
		doCheckedOpers();
		StartTimer();
	}
}



function SetCheckedOpers()
{
	var isform = gid('allopers');
	var opers = "";
	for (var i = 0; i < isform.length; i++)
	{
		if (isform['chkoper[' + i + ']'].checked == true)
		{
			opers += isform['chkoper[' + i + ']'].value + "_";
		}
	}
	if (opers != "")
	{
		OperWait(1);
		Filters['opers'] = opers.replace(/_+$/, '');
		CachObjects['opers_favorites'].style.display = 'none';
		CachObjects['opers_selected'].style.display = 'block';
		//AddCookies();
		doCheckedOpers();
	}
	else
	{
		OperCancel();
	}
	StartTimer();
}



// получаем аяксом результат
requests['doGetClinics'] = "";
function doGetClinics()
{
	AddCookies(Filters, 'ru');
	CachObjects['clinic_table'].innerHTML = '<div class="otstup">' + waitbig + '</div>';
	if (requests['doGetClinics'])
	{
		requests['doGetClinics'].abort;
	}
	requests['doGetClinics'] = new JsHttpRequest();
	requests['doGetClinics'].onreadystatechange = function()
	{
		if (requests['doGetClinics'].readyState == 4)
		{
			if (requests['doGetClinics'].responseText)
			{
				CachObjects['pageerror'].innerHTML = requests['doGetClinics'].responseText;
				CachObjects['pageerror'].style.display = "block";
				setTimeout("CachObjects['pageerror'].style.display = 'none'", 15000);
			}
			if (requests['doGetClinics'].responseJS.answer)
			{
				CachObjects['clinic_table'].innerHTML = requests['doGetClinics'].responseJS.answer;
				if (dev_show == 1)
				{
//					CachObjects['ajax_stat'].innerHTML += "<br>doGetClinics\n" + requests['doGetClinics'].responseJS.statistic;
				}
				OperWait(0);
				if (requests['doGetClinics'].responseJS.scroller && requests['doGetClinics'].responseJS.scroller != "")
				{
					CachObjects['table_scroller'].style.display = "block";
					CachObjects['table_scroller'].innerHTML = requests['doGetClinics'].responseJS.scroller
				}
				else
				{
					CachObjects['table_scroller'].style.display = "none";
					CachObjects['table_scroller'].innerHTML = "";
				}
				if (Filters['fixrow'] > 0 && gid('frow' + Filters['fixrow']))
				{
					gid('frow' + Filters['fixrow']).className = 'row_act';
				}
			}
		}
	}
	requests['doGetClinics'].open(null, '/data/templates/serverside/ajax.clinics.php', true);
	requests['doGetClinics'].send( { query: Filters } );
}


function SetOrder(num)
{
	Filters['sorter'] = num;
	StartTimer();
}

var filtertimer;
var filterstart = 1;
var filterdown = filterstart;
function StartTimer()
{
	Filters['pageindent'] = 0;
	//CachObjects['mtooltip'].style.display = "block";
	//CachObjects['runfilternow'].style.display = "block";
	//clearTimeout(filtertimer);
	//FilterTimer();
	doGetClinics();
}


function FilterTimer()
{
	if (filterdown > 0)
	{
		CachObjects['mtooltip'].innerHTML = "У Вас есть " + filterdown + " сек. для того,<br>чтобы выбрать дополнительные фильтры";
		filtertimer = setTimeout('FilterTimer()', 1000);
		filterdown = filterdown - 1;
	}
	else
	{
		doGetClinics();
		CachObjects['runfilternow'].style.display = "none";
		CachObjects['mtooltip'].style.display = "none";
		filterdown = filterstart;
	}
}


function StopTimer()
{
	CachObjects['mtooltip'].style.display = "none";
	CachObjects['runfilternow'].style.display = "none";
	clearTimeout(filtertimer);
	filterdown = filterstart;
}


function GetFixedRow()
{
	var rows = gid('row');
	for (var key in rows)
	{ 
		var val = some_array [key]; 
		alert (key + ' = ' + val); 
	}
}


// получаем аяксом результат
requests['doGetClinicCosts'] = "";
function doGetClinicCosts(obj, tid, id)
{
	ShowTooltip(obj, tid, 2, 1);
	ShowAjaxWait(1, 'tooltip', ajax_wait1, '');
	if (requests['doGetClinicCosts'])
	{
		requests['doGetClinicCosts'].abort;
	}
	val = Array();
	val['id'] = id;
	val['opers'] = Filters['opers'];
	requests['doGetClinicCosts'] = new JsHttpRequest();
	requests['doGetClinicCosts'].onreadystatechange = function()
	{
		if (requests['doGetClinicCosts'].readyState == 4)
		{
			ShowTooltip(obj, tid, 2, 1);
			if (requests['doGetClinicCosts'].responseText)
			{
				CachObjects['tooltip'].innerHTML = requests['doGetClinicCosts'].responseText;
				CachObjects['tooltip'].style.display = "block";
				setTimeout("CachObjects['tooltip'].style.display = 'none'", 15000);
			}
			if (requests['doGetClinicCosts'].responseJS.answer)
			{
				CachObjects['tooltip'].innerHTML += requests['doGetClinicCosts'].responseJS.answer;
			}
			if (dev_show == 1)
			{
//				CachObjects['ajax_stat'].innerHTML += "<br>doGetClinicCosts\n" + requests['doGetClinicCosts'].responseJS.statistic;
			}
		}
	}
	requests['doGetClinicCosts'].open(null, '/data/templates/serverside/ajax.clinics.costs.php', true);
	requests['doGetClinicCosts'].send( { q: val } );
}


