function saveCurset(cur_ct_key,cur_rs_key,cur_res_type)
// тут сохраняется текущее значение выбора в сессию
{
var hf = '';

for(var hli = 0 ; hli  < s_heal.length && cur_res_type == 'rest_san'; hli++)
			{
				if(document.getElementById(s_heal[hli]).checked) 
				{
					hf += ((hf!='')?', ':'')+s_heal[hli];							
				}
			}
			
$.getJSON(
  baseURL+'/process.php',
  {
    processor: 'base_search_save',
	sv_region: cur_ct_key,
	sv_resort: cur_rs_key,
	sv_rest_type: cur_res_type,
    price_filter: document.getElementById("price_filter").value,
    sv_heal: hf
   }
);
}
//
function loadCurset() 
// тут читается из сессии сохраненное значение выбора или устанавливается значение по умолчанию
{
	SetValBG(global_valuta);
	document.getElementById("res_type").value = ld_rest_type;
	document.getElementById("price_filter").value = ld_price_filter;
	ld_rest_type1=0;
	if (ld_rest_type=='rest_san') ld_rest_type1=1;
	if (ld_rest_type=='rest_beach') ld_rest_type1=2;
	if (ld_rest_type=='rest_spa') ld_rest_type1=3;
	if (ld_rest_type=='rest_conf') ld_rest_type1=4;
	if (ld_rest_type=='rest_excur') ld_rest_type1=5;
	if (ld_rest_type=='rest_modol') ld_rest_type1=6;
	var i=ld_rest_type1;
		  if (i==1) rest_type='rest_san'; else
	  if (i==2) rest_type='rest_beach'; else
  	  if (i==3) rest_type='rest_spa'; else
	  if (i==4) rest_type='rest_conf'; else
	  if (i==5) rest_type='rest_excur'; else
	  if (i==6) rest_type='rest_molod'; else rest_type='_all_';


	   for (var a = 0; a <=6; a++) { 
		$('#tl-t'+a).css('background-color','#f3f3f3');
	   }
	   $('#tl-t'+i).css('background-color','#ff8e31');


	ChRestTypes(rest_type,0);
	if (i==1) {
		$('#tl-typecheck').css('display','block');
	} else {
		$('#tl-typecheck').css('display','none');
	}

	for(var ldh = 0; ldh < ld_heal.length; ldh++)
	{	
		document.getElementById(ld_heal[ldh]).checked =  true;
	}

	document.getElementById("ct_key").value = ld_region;
	
	if (ld_region!='_all_')
	{
	$('#tl-title').html( regions[ld_region][1]+' ('+regions[ld_region][2]+')' );  
	}
	else 
	{
		$('#tl-title').html('Все регионы');  
		set_resorts('_all_');
		if (ld_resort=='_all_') stop_rebuild=0;
	}
	//if (ld_resort=='_all_') set_resorts('_all_');
	set_resorts(ld_region);
	document.getElementById("rs_key").value = ld_resort;
	if (ld_resort!='_all_')
	$('#tl-title2').html( resorts[ld_resort][1]+' ('+resorts[ld_resort][2]+')' );  
	else $('#tl-title2').html('Все курорты');  
	if (ld_price_filter=='104') 
		{
			jQuery("#slider").slider("values",0,'40'); 
			if (global_valuta=="rur") jQuery("input#mcost").val('до 1900'); else
			if (global_valuta=="usd") jQuery("input#mcost").val('до 65'); else
			if (global_valuta=="eur") jQuery("input#mcost").val('до 50'); else
			jQuery("input#mcost").val('до 500'); 
		}
	else
	if (ld_price_filter=='105') 
		{
			jQuery("#slider").slider("values",0,'80');
			if (global_valuta=="rur") jQuery("input#mcost").val('от 1900 до 2700'); else
			if (global_valuta=="usd") jQuery("input#mcost").val('от 65 до 90'); else
			if (global_valuta=="eur") jQuery("input#mcost").val('от 50 до 70'); else
			jQuery("input#mcost").val('от 500 до 700');
		}
	else
	if (ld_price_filter=='106') 
		{
			jQuery("#slider").slider("values",0,'120'); 
			if (global_valuta=="rur") jQuery("input#mcost").val('от 2700 до 3900'); else
			if (global_valuta=="usd") jQuery("input#mcost").val('от 90 до 130'); else
			if (global_valuta=="eur") jQuery("input#mcost").val('от 70 до 100'); else
			jQuery("input#mcost").val('от 700 до 1000');
		}
	else
	if (ld_price_filter=='107') 
		{
			jQuery("#slider").slider("values",0,'160'); 
			if (global_valuta=="rur") jQuery("input#mcost").val('от 3900 до 5800'); else
			if (global_valuta=="usd") jQuery("input#mcost").val('от 130 до 190'); else
			if (global_valuta=="eur") jQuery("input#mcost").val('от 100 до 150'); else
			jQuery("input#mcost").val('от 1000 до 1500');
		}
	else
	if (ld_price_filter=='108') 
		{
			jQuery("#slider").slider("values",0,'200'); 
			if (global_valuta=="rur") jQuery("input#mcost").val('от 5800 и выше'); else
			if (global_valuta=="usd") jQuery("input#mcost").val('от 190 и выше'); else
			if (global_valuta=="eur") jQuery("input#mcost").val('от 150 и выше'); else
			jQuery("input#mcost").val('от 1500 и выше');
		}
	else
		{
			jQuery("#slider").slider("values",0,'0');
			jQuery("input#mcost").val('Любая');
		}
	BuildHotelList(ld_region,ld_resort,ld_rest_type);
		
}
//
function ChCity(ct_key)
// тут обрабатывается изменение региона
{
	resetRestTypes();
	set_resorts(ct_key);
	ChRestTypes('_all_',1);
	BuildHotelList(ct_key,'_all_','_all_');
	document.getElementById("ct_key").value = ct_key;
	document.getElementById("rs_key").value = '_all_';
    for (var a = 0; a <=6; a++) { 
		$('#tl-t'+a).css('background-color','#f3f3f3');
	   }
	   $('#tl-t0').css('background-color','#ff8e31');
   $('#tl-typecheck').css('display','none');	   
   $(".jScrollbar").jScrollbar({ allowMouseWheel : true });     
   $(".jScrollbar2").jScrollbar({ allowMouseWheel : true });        
	jQuery("#slider").slider("values",0,0);
	jQuery("input#mcost").val('Любая');
	jQuery("input#price_filter").val('0');

}
//
function ChResorts(rs_key,ct_key)
// тут обрабатывается изменение курорта
{
	resetRestTypes();
	ChRestTypes('_all_',1);
	BuildHotelList(ct_key,rs_key,'_all_');
	document.getElementById("ct_key").value = ct_key;
	document.getElementById("rs_key").value = rs_key;
    for (var a = 0; a <=6; a++) 
	{ 
		$('#tl-t'+a).css('background-color','#f3f3f3');
	}
	$('#tl-t0').css('background-color','#ff8e31');
	$('#tl-typecheck').css('display','none');	   
    $(".jScrollbar2").jScrollbar({ allowMouseWheel : true });        
	jQuery("#slider").slider("values",0,0);
	jQuery("input#mcost").val('Любая');
	jQuery("input#price_filter").val('0');
}
//
function ChRestTypes(res_type,clear_val)
// тут обрабатывается изменение типа отдыха
{
	var cur_ct_key = document.getElementById("ct_key").value;
	var cur_rs_key = document.getElementById("rs_key").value;
	if (clear_val==1) 
	{
	jQuery("#slider").slider("values",0,0);
	jQuery("input#mcost").val('Любая');
	jQuery("input#price_filter").val('0');
	}
	document.getElementById("res_type").value=res_type;
	BuildHotelList(cur_ct_key,cur_rs_key,res_type);
}
//
function addHref(obj,resortName,resortKey,ctKey)
// функция набивает div со списком курортов ссылками на курорты
{
	obj.innerHTML=obj.innerHTML + '<a href="#" onclick="ct2(this,\''+resortKey+'\',\''+ctKey+'\'); return false;">'+resortName+'</a>';
}
//
function set_resorts(cur_ct_key)
// функция устанавливает текущий курорт
{
	var rsSel = document.getElementById("resortList");
	rsSel.innerHTML = '';
	addHref(rsSel,'Все курорты','_all_',cur_ct_key);
	for(var rsi in resorts)
	{
		if(cur_ct_key != '_all_')
		{
			if(('_'+resorts[rsi][3]) != cur_ct_key) continue; 	 
		}
	var resortName=resorts[rsi][1]+' ('+resorts[rsi][2]+')';
	var resortKey = '_'+resorts[rsi][0];
	addHref(rsSel,resortName,resortKey,cur_ct_key);
	}
}
//
function BuildHotelList(cur_ct_key,cur_rs_key,cur_res_type)
// функция строит список отелей по выбранным значениям фильтров
{
	var cur_price_filter = document.getElementById("price_filter").value;
	var base_content  = '';
	var BasesList = document.getElementById("bases"); 
	saveCurset(cur_ct_key,cur_rs_key,cur_res_type);
	var base_count = 0;
	var selected_line = 0;
	for(var bsi  =0 ;  bsi < all_bases.length; bsi++)
	{
		var curb = all_bases[bsi];
		var mset = true;
		if(cur_ct_key != '_all_'  && ('_'+curb['CT_KEY']) != cur_ct_key)
		{
			mset = false; 	 
		}
		if(cur_rs_key != '_all_'  && ('_'+curb['RS_KEY']) != cur_rs_key)
		{
			mset = false; 	 
		}
		if(cur_res_type != '_all_'  && (curb[cur_res_type]) != 1)
		{
			mset = false; 	 
		}
		/////////////////Проверка по типам лечения
		if(cur_res_type == 'rest_san')
		{
			var add_h_flag =0;
			for(var hli = 0 ; hli  < s_heal.length; hli++)
			{
				
				if(document.getElementById(s_heal[hli]).checked) 
				{
				
					if(curb[s_heal[hli]] == 1){ add_h_flag++;}
					 else
					 {
					 	 add_h_flag = 0;
					 	 break;
					 }
				
				}
			
			}
			if(add_h_flag ==  0) mset = false;
		}
		//
		if(cur_price_filter != 0)
		{
			if(curb['PriceFilter'] != cur_price_filter)  mset =  false;
		}
		
		if(mset) 
		{
			base_count = base_count+1 ;
			var selected_style = ((curb['no_season_flag'] == 1)?'te_selected_base_link_wow':'te_selected_base_link');
			var no_selected_style = ((curb['no_season_flag'] == 1)?'wow':'');
			var dptitle = ((curb['no_season_flag'] == 1)?'Горящие туры':'');
			
			if(curb['chpu']==cur_base_id)
			{
			base_content += ((base_content!='')?'<br>':'')+'<span	class="'+selected_style+'" title="'+dptitle+'">'+curb['hotel_name']+'</span>';
			selected_line = base_count; 
			} else
			{
			base_content += ((base_content!='')?'<br>':'')+'<a href="/'+curb['chpu']+'.html"  title="'+dptitle+'" class="'+no_selected_style+'">'+curb['hotel_name']+'</a>\n';
			}
		}
	}
	document.getElementById("basesCount").innerHTML = base_count;
	var newdiv = document.createElement("div");
	newdiv.innerHTML = base_content;
	var container = document.getElementById("bases");
	removeChildrenFromNode(container);
	container.appendChild(newdiv);
	// тут каким-то образом надо запретить прокрутку еслим еньше 11 баз
	if (base_count>11) 
	{
		$('#scrollbar1').tinyscrollbar();
	}
	else 
	{
		$('#scrollbar1').tinyscrollbar();
	}
	//
	//	тут мега-функция должна подсвечивать текущий отель. думаю, что пока не работает
	if(selected_line != 0)
	{
	if(BasesList.offsetHeight < BasesList.scrollHeight)
		{
			var LineHeight =  Math.round(BasesList.scrollHeight/base_count);
			BasesList.scrollTop = LineHeight*(selected_line-1);
		}
	}
}
//
function removeChildrenFromNode(e) {
if(!e) {
	return false;
}
if(typeof(e)=='string') {
	e = document.getElementById(e);
}
while (e.hasChildNodes()) {
	e.removeChild(e.firstChild);
}
return true;
}
//
function resetRestTypes()
{
for(var rti in rest_types)
	{
		rest_types[rti][1] = 0;
	}
}
//
function ch_flt()
{
	var cur_ct_key = document.getElementById("ct_key").value;
	var cur_rs_key = document.getElementById("rs_key").value;
	BuildHotelList(cur_ct_key,cur_rs_key,'rest_san');

}
//
function ChPriceFilter()
{
	var cur_ct_key = document.getElementById("ct_key").value;
	var cur_rs_key = document.getElementById("rs_key").value;
	var cur_res_type = document.getElementById("res_type").value;
	BuildHotelList(cur_ct_key,cur_rs_key,cur_res_type);
}
//
function SetValBG(val)
// функция выставляет фон селектора валют
{
	if (val=='uah') newImage = "url(/images/pricer/bg-uah.png)"; else
	if (val=='rur') newImage = "url(/images/pricer/bg-rur.png)"; else
	if (val=='usd') newImage = "url(/images/pricer/bg-usd.png)"; else
	if (val=='eur') newImage = "url(/images/pricer/bg-eur.png)"; else
	newImage = "url(/images/pricer/bg-uah.png)"; 
	document.getElementById("curr_bg").style.backgroundImage = newImage;

	if (val=='uah') newImage1 = "url(/images/pricer/bg1-uah.png)"; else
	if (val=='rur') newImage1 = "url(/images/pricer/bg1-rur.png)"; else
	if (val=='usd') newImage1 = "url(/images/pricer/bg1-usd.png)"; else
	if (val=='eur') newImage1 = "url(/images/pricer/bg1-eur.png)"; else
	newImage1 = "url(/images/pricer/bg1-uah.png)"; 
	document.getElementById("curr_bgm").style.backgroundImage = newImage1;

}
////////////////////////////////////////////////////
// TODO:   инпут над селектором валют после изменения валюты показывает значение в той валюте, что была
