

function SaveReceivingStock()
{
	var ObjQty;
	var ObjPQty;
	var ObjStock;
	var ObjUOM;
	var ObjPUOM;
	var ObjUnitPrice;
	var Valid = true;
	var data = "";
	
	var BackOrder = false;
	var BOQty = '';
	var BOStockID = '';
	var BOUOMID = '';
	var BOPUOMID = '';
	var BOStockQty = '';
	var BOUnitPrice = '';
	var BOStockReceived = '';
	var BOStockPurchased = '';

	var Counter = document.getElementById("txtCounter").value;
	var ObjPurchase = document.getElementById("PurchaseID");

	document.getElementById('BackOrder').value = BackOrder;
	
	var CheckBackOrder = function(oXML)
		{
			var returnStr = oXML.responseText;
			var ArrRet = returnStr.split('|');
			var returnBO = ArrRet[0];
			var k = ArrRet[1];
			//alert(k)
			if (returnBO != '' && returnBO != 'undefined')
			{
				ObjQty = document.getElementById("txtQty"+k);	
				ObjPQty = document.getElementById("txtPQty"+k);
				ObjStock = document.getElementById("StockID"+k);
				ObjUOM = document.getElementById("UOMID"+k);
				ObjPUOM = document.getElementById("PrevUOMID"+k);
				ObjUnitPrice = document.getElementById("UnitPrice"+k);					
				if (returnBO == '3')
				{
					alert('Quantity received can\'t be higher than the purchased quantity. Please enter a correct received quantity');
					ObjQty.focus()
					Valid = false;
				}
				else if(returnBO == '1')
				{
					BackOrder = true;
					BOStockID = BOStockID + ObjStock.value + '|';
					BOUOMID = BOUOMID + ObjUOM.value + '|';
					BOPUOMID = BOPUOMID + ObjPUOM.value + '|';
					BOUnitPrice = BOUnitPrice + ObjUnitPrice.value + '|';
					BOStockReceived = BOStockReceived + ObjQty.value + '|';	
					BOStockPurchased = BOStockPurchased + ObjPQty.value + '|';	
					document.getElementById('BackOrder').value = BackOrder;
					document.getElementById('BOStockID').value = BOStockID;
					document.getElementById('BOUOMID').value = BOUOMID;
					document.getElementById('BOPUOMID').value = BOPUOMID;
					document.getElementById('BOUnitPrice').value = BOUnitPrice;
					document.getElementById('BOStockReceived').value = BOStockReceived;
					document.getElementById('BOStockPurchased').value = BOStockPurchased;
					//alert(BOPUOMID);
				}
			}
			regularCursor();
		}
	
	for(k=0;k<Counter;k++)
	{
		ObjQty = document.getElementById("txtQty"+k);	
		ObjPQty = document.getElementById("txtPQty"+k);
		ObjStock = document.getElementById("StockID"+k);
		ObjUOM = document.getElementById("UOMID"+k);
		ObjPUOM = document.getElementById("PrevUOMID"+k);
		ObjUnitPrice = document.getElementById("UnitPrice"+k);	
		ObjStorage = document.getElementById("StorageAreaID"+k);	
		
		if (ObjQty.value == '')
		{
			alert('Please enter a valid value for the Received Quantity');
			ObjQty.focus()
			Valid = false;
			break;
		}
		else if(ObjQty.value > 0)
		{
			if(ObjUnitPrice.value == '' || ObjUnitPrice.value <= 0)
			{
				alert('Please enter a valid value for the Unit Price.');
				ObjUnitPrice.focus()
				Valid = false;
				break;			
			}
			else if(ObjStorage.value == 0 || ObjStorage.value == '')
			{
				alert('Please select valid storage area to receive stock.');
				Valid = false;
				break;			
			}
			else
			{
			    data = 'action=CheckBackOrder&PurchaseID='+ObjPurchase.value+'&StockID='+ObjStock.value+'&UOMID='+ObjUOM.value+'&PUOMID='+ObjPUOM.value+'&StockReceived='+ObjQty.value+'&CountField='+k;
			    thePage = '/modules/warehouse/purchaserequest/purchaserequestprocess.asp';
			    hiddenSubmit(thePage,data, CheckBackOrder, 0, null, null,false);
			}
		}
		else if(ObjQty.value <= 0)
		{
		    ObjQty.value = 0;
		    if(ObjUnitPrice.value == '')
		    {
		        ObjUnitPrice.value = 0;
		    }   
		    ObjStorage.value = 0;
		    data = 'action=CheckBackOrder&PurchaseID='+ObjPurchase.value+'&StockID='+ObjStock.value+'&UOMID='+ObjUOM.value+'&PUOMID='+ObjPUOM.value+'&StockReceived='+ObjQty.value+'&CountField='+k;
		    thePage = '/modules/warehouse/purchaserequest/purchaserequestprocess.asp';
		    hiddenSubmit(thePage,data, CheckBackOrder, 0, null, null,false);
		}
		
		if (Valid == false)
		{
			break;	
		}
	}
	
	//BackOrder = document.getElementById('BackOrder').value;
	var AfterUpdateOrder = function(oXML)
	{
		var returnval = oXML.responseText;
		alert(returnval)
		regularCursor();
	}	
	
	if (Valid == true)
	{
		data = 'action=UpdateOrderLineItem'
		if(BackOrder == true)
		{
			if (confirm('Do you want to create a back order for this item?'))	
			{
				BOStockID = document.getElementById('BOStockID').value;
				BOUOMID = document.getElementById('BOUOMID').value;
				BOPUOMID = document.getElementById('BOPUOMID').value;
				BOUnitPrice = document.getElementById('BOUnitPrice').value;
				BOStockReceived = document.getElementById('BOStockReceived').value;				
				BOStockPurchased = document.getElementById('BOStockPurchased').value;				
				data = data + '&OrderAction=CreateBackOrder&SBOStockID=' + BOStockID + '&SBOUOMID=' + BOUOMID + '&SBOPUOMID=' + BOPUOMID + '&SBOUnitPrice=' + BOUnitPrice + '&SBOStockReceived=' + BOStockReceived + '&SBOStockPurchased=' + BOStockPurchased;
			}		
		}
		data = data + '&' + fetchInputFormData('frmPurchaseRequestItem') ;
		//alert(data);
		thePage = '/modules/warehouse/purchaserequest/purchaserequestprocess.asp';
		hiddenSubmit(thePage,data, AfterUpdateOrder, 0, null, null,true);
		checkAction(93,269,1,'frmPurchaseRequestItem',false,null,false);	
	}
}

function DeletePurchaseOrderItem(PurchaseID, StockID, UOMID)
{
	var AfterDeleteOrder = function(oXML)
	{
		var returnval = oXML.responseText;
		alert(returnval);
		regularCursor();
	}
	if(confirm('Are you sure you want to delete the order line item?'))
	{
		var data = 'action=DeleteOrderLineItem&PurchaseID='+PurchaseID+'&StockID='+StockID+'&UOMID='+UOMID;
		//alert(data);
		var thePage = '/modules/warehouse/purchaserequest/purchaserequestprocess.asp';
		hiddenSubmit(thePage,data, AfterDeleteOrder, 0, null, null,true);
		checkAction(93,269,1,'frmPurchaseRequestItem',false,null,false);		
	}
}

function UpdatePOPrices(BasketID, StockID, PriceListID, EffectiveDate, Counter)
{
	var PriceDiv = 'sPriceValue_'+Counter;
	var Quantity = document.getElementById('txtQty_'+Counter).value;
	var UnitPrice = document.getElementById('txtUnitPrice_'+Counter).value;
	
	var AfterSaveBasket = function (oXML) {
		var retvalue = oXML.responseText;
		//alert(retvalue);
		if (retvalue != '')
		{
			var PriceValue = (Quantity * UnitPrice);
			var SubTotal = Math.round(retvalue);
			var Vat = (SubTotal * .14);
			var Total = Math.round(SubTotal + Vat);
			
			document.getElementById(PriceDiv).innerHTML = 'R ' + CurrencyFormatted(Math.round(PriceValue));
			document.getElementById('spSubTotal').innerHTML = 'R ' + CurrencyFormatted(SubTotal);
			document.getElementById('spVat').innerHTML = 'R ' + CurrencyFormatted(Vat);
			document.getElementById('spTotal').innerHTML = 'R ' + CurrencyFormatted(Total);	
		}
		regularCursor();
	}	

    var data = "action=SaveBasket&StockID=" + StockID + "&Qty=" + Quantity + "&BasketID=" + BasketID + "&UnitPrice=" + UnitPrice + "&PriceListID=" + PriceListID + "&EffectiveDate=" + encodeURIComponent(EffectiveDate);	
    //alert(data);
	var thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
	hiddenSubmit(thepage, data, AfterSaveBasket, 1, 'topcontent', null, false)
}

function UpdateSRPrices(PriceDiv, Counter, StockID, UOMID, PurchaseID)
{
	
	var UnitPrice = 0;
	var Quantity = 0;
	var TotalRec = document.getElementById('txtCounter').value;
	
	var SubTotal = 0;
	
	for(var k=0; k< TotalRec;k++)
	{
		Quantity = document.getElementById('txtQty'+k).value;
		UnitPrice = document.getElementById('UnitPrice'+k).value;
		SubTotal = SubTotal + (Quantity * UnitPrice);
	}
	
	document.getElementById('OrderTotal').value = SubTotal;
	
	Quantity = document.getElementById('txtQty'+Counter).value;
	UnitPrice = document.getElementById('UnitPrice'+Counter).value;
	StorageAreaID = document.getElementById('StorageAreaID'+Counter).value;

	var PriceValue = (Quantity * UnitPrice);
	//Math.round(retValue,10);
	var Vat = (SubTotal * .14);
	var Total = (SubTotal + Vat);
	
	var AfterSaveOrder = function (oXML) {
	var retvalue = oXML.responseText;
	//alert(retvalue);
		if (retvalue == 'Done')
		{
			document.getElementById(PriceDiv).innerHTML =  'R ' + CurrencyFormatted(PriceValue);
			document.getElementById('spSubTotal').innerHTML = 'R ' + CurrencyFormatted(SubTotal);
			document.getElementById('spVat').innerHTML = 'R ' + CurrencyFormatted(Vat);
			document.getElementById('spTotal').innerHTML =  'R ' + CurrencyFormatted(Total);
		}
	}
	
	var data = "action=UpdatePurchaseOrderQty&StockID=" + StockID + "&PurchaseID=" + PurchaseID + "&UnitPrice=" + UnitPrice + "&UOMID=" + UOMID + "&ReceivedQty=" + Quantity + "&StorageAreaID=" + StorageAreaID;	
    //alert(data);
	var thepage = "/modules/Warehouse/PurchaseRequest/purchaserequestprocess.asp";
	hiddenSubmit(thepage, data, AfterSaveOrder, 1, 'topcontent', null, false)
}


function SelectStorageArea(Counter, StockID, UOMID, PurchaseID)
{
	var StorageAreaID = document.getElementById('StorageAreaID'+Counter).value;
	var thepage = "/modules/warehouse/purchaserequest/PurchaseRequestStorageSelection.asp?StorageAreaID="+StorageAreaID;
	returnid = openModalWindow(thepage,480,380,'');
	if(returnid != '' && returnid != 'undefined' && returnid != null)
	{
		var StorageStr = decodeURIComponent(returnid);
		var ArrStorageStr = StorageStr.split('||^^||');
		var Quantity = document.getElementById('txtQty'+Counter).value;
		var UnitPrice = document.getElementById('UnitPrice'+Counter).value;
		
		document.getElementById('StorageAreaID'+Counter).value = ArrStorageStr[0];
		document.getElementById('StorageLink'+Counter).innerHTML = ArrStorageStr[1];

		var AfterSaveOrder = function (oXML) {
		var retvalue = oXML.responseText;
		//alert(retvalue);
		}
		var data = "action=UpdatePurchaseOrderQty&StockID=" + StockID + "&PurchaseID=" + PurchaseID + "&UnitPrice=" + UnitPrice + "&UOMID=" + UOMID + "&ReceivedQty=" + Quantity + "&StorageAreaID=" + ArrStorageStr[0];	
		thepage = "/modules/Warehouse/PurchaseRequest/purchaserequestprocess.asp";
		hiddenSubmit(thepage, data, AfterSaveOrder, 1, 'topcontent', null, false)		
	}
}
