var default_country=21;
var daysInMonth = Array(31,28,31,30,31,30,31,31,30,31,30,31);
var def_region=0;


/*
 * папаметры поиска по умолчанию
 */
var search_defaults = Array();
search_defaults[0]= Array(8,18,7,14);//все страны
search_defaults[3]= Array(8,10,7,21);//австрия
search_defaults[10]= Array(8,15,7,14);//болгария
search_defaults[14]= Array(8,15,7,21);//венгрия
search_defaults[19]= Array(8,12,7,21);//греция
search_defaults[20]= Array(8,15,7,21);//доминикана
search_defaults[21]= Array(8,12,7,14);//египет
search_defaults[25]= Array(8,15,7,21);//индонезия
search_defaults[27]= Array(8,15,7,14);//испания
search_defaults[28]= Array(8,15,7,14);//италия
search_defaults[29]= Array(8,15,7,14);//кипр
search_defaults[32]= Array(8,15,7,21);//куба
search_defaults[35]= Array(8,15,7,21);//маврикий
//search_defaults[39]= Array(8,15,7,14);//мальта
search_defaults[42]= Array(8,15,7,21);//мексика
search_defaults[47]= Array(8,15,7,21);//оаэ
search_defaults[49]= Array(8,15,7,21);//португалия
search_defaults[52]= Array(8,15,7,21);//сейшелы
search_defaults[56]= Array(8,15,7,21);//словения
search_defaults[60]= Array(8,16,7,21);//тайланд
search_defaults[61]= Array(8,15,7,14);//тунис
search_defaults[62]= Array(8,12,7,14);//турция
search_defaults[68]= Array(8,15,7,14);//франция
search_defaults[69]= Array(8,15,7,14);//хорватия
search_defaults[70]= Array(8,15,7,14);//черногория
search_defaults[71]= Array(4,8,7,21);//чехия
search_defaults[76]= Array(4,8,7,21);//эстония
search_defaults[87]= Array(8,15,7,14);//канары
search_defaults[129]= Array(8,15,7,21);//Кабо верде

function county_defaults(c_id)
{
	if(typeof(search_defaults[c_id])=='undefined')
	{
	     var def=search_defaults[0];
	}
	else
	{
	     var def=search_defaults[c_id];
	}
	var days_from=document.getElementById('df');
	var days_to=document.getElementById('dt');
	var d1=document.getElementById('day_start1').value+'-'+document.getElementById('month_start1').value;
	var d2=document.getElementById('day_start2').value+'-'+document.getElementById('month_start2').value;
	var current_d = new Date();

	days_from.value=def[0];
	days_to.value=def[1];
	new_date1=daysAdd(current_d.getUTCDate(),current_d.getUTCMonth()+1,current_d.getUTCFullYear(),def[2]);
	new_date2=daysAdd(current_d.getUTCDate(),current_d.getUTCMonth()+1,current_d.getUTCFullYear(),def[3]);
	date_set('from',new_date1);
	date_set('to',new_date2);

}


function sf_build()
{
		var city_from=document.getElementById('city_search');
		var country=document.getElementById('country_search');
		var region=document.getElementById('region_search');
		var food=document.getElementById('food_search');
		var stars=document.getElementById('stars_search');
		countries_list(city_from.options[city_from.selectedIndex].value);
		regions_list(country.options[country.selectedIndex].value);
		foods_list();
		stars_list();
}
function countries_list(city_from)
{
		var temp=new Array();
		var country=document.getElementById('country_search');
		var outed=0;
		var counter=0;
		//выбор стран из данного города
		for(el in countries)
		{
			for (i=0;i<city2country[city_from].length;i++)
			{
				if (city2country[city_from][i]==el || city2country[city_from][0]==-1)
				{
					if (el>0  && typeof(from_city[city_from][el])!='undefined')
					{
						counter++
						temp[el]=countries[el];
					}
				}
			}
		}
		country.options.length=counter;
		for(el in temp)
		{
			if(typeof(temp[el])=='string' && typeof(from_city[city_from][el])!='undefined')
			{
				country.options[outed].value=el;
				country.options[outed].text=temp[el];
				outed++;
			}
		}
		//установка страны по умолчанию
  		for (i=0;i<country.options.length;i++)
		{
			if (country.options[i].value==default_country) country.selectedIndex=i;
		}

		if (typeof(def_country_const)!='undefined')
		for (i=0;i<country.options.length;i++)
		{
			 if (country.options[i].value==def_country_const) country.selectedIndex=i;
		}

		regions_list(country.options[country.selectedIndex].value);
}
function regions_list(country_id)
{
		var temp=new Array();
		var region=document.getElementById('region_search');
		var counter=0;
		var outed=0;
		for(reg in regions)
		{
			if (regions[reg][0]==country_id)
			{
				temp[reg]=regions[reg][1];
				counter++;
			}
		}
		region.options.length=counter+1;
		region.options[0].value=-1;
		region.options[0].text='Все';
		for(el in temp)
		{
			if(typeof(temp[el])=='string')
			{
				outed++
				region.options[outed].value=el;
				region.options[outed].text=temp[el];
			}
		}
		if (def_region>0)
		{
			//установка региона по умолчанию
			for (i=0;i<region.options.length;i++)
			{
				if (region.options[i].value==def_region) region.selectedIndex=i;
			}
		}
		else
		{
			region.selectedIndex=0;
		}
		county_defaults(country_id);
}
function foods_list()
{
		var stars_el=document.getElementById('food_search');
		var temp=new Array();
		var counter=0;
		var outed=0;
		for(el in foods)
		{
			if(typeof(foods[el][0])=='string')
			{
				counter++;
			}
		}
		stars_el.options.length=counter+1;
		stars_el.options[0].value=-1;
		stars_el.options[0].text='Все';
		for(el in foods)
		{
			if(typeof(foods[el][0])=='string')
			{
				outed++
				stars_el.options[outed].value=foods[el][1];
				stars_el.options[outed].text=foods[el][0];
			}
		}
}
function stars_list()
{
		var stars_el=document.getElementById('stars_search');
		var temp=new Array();
		var counter=0;
		var outed=0;
		for(el in stars)
		{
			if(typeof(stars[el][0])=='string')
			{
				counter++;
			}
		}
		stars_el.options.length=counter+1;
		stars_el.options[0].value=-1;
		stars_el.options[0].text='Все';
		for(el in stars)
		{
			if(typeof(stars[el][0])=='string')
			{
				outed++;
				stars_el.options[outed].value=stars[el][0];
				stars_el.options[outed].text=stars[el][1];
			}
		}
}
function days_validator(id)
{
		var el1=document.getElementById('df');
		var el2=document.getElementById('dt');
		if (parseInt(el1.value)<2 || parseInt(el1.value)>21 || parseInt(el1.value)!=el1.value)
		{
				el1.value=8;
		}
		if (parseInt(el2.value)<2 || parseInt(el2.value)>21 || parseInt(el2.value)!=el2.value)
		{
				el2.value=18;
		}

		if (parseInt(el1.value)>parseInt(el2.value))
		{
				if (id=='df')
				{
						el2.value=el1.value;
				}
				if (id=='dt') el1.value=el2.value;
		}
}
function date_set(set_item,date)
{
	var d1=document.getElementById('day_start1');
	var d2=document.getElementById('day_start2');
	var m1=document.getElementById('month_start1');
	var m2=document.getElementById('month_start2');
	var last_mon=m2.options[m2.options.length-1].value.match(/^0?(.*)-(.*)$/i);
	var first_mon=m1.options[0].value.match(/^0?(.*)-(.*)$/i);
	var temp;
	if (set_item=='to')
	{
		if ( parseInt(date[1])<=parseInt(last_mon[1]) || parseInt(date[2])<parseInt(last_mon[2]))
		{
			for(var i=0;i<m2.options.length;i++)
			{
					temp=m2.options[i].value.match(/^(.*)-(.*)$/i);
					if (temp[1]==date[1] && temp[2]==date[2])
					{
						m2.selectedIndex=parseInt(i);
						d2.selectedIndex=parseInt(date[0])-1;
						break;
					}
			}
		}
		else
		{
			m2.selectedIndex=m2.options.length-1;
			d2.selectedIndex=d1.options.length-1;
		}
	}
	else
	{
		if (parseInt(date[1])>=parseInt(first_mon[1]) || parseInt(date[2])>parseInt(first_mon[2]))
		{

			for(var i=0;i<m1.options.length;i++)
			{
					temp=m1.options[i].value.match(/^(.*)-(.*)$/i);
					if (temp[1]==date[1] && temp[2]==date[2])
					{
						m1.selectedIndex=parseInt(i);
						d1.selectedIndex=parseInt(parseInt(date[0])-1);
						break;
					}
			}
		}
		else
		{
			m1.selectedIndex=0;
			d1.selectedIndex=0;
		}
	}
	days_in_m();
}
function isLeapYear(year)
{
   return ((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year)));
}
function daysAdd(d,m,y,days)
{
	d=parseInt(d)+parseInt(days);
	if (d>daysInMonth[m-1])
	{
		d=d-daysInMonth[m-1]
		m++;
	}
	if (m>12)
	{
		m=m-12;
		y++;
	}
	var res=Array();
	res[0]=d;
	res[1]=m;
	res[2]=y;
	return res;
}
function daysDec(d,m,y,days)
{
	d=parseInt(d)-parseInt(days);
	if (d<1)
	{
		m--;
		d=daysInMonth[m-1]+d;
	}
	if (m<1)
	{
		m=12-m;
		y--;
	}
	var res=Array();	res[0]=d;
	res[1]=m;
	res[2]=y;

	return res;
}
function days_in_m()
{
	var d1=document.getElementById('day_start1');
	var d2=document.getElementById('day_start2');
	var m1=document.getElementById('month_start1');
	var m2=document.getElementById('month_start2');
	var temp;
	m1_d=m1.options[m1.selectedIndex].value.match(/^0?(.*)-(.*)$/i);
	m2_d=m2.options[m2.selectedIndex].value.match(/^0?(.*)-(.*)$/i);
	var si1=d1.selectedIndex;
	var si2=d2.selectedIndex;
	if (isLeapYear(m1_d[2]) && m1_d[1]==2) d1.options.length=29;
	else d1.options.length=daysInMonth[parseInt(m1_d[1])-1];
	for (var i=1;i<=d1.options.length;i++)
	{
		if (i<10) temp='0'+i;
		else temp=i;
		d1.options[i-1].text=temp;
		d1.options[i-1].value=temp;
	}
	if (si1>d1.options.length-1) d1.selectedIndex=d1.options.length-1;
	if (isLeapYear(m2_d[2]) && m2_d[1]==2) d2.options.length=29;
	else d2.options.length=daysInMonth[parseInt(m2_d[1])-1];
	for (var i=1;i<=d2.options.length;i++)
	{
		if (i<10) temp='0'+i.toString();
		else temp=i;
		d2.options[i-1].text=temp;
		d2.options[i-1].value=temp;
	}
	if (si2>d2.options.length-1) d2.selectedIndex=d2.options.length-1;
}
function date_validator(ch_item)
{
		days_in_m();
		var d1=document.getElementById('day_start1');
		var d2=document.getElementById('day_start2');
		var m1=document.getElementById('month_start1');
		var m2=document.getElementById('month_start2');
		var ads1=document.getElementById('advanced_search1');
		m1_d=m1.options[m1.selectedIndex].value.match(/^(.*)-(.*)$/i);
		m2_d=m2.options[m2.selectedIndex].value.match(/^(.*)-(.*)$/i);
		if (ads1.style.display=='none')
		{
			date_set('to',daysAdd(d1.value,m1_d[1],m1_d[2],7));
		}
		else
		{
			if ((m1_d[1]>m2_d[1] && m1_d[2]==m2_d[2]) || (m1_d[1]==m2_d[1] && d1.value>d2.value && m1_d[2]==m2_d[2]) || m1_d[2]>m2_d[2])
			{

					if (ch_item=='from')
					{
						date_set('to',daysAdd(d1.value,m1_d[1],m1_d[2],7));
					}
					else
					{
						date_set('from',daysDec(d2.value,m2_d[1],m2_d[2],7));
					}
			}
		}
}
function ad_s()
{
	var ads2=document.getElementById('advanced_search2');
	var ads1=document.getElementById('advanced_search1');
	var s_banner=document.getElementById('h_t');
	var s_t_link=document.getElementById('s_type_link');
	//var sf_table=document.getElementById('sf_table');
	//форма расширенного поиска
	if (ads1.style.display=='none')
	{
			ads1.style.display='';
			ads2.style.display='';
			s_t_link.innerHTML='<a href="javascript: ad_s()" class="Advanced">простой поиск</a>';
	}
	//форма простого поиска
	else
	{
			ads1.style.display='none';
			ads2.style.display='none';
			s_t_link.innerHTML='<a href="javascript: ad_s()" class="Advanced">расширеный поиск</a>';
	}
}