function refreshBasketSummaryResponse(){
	if (4 == httpRequest2.readyState) {
		if (200 != httpRequest2.status) {
			alert('Ошибка! \r' + httpRequest2.responseText);
		}
		else {
			document.getElementById('basket_summary').innerHTML = httpRequest2.responseText;
			document.getElementById('basket_summary').className = 'refresh_response';
		}
		httpRequest2 = null;
	}	
}
function refreshBasketSummaryRequest(){
	if (!httpRequest2) {
		rpc = new remoteCall();
		procedurePath = '/shop/rpc/order_admin.rpc.php?action=get_basket_summary';
		
		document.getElementById('basket_summary').className = 'refresh_request';
		
		httpRequest2 = rpc.getHttp();
		httpRequest2.onreadystatechange = refreshBasketSummaryResponse;
		httpRequest2.open("GET", procedurePath, true);
		httpRequest2.send("");
	}	
}

function deleteOrderedWaresResponse(){
	if (4 == httpRequest.readyState) {
		pleaseWaiteElement.className = 'hidden_wait_message';
		if (200 != httpRequest.status) {
			alert('Ошибка! \r' + httpRequest.responseText);
		}
		else {
			initiatorElement.parentNode.parentNode.parentNode.removeChild(initiatorElement.parentNode.parentNode);
			refreshBasketSummaryRequest();
		}
		httpRequest = null;
	}	
}
function deleteOrderedWaresRequest(){
	if (!httpRequest) {
		rpc = new remoteCall();
		var wareId = this.parentNode.parentNode.id.split('_')[1];
		var quantity = this.parentNode.parentNode.getElementsByTagName('input').item(0).value;
		procedurePath = '/shop/rpc/order_admin.rpc.php?action=delete_ordered_wares&ware_id=' + wareId + '&quantity=' + quantity;
		//alert(procedurePath);
		initiatorElement = this;
		
		pleaseWaiteElement = rpc.getWaitingMessage();
		pleaseWaiteElement.className = 'visible_wait_message';
		httpRequest = rpc.getHttp();
		httpRequest.onreadystatechange = deleteOrderedWaresResponse;
		httpRequest.open("GET", procedurePath, true);
		httpRequest.send("");
		
		return false;
	}	
}

function updateOrderedWaresResponse(){
	if (4 == httpRequest.readyState) {
		pleaseWaiteElement.className = 'hidden_wait_message';
		if (200 != httpRequest.status) {
			initiatorElement.className = 'update_failed';
			alert('Ошибка! \r' + httpRequest.responseText);
		}
		else {
			refreshBasketSummaryRequest();
		}
		httpRequest = null;
	}		
}
function updateOrderedWaresRequets(){
	if (!httpRequest) {
		rpc = new remoteCall();
		var wareId = this.parentNode.parentNode.id.split('_')[1];
		
		procedurePath = '/shop/rpc/order_admin.rpc.php?action=update_ordered_wares&ware_id=' + wareId + '&field_name=' + encodeURIComponent(this.name) + '&field_value=' + encodeURIComponent(this.value);
		//alert(procedurePath);
		initiatorElement = this;
		
		pleaseWaiteElement = rpc.getWaitingMessage();
		pleaseWaiteElement.className = 'visible_wait_message';
		httpRequest = rpc.getHttp();
		httpRequest.onreadystatechange = updateOrderedWaresResponse;
		httpRequest.open("GET", procedurePath, true);
		httpRequest.send("");
	}
}

function initTableOrderedWares(){
	var tableElementOrderedWares = document.getElementById('ordered_wares');
	if (tableElementOrderedWares) {
		var inputElements = document.getElementsByName('quantity');
		for (var i = 0; i < inputElements.length; i++){
			inputElements.item(i).onchange = updateOrderedWaresRequets;
		}
		var buttonElements = document.getElementsByName('delete_button');
		for (var i = 0; i < buttonElements.length; i++){
			buttonElements.item(i).onclick = deleteOrderedWaresRequest;
		}
	}
}

var httpRequest = null;
var httpRequest2 = null;
var initiatorElement = null;
var pleaseWaiteElement = null;

if (window.addEventListener) 
	window.addEventListener("load", initTableOrderedWares, false);
else if (window.attachEvent) 
	window.attachEvent("onload", initTableOrderedWares);