var Cook =
{
	toggle: function(obj)
	{
		if (document.cookie)
		{
			var _id = obj.parentNode.parentNode.parentNode.getAttribute('href');
			var _ids = GetCookie('ids').toString().replace(';','');
			DelCookie('ids');

			var _string = '';
			if (_ids.length > 1)
			{
				_string += _ids;
	
				if (_ids.lastIndexOf(_id) < 0)
				{
					if (_string.length < 3900)
					{
						_string += "'" + _id + "',";
						Cook.color(obj,true);
					}
				}
				else
				{
					// удаление id из куков
					_string = _string.substring(0,_string.indexOf(_id) - 1 ) + _string.substring(_string.indexOf(_id) - 1 + _id.length + 3);
					Cook.color(obj);
				}
			}
			else
			{
				_string += "'" + _id + "',";
				Cook.color(obj,true);
			}

			SetCookie('ids',_string,'');

			Cook.ref();
			return false;
		}
	},

	color: function(obj,mode)
	{
		obj.parentNode.className = (mode == true) ? 'flag' : 'flagGray';
        obj.qwe = true;
        if(obj.innerHTML != " " && obj.innerHTML != "&nbsp;"){
          obj.innerHTML = (obj.innerHTML == "Выбрать позицию") ? 'Позиция выбрана' : 'Выбрать позицию';
        }
	},

	check: function(inner)
	{
		if (document.cookie)
		{
			if (inner)
			{
				var tables = document.getElementById('flatSearchItems').childNodes;
				if (tables && document.cookie)
				{
					var _ids = GetCookie('ids').toString().replace(';','');
					for (i = 0; i < tables.length; i++)
					{
						tables[i].rows[0].cells[1].getElementsByTagName('table')[0].rows[0].cells[1].className = 'flag';
						var _id = tables[i].rows[0].cells[1].getElementsByTagName('table')[0].rows[0].getAttribute('href');
						if (_ids.indexOf(_id) > -1)
						{
							tables[i].rows[0].cells[1].getElementsByTagName('table')[0].rows[0].cells[1].getElementsByTagName('div')[0].className = 'flag';
							tables[i].rows[0].cells[1].getElementsByTagName('table')[0].rows[0].cells[1].getElementsByTagName('div')[0].childNodes[0].innerHTML = 'Позиция выбранна';
						}
					}
	
					Cook.ref();
				}
			}
			else
			{
				var table = document.getElementById('flatSearchResult');
				if (table && document.cookie)
				{
					var _ids = GetCookie('ids').toString().replace(';','');
					table.rows[0].cells[9].className = 'flag';
					for (i = 1; i < table.rows.length; i++)
					{
						table.rows[i].cells[9].className = 'flag';
						var _id = table.rows[i].getAttribute('href');
						if (_ids.indexOf(_id) > -1)
						{
							table.rows[i].cells[9].getElementsByTagName('div')[0].className = 'flag';
						}
					}

					Cook.ref();
				}
			}
		}
	},

	ref: function(obj)
	{
		if (document.cookie)
		{
			var container = document.getElementById('countIDs');
			var counter = document.getElementById('countIDs').getElementsByTagName('span')[0];
			var ref = container.getElementsByTagName('a')[0];

			var Cookie = GetCookie('ids').toString();
			if (Cookie.length > 1)
			{
				try {
					//var CookArray = eval('['+Cookie.substring(0, Cookie.length -1)+']');
					// "'000-111','000-222'" >> ["000-111", "000-222"]
					var CookArray = (Cookie.substring(0, Cookie.length -1) || "").replace(/'/g, "").split(',');
					// counter.innerHTML = CookArray.length;
					while (counter.firstChild) 
						counter.removeChild(counter.firstChild);
					counter.appendChild( document.createTextNode( CookArray.length ) );
					container.style.visibility = 'visible';
					container.style.display = 'block';

					ref.href = location.pathname;
					ref.href += '?search.action=show-details';

					for (i = 0; i < CookArray.length; i++)
					{
						ref.href += '&search.flatId=' + CookArray[i];
					}

					ref.href += Cook.flatLink;
				} catch (er) {}

			}
			else
			{
				container.style.visibility = 'hidden';
				container.style.display = 'none';
				ref.href = '#';
			}
		}
	}
}

var Search =
{
	init: function(obj)
	{
		sel = [];
		sel['region'] = obj[obj.name + '.regionId'];
		sel['gorod'] = obj[obj.name + '.gorodId'];
		sel['okrug'] = obj[obj.name + '.okrugId'];
		sel['metro'] = obj[obj.name + '.metroId'];

		if (sel['gorod'].options.length <= 1)	Search.display(sel['gorod'],false);
		if (sel['gorod'].options.length <= 2 && sel['gorod'].options[1] && sel['gorod'].options[1].text == 'Москва')
		{
			sel['gorod'].parentNode.parentNode.style.display = 'none';
		}

		if (sel['okrug'].options.length <= 1)	Search.display(sel['okrug'],false);
		if (sel['metro'].options.length <= 1)	Search.display(sel['metro'],false);
	},

	change: function(obj)
	{
		switch (obj)
		{
			case sel['region']:
			{
				Search.show(sel['gorod']);
				Search.show(sel['okrug']);
				Search.show(sel['metro']);
			}
			break;

			case sel['gorod']:
			{
				Search.show(sel['okrug']);
				Search.show(sel['metro']);
			}
			break;
		}
	},

	show: function(obj)
	{
		var reg = sel['region'].options[sel['region'].selectedIndex].text;

		switch (obj)
		{
			case sel['gorod']:
			{
				Search.display(obj)
				Search.display(sel['okrug']);
				Search.display(sel['metro']);
				if (Search.regions[reg])
				{
					obj.options[obj.options.length] = new Option('Все','');

					var i = 0;
					for (i in Search.regions[reg].cities)
					{
						if (/[а-я|А-Я]+/.test(i))
							obj.options[obj.options.length] = new Option(i, Search.regions[reg].cities[i].id);
					}

					if (obj.options.length > 2 && obj.options[1].text != 'Москва')
					{
						Search.display(obj,'table-row');
					}

					else
					{
						obj.options[1].selected = true;
						Search.show(sel['metro']);
						Search.show(sel['okrug']);
					}
				}
			}
			break;

			case sel['okrug']:
			{
				Search.display(obj);

				if (Search.regions[reg])
				{
					var city = sel['gorod'].options[sel['gorod'].selectedIndex].text;
					if (Search.regions[reg].cities[city] && Search.regions[reg].cities[city].okrugs)
					{
						obj.options[obj.options.length] = new Option('Все','');
	
						var i = 0;
						for (i in Search.regions[reg].cities[city].okrugs)
						{
							if (/[а-я|А-Я]+/.test(i))
								obj.options[obj.options.length] = new Option(i, Search.regions[reg].cities[city].okrugs[i].id);
						}

						Search.display(obj,'table-row');
					}
				}
			}
			break;

			case sel['metro']:
			{
				Search.display(obj);

				if (Search.regions[reg])
				{
					var city = sel['gorod'].options[sel['gorod'].selectedIndex].text;
					if (Search.regions[reg].cities[city] && Search.regions[reg].cities[city].metros)
					{
						obj.options[obj.options.length] = new Option('Все','');
	
						var i = 0;
						for (i in Search.regions[reg].cities[city].metros)
						{
							if (/[а-я|А-Я]+/.test(i))
								obj.options[obj.options.length] = new Option(i, Search.regions[reg].cities[city].metros[i].id);
						}

						Search.display(obj,'table-row');
					}
				}
			}
			break;
		}
	},

	display: function(obj, mode)
	{
		if (mode)
		{
			try
			{
				obj.parentNode.parentNode.style.display = mode;
			}
			catch (e)
			{
				obj.parentNode.parentNode.style.display = 'block';
			}

//			obj.disabled = false;

		}
		else
		{
			obj.innerHTML = '';
//		obj.disabled = true;
			obj.parentNode.parentNode.style.display = 'none';
		}
	}
}

