		var blnUseCaching=false;	//v1.3.1.5 - to remove caching for AJAX controls
		var adding=false;
		//before a cell is updated,
		//check for fields that should not be edited
		
		//module variables to hold values from selection on the ItemTransaction grid
		//see also ug_CellClickGetRowData
		var m_ToLocationID;
		var m_ToProjectID;
		var m_Quantity;
		var m_Address;
		var m_AddressID;
		var m_LastConditionID;
		var m_LastCondition;	//v1.3.1.5
		var m_LastRecommendedQty;
		
		var m_ToLocationIDsession;
		var m_ToProjectIDsession;
		
		//a generic message function to display a message by alert box
		function msg(message)
		{
			alert(message);
		}
		
		//used by Edit_Address.aspx to remove comma from Institute and replace with a dash
		//ms-help://Infragistics.WebUI.UltraWebGrid.v2/Infragistics.WebUI.UltraWebGrid.v2/Client-Side%20Intermediate.htm
		function ug_HandleExitEditMode(gridID, cellID) {
			// get reference to row object
			var row = igtbl_getRowById(cellID);
			
			if(row.getCellFromKey("Institute").getValue()!=null &&
			row.getCellFromKey("Institute").getValue().indexOf(",")>0)
			{
				alert("Commas may not be included in Institute text, replaced comma with a dash")
				row.getCellFromKey("Institute").setValue(row.getCellFromKey("Institute").getValue().replace(","," -"));
			}
			ug_AfterCellUpdate();
		    
		}
		

		function ug_AfterCellUpdate()	//after a cell is updated, enable btnSubmit
		{
			//alert("Cell updated");
			disableButton("btnSubmit",false);		//enable the Submit button
			//disableButton("btnCancel2", false);		//enable the Cancel button
			
			////mark cell changed by changing background color
			//var activeCell = igtbl_getActiveCell("UltraWebGrid1");
			//if (activeCell != null)
			//	activeCell.Element.style.backgroundColor = "#f0f77e";	//"LightYellow";
					
		}
		//This function must pass one parameter [history] true/false to indicate whether
		//or not to enable the History button.  The only form that should pass a true
		//is VPR_ItemTransaction.aspx
		function setButtons(history)
		{
			if(history==1)
			{
				disableButton("btnHistory",false);
			}
			disableButton("btnEditSelectedItem",false);
			disableButton("TransactionClauseGenerator1_btn20",false);
			disableButton("TransactionClauseGenerator1_btn10",false);
			disableButton("btnDelete", false);	//enable the Delete button
			//disableButton("btnEdit",false);
			//disableButton("btnCancel2",false);	//enable the Cancel button
			
			//disableButton("TransactionClauseGenerator1_btn10",false);
		}
		
		//gets the cell grid value from Infragistics grid.  Must pass the row, and the cellName
		function getGridValue(row, cellName)
		{
			if(document.all)
			{
				return row.getCellFromKey(cellName).getValue();
			}
			else
			{
				var varID=row.getCellFromKey(cellName).Element.innerHTML;
				//alert(varID);
				var varID2=varID.replace("<nobr>","");
				//alert(varID2);
				var varID3=varID2.replace("</nobr>","");
				return varID3;
			}
		}
//		function ug_rowSelected()	//Confirms PostBack for a Grid Row Selected
//		{
//			//for VPR_ItemTransaction.aspx
//			//disableButton("btnHistory",false);
//			disableButton("btnEditSelectedItem",false);
//			disableButton("TransactionClauseGenerator1:btn20",false);
//	
//			disableButton("btnDelete", false);	//enable the Delete button
//			//disableButton("btnCancel2",false);	//enable the Cancel button
//			disableButton("TransactionClauseGenerator1:btn10",false);
//		}

		function disableButton(btnName, bln)
		{
			if(document.getElementById(btnName)!=null)	//make sure the button exists
			{
				//alert(btnName + " exists");
				if(bln==true)	//disable the button
				{		
					document.getElementById(btnName).disabled=true;
					//document.getElementById(btnName).style.backgroundColor="#3366cc";
					document.getElementById(btnName).style.backgroundColor="#7E9345";		//med green
					//
					//document.getElementById(btnName).style.CssClass="btn1";

				}
					else			//enable the button
				{ 
					document.getElementById(btnName).disabled=false;
					//document.getElementById(btnName).style.backgroundColor="#66cc00";
					document.getElementById(btnName).style.backgroundColor="#faf991";		//pale yellow
					document.getElementById(btnName).style.color="#264909";				//dark green
					//document.getElementById(btnName).style.CssClass="btn2";

				}
			}
			//else
			//{
			//	alert(btnName + " does not exist");
			//}
		}
		
		function disableDropDown(btnName, bln)
		{
			if(document.getElementById(btnName)!=null)	//make sure the button exists
			{
				//alert(btnName + " exists");
				if(bln==true)	//disable the button
				{		
					document.getElementById(btnName).disabled=true;
					document.getElementById(btnName).style.backgroundColor="#717365";	//bgTransCG gray

				}
					else			//enable the button
				{ 
					document.getElementById(btnName).disabled=false;
					document.getElementById(btnName).style.backgroundColor="#ffffff";		//white
					document.getElementById(btnName).style.color="#000000";				//black

				}
			}
		}

		//022706
		//focusTT [boolean], whether to set focus on the TCG's TransactionType dropdown
		function ug_CellClickGetRowData(gridName,rowId,focusTT)
		{
				//debugger;
				
				Brady=new Array();
				
				var s="ItemName^txtItemName|MfgName^txtMfgName|LocationPath^txtLocationName|";
				s=s + "Quantity^txtQuantity|ProjectName^txtProjectName|ItemCategoryPath^txtCategoryName|";
				s=s + "Size^txtSize|PartNumber^txtPartNumber|";
				s=s + "TagType^lblTagType|NSFNumber^txtNSFNumber|";
				s=s + "SerialNumber^txtSerialNumber|Model^txtModel|ModelYear^txtModelYear|";
				s=s + "Unit^txtUnit|PONumber^txtPONumber|Comment^txtComment|";
				s=s + "DiscontinuedDate^txtDiscontinuedDate|LastEffectiveDate^txtLastEffectiveDate|LastInventoryDate^txtLastInventoryDate|";
				s=s + "LastTransactionComment^txtLastTransactionComment|";
				s=s + "Address^txtAddress|Service^txtService|";
				s=s + "LastCondition^txtLastCondition|";
				s=s + "OriginalPO^txtOriginalPO|";
				s=s + "Notes^txtNotes|LastRecommendedQty^txtLastRecommendedQty";
				/*
				var s="ItemName^txtItemName|MfgName^txtMfgName|LocationName^txtLocationName|Quantity^txtQuantity|ProjectName^txtProjectName|ItemCategoryName^txtCategoryName|Size^txtSize|PartNumber^txtPartNumber|NSFNumber^txtNSFNumber|SerialNumber^txtSerialNumber|Model^txtModel|ModelYear^txtModelYear|Unit^txtUnit|PONumber^txtPONumber|Comment^txtComment|DiscontinuedDate^txtDiscontinuedDate|LastEffectiveDate^txtLastEffectiveDate|LastInventoryDate^txtLastInventoryDate|LastTransactionComment^txtLastTransactionComment";
				*/
				X=s.split("|");
				var row; 
				var arr2;
				for (row = 0; row < X.length; ++row)
				{
					arr2=X[row].split("^");
					Brady[row]=new Array(2);	//add second dimension for Brady[row]
					Brady[row][0]=arr2[0];
					Brady[row][1]=arr2[1];
				}
				var grid = igtbl_getGridById(gridName);
				var rowz = igtbl_getRowById(rowId);	
				/*v1.3.1.5*/
				//if(document.getElementById("WhereClauseGeneratorASCX1_rbl10_0").checked)
				if(document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID").value=="0")	//NSF#
				{
					if(document.all)	//IE
					{
						//transfer Quantity/LastRecommendedQty  and Condition for NSFNumber
						m_Quantity=rowz.getCellFromKey("Quantity").Element.innerText;
						m_LastRecommendedQty=rowz.getCellFromKey("LastRecommendedQty").Element.innerText;
						m_LastConditionID=rowz.getCellFromKey("LastConditionID").Element.innerText;
						m_LastCondition=rowz.getCellFromKey("LastCondition").Element.innerText;	//v1.3.1.5
						m_Address=rowz.getCellFromKey("Address").Element.innerText;
						m_AddressID=rowz.getCellFromKey("AddressID").Element.innerText;
						
					}
					else	//Mozilla
					{
						//transfer Quantity/LastRecommendedQty and Condition for NSFNumber
						m_Quantity=rowz.getCellFromKey("Quantity").Element.textContent;
						m_LastRecommendedQty=rowz.getCellFromKey("LastRecommendedQty").Element.textContent;	
						m_LastConditionID=rowz.getCellFromKey("LastConditionID").Element.textContent;
						m_LastCondition=rowz.getCellFromKey("LastCondition").Element.textContent;	//v1.3.1.5
						m_Address=rowz.getCellFromKey("Address").Element.textContent;
						m_AddressID=rowz.getCellFromKey("AddressID").Element.textContent;
										
					}
					document.getElementById("TransactionClauseGenerator1_txt30").value=m_LastRecommendedQty;
					document.getElementById("TransactionClauseGenerator1_txt10").value=(m_Quantity==undefined?null:m_Quantity);
					document.getElementById("TransactionClauseGenerator1_txtConditionID").value=(m_LastConditionID==undefined?null:m_LastConditionID);
					document.getElementById("TransactionClauseGenerator1_txtCondition").value=(m_LastCondition==undefined?null:m_LastCondition);
					document.getElementById("TransactionClauseGenerator1_txtAddress").value=(m_Address==undefined?null:m_Address);
					document.getElementById("TransactionClauseGenerator1_txtAddressID").value=(m_AddressID==undefined?null:m_AddressID);
				}
				else	//transfer for Accessory Number:
				{
					if(document.all)	//IE
					{
						//transfer Location, Project, Quantity/LastRecommendedQty , Condition, Address to TCG from WCG
						m_ToLocationID=rowz.getCellFromKey("ToLocationID").Element.innerText;
						m_ToProjectID=rowz.getCellFromKey("ToProjectID").Element.innerText;
						m_Quantity=rowz.getCellFromKey("Quantity").Element.innerText;
						m_LastRecommendedQty=rowz.getCellFromKey("LastRecommendedQty").Element.innerText;
						m_Address=rowz.getCellFromKey("Address").Element.innerText;
						m_AddressID=rowz.getCellFromKey("AddressID").Element.innerText;
						m_LastConditionID=rowz.getCellFromKey("LastConditionID").Element.innerText;
						m_LastCondition=rowz.getCellFromKey("LastCondition").Element.innerText;		//v1.3.1.5
					}
					else	//Mozilla
					{
						//transfer Location, Project, Quantity/LastRecommendedQty , Condition, Address to TCG from WCG
						m_ToLocationID=rowz.getCellFromKey("ToLocationID").Element.contentText;
						m_ToProjectID=rowz.getCellFromKey("ToProjectID").Element.contentText;
						m_Quantity=rowz.getCellFromKey("Quantity").Element.contentText;
						m_LastRecommendedQty=rowz.getCellFromKey("LastRecommendedQty").Element.contentText;
						m_Address=rowz.getCellFromKey("Address").Element.contentText;
						m_AddressID=rowz.getCellFromKey("AddressID").Element.contentText;
						m_LastConditionID=rowz.getCellFromKey("LastConditionID").Element.contentText;
						m_LastCondition=rowz.getCellFromKey("LastCondition").Element.contentText;	//v1.3.1.5					
					}
					document.getElementById("TransactionClauseGenerator1_txtToLocation").value=m_ToLocationID;
					document.getElementById("TransactionClauseGenerator1_txtToProject").value=m_ToProjectID;
					document.getElementById("TransactionClauseGenerator1_txt30").value=m_LastRecommendedQty;
					document.getElementById("TransactionClauseGenerator1_txt10").value=(m_Quantity==undefined?null:m_Quantity);
					document.getElementById("TransactionClauseGenerator1_txtConditionID").value=(m_LastConditionID==undefined?null:m_LastConditionID);
					document.getElementById("TransactionClauseGenerator1_txtCondition").value=(m_LastCondition==undefined?null:m_LastCondition);
					document.getElementById("TransactionClauseGenerator1_txtAddress").value=(m_Address==undefined?null:m_Address);
					document.getElementById("TransactionClauseGenerator1_txtAddressID").value=(m_AddressID==undefined?null:m_AddressID);
				}			
				for(i=0; i < Brady.length ; i++)
				{
					try
					{
					//var varID=rowz.getCellFromKey(Brady[i][0]).Element.innerHTML;
					if(document.all)
					{
						var varID=rowz.getCellFromKey(Brady[i][0]).Element.innerText;
					}
					else
					{
						var varID=rowz.getCellFromKey(Brady[i][0]).Element.textContent;
					}
						if(Brady[i][1]=="lblTagType")
						{
							setRadioButtonSelectedValue(this.document.getElementById("rblTT"),varID);
//							if(varID=="0")
//							{
//								this.document.getElementById(Brady[i][1]).value="NSF#";
//							}
//							else
//							{
//								this.document.getElementById(Brady[i][1]).value="Accessory#";
//							}
						}
						else
						{
							if(document.all)
							{
								this.document.getElementById(Brady[i][1]).value=replaceNOBR(varID);
							}
							else
							{
								this.document.getElementById(Brady[i][1]).value=varID;
							}
						}

					}
					catch(ex)
					{
						alert(ex.message);
					}
				}
				ug_CellClick();
				if(focusTT)
					document.getElementById("TransactionClauseGenerator1_dd10").focus();

		}
		function setRadioButtonSelectedValue(oControl,value)
		{
			var list = document.getElementById(oControl.id);
			var options = list.getElementsByTagName("input");
			for( x = 0; x < options.length; ++x )
			{
				if( options[x].type == "radio" && options[x].value==value )
				{
					options[x].checked=true;
					return;
					//return options[x].value;
					break;
				}
			}
		
		}
		function replaceNOBR(str)
		{
			if(document.all)
			{
				var ret=str.replace("<nobr>","");
				var ret=ret.replace("</nobr>","");
				var ret=ret.replace("<NOBR>","");
				var ret=ret.replace("<NOBR title=\"\">","");
				var ret=ret.replace("</NOBR>","");
				var ret=ret.replace("&nbsp;","");
				return ret
			}
			else
			{
				/*
				var ret=str.replace(/<nobr>/gi,"");
				var ret=ret.replace(/</nobr>/gi,"");
				var ret=ret.replace(/<NOBR>/gi,"");
				var ret=ret.replace(/<NOBR title=\"\">/gi,"");
				var ret=ret.replace(/</NOBR>/gi,"");
				var ret=ret.replace(/&nbsp;/gi,"");	
				return ret
				*/
			}
		}
		function ug_CellClickAdmin(gridName, rowId)
		{
			//1.3.0 Treat IE and Mozilla the same way for popup of ADD/EDIT ITEM form popup
			//033006
			//if(document.all)
			//{
			//	//do nothing, this is an IE browser
			//}
			//else	//deal with stinkin' Mozilla
			//{
				//alert(gridName);
				var grid = igtbl_getGridById(gridName);
				var row = igtbl_getRowById(rowId);
				//alert(row.getCellFromKey("LastName").Element.innerText);
				//alert(row.getCellFromKey("LastName").value);
				
				if(document.all)
				{
					var varID3=row.getCellFromKey("ItemID").getValue();
				}
				else
				{
					var varID=row.getCellFromKey("ItemID").Element.innerHTML;
					//alert(varID);
					var varID2=varID.replace("<nobr>","");
					//alert(varID2);
					var varID3=varID2.replace("</nobr>","");
					//alert(varID3);
				}
				OpenEditItem(varID3);			
			//}
			
			disableButton("TransactionClauseGenerator1_btn10",true);
			disableButton("btnDelete", true);		//disable the Delete button
			//for VPR_ItemTransaction.aspx
			disableButton("btnHistory",true);	
			disableButton("btnEditSelectedItem",true);
			//disableButton("TransactionClauseGenerator1:btn10",true);
			disableButton("TransactionClauseGenerator1_btn20",true);

				
		}
		function ug_CellClick()	//enables the Delete and Cancel buttons
		{
			disableButton("TransactionClauseGenerator1_btn10",true);
			disableButton("btnDelete", true);		//disable the Delete button
			
			//for VPR_ItemTransaction.aspx
			disableButton("btnHistory",true);	
			disableButton("btnEditSelectedItem",true);
			//disableButton("TransactionClauseGenerator1:btn10",true);
			disableButton("TransactionClauseGenerator1_btn20",true);
			
			//transfer location
			//document.getElementById("TransactionClauseGenerator1_txtToLocation").value=document.getElementById("WhereClauseGeneratorASCX1_dd10").value;
			//document.getElementById("TransactionClauseGenerator1_txt10").value="1";

		}
		
		function ug_Delete()	//disabled the Delete button after it was clicked
		{
		
			//var grid=igtbl_getGridById('UltraWebGrid1');
			//var rowSelected=grid.getActiveRow();
			//var rowNum=rowSelected.Id;
			//alert("active row= " + rowNum);
			//grid.Rows.remove(rowNum);
			
			//var row=igtbl_getActiveRow("UltraWebGrid1");
			//igtbl_deleteRow("UltraWebGrid1",row.id);
			try
			{
			igtbl_selectRow("UltraWebGrid1", igtbl_getActiveRow("UltraWebGrid1").Element.id, true);
			igtbl_deleteSelRows("UltraWebGrid1");
			
			disableButton("btnDelete", true);
			disableButton("btnSubmit",false);
			}
			catch(ex)
			{
				alert(ex.message);
			}
			//document.forms[0].item("btnDelete").disabled=true;
		}

		function ug_Add()
		{
			try
			{
				adding=true;
				var grid=igtbl_getGridById('UltraWebGrid1');
				grid.AllowAddNew=1;	//1=yes
				igtbl_addNew("UltraWebGrid1",0); //add a new row to the grid
				//disableButton("btnCancel2", false);	//enable the Cancel button
				disableButton("btnAdd2", true);	//disables this Add button
				//document.forms[0].item("btnCancel2").disabled=false;	
				//document.forms[0].item("btnAdd2").disabled=true;
			}
			catch(e)
			{
				alert("No data selected.\nPlease select a dataset using the Selection Criteria.");
			}
		}
		function ug_Cancel()
		{
			if(adding==true)
			{

				//grid.Rows.remove(1);	//this works, but need to find the last row
				var grid=igtbl_getGridById('UltraWebGrid1');
				//all this to get the rowcount...
				//from http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.Aspx?ArticleID=1118
				var gridName="UltraWebGrid1";
				var rowElem=igtbl_getFirstSibRow(gridName,igtbl_getElementById("UltraWebGrid1r_0"));
				var rownum=0;
				while(rowElem)
				{
					var rowObj=igtbl_getRowById(rowElem.id);
				// .... Do something
					rowElem=igtbl_getNextSibRow(gridName,rowElem);
					rownum=rownum + 1;
				}
				//alert("number rows=" + rownum);
				adding=false;	//reset the variable adding
				grid.Rows.remove(rownum-1);	//Finally, remove/Cancel the new row.
			}
			//disableButton("btnCancel2", true);	//now, disable this Cancel button.
			disableButton("btnDelete", true);	//disable this Delete button.
			disableButton("btnAdd2", false);		//enable this Add button
			//document.forms[0].item("btnCancel2").disabled=true;
			//document.forms[0].item("btnDelete").disabled=true;
			//document.forms[0].item("btnAdd2").disabled=false;
			
		}
		/*
		//code to inform user of time remaining before session time-out.
		var down;
		var cmin;
		var csec;

		function CountDown() 
		{
			cmin=document.getElementById("txtClock").value;
			csec=0;
			runclock();
		}
			
		function runclock() {
			
		digit1 = parseInt(cmin/10);
		digit2 = parseInt(cmin%10);
		digit3 = parseInt(csec/10);
		digit4 = parseInt(csec%10);
		  
		document.getElementById("txtClock").value="Timeout in: " + cmin + ":" + digit3 + digit4;
		 
		csec--;
			if(csec==-1) { csec=59; cmin--; }
  			if((cmin==0)&&(csec==0)) 
  			{
  				document.getElementById("txtClock").value="Session Timed-Out";
  				alert("Your session has Timed-Out.  Please login again.");
  			}
			else 
			{
				down=setTimeout("runclock()",1000); 
			}
		}
		*/
		function changePanel(panel)
		{
			document.getElementById(panel).visible = !document.getElementById(panel).visible;
		}
		
		function ExportToExcel()
		{
			//window.open("Templates/ExportToExcel.aspx",null,"toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=600,height=500,left=40,top=50"); 
			myRef = window.open('Templates/ExportToExcel.aspx','mywin','toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=600,height=500,left=40,top=50');
			myRef.focus();	
		}
		function ShowHelpManual()
		{
			myRef = window.open('documents/Inventory_Operators_Manual.pdf','mywin','toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=600,height=500,left=40,top=50');
			myRef.focus();	
		}
		function OpenWindow(url)
		{
			myRef = window.open(url,'mywin','toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=850,height=850,left=0,top=0');
			myRef.focus();	
		}		
		function OpenEditItem(ItemID)
		{
			myRef = window.open('Edit_Item.aspx?ItemID='+ItemID,'mywin','toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=850,height=850,left=0,top=0');
			myRef.focus();	
		}		
//		function wdc_EditKeyDown(oDropDown, keyCode, oEvent)
//		{//If the 'T' key is pressed, today's date will be shown in the WebDateChooser
//			
//			if (keyCode == 84)	//the 't' key
//			{
//				var today = new Date();
//				oWebDateChooser1.setValue(today);
//			}
//			if (keyCode == 8)	//the backspace key
//			{
//				owdc10.setValue(null);
//			}
//		}


		
		//this function fixes the WebDateChoosers
		//that cause an error if the user uses backspace key (keyCode=8) to clear the date to Null.
		//On the next submit, a grave error is raised.
		//As a friendly feature, the user may enter a t and today's date will populate the date box.
		function wdc_EditKeyDown(oDropDown, keyCode, oEvent)
		{
			/**/
			//this.MainForm.submit();
			if (document.all)
			{
				/*
				if(event.keyCode==8)	//backspace
				{
					//debugger;
					var wdc=document.getElementById(oDropDown.Id);
					var ctrlText=wdc.getElementsByTagName("INPUT").item(0).value;
					if(ctrlText.length==0)
					{
						var ctrlText=wdc.getElementsByTagName("INPUT").item(0).value="Null";
					}
					else
					{
						return true;
					}
				}
				if(event.keyCode==9)	//tab
				{
					var wdc=document.getElementById(oDropDown.Id);
					var ctrlText=wdc.getElementsByTagName("INPUT").item(0).value;
					if(ctrlText.value==null)
					{
						ctrlText.value="";
						return true;
					}
				}
				*/
				//|| (event.keyCode==37/*left key*/) || (event.keyCode==39/*right key*/)  || (event.keyCode==46/*delete key*/)
				//if(event.keyCode>10 && event.keyCode<112)
				if (((event.keyCode >= 48) && (event.keyCode<=57)) || (event.keyCode==9) || ((event.keyCode >= 96) && (event.keyCode<=111)))	//keys 0123456789 key pad 0123456789 and TAB
				{
					return true;	// let the user enter these "date" entry keys
				}
				else
				{
					//if (event.keyCode == 13)
					if ((event.keyCode >= 1) && (event.keyCode<=127))	//any key
					{
					event.returnValue=false;
					event.cancel = true;
					return false;
					}
				}
			}
			
			else if (document.getElementById)
			{
				if (((event.which >= 48) && (event.which<=57)) || (event.which==9) || ((event.which >= 96) && (event.which<=111)))	//keys 0123456789 key pad 0123456789 and TAB
				{
					return true;	// let the user enter these "date" entry keys
				}
				else
				{
					//if (event.which == 13)
					if((event.which>=1) && (event.which<=127))
					{
					event.returnValue=false;
					event.cancel = true;
					}
				}
			}
			else if(document.layers)
			{
				if (((event.which >= 48) && (event.which<=57)) || (event.which==9) || ((event.which >= 96) && (event.which<=111)))	//keys 0123456789 key pad 0123456789 and TAB
				{
					return true;	// let the user enter these "date" entry keys
				}
				else
				{
					//if (event.which == 13)
					if((event.which>=1) && (event.which<=127))
					{
					event.returnValue=false;
					event.cancel = true;
					}
				}
			}
			
		}
		
		//to cancel the form from submitting if the user clicks the Return Key in a control
		function cancelReturnKey(e)
        {

        }
 		//to cancel the Return Key in a control
 		//works both IE and Mozilla 061206
		function cancelReturnKeyControl(e)
        {
			if (!e) var e = window.event;
			if (e.keyCode) code = e.keyCode;
			else if (e.which) code = e.which;
			//022606 commented out to make Edit_Item TypeInDD code work, but need to re-evaluate
			//	still need to cancelReturnKey to cancel the effect of hitting  Return key in WCGs e.g.
            //if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
            if(code==13)
           {
                //document.all("btnSearch").click();
                e.cancelbubble=true;
                if(e.stopPropagation)
                {
					e.stopPropagation();
                }
                if(document.all)
                {
					event.returnValue=false;
					event.cancel = true;
				}
				return false;
            }
            else
            {
                return true;
            }    
        }       
        
        //START of functions to allow type in dropdowns to find matches
        //found at: http://www.c-sharpcorner.com/Code/2004/Feb/DropDownListSelection.asp
        function clearWord()
		{
		userWord = "";
		//document.forms[0].result.value = ""; 
		}
		var userWord = "";
		function TrapKey(obj, e)
		{
		thekey = String.fromCharCode(event.keyCode);
		userWord += thekey;
		for (var i = 0; i < obj.options.length; i++) {
			var txt = obj.options[i].text.toUpperCase();
		    
		//document.forms[0].result.value = userWord; 
		if (txt.indexOf(userWord) == 0) {
			obj.options[i].selected = true;
			obj.options[i].focus();
			break;
			}
		}
		setTimeout("clearWord()", 5000)
		}
		//END of functions to allow type in dropdowns to find matches
		
		//Very Handy utility functions
		
		//http://channel9.msdn.com/ShowPost.aspx?PostID=39233
		//gets the selected value of a RadioButtonList
		function getRadioButtonSelectedValue(oControl)
		{
			//var list = document.getElementById("rblTagType");
			var list = document.getElementById(oControl.id);
			var options = list.getElementsByTagName("input");
			for( x = 0; x < options.length; ++x )
			{
				if( options[x].type == "radio" && options[x].checked )
				{
					//alert(options[x].value); // Do something more useful here.
					//document.getElementById("txtTagType").value=options[x].value;
					return options[x].value;
					break;
				}
			}
		} 
		function getDropDownText(oControl)
		{
			//var list = document.getElementById("rblTagType");
			var list = document.getElementById(oControl.id);
			var options = list.getElementsByTagName("option");
			for( x = 0; x < options.length; ++x )
			{
				if( options[x].selected )
				{
					//alert(options[x].value); // Do something more useful here.
					//document.getElementById("txtTagType").value=options[x].value;
					//return options[x].innerText;
					return options[x].text;	//to work for Mozilla as well as IE
					break;
				}
			}
		}		
		function getDropDownValue(oControl)
		{
			//var list = document.getElementById("rblTagType");
			var list = document.getElementById(oControl.id);
			var options = list.getElementsByTagName("option");
			for( x = 0; x < options.length; ++x )
			{
				if( options[x].selected )
				{
					//alert(options[x].value); // Do something more useful here.
					//document.getElementById("txtTagType").value=options[x].value;
					return options[x].value;
					break;
				}
			}
		}
		
		
		
	//focusSubmitWGC & controlTT called by TCG
	//works both IE and Mozilla 061206
	function focusSubmitWCG(e)
    {
		if (!e) var e = window.event;
		if(e.keyCode) code=e.keyCode;
		if(e.which) code=e.which;
		
		if(document.all)	//for IE
		{		
			if(event.srcElement.id.indexOf("btnSubmit")>0)
			{
				return true;
			}
			/*v1.3.1.5 removed this code
			//disable BACKSPACE key for dropdowns and the txtAddress control
			//only allow BACKSPACE for txt10 (QTY) or txt20 (Comment)
			//debugger;
			//if((event.which && event.which == 8) || (event.keyCode && event.keyCode == 8))
			if(code==8)
			{
				if(event.srcElement.id.indexOf("txt10")>0 
				|| event.srcElement.id.indexOf("txt20")>0
				|| event.srcElement.id.indexOf("txt30")>0
				|| event.srcElement.id.indexOf("txt40")>0
				|| event.srcElement.id.indexOf("txt50")>0
				|| event.srcElement.id.indexOf("txt60")>0
				|| event.srcElement.id.indexOf("txt70")>0
				|| event.srcElement.id.indexOf("txt80")>0
				|| event.srcElement.id.indexOf("txtTag")>0)
				{
					//do nothing OK to BACKSPACE on QTY or Comment textboxes
					//alert(event.srcElement.id + " BACKSPACED");
					return true;
				}
				else
				{
					event.returnValue=false;
					event.cancel = true;
					return false;
				}
				
			}
			*/
			//022606 commented out to make Edit_Item TypeInDD code work, but need to re-evaluate
			//	still need to cancelReturnKey to cancel the effect of hitting  Return key in WCGs e.g.
			//if ((event.which && event.which == 13) || (event.keyCode && (event.keyCode == 13 || event.keyCode==8)))
			//if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
			if(code==13)
			{
				//debugger;
				//document.all("btnSearch").click();
				if(event.srcElement.id == "TransactionClauseGenerator1_btn10" ||
				event.srcElement.id	==	"TransactionClauseGenerator1_btn20")
				{
					return true;
				}
				else
				{
					event.returnValue=false;
					event.cancel = true;
					try
					{
						document.getElementById("WhereClauseGeneratorASCX1_btnSubmit").focus();
					}
					catch(ex)
					{}
					return false;
				}
			}
			else
			{
				return true;
			}
        } 
        else	//for Mozilla
        {
        			if(e.target.id.indexOf("btnSubmit")>0)
			{
				return true;
			}
			/*v1.3.1.5 removed this code
			//disable BACKSPACE key for dropdowns and the txtAddress control
			//only allow BACKSPACE for txt10 (QTY) or txt20 (Comment)
			//debugger;
			//if((event.which && event.which == 8) || (event.keyCode && event.keyCode == 8))
			if(code==8)
			{
				if(e.target.id.indexOf("txt10")>0 
				|| e.target.id.indexOf("txt20")>0
				|| e.target.id.indexOf("txt30")>0
				|| e.target.id.indexOf("txt40")>0
				|| e.target.id.indexOf("txt50")>0
				|| e.target.id.indexOf("txt60")>0
				|| e.target.id.indexOf("txt70")>0
				|| e.target.id.indexOf("txt80")>0)
				{
					//do nothing OK to BACKSPACE on QTY or Comment textboxes
					//alert(event.srcElement.id + " BACKSPACED");
					return true;
				}
				else
				{
					if(e.stopPropagation) e.stopPropagation;
					e.returnValue=false;
					e.cancel = true;
					return false;
				}
				
			}
			*/
			//022606 commented out to make Edit_Item TypeInDD code work, but need to re-evaluate
			//	still need to cancelReturnKey to cancel the effect of hitting  Return key in WCGs e.g.
			//if ((event.which && event.which == 13) || (event.keyCode && (event.keyCode == 13 || event.keyCode==8)))
			//if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
			if(code==13)
			{
				//debugger;
				//document.all("btnSearch").click();
				if(e.target.id == "TransactionClauseGenerator1_btn10" ||
				e.target.id	==	"TransactionClauseGenerator1_btn20")
				{
					return true;
				}
				else
				{
					if(e.stopPropagation) e.stopPropagation;
					e.returnValue=false;
					e.cancel = true;
					try
					{
						document.getElementById("WhereClauseGeneratorASCX1_btnSubmit").focus();
					}
					catch(ex)
					{}
					return false;
				}
			}
			else
			{
				return true;
			}
        } 
    }
    //control TCG controls based on TransactionType setting
    //runs onBlur of dd10 
    function controlTT()
    {	

		//for TransactionType Adjustment
		//debugger;
		//Accessory# variables set in VPR_Inventory.js	from values in ItemTransaction Grid	
		//in ug_CellClickGetRowData
		//		var m_ToLocationID;
		//		var m_ToProjectID;
		//		var m_Quantity;
		//		var m_Address;
		//		var m_AddressID;
		//		var m_LastConditionID;
		//
		//		NSF# variables set onBlur of TCG txtToLocation and txtToProject - Session variables
		//		var m_ToLocationIDsession
		//		var m_ToProjectIDsession
		

		//for Accessory#
		//v1.3.1.5 changed rbl10_1 to txtTagTypeID
		//if(document.getElementById("WhereClauseGeneratorASCX1_rbl10_1") != null
		//&& document.getElementById("WhereClauseGeneratorASCX1_rbl10_1").checked)
		if(document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID") != null
		&& document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID").value=="1")	//Acc#
		{
			disableDropDown("TransactionClauseGenerator1_txtToLocation",false);	//ToLocation
			disableDropDown("TransactionClauseGenerator1_txtToProject",false);	//ToProject
			disableDropDown("TransactionClauseGenerator1_txtCondition",false);	//Condition
			disableDropDown("TransactionClauseGenerator1_txt10",false);	//Quantity
			disableDropDown("TransactionClauseGenerator1_txt30",true);	//Recommended Quantity v1.3.1.4
			document.getElementById("TransactionClauseGenerator1_txtToLocation").value=m_ToLocationID;
			document.getElementById("TransactionClauseGenerator1_txtToProject").value=m_ToProjectID;
			//alert("Accessory# m_Quantity=" + m_Quantity);
			document.getElementById("TransactionClauseGenerator1_txt10").value=(m_Quantity==undefined?null:m_Quantity);
			document.getElementById("TransactionClauseGenerator1_txtConditionID").value=(m_LastConditionID==undefined?null:m_LastConditionID);
			document.getElementById("TransactionClauseGenerator1_txtCondition").value=(m_LastCondition==undefined?null:m_LastCondition);
			document.getElementById("TransactionClauseGenerator1_txtAddress").value=(m_Address==undefined?null:m_Address);
			document.getElementById("TransactionClauseGenerator1_txtAddressID").value=(m_AddressID==undefined?null:m_AddressID);
			
			//if(getDropDownText(document.getElementById("TransactionClauseGenerator1_txtTransactionType"))=="Adjustment")
			if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Adjustment")
			{

				document.getElementById("TransactionClauseGenerator1_txtToLocation").value="";
				document.getElementById("TransactionClauseGenerator1_txtToProject").value="";
				document.getElementById("TransactionClauseGenerator1_txtCondition").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddress").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddressID").value="";
				disableDropDown("TransactionClauseGenerator1_txtToLocation",true);	
				disableDropDown("TransactionClauseGenerator1_txtToProject",true);
				disableDropDown("TransactionClauseGenerator1_txtCondition",true);
				disableDropDown("TransactionClauseGenerator1_txt30",false);	//Recommended Quantity v1.3.1.4			
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch 
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
				else
				{
					document.getElementById("TransactionClauseGenerator1_txt10").focus();
				}
			}
			//if(getDropDownText(document.getElementById("TransactionClauseGenerator1_txtTransactionType"))=="Inventory Audit")
			if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Inventory Audit")			
			{
				document.getElementById("TransactionClauseGenerator1_txtToLocation").value="";
				document.getElementById("TransactionClauseGenerator1_txtToProject").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddress").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddressID").value="";
				disableDropDown("TransactionClauseGenerator1_txtToLocation",true);
				disableDropDown("TransactionClauseGenerator1_txtToProject",true);
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					disableDropDown("TransactionClauseGenerator1_txtCondition",true);	//Condition
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
				else
				{
					document.getElementById("TransactionClauseGenerator1_txt10").focus();
				}
			}
			/**/
			if(
			document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Assignment"
			|| document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Maintenance"
			)
			{	
				if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Assignment")
				{
					disableDropDown("TransactionClauseGenerator1_txt30",false);	//Recommended Quantity v1.3.1.4
				}
				try
				{
					document.getElementById("TransactionClauseGenerator1_txtToLocation").focus();
				}
				catch(ex)
				{}
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
			}
			
		}//end of for Accessory#
		//for NSF#
		//v1.3.1.5 changed rbl10_0 to txtTagTypeID
		//else if(document.getElementById("WhereClauseGeneratorASCX1_rbl10_0") != null
		//&& document.getElementById("WhereClauseGeneratorASCX1_rbl10_0").checked)
		else if(document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID") != null
		&& document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID").value=="0")	//NSF#
		{
			//debugger;
			disableDropDown("TransactionClauseGenerator1_txtToLocation",false);	//ToLocation
			disableDropDown("TransactionClauseGenerator1_txtToProject",false);	//ToProject
			disableDropDown("TransactionClauseGenerator1_txtCondition",false);	//Condition
			disableDropDown("TransactionClauseGenerator1_txt10",false);	//Quantity
			disableDropDown("TransactionClauseGenerator1_txt30",true);	//Recommended Quantity v1.3.1.4
			if(m_ToLocationIDsession !=null)
			{
				document.getElementById("TransactionClauseGenerator1_txtToLocation").value=m_ToLocationIDsession;
			}
			if(m_ToProjectIDsession !=null)
			{
				document.getElementById("TransactionClauseGenerator1_txtToProject").value=m_ToProjectIDsession;
			}
			//alert("NSF# m_Quantity=" + m_Quantity);
			document.getElementById("TransactionClauseGenerator1_txt10").value=(m_Quantity==undefined?null:m_Quantity);
			document.getElementById("TransactionClauseGenerator1_txtConditionID").value=(m_LastConditionID==undefined?null:m_LastConditionID);
			document.getElementById("TransactionClauseGenerator1_txtCondition").value=(m_LastCondition==undefined?null:m_LastCondition);
			document.getElementById("TransactionClauseGenerator1_txtAddress").value=(m_Address==undefined?null:m_Address);
			document.getElementById("TransactionClauseGenerator1_txtAddressID").value=(m_AddressID==undefined?null:m_AddressID);
			
			//if(getDropDownText(document.getElementById("TransactionClauseGenerator1_txtTransactionType"))=="Adjustment")
			if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Adjustment")
			{

				document.getElementById("TransactionClauseGenerator1_txtToLocation").value="";
				document.getElementById("TransactionClauseGenerator1_txtToProject").value="";
				document.getElementById("TransactionClauseGenerator1_txtCondition").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddress").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddressID").value="";
				disableDropDown("TransactionClauseGenerator1_txtToLocation",true);	
				disableDropDown("TransactionClauseGenerator1_txtToProject",true);
				disableDropDown("TransactionClauseGenerator1_txtCondition",true);	
				disableDropDown("TransactionClauseGenerator1_txt30",false);	//Recommended Quantity v1.3.1.4		
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
				else
				{
					document.getElementById("TransactionClauseGenerator1_txt10").focus();
				}
			}
			if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Inventory Audit")
			{
				document.getElementById("TransactionClauseGenerator1_txtToLocation").value="";
				document.getElementById("TransactionClauseGenerator1_txtToProject").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddress").value="";
				document.getElementById("TransactionClauseGenerator1_txtAddressID").value="";
				disableDropDown("TransactionClauseGenerator1_txtToLocation",true);
				disableDropDown("TransactionClauseGenerator1_txtToProject",true);
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					disableDropDown("TransactionClauseGenerator1_txtCondition",true);	//Condition
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
				else
				{
					document.getElementById("TransactionClauseGenerator1_txt10").focus();
				}
			}
			/**/
			if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Assignment"
			||document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Maintenance")
			{	
				if(document.getElementById("TransactionClauseGenerator1_txtTransactionType").value=="Assignment")
				{
					disableDropDown("TransactionClauseGenerator1_txt30",false);	//Recommended Quantity v1.3.1.4
				}
				try
				{
					document.getElementById("TransactionClauseGenerator1_txtToLocation").focus();
				}
				catch(ex)
				{}
				if(document.getElementById("WhereClauseGeneratorASCX1_chk40").checked)	//batch
				{
					//document.getElementById("TransactionClauseGenerator1_txt10").value="";	//Quantity
					//disableDropDown("TransactionClauseGenerator1_txt10",true);	//Quantity
					////document.getElementById("TransactionClauseGenerator1_wdc10").focus();
				}
			}
				
		}//end of for NSF#
		else	//handle TCG for Edit_Item.aspx
		{
		
		}
	}
	
	//v1.3.1.5 - common code to populate the AJAX controls for the WCG 
	//for VPR_ItemTransaction.aspx and VPR_Admin.aspx and Edit_Item.aspx
	//TransactionTypes["adminTransactionTypes", "fullTransactionTypes"]
	function populateAJAXcontrols(sURL, TransactionTypes)
	{
		//v1.3.1.5 - Location and Category dropdowns by AJAX
		//also converted ItemName, Project, Mfg and PONumber dropdowns to AJAX
		//consolidated all this common code to VPR_Inventory.js for VPR_ItemTransaction.aspx and VPR_Admin.aspx.
		var oTextboxTagNum = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtTag"),
		new Array(document.getElementById('txtTagType'),
		document.getElementById('txtIsDiscontinued'),
		document.getElementById('txtForm')),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		null);
		
		var oTextboxLocation = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtLocation")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL,false)/*:nullable, SuggestionProvider*/,
		document.getElementById("WhereClauseGeneratorASCX1_txtLocationID")/*:nullable, The ID textbox for a value/id scenario*/);
		
		var oTextboxCategory = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtCategory")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("WhereClauseGeneratorASCX1_txtCategoryID")/*:nullable, The ID textbox for a value/id scenario*/);

		var oTextboxItemName = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtItemName")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		null/*:nullable, The ID textbox for a value/id scenario*/);
				
		var oTextboxProject = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtProject")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("WhereClauseGeneratorASCX1_txtProjectID")/*:nullable, The ID textbox for a value/id scenario*/);
		
		var oTextboxMfg = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtMfg")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("WhereClauseGeneratorASCX1_txtMfgID")/*:nullable, The ID textbox for a value/id scenario*/);
		
		var oTextboxPONumber = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtPONumber")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		null/*:nullable, The ID textbox for a value/id scenario*/);	
		
		var oTextboxTagType = new AutoSuggestControl_MultiFiltered(
		document.getElementById("WhereClauseGeneratorASCX1_txtTagType")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("WhereClauseGeneratorASCX1_txtTagTypeID")/*:nullable, The ID textbox for a value/id scenario*/);				
	
		populateAJAXcontrolsTCG(sURL, TransactionTypes);
	}
	
	//set up the TransactionClauseGenerator
	//TransactionTypes["adminTransactionTypes", "fullTransactionTypes"]
	function populateAJAXcontrolsTCG(sURL, TransactionTypes)
	{
		if(TransactionTypes=="fullTransactionTypes")
		{
			var oTextboxTransactionType = new AutoSuggestControl_MultiFiltered(
			document.getElementById("TransactionClauseGenerator1_txtTransactionType")/*:HTMLInputElement*/,
			null/*:nullable, Series of Controls to filter the list*/,
			new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
			document.getElementById("TransactionClauseGenerator1_txtTransactionTypeID")/*:nullable, The ID textbox for a value/id scenario*/);		
		}
		else
		{
			//HARD CODED the TransactionType and TransactionTypeID
			//find a better way later!!!
			document.getElementById("TransactionClauseGenerator1_txtTransactionTypeID").value="8";
			document.getElementById("TransactionClauseGenerator1_txtTransactionType").value="Issue";
			setNodeAttr(document.getElementById('TransactionClauseGenerator1_txtTransactionType'),"readonly","true");
			setNodeAttr(document.getElementById('TransactionClauseGenerator1_txtTransactionTypeID'),"readonly","true");
		}
		
		var oTextboxToLocation = new AutoSuggestControl_MultiFiltered(
		document.getElementById("TransactionClauseGenerator1_txtToLocation")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("TransactionClauseGenerator1_txtToLocationID")/*:nullable, The ID textbox for a value/id scenario*/);		

		var oTextboxToProject = new AutoSuggestControl_MultiFiltered(
		document.getElementById("TransactionClauseGenerator1_txtToProject")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("TransactionClauseGenerator1_txtToProjectID")/*:nullable, The ID textbox for a value/id scenario*/);		

		var oTextboxCondition = new AutoSuggestControl_MultiFiltered(
		document.getElementById("TransactionClauseGenerator1_txtCondition")/*:HTMLInputElement*/,
		null/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("TransactionClauseGenerator1_txtConditionID")/*:nullable, The ID textbox for a value/id scenario*/);		

		var oTextboxAddress = new AutoSuggestControl_MultiFiltered(
		document.getElementById("TransactionClauseGenerator1_txtAddress")/*:HTMLInputElement*/,
		new Array(document.getElementById('TransactionClauseGenerator1_txtToLocationID'),document.getElementById('TransactionClauseGenerator1_txtToProjectID'))/*:nullable, Series of Controls to filter the list*/,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching)/*:nullable, SuggestionProvider*/,
		document.getElementById("TransactionClauseGenerator1_txtAddressID")/*:nullable, The ID textbox for a value/id scenario*/);


		//AjaxMe("txtToProject",null,"txtToProjectID","TransactionClauseGenerator1_",sURL);
		
		function AjaxMe(name, filterArray, IDname, prefix, sURL)
		{
			//eval("var str='howdy';");
			//eval("var str = 'var o" + name + "=new AutoSuggestControl_MultiFiltered(" + 
			//document.getElementById(prefix + name) + ", " + 
			//filterArray!=null?filterArray:null + ", " +
			//"new RemoteStateSuggestions_MultiFiltered(" + sURL + "), " +
			//IDname!=null?document.getElementById(IDname):null + ")';");
			//eval("var str = 'var o" + name + "=new AutoSuggestControl_MultiFiltered(document.getElementById(" + prefix + name + "))';");
			//alert(str);
			
			//eval("var o" + name + "=new AutoSuggestControl_MultiFiltered(" + 
			//document.getElementById(prefix + name) + ", " + 
			//filterArray!=null?filterArray:null + ", " +
			//"new RemoteStateSuggestions_MultiFiltered(" + sURL + "), " +
			//IDname!=null?document.getElementById(IDname):null + ");")
		}		
		//end v1.3.1.5
	}	
	
	function populateMultiFilteredEditingControls(sURL)
	{
		/**/
		var oTextboxItemName = new AutoSuggestControl_MultiFiltered(document.getElementById("txtItemName"),
		null,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		null,
		null);
		
		var oTextboxItemCategory = new AutoSuggestControl_MultiFiltered(document.getElementById("txtItemCategory"),
		new Array(document.getElementById("txtItemName")),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		document.getElementById("intCategoryID"),
		document.getElementById("chkAllCategories"));
		
		var oTextboxMfg = new AutoSuggestControl_MultiFiltered(document.getElementById("txtMfg"),
		new Array(document.getElementById("txtItemName"),
		document.getElementById("intCategoryID")),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		document.getElementById("intMfgID"),
		document.getElementById("chkAllMfgs"));
							
		var oTextboxModel = new AutoSuggestControl_MultiFiltered(document.getElementById("txtModel"),
		new Array(document.getElementById("txtItemName"),
		document.getElementById("intCategoryID"),
		document.getElementById("txtMfg")),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		null,null);

		var oTextboxSize = new AutoSuggestControl_MultiFiltered(document.getElementById("txtSize"),
		new Array(document.getElementById("txtItemName"),
		document.getElementById("intCategoryID"),
		document.getElementById("txtMfg"),
		document.getElementById("txtModel")),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		null,
		document.getElementById("chkAllSizes"));		

		var oTextboxNSFNumber = new AutoSuggestControl_MultiFiltered(document.getElementById("txtNSFNumber"),
		new Array(document.getElementById("txtItemName"),
		document.getElementById("intCategoryID"),
		document.getElementById("txtMfg"),
		document.getElementById("txtModel"),
		document.getElementById("txtSize"),
		document.getElementById("txtTagType")),
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		null,null);	

		var oTextboxService = new AutoSuggestControl_MultiFiltered(document.getElementById("txtService"),
		null,
		new RemoteStateSuggestions_MultiFiltered(sURL, blnUseCaching),
		document.getElementById("intServiceID"),
		null);		
	}
	
	//v1.3.1.5 - disable AutoComplete to avoid interferring with
	//AJAX AutoSuggest functionality
	function disableTextboxesAutoComplete()
	{
		disableAutoComplete("TransactionClauseGenerator1_txtTransactionType");
		disableAutoComplete("TransactionClauseGenerator1_txtToLocation");
		disableAutoComplete("TransactionClauseGenerator1_txtToProject");
		disableAutoComplete("TransactionClauseGenerator1_txtCondition");
		disableAutoComplete("TransactionClauseGenerator1_txtAddress");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtLocation");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtCategory");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtProject");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtMfg");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtTagType");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtItemName");
		disableAutoComplete("WhereClauseGeneratorASCX1_txtPONumber");

	}
	function setNodeAttr( nodeObj, attrName, attrVal )  {   
		//No sanity checks here. Verify nodeObj before calling this.   
		var attributeNode = nodeObj.getAttributeNode( attrName );   
		if ( attributeNode )
		{attributeNode.value = attrVal;} 
		else 
		{nodeObj.setAttribute( attrName, attrVal );}
	}  

	function disableAutoComplete(idref)  {   
		var obj = document.getElementById( idref );   
		if(!obj ) return;   
		setNodeAttr(obj, "autocomplete", "off");  
	}	
	//used by WCG and TCG to clear all textbox and checkbox controls:
	function resetControls(prefix)
	{
		var x=document.getElementsByTagName("input");
		//alert("x.length=" + x.length);
		for(var i=0;i<x.length;i++)
		{
			//clear the textboxes (all are ID'd with 'txt' in the name)
			//clear all except for txtTagType and txtTagTypeID
			if(x[i].id.indexOf(prefix + "_txt")==0 && x[i].id.indexOf("TagType")==-1) x[i].value="";
			//clear the checkboxes (all are ID'd with 'chk' in the name)
			if(x[i].id.indexOf(prefix + "_chk")==0) x[i].checked=false;
		}

	}  
	//used by WCG to clear Inventory Between Dates controls:
	function resetDates()
	{
		document.getElementById("WhereClauseGeneratorASCX1_txtStartDate").value="";
		document.getElementById("WhereClauseGeneratorASCX1_txtEndDate").value="";		
	}
	
	//rounds numbers call like roundNumber(varName,2)  where 2 is the number of decimal places desired
	function roundNumber(num, dec) {
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		//alert(result);
		return result;
	}