var xmlHttp = createXmlHttpRequestObject();
var cache = new Array();

function createXmlHttpRequestObject()
{
	var xmlHttp = false;

	try
	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		var XmlHttpVersions = new Array(
										"MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP");
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				xmlHttp = newActiveXObject(XmlHttpVersions[i]);
			}
			catch (e){}
		}
	}

	if(!xmlHttp) alert('Ошибка создания объекта XmlHttpRequest.');
 	else return xmlHttp;


}

function handleRequestStateChange()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			try
			{
				readResponse();
			}
			catch(e){alert("Ошибка в парсере при try readResponse "+e);}
		}
		else
		{
			alert(xmlHttp.statusText);
		}
	}
}

function AddInBasket(IdGoods,ev,obj)
{
 var serverAdress = "/all_php/add_in_basket.php";
	if(xmlHttp)
	{
    		IdGoods = encodeURIComponent(IdGoods);
     		cache.push("idgoods=" + IdGoods);
     	try
     	{
     		if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0)
     		{
     			BaskethideFootnotes();
     			BFNhideFootnotes();
     			BasketshowFootnote(ev, obj);
     			var cacheEntry = cache.shift();
     			xmlHttp.open("POST", serverAdress, true);
     			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     			xmlHttp.onreadystatechange = handleRequestStateChange;
     			xmlHttp.send(cacheEntry);
     		}
     	}
     	catch (e){alert('Ошибка! 5');}
	}
	else alert('Ошибка 2')
}

function DelFromBasket(IdGoods,ev,obj)
{
 var serverAdress = "/all_php/del_from_basket.php";
	if(xmlHttp)
	{
    		IdGoods = encodeURIComponent(IdGoods);
     		cache.push("idgoods=" + IdGoods);
     	try
     	{
     		if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0)
     		{
     			BaskethideFootnotes();
     			BFNhideFootnotes();
     			BasketshowFootnote(ev, obj);
     			var cacheEntry = cache.shift();
     			xmlHttp.open("POST", serverAdress, true);
     			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     			xmlHttp.onreadystatechange = handleRequestStateChange;
     			xmlHttp.send(cacheEntry);
     		}
     	}
     	catch (e){alert('Ошибка! 1');}
	}
	else alert('Ошибка 2')
}

function readResponse()
{
	var DivBFN_img = document.getElementById('BFN_img');
	var DivBFN_error = document.getElementById('BFN_error');
	var DivBFN_mess = document.getElementById('BFN_mess');

    setTimeout('BFNhideFootnotes()',1000);

	var xmlResponse = xmlHttp.responseXML;
	var xmlDocumentElement = xmlResponse.documentElement;

	var error = '';
	var message = '';
	var allgoodsinbasket = 0;
	var summinbasket = 0;
	var fundel = 0;

	if (xmlDocumentElement.getElementsByTagName("error")[0].firstChild != null)
	error = xmlDocumentElement.getElementsByTagName("error")[0].firstChild.data;

    if (xmlDocumentElement.getElementsByTagName("message")[0].firstChild != null)
	message = xmlDocumentElement.getElementsByTagName("message")[0].firstChild.data;

    if (xmlDocumentElement.getElementsByTagName("allgoodsinbasket")[0].firstChild != null)
	allgoodsinbasket = xmlDocumentElement.getElementsByTagName("allgoodsinbasket")[0].firstChild.data;

    if (xmlDocumentElement.getElementsByTagName("summinbasket")[0].firstChild != null)
	summinbasket = xmlDocumentElement.getElementsByTagName("summinbasket")[0].firstChild.data;


	if (xmlDocumentElement.getElementsByTagName("fundel")[0].firstChild != null)
	fundel = xmlDocumentElement.getElementsByTagName("fundel")[0].firstChild.data;

   	if (error.length > 4)
   	{   	 error = escape(error);
     temp="setTimeout('AlertError(\""+error+"\")',1000);";
     eval(temp);
   	}
   	else
   	{
	   	DivAmount = document.getElementById("AmountGoodsInBasket");
		DivSumma = document.getElementById("SummaGoodsInBasket");

	    DivAmount.innerHTML = allgoodsinbasket;
	    DivSumma.innerHTML = summinbasket;

	    DivArrangeOrder = document.getElementById("ArrangeOrder");
	    if ((DivArrangeOrder != null) && (allgoodsinbasket > 0)) DivArrangeOrder.style.display = "";

   	 message = escape(message);
     temp="setTimeout('AlertMessage(\""+message+"\")',1000);";
     eval(temp);

	}

	setTimeout('BaskethideFootnotes()',3500);
	if (fundel == 1) window.location='/goods/yourbasket.html';
}
