// Проверка на JavaScript, cookie и картинки
function botTest() {
	if (document.cookie)
	{
		var n = ExtractCookie('suid')
		if (n)
		{
			var testImage = new Image(1,1);
			testImage.src = '/images/service/' + n + '.gif';
		}
	}
}


//------------------------------------------------------//
// Корзина
//------------------------------------------------------//

// Инициализация корзины
function init() {
	// Если куки нет — ничего не делаем
	if (document.cookie && ExtractCookie('suid'))
	{
		// Объявляем глобальные переменные
		countLabel = document.getElementById('shoppingCart');
		listLabel = document.getElementById('cookieVal');
		// Заливаем массив из cookie
		FillCart();
		// Обновляем счётчики
		RefreshCounter();
	}
}


// Заливает массив из cookie
function FillCart() {
	var cookieValue = ExtractCookie('cart')
	if (cookieValue)
	{
		cart = cookieValue.split(',')
	}
	else
	{
		cart = new Array();
	}
}


// Подгружает картинку
function PreloadPicture() {
	if (document.images)
	{
		inCart = new Image(36,33);
		inCart.src = '/images/inCart.gif';
	}
}


// Подгружает картинку для страницы площади
function PreloadBigPicture() {
	if (document.images)
	{
		inCartBig = new Image(65,65);
		inCartBig.src = '/images/inCartBig.gif';
	}
}


// Добавляет заданный ID в корзину
function AddValue(val) {
	if (!testExistence(val))
	{
		cart.push(val);
		document.cookie = 'cart=' + cart.toString() + '; path=/';
		RefreshCounter();
	}
}


// Обновляет значение счётчика
function RefreshCounter() {
	var counter = cart.length;
	if (counter == 0)
	{
		countLabel.innerHTML = '<a href="/request/request.htm" title="заявка">Заявка</a>'
	}
	else
	{
		countLabel.innerHTML = '<a href="/request/cart.htm" title="заявка">в заявке ' + cart.length + NumDecline(cart.length,' помещение',' помещения',' помещений') + '</a>';
	}
}


// Проверяет наличие заданного ID в корзине
function testExistence(val) {
	for (var i = 0; i < cart.length; i++)
	{
		if (cart[i] == val)
		{
			return true;
		}
	}
	return false;
}


// Вытаскивает cookie с заданным именем
function ExtractCookie(name) {
	var allCookies = document.cookie;
	var start = allCookies.indexOf(name);
	if (start >= 0)
	{
		start = start + name.length + 1;
		var end = allCookies.indexOf(';', start);
		if (end == -1)
		{
			end = allCookies.length;
		}
		return unescape(allCookies.substring(start, end));
	}
	return false;
}


// Собственно добавление в корзину
function AddToCart() {
	AddValue(this.id);
	SetInCart(this);
	this.onclick = DoNothing;
	return false;
}


// Меняет картинку
function SetInCart(item) {
	var img = item.getElementsByTagName('img')[0];
	img.src = inCart.src;
	img.title = '№ '+ item.id + ' добавлен в корзину';
}


// Собственно добавление в корзину
function AddToCartBig() {
	AddValue(this.id);
	SetInCartBig(this);
	this.onclick = DoNothing;
	return false;
}


// Меняет картинку на странице площади
function SetInCartBig(item) {
	var img = item.getElementsByTagName('img')[0];
	img.src = inCartBig.src;
	img.title = '№ '+ item.id + ' добавлен в корзину';
}


// Возвращает false
function DoNothing() {
	return false;
}


// Пробегает по всем позициям, присваивает onclick и меняет картинку если надо
function InitButtons() {
	if (cart)
	{
		// Подгружаем картинку
		PreloadPicture();
		var results = document.getElementById('searchResults');
		if (results)
		{
			var buttons = results.getElementsByTagName('a');
			if (buttons)
			{
				for (var i = 0; i < buttons.length; i++)
				{
					if (buttons[i].className == 'toCart')
					{
						if (!testExistence(buttons[i].id))
						{
							buttons[i].onclick = AddToCart;
						}
						else
						{
							SetInCart(buttons[i]);
							buttons[i].onclick = DoNothing;
						}
					}
				}
			}
		}
	}
}


// Присваивает onclick и меняет картинку если надо на странице площади
function InitSquareButton() {
	if (cart)
	{
		// Подгружаем картинку
		PreloadBigPicture();
		var selector = document.getElementsByName('selector')[0];
		if (selector)
		{
			if (!testExistence(selector.id))
			{
				selector.onclick = AddToCartBig;
			}
			else
			{
				SetInCartBig(selector);
				selector.onclick = DoNothing;
			}
		}
	}
}


// Склоняет существительные после числительных
function NumDecline(num, nom, genS, genP) {
	var number = Number(num);
	if (number)
	{
		if ((number > 10) && ((number % 100) < 20) && ((number % 100) >= 10))
		{
			return genP;
		}
		else
		{
			var rem = (number % 10)
			if (rem == 1)
			{
				return nom;
			}
			else if ((rem == 2) || (rem == 3) || (rem == 4))
			{
				return genS;
			}
			else
			{
				return genP;
			}
		}
	}
	else
	{
		return false;
	}
}