

function myCallBackFunc(element, isSelected ){
	var ObjInput = element.getElementsByTagName("input")[0];
	var ID = ObjInput.id;
	var IDArr = ID.split('_');
	var col = IDArr[2];
	var row = IDArr[1];
	var Check = false;
	var lastCol = document.getElementById("txtCol_"+row).value;
	if(col == 0 || col == lastCol)
	{
		Check = true;
	}
	if(row == 0)
	{
		Check = true;
	}
	
	if(Check == false)
	{
		element.getElementsByTagName("input")[0].style.backgroundColor = isSelected ? "#CCCCCC" : "#FFFFFF"
	}
}


function openImageWindow(ImagePath)
{
	var URL = ImagePath;
	window.open(URL, 'ENLARGEMENT', "left=0,screenX=0,top=0,screenY=0,fullscreen=no,menubar=no,statusbar=no,resizable=yes")	
}

function ApplyValue(Val,StockTypeID)
{
	var AddVal = 0;
	var ChkVal = 0;
	var RowCount = document.getElementById("txtRow").value;
	//alert(RowCount);
	if(Val != '')
	{
		for (var r=1;r<RowCount;r++)
		{
			AddVal = 0;
			ChkVal = 0
			var ColCount = document.getElementById("txtCol_"+r).value;
			var eqname = 'txtOrderItemQtyTotal_' + r + '_' + ColCount;
			//alert(eqname);
			var eq = document.getElementById(eqname);
			for (var c=1;c<ColCount-1;c++)
			{
				var ename = 'txtOrderItemQty_' + r + '_' + c;
				//alert(ename);
				var e = document.getElementById(ename);
				if(e.style.backgroundColor == '#cccccc' || e.style.backgroundColor == 'rgb(204, 204, 204)')
				{
					e.value = Val;
					var se = 'StockID_' + r + '_' + c;
					var StockID = document.getElementById(se).value;
					//alert(StockID)
					SaveOrder(e, StockID, StockTypeID);
				}
				ChkVal = (e.value == '')? '0' : e.value;
				AddVal = eval(AddVal) + eval(ChkVal);	
			}
			if(AddVal !=0)
			{
				eq.value = AddVal;
			}
		}
	}
}

function catalogueStandardSearch(DisplayImages, e)
{
	var evt = e || window.event;
  	var keyPressed = evt.which || evt.keyCode;
	
	var theSearchValue = document.getElementById('txtSearch').value;
	var StockTypeID = document.getElementById('StockTypeID').value;
	
	var thepage = '/modules/orders/edChargeableOrder.asp';
	var data = 'action=Search&txtSearch=' + encodeURIComponent(theSearchValue) + '&StockTypeID=' + StockTypeID + '&txtDisplayImages=' + DisplayImages;
	//alert(data);
	if(evt.type == 'keypress')
	{
		if(keyPressed == 13)
		{
			hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false);
		}
	}
	else
	{
		hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false);
	}
}

function GotoPage(division, currentpage, DisplayImages, thepage)
{

	var theSearchValue = document.getElementById('txtSearch').value;
	var StockTypeID = 0;
	if(document.getElementById('StockTypeID'))
	{
		StockTypeID = document.getElementById('StockTypeID').value;
	}
	var action = '';
	if(document.getElementById('action'))
	{
		action = document.getElementById('action').value;
	}
	var PageStart = document.getElementById('PageStart').value;
	var PageEnd = document.getElementById('PageEnd').value;
	
	var data = 'action='+ action +'&txtSearch=' + encodeURIComponent(theSearchValue) + '&StockTypeID=' + StockTypeID + '&txtDisplayImages=' + DisplayImages + '&page=' + currentpage + '&PageStart=' + PageStart + '&PageEnd=' + PageEnd;
	hiddenSubmit(thepage, data, completedSingleLoad, 1, division, null, false);
}

function SaveOrder(ObjInput, StockID, StockTypeID, MaxQtyExceed)
{
	if(ObjInput.value == '')
	{
		ObjInput.value = 0;
	}
	
	if(ObjInput.value != '')
	{
		var AfterSaveOrder = function(oXML) {			
		var result = oXML.responseText;
		regularCursor();
		}	
		var action = '';
		if (StockTypeID == 5)
		{
			action = 'saveenglishworksheet';	
		}
		else
		{
			action = 'savemathworksheet';	
		}
		var thepage = '/modules/basket/processbasket.asp';
		var Quantity = ObjInput.value;
		document.getElementById('txtMaxQtyExceed').value = MaxQtyExceed;
		var data = 'action='+action+'&Qty=' + Quantity + '&StockID=' + StockID + '&StockTypeID=' + StockTypeID;
		hiddenSubmit(thepage,data, AfterSaveOrder, 0, null, null,true);
	}
}

function SaveChargeableOrder(ObjInput, StockID, StockCount, PriceDiv, UnitPrice, StockETADate)
{
	if(ObjInput.value != '' && ObjInput.value != 0)
	{
		if (ObjInput.value > StockCount)
		{
			var ETADate = new Date(StockETADate);
			var TodaysDate = new Date();
			
			var myoutofstockmsg1 = "The warehouse doesn't have sufficient stock to fulfill this request. Please reduce your quantity.";
			if (ETADate > TodaysDate)
			{
				myoutofstockmsg1 = myoutofstockmsg1 + "\n" + "More stock will be available on " + ETADate.toDateString();
			}
			
			alert(myoutofstockmsg1);
			ObjInput.focus();
		}
		else
		{
			var BeforeSaveOrder = function(oXML) {			
				var result = oXML.responseText;
				if (result == 'True')
				{
					alert('Your Order Limit of this item has been exceeded, please contact adminstrator at warehouse.');
					ObjInput.value = '';
					ObjInput.focus();	
				}
				else
				{
					var AfterSaveOrder = function(oXML) {			
					var result = oXML.responseText;
					regularCursor();
					}		
					var thepage = '/modules/basket/processbasket.asp';
					var data = 'action=savechargeablestock&Qty=' + ObjInput.value + '&StockID=' + StockID;
					hiddenSubmit(thepage,data, AfterSaveOrder, 0, null, null,true);					
				}
				regularCursor();
			}			
			var thepage = '/modules/basket/processbasket.asp';
			var data = 'action=checkOrderLimit&Qty=' + ObjInput.value + '&StockID=' + StockID;
			hiddenSubmit(thepage,data, BeforeSaveOrder, 0, null, null,true);
		}
	}
}

function initSelectionWE()
{
	mySelectables = new drag_select( "selectables_container", "LI", myCallBackFunc );
	//alert ('done');
}

function initSelectionWM()
{
	mySelectables = new drag_select( "selectables_container", "LI", myCallBackFunc );
}
function EnableInput(val,e)
{
	evt = e || window.event;
  	var keyPressed = evt.which || evt.keyCode;
	alert(keyPressed);
}

function ClearWorkSheet(StockTypeID)
{
	var data = "action=ClearWorkSheet&StockTypeID="+StockTypeID;
	var thepage = "/modules/basket/processbasket.asp";
	if (confirm('Are you sure you want to clear your worksheet?'))
	{
		hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false)
		if(eval(StockTypeID) == 5)
		{
			ActionID = 54;
			ComponentID = 214;
		}
		else
		{
			ActionID = 115;
			ComponentID = 215;
		}
		checkAction(ActionID,ComponentID,1,null,false,null,false);
	}	
}

function SaveCheckout()
{
	var CenterRef = document.getElementById('Reference').value;
	var Comments = document.getElementById('Comments').value;
	var DeliveryDate = document.getElementById('DeliveryDate').value;
	var EngTotal = document.getElementById('EngValue').value;
	var MathTotal = document.getElementById('MathValue').value;
	var EQtyAllowed = document.getElementById('EngAllowed').value;
	var MQtyAllowed = document.getElementById('MathAllowed').value;
	
/*	if(CenterRef == '')
	{
		alert('Please enter a valid Centre Reference')
		document.getElementById('Reference').focus();
	}
	else if(Comments == '')
	{
		alert('Please enter a valid Comment')
		 document.getElementById('Comments').focus();
	}
	else
	{*/
		var Checked = false;
		var AddressID = 0;
		
		var AddressCount = document.getElementById('AddressCount').value;
		var AddressType = document.getElementById('AddressType').value;
		
		if(AddressType == 1)
		{
			if (AddressCount > 1)
			{
				for(var i=0;i<AddressCount;i++)
				{
					if(document.frmCheckOut.rdoAddress[i].checked == true)
					{
						Checked = true;
						AddressID = document.frmCheckOut.rdoAddress[i].value;
						break;
					}
				}
			}
			else if(AddressCount == 0 || AddressCount == '')
			{
				alert('Please add valid address for the selected centre to proceed.');	
			}
			else
			{
				if(document.frmCheckOut.rdoAddress.checked == true)
				{
					AddressID = document.frmCheckOut.rdoAddress.value;
					Checked = true;
				}
			}
		}
		else if(AddressType == 2)
		{
			Checked	= true;	
			AddressCount = 1;
			AddressID = 18;
		}
		
		if(AddressCount > 0)
		{
			if (Checked == false)
			{
				alert('Please select a valid delivery address');	
			}
			else
			{
				var thepage = '/modules/orders/processorder.asp';
				var data = 'action=CheckDeliveryDate&DeliveryDate=' +DeliveryDate;
				
				var BeforeSaveOrder = function(oXML) {			
					var result = oXML.responseText;
					//alert(result)
					if(result != '')
					{
						data = 'action=submitorder&AddressID=' + AddressID + '&DeliveryDate=' + DeliveryDate + "&Reference=" + encodeURIComponent(CenterRef) + "&Comments=" + encodeURIComponent(Comments) + '&Urgent=0';
						if (result	== 'False')
						{
							var OrderMsg = '';
							if (document.getElementById('UserType').value == '1' || document.getElementById('UserType').value == '2' || document.getElementById('UserType').value == '4' || document.getElementById('UserType').value == '7')
							{
								OrderMsg = "The delivery date you have selected is not within the allowed date range for your ordering group. Click OK to mark this order as urgent and take note that you will be billed for the courier charges/ if it's a collection order it will be Free Of Charge & kindly specify at the delivery address [Collection]. Otherwise click Cancel to accept the closest delivery date for your group.";
							}
							else
							{
								OrderMsg = "The delivery date you have selected is out of range for this centre group. Click OK to override the Group Ordering process, or Cancel to accept the nearest despatch date."
							}
							if(confirm(OrderMsg))
							{
								data = 'action=submitorder&AddressID=' + AddressID + '&DeliveryDate=' + DeliveryDate + "&Reference=" + encodeURIComponent(CenterRef) + "&Comments=" + encodeURIComponent(Comments) + '&Urgent=1';
							}
						}
						
						var MaxQtyExceed = 0;
						
						if (eval(EngTotal) > eval(EQtyAllowed))
						{
							MaxQtyExceed = 1;
						}
						if (eval(MathTotal) > eval(MQtyAllowed))
						{
							MaxQtyExceed = 1;
						}
						
						data = data + '&MaxQtyExceed=' + MaxQtyExceed;
						
						if (MaxQtyExceed ==  1)
						{
							//if (confirm('Your order Item(s) quantity exceeds the allowed limit as per your student number. Please reduce quantities on any levels or if you still require those quantities, please proceed for order approval.'))
							//{
								//alert('submit order: ' + data);
								hiddenSubmit(thepage,data, AfterSaveOrder, 0, null, null,true);
							//}
						}
						else
						{
								//alert('submit order')
							hiddenSubmit(thepage,data, AfterSaveOrder, 0, null, null,true);
						}
					}
					regularCursor();
				}
				
				var AfterSaveOrder = function(oXML) {			
					var result = oXML.responseText;
					if(result != '')
					{ 
						alert(result);
						checkAction(77,250,2,null,false,null,false);
					}
					regularCursor();
				}		

				hiddenSubmit(thepage,data, BeforeSaveOrder, 0, null, null,true);
			}
		}
	//}
	
}

function UpdateOrderStockQty(StockID, OrderID, UOMID, Counter, AvailQty, PriceDiv)
{
	var ObjQty = document.getElementById('txtQty_'+Counter);
	var ObjUnitPrice = document.getElementById('txtUnitPrice_'+Counter);
	//alert(ChkAvailQty)
	if (ObjQty.value == '')
	{
		alert('Please enter valid quantity for this order.');
		ObjQty.focus();
	}
	else if (ObjUnitPrice.value == '')
	{
		alert('Please enter valid unit price for this order.');
		ObjUnitPrice.focus();
	}
	else
	{
		var UnitPrice = ObjUnitPrice.value;
		//alert(StockCount)
		var AfterSaveOrder = function(oXML) {			
			var result = oXML.responseText;
			//alert(result)
			var Quantity = ObjQty.value;
			if (result != 'False')
			{
				var PriceValue = (Quantity * UnitPrice);
				var SubTotal = Math.round(result);
				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);	
			}
			else
			{
				alert('There is not sufficient stock in the picking line to fulfill this order. Replenish the picking line and try again.');
			}

			regularCursor();
		}		
		var thepage = '/modules/orders/processorder.asp';
		var data = 'action=UpdateOrderQty&StockID=' + StockID + '&OrderID=' + OrderID + "&UOMID=" + UOMID + "&UnitPrice=" + UnitPrice + "&ApprovedQty=" + ObjQty.value;
		//alert(data);
		hiddenSubmit(thepage,data, AfterSaveOrder, 0, null, null,true);
	}
}

function GotoSalesBasket()
{
    //contentHider();
    var data = "txtDisplayImages=false";
    //data = fetchInputFormData("edChargeableOrder");
	var thepage = '/modules/basket/edbasket.asp';
	hiddenSubmit(thepage, data, completedSingleLoad, 1, 'topcontent', null, false)
}

function ShowHideOrderAddress(selValue)
{
	if(selValue == 1)
	{
		document.getElementById('RowAddress').style.display = 'block';
	}
	else
	{
		document.getElementById('RowAddress').style.display = 'none';
	}
}



function Order_CancelOrder(OrderID)
{

	var page = ""; 
	var data = ""; 

	var AfterCancellation = function(oXML)
	{
		var returnVal = oXML.responseText;
		//alert("Auth# : " + authXML);
		regularCursor();
		alert(returnVal);
			
		if (returnVal.substr(0,5).toLowerCase() != "error") 
		{
			// Hardcoded to save time
			checkAction(113,248,1,null,false,null,false);	
		}

		oXML = null;
	}

	//if (confirm("Cancel Order?"))
	if (confirm("You are about to cancel this order. Click OK to continue"))
	{
		var page = "modules/Orders/CancelOrder.asp"
		var	data = "submit=true&OrderID=" + OrderID
		hiddenSubmit(page,data, AfterCancellation, 0, null, null, false);
	}
}

