
function putToCart(iItemID) {
	
	xAjaxRequest(sHtmlRoot+"catalog/cart.phtml?AddItem=" + iItemID);
	
}
function removeFromCart(iItemID) {
	
	xAjaxRequest(sHtmlRoot+"catalog/cart.phtml?RemoveItem=" + iItemID);
	
}
function emptyCart() {
	
	xAjaxRequest(sHtmlRoot+"catalog/cart.phtml?EmptyCart=1");
	
}

function showCart() {
	xAjaxRequest(sHtmlRoot+"catalog/cart.phtml");
}

/*function _remove(obj) {

	obj.parentNode.removeChild(obj);
}*/


function EmptyTable(sTableID, sTableBodyID) {
	oTable = document.getElementById(sTableID);
	oTableBody =  document.getElementById(sTableBodyID);
	
	if(oTableBody) {
		oTable.removeChild(oTableBody);
	}
	var oTbody = document.createElement( "tbody" );
	oTbody.id = sTableBodyID;

	oTable.appendChild(oTbody);
	return document.getElementById( sTableBodyID );
}

function UpdateCartView(sResultXML) {

	//Успешный ответ AJAX'а. Распарсим тег <error>
	oError = sResultXML.getElementsByTagName('error')[0];
	iErrorCode = parseInt(oError.attributes.getNamedItem("code").value);
	if( iErrorCode==0 ) {
		oCart = sResultXML.getElementsByTagName('cart')[0];
		iTotalCost = parseInt(oCart.attributes.getNamedItem("totalcost").value);
		aCartItems = oCart.getElementsByTagName('item');
		oCartItemListTableBody =  EmptyTable("CartItemListTable", "CartItemListTableBody");
		if(aCartItems.length>0 && iTotalCost) {
		
			//run through cart items
			for( i=0; i<aCartItems.length; i++ ) {
				oItem = aCartItems[i];
				iItemID = parseInt(oItem.attributes.getNamedItem("id").value);
				iItemName = oItem.attributes.getNamedItem("name").value;
				iItemPrice = oItem.attributes.getNamedItem("price").value;
				iItemQty = oItem.attributes.getNamedItem("qty").value;
			
				var oRow = document.createElement("tr");
				var oCell1 = document.createElement("td");
				var oCell2 = document.createElement("th");
				var oCell3 = document.createElement("th");
				var oCell4 = document.createElement("th");
				var oDelLink = document.createElement("a");

				oCell1.innerHTML = iItemName;
				oCell2.innerHTML = iItemPrice + "&nbsp;руб";
				oCell3.innerHTML = "<b>" + iItemQty + "</b>&nbsp;шт";
				oDelLink.innerHTML = "x";
				oDelLink.href = "#stayhere";
				oDelLink.onclick = function() {
					removeFromCart(iItemID);
				}
				oCell4.appendChild(oDelLink);

				oRow.appendChild(oCell1);
				oRow.appendChild(oCell2);
				oRow.appendChild(oCell3);
				oRow.appendChild(oCell4);
						
				oCartItemListTableBody.appendChild(oRow);

			}
						
			
			document.getElementById("CartTotalPriceText").innerHTML = iTotalCost + " руб.";
			document.getElementById("CartTotalPriceHolder").style.display = "block";
			document.getElementById("CartEmptyDiv").style.display = "none";
		} else {
			document.getElementById("CartTotalPriceText").innerHTML = "";
			document.getElementById("CartTotalPriceHolder").style.display = "none";
			document.getElementById("CartEmptyDiv").style.display = "block";
		}
	
	} else {
		sErrorText = oError.firstChild.data;
		alert(sErrorText);
	}
}




/*******************
		AJAX
 *******************/

function xAjaxRequest(url) 
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        oRequest = new XMLHttpRequest();
        oRequest.onreadystatechange = xAjaxResponse;
        oRequest.open("GET", url, true);
        oRequest.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        try {
            oRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
	            oRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
				bWasError = true;
           	}
        }
        if (oRequest) {
        	try {
	            oRequest.onreadystatechange = xAjaxResponse;
	            oRequest.open("GET", url, true);
	            oRequest.send();
			} catch (e) {
				bWasError = true;
			}
        }
    }
}

function xAjaxResponse() 
{
    if (oRequest.readyState == 4) {
        if (oRequest.status == 200) {
        
			sMethodName = oRequest.responseXML.documentElement.getElementsByTagName('method')[0].firstChild.data;
			eval(sMethodName + '(oRequest.responseXML.documentElement.getElementsByTagName(\'result\')[0])');
        } else {
            alert("Слишком медленная связь с сервером в данный момент, попробуйте еще раз чуть позже");
        }
    }
}


if(window.HTMLElement) {
	HTMLElement.prototype.removeNode = function(removeChildren) {
	  if (Boolean(removeChildren))
		return this.parentNode.removeChild(this);
	  else {
		var r=document.createRange();
		r.selectNodeContents(this);
		return this.parentNode.replaceChild(r.extractContents(),this);
	  }
	}
}

