//-------------------------------------------------------------------------------------------------------------------------------------------
function doSelectGrouping0001Fields(idx)
{
	var elem = new Object();

	elem = xGetElementsByClassName("grouping0001");

	elem[0].checked = false;
	elem[1].checked = false;
	elem[2].checked = false;
	elem[idx].checked = true;

	if (idx == 0)
	{
		elem = xGetElementById("grouping0001ProjectYearNbr");
		var elem2 = xGetElementById("grouping0001ProjectSeqNbr");
		xBackground(elem, "#FFFFFF");
		xBackground(elem2, "#FFFFFF");
		xColor(elem, "#000000");
		xColor(elem2, "#000000");

		elem = xGetElementById("grouping0001POYearNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001POSeqNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
	else if (idx == 1)
	{
		elem = xGetElementById("grouping0001POYearNbr");
		var elem2 = xGetElementById("grouping0001POSeqNbr");
		xBackground(elem, "#FFFFFF");
		xBackground(elem2, "#FFFFFF");
		xColor(elem, "#000000");
		xColor(elem2, "#000000");

		elem = xGetElementById("grouping0001ProjectYearNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001ProjectSeqNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
	else if (idx == 2)
	{
		elem = xGetElementById("grouping0001ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#FFFFFF");
		xColor(elem, "#000000");
		elem.focus();

		elem = xGetElementById("grouping0001POYearNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001POSeqNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001ProjectYearNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0001ProjectSeqNbr");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doSelectGrouping0003Fields(idx)
{
	var elem = new Object();

	elem = xGetElementsByClassName("grouping0003");

	elem[0].checked = false;
	elem[1].checked = false;
	elem[2].checked = false;
	elem[3].checked = false;
	elem[idx].checked = true;

	if (idx == 0)
	{
		elem = xGetElementById("grouping0003RespLoc");
		elem.selectedIndex = 0;
		xBackground(elem, "#FFFFFF");
		xColor(elem, "#000000");

		elem = xGetElementById("grouping0003County");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003State");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
	else if (idx == 1)
	{
		elem = xGetElementById("grouping0003RespLoc");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003County");
		elem.selectedIndex = 0;
		xBackground(elem, "#FFFFFF");
		xColor(elem, "#000000");

		elem = xGetElementById("grouping0003State");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
	else if (idx == 2)
	{
		elem = xGetElementById("grouping0003RespLoc");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003County");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003State");
		elem.selectedIndex = 0;
		xBackground(elem, "#FFFFFF");
		xColor(elem, "#000000");

		elem = xGetElementById("grouping0003ProdSuppCd");
		elem.value = "";
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");
	}
	else if (idx == 3)
	{
		elem = xGetElementById("grouping0003RespLoc");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003County");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003State");
		elem.selectedIndex = 0;
		xBackground(elem, "#666666");
		xColor(elem, "#FFFFFF");

		elem = xGetElementById("grouping0003ProdSuppCd");
		elem.value = "";
		elem.focus();
		xBackground(elem, "#FFFFFF");
		xColor(elem, "#000000");
	}
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateProjectYearNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Project Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); elem.focus(); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (!ensureInBag(elemValue, digits)) { alert("The Project Number field may only contain\nnumeric data (0-9).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateProjectSeqNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Project Number field is\nrequired and has been left blank.\n\nPlease correct and resubmit."); elem.focus(); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (!ensureInBag(elemValue, digits)) { alert("The Project Number field may only\ncontain numeric data (0-9).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function checkHyphenPlaces(str, places)
{
	var trueLength = str.length - 1;

	switch (places)
	{
		case 0:
			if ((str.indexOf(hyphen) != -1) && (str.indexOf(hyphen) != trueLength)) { return false; }
			break;
		default:
			if ((str.indexOf(hyphen) != -1) && ((trueLength - str.indexOf(hyphen)) != places)) { return false; }
			break;
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function ensureOnlyOneHyphen(str)
{
	var c = "";
	var hyphenFound = false;

	for (i = 0; i < str.length; i++)
	{   
		c = str.charAt(i);
		if (c == hyphen)
		{
			if (hyphenFound != false) { return false; }
			else { hyphenFound = true; }
		}
	}
	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doResetParameterFields()
{
	var elem = new Object();
	var qcpDivElem = new Object();

	doInitializeQueryCentralParameterPrompts();

	elem = xGetElementById("querySelectedSelect");
	qcpDivElem = xGetElementById("queryCentralParametersDiv");

	if (elem.selectedIndex != 0) { xDisplay(qcpDivElem, "block"); }
	else { xDisplay(qcpDivElem, "none"); }
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateSubNbrInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("subNbr");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { elem.value = "00"; return true; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 2) { alert("The Sub Number field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The Sub Number field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateSubSubNbrInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("subSubNbr");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { elem.value = "00"; return true; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 2) { alert("The Sub-Sub Number field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The Sub-Sub Number field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateMinQtyInput(nbr)
{
	elem = xGetElementById("costDataMinQtyNbr");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { elem.value = "0"; return true; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if ((elemValue != "") && ((!ensureInBag(elemValue, floatNbrs)) || (!ensureOnlyOneDecimalPoint(elemValue)))) { alert("The Minimum Quantity field must contain numeric data only.\n\nPlease correct this and try again."); elem.value = "0"; return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateEstimateNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";
	nbr = parseInt(nbr);

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Estimate Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 3) { alert("The Estimate Number field must be a numeric\nvalue that is less than 1000 (0-999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The Estimate Number field must be a numeric\nvalue that is less than 1000 (0-999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if ((nme == "estimateNbrRangeField1") || (nme == "estimateNbrRangeField2"))
		{
			var beginElem = new Object();
			var endElem = new Object();

			var beginElemValue = "";
			var endElemValue = "";

			beginElem = xGetElementById("estimateNbrRangeField1");
			endElem = xGetElementById("estimateNbrRangeField2");

			beginElemValue = beginElem.value;
			endElemValue = endElem.value;

			if ((beginElemValue == "") && (endElemValue != "")) { alert("When specifying an estimate range, both fields\nEst Nbr (Begin) and Est Nbr (End) are needed.\n\nOnly the Est Nbr (End) has been specified.\n\nPlease correct and resubmit."); return false; }
			else if ((beginElemValue != "") && (endElemValue == "")) { alert("When specifying an estimate range, both fields\nEst Nbr (Begin) and Est Nbr (End) are needed.\n\nOnly the Est Nbr (Begin) has been specified.\n\nPlease correct and resubmit."); return false; }
//			else if (parseInt(beginElemValue) > parseInt(endElemValue)) { alert("When specifying an estimate range, the Est Nbr (Begin)\nfield must be <= the Est Nbr (End) field.\n\nPlease correct and resubmit."); return false; }
		}
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateReferenceNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";
	nbr = parseInt(nbr);

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Reference Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 4) { alert("The Reference Number field must be a numeric\nvalue that is less than 10000 (0-9999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The Reference Number field must be a numeric\nvalue that is less than 10000 (0-9999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if ((nme == "referenceNbrRangeField1") || (nme == "referenceNbrRangeField2"))
		{
			var beginElem = new Object();
			var endElem = new Object();

			var beginElemValue = "";
			var endElemValue = "";

			beginElem = xGetElementById("referenceNbrRangeField1");
			endElem = xGetElementById("referenceNbrRangeField2");

			beginElemValue = beginElem.value;
			endElemValue = endElem.value;

			if ((beginElemValue == "") && (endElemValue != "")) { alert("When specifying a reference range, both fields\nRef Nbr (Begin) and Ref Nbr (End) are needed.\n\nOnly the Ref Nbr (End) has been specified.\n\nPlease correct and resubmit."); return false; }
			else if ((beginElemValue != "") && (endElemValue == "")) { alert("When specifying a reference range, both fields\nRef Nbr (Begin) and Ref Nbr (End) are needed.\n\nOnly the Ref Nbr (Begin) has been specified.\n\nPlease correct and resubmit."); return false; }
			else if (parseInt(beginElemValue) > parseInt(endElemValue)) { alert("When specifying a reference range, the Ref Nbr (Begin)\nfield must be <= the Ref Nbr (End) field.\n\nPlease correct and resubmit."); return false; }
		}
		if ((nme == "optionalReferenceNbrRangeField1") || (nme == "optionalReferenceNbrRangeField2"))
		{
			var beginElem = new Object();
			var endElem = new Object();

			var beginElemValue = "";
			var endElemValue = "";

			beginElem = xGetElementById("optionalReferenceNbrRangeField1");
			endElem = xGetElementById("optionalReferenceNbrRangeField2");

			beginElemValue = beginElem.value;
			endElemValue = endElem.value;

			if ((beginElemValue == "") && (endElemValue != "")) { alert("When specifying a reference range, the Ref Nbr\n(Begin) field is needed.\n\nOnly the Ref Nbr (End) has been specified.\n\nPlease correct and resubmit."); return false; }
			else if (((beginElemValue != "") && (endElemValue != "")) && (parseInt(beginElemValue) > parseInt(endElemValue))) { alert("When specifying a reference range, the Ref Nbr (Begin)\nfield must be <= the Ref Nbr (End) field.\n\nPlease correct and resubmit."); return false; }
		}
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateOptionalFullDateRangeInput()
{
	var beginElem = new Object();
	var endElem = new Object();

	var beginElemValue = "";
	var endElemValue = "";

	beginElem = xGetElementById("optionalFullDateRangeField1");
	endElem = xGetElementById("optionalFullDateRangeField2");

	beginElemValue = beginElem.value;
	endElemValue = endElem.value;

	beginArr = beginElemValue.split("/");
	endArr = endElemValue.split("/");

	var beginDt = new Date(beginArr[2], (beginArr[0] - 1), beginArr[1]);
	var endDt = new Date(endArr[2], (endArr[0] - 1), endArr[1]);

	if ((beginElemValue == "") && (endElemValue != "")) { alert("When specifying a date range, both fields\nDate (Begin) and Date (End) are needed.\n\nOnly the Date (End) has been specified.\n\nPlease correct and resubmit."); return false; }
	else if ((beginElemValue != "") && (endElemValue == "")) { alert("When specifying a date range, both fields\nDate (Begin) and Date (End) are needed.\n\nOnly the Date (Begin) has been specified.\n\nPlease correct and resubmit."); return false; }
	else if (beginDt > endDt) { alert("When specifying a date range, the Date (Begin)\nfield must be <= the Date (End) field.\n\nPlease correct and resubmit."); return false; }

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateFullDateRangeInput()
{
	var beginElem = new Object();
	var endElem = new Object();

	var beginElemValue = "";
	var endElemValue = "";

	if (arguments.length == 0)
	{
		beginElem = xGetElementById("fullDateRangeField1");
		endElem = xGetElementById("fullDateRangeField2");
	}
	else
	{
		beginElem = xGetElementById(arguments[0]);
		endElem = xGetElementById(arguments[1]);
	}

	beginElemValue = beginElem.value;
	endElemValue = endElem.value;

	beginArr = beginElemValue.split("/");
	endArr = endElemValue.split("/");

	var beginDt = new Date(beginArr[2], (beginArr[0] - 1), beginArr[1]);
	var endDt = new Date(endArr[2], (endArr[0] - 1), endArr[1]);

	if ((beginElemValue == "") && (endElemValue == "")) { alert("Both date fields, Date (Begin) and Date (End),\nare required and have been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((beginElemValue == "") && (endElemValue != "")) { alert("When specifying a date range, both fields\nDate (Begin) and Date (End) are needed.\n\nOnly the Date (End) has been specified.\n\nPlease correct and resubmit."); return false; }
	else if ((beginElemValue != "") && (endElemValue == "")) { alert("When specifying a date range, both fields\nDate (Begin) and Date (End) are needed.\n\nOnly the Date (Begin) has been specified.\n\nPlease correct and resubmit."); return false; }
	else if (beginDt > endDt) { alert("When specifying a date range, the Date (Begin)\nfield must be <= the Date (End) field.\n\nPlease correct and resubmit."); return false; }

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateOptionalMonthYearRangeInput()
{
	var currDate = new Date();

	var beginYearField = xGetElementById("optionalBeginYearField");
	var beginMonthField = xGetElementById("optionalBeginMonthField");
	var endYearField = xGetElementById("optionalEndYearField");
	var endMonthField = xGetElementById("optionalEndMonthField");

	var beginYearVal = beginYearField.value;
	var beginMonthVal = beginMonthField.value;
	var endYearVal = endYearField.value;
	var endMonthVal = endMonthField.value;

	if (((beginYearVal == "") && (beginMonthVal == "")) && ((endYearVal == "") && (endMonthVal == ""))) { return true; }
	else if ((beginYearVal != "") && (beginMonthVal == "")) { alert("When specifying a begin date, the\nyear and month are both required."); beginMonthField.focus(); return false; }
	else if ((beginYearVal == "") && (beginMonthVal != "")) { alert("When specifying a begin date, the\nyear and month are both required."); beginYearField.focus(); return false; }
	else if ((endYearVal != "") && (endMonthVal == "")) { alert("When specifying an end date, the\nyear and month are both required."); endMonthField.focus(); return false; }
	else if ((endYearVal == "") && (endMonthVal != "")) { alert("When specifying an end date, the\nyear and month are both required."); endYearField.focus(); return false; }

	if ((endYearVal != "") && (beginYearVal == "")) { alert("When specifying a date range, the\nbegin month and year are required."), beginMonthField.focus(); return false; }

	if ((beginYearVal != "") && (endYearVal == ""))
	{
		endYearField.value = currDate.getYear();
		endMonthField.value = jsRight("00"+(parseInt(currDate.getMonth()) + 1), 2);
	}

	if (! ensureInBag(beginYearVal, digits)) { alert("This field only accepts numeric input."); beginYearField.focus(); return false; }
	if (! ensureInBag(endYearVal, digits)) { alert("This field only accepts numeric input."); endYearField.focus(); return false; }
	if (! ensureInBag(beginMonthVal, digits)) { alert("This field only accepts numeric input."); beginMonthField.focus(); return false; }
	if (! ensureInBag(endMonthVal, digits)) { alert("This field only accepts numeric input."); endMonthField.focus(); return false; }
	if (parseInt(beginMonthVal) > 12) { alert("This field only accepts numeric values\nbetween 1 and 12."); beginMonthField.focus(); return false; }
	if (parseInt(endMonthVal) > 12) { alert("This field only accepts numeric values\nbetween 1 and 12."); endMonthField.focus(); return false; }

	var beginDtVal = new Date(beginYearVal, (parseInt(beginMonthVal) - 1), "01");
	var endDtVal = new Date(endYearVal, (parseInt(endMonthVal) - 1), "01");

	if (beginDtVal > endDtVal) { alert("When specifying a date range, the Beg MM\/YYYY\nfield must be before the End MM\/YYYY."); return false; }

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateProdSuppCdInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Producer\/Supplier Code field is\nrequired and has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length != 8) { alert("The Producer\/Supplier Code field must\nbe eight (8) characters long.\n\nThe format must be XXXXX-XX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!checkHyphenPlaces(elemValue, 2)) { alert("The Producer\/Supplier Code field must be\neight (8) characters long.\n\nThe format must be XXXXX-XX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (elemValue.indexOf(hyphen) == -1) { alert("The Producer\/Supplier Code field must\nbe eight (8) characters long.\n\nThe format must be XXXXX-XX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureOnlyOneHyphen(elemValue)) { alert("The Producer\/Supplier Code field may only contain\none (1) hyphen.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateChangeOrderNbrInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("coNbr");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The CO Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 3) { alert("The CO Number field must be a numeric\nvalue that is less than 1000 (0-999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The CO Number field must be a numeric\nvalue that is less than 1000 (0-999).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateTE24NbrInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("te24Nbr");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The TE-24 Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length != 10) { alert("The TE-24 Number field must be a numeric\nvalue that is 10 characters long.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The TE-24 Number field must be a numeric\nvalue that is 10 characters long.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidatePartCodeInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("partCode");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Part Code field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length > 2) { alert("The Part Code field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureInBag(elemValue, digits)) { alert("The Part Code field must be a numeric\nvalue that is less than 100 (0-99).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateMaterialCodeInput(nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById("optionalMaterialCode");
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Material Code field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else if (elemValue.length > 9) { alert("The Material Code field must be less\nthan ten (10) characters long.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateMaterialCodeInput2(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Material Code field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else if (elemValue.length > 9) { alert("The Material Code field must be less\nthan ten (10) characters long.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateGrouping0001Inputs(nbr)
{
	var elem = new Object();
	var checkedElem = 0;

	for (i = 0; i < 3; i++)
	{
		var elemName = "grouping0001_"+i;
		elem = xGetElementById(elemName);
		if (elem.checked) { checkedElem = i; }
	}

	switch (checkedElem)
	{
		case 0: { return ((doValidateProjectYearNbrInput("grouping0001ProjectYearNbr", 1)) && (doValidateProjectSeqNbrInput("grouping0001ProjectSeqNbr", 1))); break; }
		case 1: { return ((doValidatePOYearNbrInput("grouping0001POYearNbr", 1)) && (doValidatePOSeqNbrInput("grouping0001POSeqNbr", 1))); break; }
		case 2: { return doValidateProdSuppCdInput("grouping0001ProdSuppCd", 1); break; }
	}
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateGrouping0003Inputs(nbr)
{
	var elem = new Object();
	var elem2 = new Object();
	var checkedElem = 0;

	for (i = 0; i < 4; i++)
	{
		var elemName = "grouping0003_"+i;
		elem = xGetElementById(elemName);
		if (elem.checked) { checkedElem = i; }
	}

	if (checkedElem == 0) { elem2 = xGetElementById("grouping0003RespLoc"); }
	else if (checkedElem == 1) { elem2 = xGetElementById("grouping0003County"); }
	else if (checkedElem == 2) { elem2 = xGetElementById("grouping0003State"); }
	else if (checkedElem == 3) { elem2 = xGetElementById("grouping0003ProdSuppCd"); }

	switch (checkedElem)
	{
		case 0: { if (elem2.selectedIndex == 0) { alert("Please select a Responsible Location from the list."); } return (elem2.selectedIndex != 0); break; }
		case 1: { if (elem2.selectedIndex == 0) { alert("Please select a County from the list."); } return (elem2.selectedIndex != 0); break; }
		case 2: { if (elem2.selectedIndex == 0) { alert("Please select a State or Country from the list."); } return (elem2.selectedIndex != 0); break; }
		case 3: { return doValidateProdSuppCdInput("grouping0003ProdSuppCd", 1); break; }
	}
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidatePurchaseOrderInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Purchase Order Number field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (elemValue.length != 7) { alert("The Purchase Order Number field must be\nseven (7) characters long.\n\nThe format must be XX-XXXX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (elemValue.indexOf(hyphen) == -1) { alert("The Purchase Order Number field must\nbe seven (7) characters long.\n\nThe format must be XX-XXXX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!checkHyphenPlaces(elemValue, 4)) { alert("The Purchase Order Number field must be\nseven (7) characters long.\n\nThe format must be XX-XXXX.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
		if (!ensureOnlyOneHyphen(elemValue)) { alert("The Purchase Order Number field may only contain\none (1) hyphen.\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidatePOYearNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Purchase Order field is required\nand has been left blank.\n\nPlease correct and resubmit."); elem.focus(); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (!ensureInBag(elemValue, digits)) { alert("The Purchase Order field may only contain\nnumeric data (0-9).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidatePOSeqNbrInput(nme, nbr)
{
	var elem = new Object();
	var elemValue = "";

	elem = xGetElementById(nme);
	elemValue = elem.value;

	if ((elemValue == "") && (nbr == 1)) { alert("The Purchase Order field is\nrequired and has been left blank.\n\nPlease correct and resubmit."); elem.focus(); return false; }
	else if ((elemValue == "") && (nbr == 0)) { return true; }
	else
	{
		if (!ensureInBag(elemValue, digits)) { alert("The Purchase Order field may only\ncontain numeric data (0-9).\n\nPlease correct and resubmit."); elem.value = ""; elem.focus(); return false; }
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
function doValidateSampleIdNbrForClearInventory(elem)
{
	var errorMsg = "The character entered is\nnot valid for this field.\n\nPlease try again";

	if (!(ensureInBag(elem.value, alphaNumerics)))
	{
		alert(errorMsg);
		elem.value = jsLeft(elem.value, (elem.value.length - 1));
		elem.focus();
		return false;
	}

	return true;
}
//-------------------------------------------------------------------------------------------------------------------------------------------
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
function doValidateQueryCentralFormSubmission_origToDelete()
{
	var elem = new Object();
	var formElem = new Object();
	var reportNbr = 0;
	var m = 0;

	elem = xGetElementById("querySelectedSelect");
	if (elem.selectedIndex == 0) { alert("The query you selected is not a valid choice.\n\nPlease try again."); return false; }

	for (m = 0; m < queryCentralRequiredInputsArr.length; m++) { if (parseInt(queryCentralRequiredInputsArr[m][0]) == parseInt(elem.value)) { break; } }

	for (n = 0; n < queryCentralRequiredInputsArr[m][1].length; n++)
	{
		if (queryCentralRequiredInputsArr[m][1][n][0] == "districtNbr") { continue; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "yearOnlyDateField") { continue; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "alphabetField") { continue; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "remarksInd") { continue; }
//		else if (queryCentralRequiredInputsArr[m][1][n][0] == "projectNbr") { if (!doValidateProjectNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "projectYearNbr") { if (!doValidateProjectYearNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "projectSeqNbr") { if (!doValidateProjectSeqNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "userName") { tmpElem = xGetElementById("userName"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1)  && (tmpElem.value == "")) { alert("The User Name field is required\nand has been left blank.\n\nPlease correct and resubmit."); tmpElem.focus(); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "password") { tmpElem = xGetElementById("password"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1)  && (tmpElem.value == "")) { alert("The Password field is required\nand has been left blank.\n\nPlease correct and resubmit."); tmpElem.focus(); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "subNbr") { if (!doValidateSubNbrInput(queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "subSubNbr") { if (!doValidateSubSubNbrInput(queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "fullDateField") { tmpElem = xGetElementById("fullDateField"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1) && (tmpElem.value == "")) { alert("The Date field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "fullDateRangeField1") { tmpElem = xGetElementById("fullDateRangeField1"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1) && (tmpElem.value == "")) { alert("The Date (Begin) field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "fullDateRangeField2") { tmpElem = xGetElementById("fullDateRangeField2"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1) && (tmpElem.value == "")) { alert("The Date (End) field is required\nand has been left blank.\n\nPlease correct and resubmit."); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "estimateNbrField") { if (!doValidateEstimateNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "referenceNbrField") { if (!doValidateReferenceNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "optionalReferenceNbrField") { if (!doValidateReferenceNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "searchStringField") { tmpElem = xGetElementById("searchStringField"); if ((queryCentralRequiredInputsArr[m][1][n][1] == 1)  && (tmpElem.value == "")) { alert("The Text String field is required\nand has been left blank.\n\nPlease correct and resubmit."); tmpElem.focus(); return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "optionalFullDateRangeField1") { if (!doValidateOptionalFullDateRangeInput()) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "optionalFullDateRangeField2") { if (!doValidateOptionalFullDateRangeInput()) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "prodSuppCd") { if (!doValidateProdSuppCdInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "estimateNbrRangeField1") { if (!doValidateEstimateNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "estimateNbrRangeField2") { if (!doValidateEstimateNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "referenceNbrRangeField1") { if (!doValidateReferenceNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "referenceNbrRangeField2") { if (!doValidateReferenceNbrInput(queryCentralRequiredInputsArr[m][1][n][0], queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "coNbr") { if (!doValidateChangeOrderNbrInput(queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "partCode") { if (!doValidatePartCodeInput(queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if (queryCentralRequiredInputsArr[m][1][n][0] == "optionalMaterialCode") { if (!doValidateMaterialCodeInput(queryCentralRequiredInputsArr[m][1][n][1])) { return false; } else { continue; }; }
		else if ((queryCentralRequiredInputsArr[m][1][n][0] == "grouping0001PurchaseOrderNbr") || (queryCentralRequiredInputsArr[m][1][n][0] == "grouping0001ProdSuppCd") || (queryCentralRequiredInputsArr[m][1][n][0] == "grouping0001ProjectNbr")) { if (!doValidateGrouping0001Inputs()) { return false; } else { continue; }; }
	}

	formElem = xGetElementById("defaultForm");
//	formElem.action = "queryCentralResults.asp";
	formElem.action = "queryCentralReports/"+elem.value+".asp";
//	formElem.target = top.window.frames["iFrameMainBody"];

	doDisableAllPrintIcons();
	xGetElementById("queryCentralPrintGraphic").src = "images/printGreenEnabled.gif";

	formElem.submit();
}
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
//-------------------------------------------------------------------------------------------------------------------------------------------

