function PrepareRequest()
{
	var http_request = false;
	if (window.XMLHttpRequest) // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	else
		if (window.ActiveXObject) // IE
		{
			try
			{
				http_request = new ActiveXObject('Msxml2.XMLHTTP');
			}
			catch (e)
			{
				try
				{
					http_request = new ActiveXObject('Microsoft.XMLHTTP');
				}
				catch (e)
				{}
			}
		}
	if (!http_request)
	{
		alert('Error!');
		return false;
	}
	return http_request;
}

function CartAdd(pid)
{
	img = document.getElementById('pi' + pid);
	RequestCart('search.php?act=cart_add&cat=2', pid);
	img.src = 'files/images/ico_wait.gif';
	img.alt = 'Ждите...';
}

function CartDel(pid)
{
	img = document.getElementById('pi' + pid);
	RequestCart('search.php?act=cart_del&cat=2', pid);
	img.src = 'files/images/ico_wait.gif';
	img.alt = 'Ждите...';
}

function RequestCart(url, pid)
{
	http_request = PrepareRequest();
	http_request.onreadystatechange = function () { ShowCartResponse(http_request, pid); }
	http_request.open('POST', url);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');
	http_request.send('pid=' + pid);
}

function SwitchCartBtn(on, pid)
{
	img = document.getElementById('pi' + pid);
	if (on == true)
	{
		document.getElementById('pa' + pid).href = 'javascript: CartDel(' + pid + ')';
		img.src = 'files/images/ico_on.gif';
		img.alt = 'Удалить из корзины';
	}
	else
	{
		document.getElementById('pa' + pid).href = 'javascript: CartAdd(' + pid + ')';
		img.src = 'files/images/ico_off.gif';
		img.alt = 'Добавить в корзину';
	}
}

function ShowCartResponse(http_request, pid)
{
	var text;
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
			text = http_request.responseText;
		else
			text = 'ERROR';
		switch (text)
		{
			case 'OK1':
			case 'ERROR2':
				SwitchCartBtn(true, pid);
				break;
			case 'ERROR1':
			case 'OK2':
				SwitchCartBtn(false, pid);
				break;
			case 'ERROR':
				alert('Произошла ошибка. Попробуйте еще раз.');
				break;
		}
	}
}
