// JavaScript Document


function SaveStockReturn(Action, SCompID)
{
	var AfterSaveOrder = function(oXML)
	{
		var returnval = oXML.responseText;
		alert(returnval);
		regularCursor();
	}
	
	if(ValidateStockReturn())
	{
		var data = 'action='+ Action +'&' + fetchInputFormData('frmStockReturn');
		var thePage = '/modules/warehouse/stockreturn/stockreturnprocess.asp';
		hiddenSubmit(thePage,data, AfterSaveOrder, 0, null, null,true);		
		if(SCompID == 284)
		{
			checkAction(106,284,2,null,false,null,false);
		}
		else
		{
			checkAction(121,302,2,null,false,null,false);
		}
	}
}

function ValidateStockReturn()
{
	if (document.getElementById('selUser').selectedIndex == -1)
	{
		alert('Please select a valid User for the selected Centre');
		return false;
	}
	else if(document.getElementById('txtReturnReason').value == '')
	{
		alert('Please enter a valid Reason for the Return');
		document.getElementById('txtReturnReason').focus();
		return false;
	}
	else if(document.getElementById('txtCheckItem').value.trim() == 'False')
	{
		var Valid = true;
		var ObjQtyReturn;
		var Count = document.getElementById('txtCounter').value;

		for(var k=0;k<Count;k++)
		{
			ObjQtyReturn = document.getElementById('txtQtyReturned'+k);
			if (ObjQtyReturn.value == '')
			{
				alert('Please enter a valid Return Quantity');
				ObjQtyReturn.focus();
				Valid = false;
				break;
			}
		}

		if (Valid == true)
		{
			for(var k=0;k<Count;k++)
			{
				ObjStorageArea = document.getElementById('StorageAreaID'+k);
				if(ObjStorageArea != 'undefined' && ObjStorageArea != null)
				{
					if (ObjStorageArea.value == '')
					{
						alert('Please select valid Storage Area for stock.');
						Valid = false;
						break;
					}
				}			
			}			
		}

		return Valid;
	}
	else
	{
		return true;	
	}
}

function SaveSupplierStockReturn(Action)
{
	var AfterSaveOrder = function(oXML)
	{
		var returnval = oXML.responseText;
		alert(returnval);
		regularCursor();
	}
	
	if(ValidateSupplierStockReturn())
	{
		if(document.getElementById('txtCheckItem').value.trim() == 'False')
		{
			if(confirm('Are you sure you want to Return selected stock to Supplier, because it will effect on selected Storage Area Stock quantity.'))
			{
				var data = 'action='+ Action +'&' + fetchInputFormData('frmSupplierStockReturn');
				var thePage = '/modules/warehouse/stockreturn/stockreturnprocess.asp';
				hiddenSubmit(thePage,data, AfterSaveOrder, 0, null, null,true);	
				checkAction(116,296,2,null,false,null,false);
				checkAction(114,295,2,null,false,null,false);
			}
		}
		else
		{
			var data = 'action='+ Action +'&' + fetchInputFormData('frmSupplierStockReturn');
			var thePage = '/modules/warehouse/stockreturn/stockreturnprocess.asp';
			hiddenSubmit(thePage,data, AfterSaveOrder, 0, null, null,true);		
			checkAction(114,295,2,null,false,null,false);
		}
		
	}
}

function ValidateSupplierStockReturn()
{
	if(document.getElementById('txtReturnReason').value == '')
	{
		alert('Please enter a valid Reason for the Return');
		document.getElementById('txtReturnReason').focus();
		return false;
	}
	else if(document.getElementById('txtCheckItem').value.trim() == 'False')
	{
		//alert('hi')
		var Valid = true;
		if(document.getElementById('selStock').selectedIndex == -1)
		{
			alert('Please select valid Stock to Save Stock Return.');
			document.getElementById('selStock').focus();
			Valid = false;
		}
		else if(document.getElementById('selStorageArea').selectedIndex == -1)
		{
			alert('Please select valid Stock Area to Save Stock Return.');
			document.getElementById('selStorageArea').focus();
			Valid = false;
		}
		else if(document.getElementById('selStockUOM').selectedIndex == -1)
		{
			alert('Please select valid Stock UOM Description to Save Stock Return.');
			document.getElementById('selStockUOM').focus();
			Valid = false;
		}	
		else if(document.getElementById('txtQtyReturned').value == '')
		{
			alert('Please enter valid quantity for stock return.');
			document.getElementById('txtQtyReturned').focus();
			Valid = false;
		}
		else if(document.getElementById('txtQtyReturned').value != '')
		{
			var StockAvail = document.getElementById('divQtyStorageArea').innerHTML.toLowerCase();
			StockAvail = trim11(StockAvail);
			StockAvail = StockAvail.substring(32,StockAvail.length)
			StockAvail = StockAvail.replace('</span>','');
			var StockReturned = document.getElementById('txtQtyReturned').value;
			if (eval(StockReturned) > eval(StockAvail))
			{
				alert('Stock returned cannot exceed from Stock Available.');
				document.getElementById('txtQtyReturned').focus();
				Valid = false;
			}
		}		
		return Valid;
	}
	else
	{
		return true;	
	}
}

function trim11 (str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

function CheckForStockReturn(){

	var StockReturnID = document.getElementById('StockReturnID').value;
	var ObjCenter = document.getElementById('selCenter');
	var CenterID = ObjCenter.value;
	var ObjUser = document.getElementById('selUser');
	var UserID = ObjUser.value;
	var gridpage = '/modules/warehouse/stockreturn/stockreturnsearchgrid.asp?StockReturnID=' + StockReturnID +'&CenterID='+CenterID+'&UserID='+UserID;

	popUpStockReturnSearch(gridpage);
}


function popUpStockReturnSearch(page){
	var returnid = '';
	var searchvalue = 'A1';
	returnid = openModalWindow(page,750,600,searchvalue);
	if(returnid != '' && returnid != 'undefined' && returnid != null)
	{
		SaveReturnStockItem(returnid);
	}
}

function SaveReturnStockItem(ReturnStr)
{
	var ArrRet = ReturnStr.split('|^^|');
	var StockID = ArrRet[0];
	var UOMID = ArrRet[1];
	var StockReturnID = document.getElementById('StockReturnID').value
	var UserID = document.getElementById('selUser').value
	var CenterID = document.getElementById('selCenter').value;
	var AfterAddStock = function(oXML)
	{
		var ReturnStr = oXML.responseText;
		alert(ReturnStr);
		regularCursor();
	}

	var data = 'action=addstocktostockreturn&StockReturnID=' + StockReturnID + '&selUserID=' + UserID + '&selCenterID=' + CenterID + '&StockID=' + StockID + '&UOMID=' + UOMID; 
	//alert(data);
	var thePage = "/modules/warehouse/stockreturn/edStockReturn.asp";
	hiddenSubmit(thePage, data, completedSingleLoad, 1, 'bottomcontent', null, false);
}

function DeleteStockReturnItem(StockReturnID, CenterID, UserID, StockID, UOMID)
{
	var data = 'StockReturnID='+StockReturnID+'&CenterID='+CenterID+'&UserID='+UserID+'&StockID='+StockID+'&UOMID='+UOMID;
	var thePage = '';

	var AfterDeleteOrder = function(oXML)
	{
		var returnval = oXML.responseText;
		thePage = '/modules/warehouse/stockreturn/edstockreturn.asp';
		hiddenSubmit(thePage, data, completedSingleLoad, 1, 'bottomcontent', null, false)
		regularCursor();
	}
	if(confirm('Are you sure you want to delete the stock return line item?'))
	{
		data = data + '&action=DeleteStockReturnLineItem'
		thePage = '/modules/warehouse/stockreturn/stockreturnprocess.asp';
		hiddenSubmit(thePage,data, AfterDeleteOrder, 0, null, null,true);
	}
}

function ApprovedStockReturn()
{
	var data = 'action=approvestockreturn&' + fetchInputFormData('frmStockReturn'); 
	var thePage = '';
	
	var AfterAcceptStockReturn = function(oXML)
	{
		var ReturnStr = oXML.responseText;
		alert(ReturnStr);
		thePage = '/modules/warehouse/stockreturn/edstockreturn.asp';
		hiddenSubmit(thePage, data, completedSingleLoad, 1, 'bottomcontent', null, false)
		checkAction(121,302,2,null,false,null,false);
		regularCursor();
	}
	if (ValidateStockReturn())
	{
		//if(confirm('Are you sure you want to approve the stock return, because it will effect on storage area stock.'))
		//{
			thePage = "/modules/warehouse/stockreturn/stockreturnprocess.asp";
			//alert(data);
			hiddenSubmit(thePage,data, AfterAcceptStockReturn, 0, null, null,true);
		//}
	}
}


function UpdateStockReturn()
{
	var data = 'action=UpdateStockReturn&' + fetchInputFormData('frmStockReturn'); 
	var thePage = '';
	
	var AfterAcceptStockReturn = function(oXML)
	{
		var ReturnStr = oXML.responseText;
		alert(ReturnStr);
		thePage = '/modules/warehouse/stockreturn/edstockreturn.asp';
		hiddenSubmit(thePage, data, completedSingleLoad, 1, 'bottomcontent', null, false)
		checkAction(121,309,2,null,false,null,false);
		regularCursor();
	}
	if (ValidateStockReturn())
	{
		if(confirm('Are you sure you want to update the stock return, because it will effect on storage area stock.'))
		{
			thePage = "/modules/warehouse/stockreturn/stockreturnprocess.asp";
			//alert(data);
			hiddenSubmit(thePage,data, AfterAcceptStockReturn, 0, null, null,true);
		}
	}
}

function EditStockReturnItem(StockReturnID, CenterID, UserID, StockID, UOMID, ObjQtyReturn)
{
	var QtyReturned = ObjQtyReturn.value;
	
	var thePage = '';

	var AfterSaveItem = function(oXML)
	{
		var returnval = oXML.responseText;
		regularCursor();
	}
	if(QtyReturned == '')
	{
		alert('Please enter a valid Return Quantity');
		objQtyReturn.focus();
	}
	else
	{
		var data = 'action=editstockreturnitem&StockReturnID='+StockReturnID+'&CenterID='+CenterID+'&UserID='+UserID+'&StockID='+StockID+'&UOMID='+UOMID+'&QtyReturned='+QtyReturned;
		thePage = '/modules/warehouse/stockreturn/stockreturnprocess.asp';
		hiddenSubmit(thePage,data, AfterSaveItem, 0, null, null,true);
	}
}

function SelectStock(Type, DropDown, ID)
{
	//alert(Type)
	getData(Type,DropDown,ID);
	
	var selStorageArea = document.getElementById(DropDown);
	var StorageAreaID = 0;
	
	if (selStorageArea.options.length > 0)
	{
		StorageAreaID = selStorageArea.options[selStorageArea.selectedIndex].value;
		selStorageArea.options[selStorageArea.selectedIndex].selected = true;
	}
	
	getData('StorageStockUOM','selStockUOM',ID + '|' + StorageAreaID);
	
	var selStockUOM = document.getElementById('selStockUOM');
	var UOMID = 0;
	if (selStorageArea.options.length > 0)
	{
		UOMID = selStockUOM.options[selStockUOM.selectedIndex].value;
		selStockUOM.options[selStockUOM.selectedIndex].selected = true;
	}
	ShowAvailQty(UOMID);
}

function GetSupplierStock(ObjSupplier, Type, DropDown)
{
	var SupplierID = ObjSupplier.value;	
//	alert(SupplierID)
	getData(Type,DropDown,SupplierID);
	var ObjStock = document.getElementById(DropDown);
	var StockID = 0;
	if (document.getElementById(DropDown).options.length > 0)
	{
		StockID = ObjStock.options[0].value;
		ObjStock.options[0].selected = true;
	}
	//alert(StockID);
	SelectStock('StockStorageArea','selStorageArea',StockID);
}


function SelectReturnStorageArea(Counter)
{
	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('||^^||');
		document.getElementById('StorageAreaID'+Counter).value = ArrStorageStr[0];
		document.getElementById('StorageLink'+Counter).innerHTML = ArrStorageStr[1];
//		alert(decodeURIComponent(returnid))
	}
}