/*
    Author          : Saqib Gill
    Date Created    : 22-July-2009
    Date Changed    : 
*/
function chkStoragefields()
{
    if(document.getElementById("txtAreaName").value == "")
        {
            alert('Please Enter Area Name!');
            document.getElementById("txtAreaName").focus();
            return false;
        }
    if(document.getElementById("selAreaTypeID").value == "0")
        {
            alert('Please Select Area Type!');
            document.getElementById("selAreaTypeID").focus();
            return false;
        }
   else
        {
            return true;
        }
}

function InsertStorageDetails(formname)
{
	var data = '';
	
    var AfterStorageDetail = function(oXML) 
    {			
		var result = oXML.responseText;
		regularCursor();
		//alert (result);
		if (result != "")
		{
			alert(result);
			return;
		}
    }
	
	var BeforeStorageDetail = function(oXML) 
    {			
		var result = oXML.responseText;
		regularCursor();
		if (result != "")
		{
			var ObjStorage =  document.getElementById('selStorageArea');
			var StorageAreaName = ObjStorage.options[ObjStorage.selectedIndex].text;
			
			data = fetchInputFormData(formname);
			if (result == '1')
			{
				if( document.getElementById('txtAreaLevel').value != '')
				{
					if(confirm(StorageAreaName + ' currently contains stock. Click OK to move the stock to the newly defined area or Cancel to go back.'))
					{
						data = data	+ '&action=SaveStorage&StockAction=Move';
						hiddenSubmit('modules/Warehouse/StorageArea/StorageAreaProcess.asp',data, AfterStorageDetail, 0, null, null,true);
					}
				}
				else
				{
					data = data	+ '&action=SaveStorage&StockAction=NotMove';
					hiddenSubmit('modules/Warehouse/StorageArea/StorageAreaProcess.asp',data, AfterStorageDetail, 0, null, null,true);
				}
			}
			else
			{
				data = data	+ '&action=SaveStorage&StockAction=NotMove';
				hiddenSubmit('modules/Warehouse/StorageArea/StorageAreaProcess.asp',data, AfterStorageDetail, 0, null, null,true);
			}
		}
    }
	
	if (chkStoragefields() == true)
	{	
		data = fetchInputFormData(formname);
		if(document.getElementById('StorageAreaID').value != '')
		{
			data = data	+ '&action=CheckStorage';
			hiddenSubmit('modules/Warehouse/StorageArea/StorageAreaProcess.asp',data, BeforeStorageDetail, 0, null, null,true);
		}
		else
		{
			data = data	+ '&action=SaveStorage';
			hiddenSubmit('modules/Warehouse/StorageArea/StorageAreaProcess.asp',data, AfterStorageDetail, 0, null, null,true);	
		}
			
		checkAction(80,255,1,'frmStorageArea',false,null,false);
	}
}


function SaveStorageAreaStock(Action)
{
	
    var AfterStorageArea = function(oXML) 
        {			
            var result = oXML.responseText;
            regularCursor();
	        alert (result);
			//prompt ('',result);
        }
        if (ValidateStorageAreaStock(Action) == true)
		{	
			var data = fetchInputFormData('frmStorageAreaStock') + '&action=' + Action;
		   	hiddenSubmit('modules/Warehouse/Stock/StockStorageProcess.asp',data, AfterStorageArea, 0, null, null,true);
		    checkAction(85,262,2,'frmStorageAreaStock',false,null,false);
		}
}

function ValidateStorageAreaStock(Action)
{
	var CheckSel = false;
	var selStorageArea = document.getElementById("selStorageArea");
	var selStock = document.getElementById("selStock");
	var selStockUOM = document.getElementById("selStockUOM");
	var txtQtyAvailable = document.getElementById("txtQtyAvailable");
	
	if(selStorageArea.selectedIndex == -1)
	{
		alert('Please select valid Storage Area.')	
		return false;
	}
	else if(selStorageArea.selectedIndex == 0)
	{
		alert('Please select valid Storage Area.')	
		return false;
	}
	else if(selStock.selectedIndex == -1)
	{
		alert('Please select valid Stock for selected storage area.');	
		return false;
	}
	else if(selStockUOM.selectedIndex == -1)
	{
		alert('Please select valid Unit of Measure for selected stock.');	
		return false;
	}
	else if(txtQtyAvailable.value == '')
	{
		alert('Please enter valid Stock Quantity Avalaible for selected Storage Area of Stock.');
		return false;
	}
	if(Action == 'Edit')
	{
		if(document.getElementById("txtReason").value == '')
		{
			alert('Please enter valid reason of doing this.');
			return false;
		}
	}
	if(eval(txtQtyAvailable.value) < 0)
	{
		alert('Please enter valid Stock Quantity Avalaible for selected Storage Area of Stock.');
		return false;
	}
   	else
	{
		return true;
	}
}

function chkStorageTypefields()
{
    if(document.getElementById("txtAreaType").value == "")
        {
            alert('Please Enter Area Type Name!');
            document.getElementById("txtAreaType").focus();
            return false;
        }
   else
        {
            return true;
        }
}

function InsertStorageTypeDetails(formname)
{
    var AfterStorageTypeDetail = function(oXML) 
        {			
            var result = oXML.responseText;
            //document.getElementById("topcontent").innerHTML = result;
            //return;
            regularCursor();
	        alert (result);

	        if (result.substr(0,5).toLowerCase() == "error")
                {
	                alert(result);
	                return;
                }
        }
        if (chkStorageTypefields() == true)
            {	
               var data = fetchInputFormData(formname);
               hiddenSubmit('modules/Warehouse/StorageType/StorageTypeProcess.asp',data, AfterStorageTypeDetail, 0, null, null,true);
               checkAction(81,257,1,'frmStorageTypeArea',false,null,false);
            }
}
var PreviousEditorID = false;
//edit or create new division (Edit = 0 / Add = 1)
function createEditDivision(divisionParentID,addEdit) 
{
if (PreviousEditorID == false)
{
	if (addEdit == 0)
	{		
		//PreviousEditorID = true;
		var DivisionID = divisionParentID;	
		var SelectedValue = document.getElementById("div_" + DivisionID).innerHTML;
		document.getElementById("div_" + DivisionID).innerHTML = "<input id='editingDiv_" + DivisionID + "' type='text' value='" + SelectedValue + "' class='structure_builder_default'/>"
		document.getElementById("editingDiv_" + DivisionID).focus();		
		document.getElementById("editingDiv_" + DivisionID).select();
		document.getElementById("editingDiv_" + DivisionID).onblur = function setFocus() {document.getElementById("editingDiv_" + DivisionID).focus(); document.getElementById("editingDiv_" + DivisionID).select();}
		document.getElementById("editingDiv_" + DivisionID).onkeypress = function saveEditedDivision(event)
		{
			var ButtonPressed = isEnterKey(event);
			if (ButtonPressed)
			{
				if (document.getElementById("editingDiv_" + divisionParentID).value == "")
				{
					alert("Please supply a division name.");
				}
				else
				{
					var ReloadDivisionsEdit = function (oxml)
					{
						//var errormessage  = oxml.responseText;
						var errormessage = oxml.responseText.split(",");
						regularCursor();
						oxml = null;
					}					
					var NewValue = document.getElementById("editingDiv_" + DivisionID).value;
					var data = "DivisionID=" + DivisionID + "&DivisionName=" + encodeURIComponent(NewValue) + "&AddEdit=0";
					hiddenSubmit("modules/Warehouse/StorageArea/StoragePallestProcess.asp",data,ReloadDivisionsEdit,0,null,null,false);
					checkAction(82,258,1,'frmCompanyDivisions',false,null,false);									
				}
			}
			else
			{
				return;
			}	
		}
	}
	else
	{
		//Get reference to table. 
		//PreviousEditorID = true;
		var Table = document.getElementById('DivisionTree'); 

		//Get reference to table body. New row to be created below this one.
		var TableBody = document.getElementById("row_" + divisionParentID);
		
		//Create the new elements 
		var newWidthspacer = (document.getElementById("spacer_" + divisionParentID).offsetWidth) - 10;
		var NewRow = document.createElement("tr"); 
		var Spacer = document.createElement("td"); 
			//Spacer.width = newWidthspacer;
		var Spacer1 = document.createElement("td"); 								
		var NewDivisionCell = document.createElement("td"); 
			NewDivisionCell.innerHTML = "<img src='' width='17' height='1'/>"
		var DivisionTextbox = document.createElement("input");
			DivisionTextbox.className = "content_text_1 content_text_color_3"
			DivisionTextbox.id = "child_" + divisionParentID;
			DivisionTextbox.name = "child_" + divisionParentID;
			DivisionTextbox.value = "new division";
			DivisionTextbox.onkeypress = function saveDivision()
			//saves the added/edited division
			{
				var ButtonPressed = isEnterKey(event);
				if (ButtonPressed) 	
				{			
					if (document.getElementById("child_" + divisionParentID).value == "")
					{
							alert("Please supply a division name.");
					}
					else
					{
						var ReloadDivisions = function (oxml)
						{
							var errormessage  = oxml.responseText.split(",");
							//alert(errormessage);
							regularCursor();
							oxml = null;
						}					
						var CreatedValue = document.getElementById("child_" + divisionParentID).value;
						var data = "DivisionID=" + divisionParentID + "&DivisionName=" + encodeURIComponent(CreatedValue) + "&AddEdit=1" + "&StorageTypeId=" + document.getElementById("StorageTypeID").value;;
						hiddenSubmit("modules/Warehouse/StorageArea/StoragePallestProcess.asp",data,ReloadDivisions,0,null,null,false);	
						checkAction(82,258,1,'frmCompanyDivisions',false,null,false);			
					}
				}
				else 
				{
					return;
				}
			}
		
		//var NewCheckboxCell = document.createElement("td");
		//var DivisionCheckbox = document.createElement("input");
		//	DivisionCheckbox.type = "checkbox";
		
									
		//Add textboxes to cells 
		NewDivisionCell.appendChild(DivisionTextbox); 
		//NewCheckboxCell.appendChild(DivisionCheckbox);
		
		//Add elements to row. 
		NewRow.appendChild(Spacer); 
		NewRow.appendChild(Spacer1); 
		NewRow.appendChild(NewDivisionCell); 
		//NewRow.appendChild(NewCheckboxCell);
		
		//Add row to table 
		TableBody.appendChild(NewRow); 		
		
		//set focus to new input element
		document.getElementById("child_" + divisionParentID).focus();		
		document.getElementById("child_" + divisionParentID).select();
		document.getElementById("child_" + divisionParentID).onblur = function setFocus() {document.getElementById("child_" + divisionParentID).focus(); document.getElementById("child_" + divisionParentID).select();}
	}
}
else
{
	return;
}
}

function gotoPurchaseBasket()
{
    contentHider();
    var data = "";
    data = fetchInputFormData("frmPurchaseRequest");
    genericSubmit("/modules/Warehouse/PurchaseRequest/PurchaseBasket.asp",data,null,null,"topcontent",completedSingleLoad,regularloadingstring);
}

function gotoPurchaseCheckOut()
{
    contentHider();
    var data = "";
    data = fetchInputFormData("frmPurchaseCheckout");
    genericSubmit("/modules/Warehouse/PurchaseRequest/PurchaseCheckOut.asp",data,null,null,"topcontent",completedSingleLoad,regularloadingstring);
}

function AddToPurchaseBasket()
{
    var AfterPurchaseBasketDetail = function(oXML) 
	{			
		var result = oXML.responseText;
		if (result != '')
		{
			alert(result);
		}
		regularCursor();
    }
  
	UserID = document.getElementById("UserID").value;
	var mode = document.getElementById("mode").value;
	if(mode=="1")
	{
		var data = "action=addtobasket&UserID=" + UserID + "&mode=" + mode;
	}
	else
	{   
		if(document.getElementById("UOMID").options.length < 2)
		{
			alert('Please select stock from above grid or there is no stock uom definition exist for selected stock.');
			return false;
		}
		else if(document.getElementById("UOMID").value=="0")
		{
			alert('Please Check UOM!');
			document.getElementById("UOMID").focus();
			return false;
		}
		else if(document.getElementById("txtQty").value=="")
		{
			alert('Please Check Quantity!');
			document.getElementById("txtQty").focus();
			return false;
		}
		else
		{
			var data = "action=addtobasket&UserID=" + UserID + "&mode=" + mode + "&StockID=" + document.getElementById("StockID").value + "&QTY=" + document.getElementById("txtQty").value + "&UOM=" + document.getElementById("UOMID").value;
		}
	}
//	if (confirm ("Are you sure that you want to add stock in basket?"))
//	{
		hiddenSubmit('modules/Warehouse/PurchaseRequest/ProcessBasket.asp',data, AfterPurchaseBasketDetail, 0, null, null,true);
//	}
//	else
//	{
//		return;
//	}
}

function ShowAvailQty(UOMID,Module)
{
	var AfterShowStock = function(oXML) 
	{			
		var result = oXML.responseText;
		//alert(result);
		var ObjDiv = '';
		ObjDiv = document.getElementById("divQtyStorageArea");
		if (result != '')
		{
			ObjDiv.innerHTML = '';
			document.getElementById('txtPrevQtyAvailable').value = result;
			ObjDiv.innerHTML = "<span class='kumon_form_text_3'>" + result + "</span>";
		}
		else
		{
			ObjDiv.innerHTML = '';
			document.getElementById('txtPrevQtyAvailable').value = '0';
			ObjDiv.innerHTML = "<span class='kumon_form_text_3'>0</span>";
		}
		regularCursor();
	}
	var ObjStorageArea;
	var ObjStock = document.getElementById("selStock");
	var data = '';
	var StorageAreaID; 
	var StockID = 0;
	
	if (ObjStock.options.length > 0)
	{
		StockID = ObjStock.options[ObjStock.selectedIndex].value;
	}
	
	if (Module == 'StockMovement')
	{
		StorageAreaID = document.getElementById("StorageAreaID").value;
	}
	else
	{
		StorageAreaID = 0;
		ObjStorageArea = document.getElementById("selStorageArea");
		if (ObjStorageArea.options.length > 0)
		{
			StorageAreaID = ObjStorageArea.options[ObjStorageArea.selectedIndex].value
		}
	}
	
	var thePage = '/modules/warehouse/stock/stockstorageprocess.asp';
	data = "selStorageArea="+StorageAreaID+"&selStock="+StockID+"&selStockUOM="+UOMID;	
	data = data + "&action=ShowStock"
	//alert(data);
	hiddenSubmit(thePage,data, AfterShowStock, 0, null, null,true);
}

function StockMovement()
{
	var AfterStockMove = function(oXML) 
	{			
		var result = oXML.responseText;
		alert(result);
        		document.getElementById("bottomcontent").innerHTML = "";
		return;	
		regularCursor();
	}
	
	if (document.getElementById('selStockUOM').selectedIndex == -1)
	{
		alert('Please select valid Stock Unit of Measure');
	}
	else if (document.getElementById('txtQtyAvailable').value == '')
	{
		alert('Please enter valid quantity to move.');
	}
	else if(document.getElementById('selNewStorageArea').selectedIndex == 0 || document.getElementById('selNewStorageArea').selectedIndex == -1)
	{
		alert('Please select the valid new storage area for moving stock.');
	}
	else
	{
		var data = '';
		var thePage = '/modules/warehouse/stock/stockstorageprocess.asp';
    	data = fetchInputFormData("frmStockMovement");	
		data = data + "&action=StockMove"
		//alert(data);
	    hiddenSubmit(thePage,data, AfterStockMove, 0, null, null,true);
	}
}
function DeletePBasket(BasketID,StockID,UserID)
{
	var data = "action=DeleteBasket&BasketID=" + BasketID + "&StockID=" + StockID + "&UserID=" + UserID;	
	var thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
	var DeleteItem = function (oXML) 
	{
		var retvalue = oXML.responseText;
	    //document.getElementById("topcontent").innerHTML = result;
        //return;
		regularCursor();
	}	
	if (confirm('Are you sure you want to delete the item from basket?'))
	{
		hiddenSubmit(thepage, data, completedSingleLoad, 1,'topcontent', null, false)
		checkAction(90,266,1,null,false,null,false);
	}
}
function SavePBasket(InputQty,StockID,BasketID,PriceDiv, UnitPrice)
{
	var Quantity = InputQty.value;
	if(Quantity == '')
	{
		Quantity = 0;	
	}
	
	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);
			var Vat = document.getElementById('spVat').innerHTML = 'R ' + CurrencyFormatted(Vat);
			var Total = document.getElementById('spTotal').innerHTML = 'R ' + CurrencyFormatted(Total);	
		}
		regularCursor();
	}	
	
    var data = "action=SaveBasket&StockID=" + StockID + "&Qty=" + Quantity + "&BasketID=" + BasketID + "&UnitPrice=" + UnitPrice;	
	var thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
	hiddenSubmit(thepage, data, AfterSaveBasket, 1, 'topcontent', null, false)
	
	/*var stotal = 0;
    var sntotal = 0;
	var Total = document.getElementById("Total"+count).value;
	var Price = document.getElementById("Price"+count).value;
	var SubTotal = document.getElementById("SubTotal").value;
	
	Total = (Price * Quantity);
	document.getElementById("Total"+count).value = currencyFormatter(Total,'');
	
	for (i=0; i < document.getElementById("itemcount").value; i++) 
    {
        stotal = document.getElementById("Total"+i).value;
        stotal = stotal.replace('R ','');
        sntotal = eval(sntotal) + eval(stotal);
    }
    document.getElementById("SubTotal").value = currencyFormatter(sntotal);
    document.getElementById("GTotal").value = currencyFormatter(sntotal);*/
}
function CheckOutPBasket()
{
    /*for (i=0; i < document.getElementById("itemcount").value; i++) 
    {
        if(document.getElementById("StockApproved"+i).value == "False")
        {
        alert('Some of the items within your basket needs order approval. You can not proceed until they have been approved.');
        return;
        }
    }*/
    
	var data = "action=CheckoutBakset"
	var thepage = "/modules/Warehouse/PurchaseRequest/PurchaseCheckOut.asp";
	hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false)
}
function StorePBasket()
{
	var thepage = "/modules/Warehouse/PurchaseRequest/PurchaseBasketName.asp";
	returnid = openModalWindow(thepage,520,150,'');
	if(returnid != '' && returnid != 'undefined')
	{
	    var alertHiddenResponse = function(oXML) 
			{			
			var result = oXML.responseText;
			//document.getElementById("topcontent").innerHTML = result;
            //return;
			regularCursor();
			}
		
		data = "action=StoreBasket&BasketName="+encodeURIComponent(returnid);
		thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
		hiddenSubmit(thepage, data, alertHiddenResponse, 1, 'topcontent', null, false)
	}
}

function OpenPBasket()
{
	var thepage = "/modules/Warehouse/PurchaseRequest/PurchaseBasketName.asp?action=SavedBasket";
	returnid = openModalWindow(thepage,520,150,'');
	if(returnid != '' && returnid != 'undefined' && returnid != null)
	{
		data = "action=OpenSBasket&BasketID="+encodeURIComponent(returnid);
		thepage = "/modules/Warehouse/PurchaseRequest/purchasebasket.asp";
		hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false)
	}
}
function ClearPBasket()
{
	var data = "action=ClearBasket";
	var thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
	var DeleteItem = function (oXML) 
	{
		var retvalue = oXML.responseText;
		regularCursor();
	}	
	if (confirm('Are you sure you want to remove all the items from your basket?'))
	{
		hiddenSubmit(thepage, data, completedSingleLoad,1,'topcontent', null, false)
		checkAction(90,266,1,null,false,null,false);
	}
}

function SavePCheckout()
{
	var CenterRef = document.getElementById('Reference').value;
	var Comments = document.getElementById('Comments').value;
	
	var AfterSaveOrder = function(oXML) 
	{			
		var result = oXML.responseText;
		alert(result);
		checkAction(121,280,2,null,false,null,false);
		regularCursor();
	}		
	if(document.getElementById('AddressID').value == 0)
	{
		alert('Please enter valid address for user logged in.');	
	}
	else
	{
		var thepage = "/modules/Warehouse/PurchaseRequest/PurchaseRequestProcess.asp";
		var data = 'action=SubmitOrder&' + fetchInputFormData('frmCheckOut');
		hiddenSubmit(thepage,data, AfterSaveOrder, 1, false, null,true);
	}
}
function UpdateSPBasket(StockID,BasketID,objsel)
{

    var data = "action=UpdateSupplier&StockID=" + StockID + "&BasketID=" + BasketID + "&SupplierID=" + objsel.value;	
    //alert(data);
    var thepage = "/modules/Warehouse/PurchaseRequest/ProcessBasket.asp";
	hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false)
	checkAction(96,276,1,"frmCheckOut",false,null,false);
	
}

function SearchStockList(ObjStockSearch, selStock, e, Module)
{
	SearchList(ObjStockSearch,selStock,e);
	var StockValue = ''; 
	var selStorageArea = '';
	if(Module == 'StockMovement')
	{
		StockValue = document.getElementById(selStock).options[document.getElementById(selStock).selectedIndex].value;
		StockValue = StockValue + '|' + document.getElementById('StorageAreaID').value;
	}
	else if(Module == 'SupplierStockReturn')
	{
		selStorageArea = document.getElementById('selStorageArea');
		StockValue = document.getElementById(selStock).options[document.getElementById(selStock).selectedIndex].value;
		if(isEnterKey(e) == true)
		{
			//alert(document.getElementById(selStock).options[document.getElementById(selStock).selectedIndex].value);
			getData('StockStorageArea','selStorageArea',StockValue);
		}
		StockValue = StockValue + '|' + selStorageArea.options[0].value;
	}	
	else
	{
		StockValue = document.getElementById(selStock).options[document.getElementById(selStock).selectedIndex].value;
	}
	
	if(isEnterKey(e) == true)
	{
		if (Module == 'StockMovement' || Module == 'SupplierStockReturn')
		{
			//alert(selStorageArea.options[selStorageArea.selectedIndex].text);
			getData('StorageStockUOM','selStockUOM',StockValue);
			var selStockUOM = document.getElementById('selStockUOM');
			//alert(selStockUOM.options[0].value)
			ShowAvailQty(selStockUOM.options[0].value,Module);
		}
		else
		{
			getData('StockUOM','selStockUOM',StockValue);	
		}
	}

}

function AssignStorageAreaName(StorageAreaID)
{
		var AfterGet = function(oXML) 
		{			
			var result = oXML.responseText;
			if(result != '')
			{
				var ArrStorage = result.split('^||^');
				document.getElementById('txtAreaName').value = ArrStorage[0];	
				if(ArrStorage[2] == 'True')
				{
					document.getElementById('chkActive').checked = true;	
				}
				else
				{
					document.getElementById('chkActive').checked = false;	
				}
				var selType = document.getElementById('selAreaTypeID');
				for(k=0;k<selType.options.length;k++)
				{
					if(selType.options[k].value == ArrStorage[1])
					{
						selType.options[k].selected = true;
						break;
					}
				}
			}
			else
			{
				document.getElementById('txtAreaName').value = '';			
			}
			regularCursor();
		}		
		var thepage = "/modules/Warehouse/StorageArea/StorageAreaProcess.asp";
		var data = 'action=GetStorageAreaName&selStorageArea=' + StorageAreaID;
		//alert(data);
		hiddenSubmit(thepage,data, AfterGet, 1, false, null,true);	
}