var _LINK_TO_UPDATER_ = "/shared/services/products/updateBasket.jsp";

function addProduct (pid, basketUrl) {
    if (document.getElementById("basketStatus") != undefined) {
        document.getElementById("basketStatus").innerHTML="<img src='/images/services/products/ind.gif' align='absmiddle'> "+_UPDATING_DATA_+"...";
    } else if (document.getElementById("updateInfo_"+pid) != undefined){
		document.getElementById("updateInfo_"+pid).innerHTML="<img src='/images/services/products/ind.gif' align='absmiddle'> "+_UPDATING_DATA_+"...";
	}
    xmlhttpPost(_LINK_TO_UPDATER_, pid, basketUrl);
}

function xmlhttpPost(strURL, pid, basketUrl, delProduct, fullRequest) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            if (document.getElementById("basketStatus") != undefined) {
                updatepage(self.xmlHttpReq.responseText);
            } else if (document.getElementById("updateInfo_"+pid) != undefined){
				document.getElementById("updateInfo_"+pid).innerHTML="";
			}
        }
    }
    var requestData = "";
    if (pid != null && pid != "") {
        requestData += "pid="+pid;
    }
    if (basketUrl != null && basketUrl != "") {
        requestData += "&basket="+basketUrl;
    }
    if (delProduct != null && delProduct == true) {
        requestData += "&delete=true";
    }
    if (fullRequest != null && fullRequest != "") {
        requestData = fullRequest; 
    }
    self.xmlHttpReq.send(requestData);
}
function delProduct (pid) {
    var delSumm = document.getElementById("oneItemCost_"+pid).innerHTML;
    delSumm = /\d+/.exec(delSumm);
    var kolvo = document.getElementById("qty"+pid).value;
    var totalPrice = document.getElementById("totalPrice").innerHTML;
    var check = /\d+/.exec(totalPrice);
    var summ = check[0]-(delSumm*kolvo);
    document.getElementById("totalPrice").innerHTML = totalPrice.replace(/\d+/, summ);
	if (document.getElementById("basketStatus") != undefined) {
	    document.getElementById("basketStatus").innerHTML="<img src='/images/services/products/ind.gif' align='absmiddle'> "+_UPDATING_DATA_+"...";
	}
    var tr = document.getElementById("tr_"+pid);
    tr.parentNode.removeChild(tr);
    if (summ == 0){
        document.getElementById("emptyBasket").innerHTML=_EMPTY_CART_;
        var td = document.getElementById("finalBuyButton");
        td.parentNode.removeChild(td);
    }
    xmlhttpPost(_LINK_TO_UPDATER_, pid, "", true);
}

function updateProduct (rid) {
    if (document.getElementById("basketStatus") != undefined) {
        document.getElementById("basketStatus").innerHTML="<img src='/images/services/products/ind.gif' align='absmiddle'> "+_UPDATING_DATA_+"...";
	}
	var formProcucts = document.getElementsByName("form"+rid)[0];
	var inputList = formProcucts.getElementsByTagName("input");
	var requestString = "";
	for (var i=0; i<inputList.length;i++){
		if (inputList[i].name.indexOf("qty") != -1) {
			if (requestString != "") {
				requestString += "&";
			}
			requestString += inputList[i].name+"="+inputList[i].value;
		}
	}
	requestString = "action=update&"+requestString;
	xmlhttpPost(_LINK_TO_UPDATER_,null,null,null,requestString);
}
function delAllProduct() {
	if (document.getElementById("basketStatus") != undefined) {
        document.getElementById("basketStatus").innerHTML="<img src='/images/services/products/ind.gif' align='absmiddle'> "+_UPDATING_DATA_+"...";
	}
    xmlhttpPost("<%=linkToUpdater%>", "*", "", true);
}