	function ValidEmail(InEmail) 
	{
		var chkMail = InEmail;
		var InvalidExp = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		var ValidExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
		if (!InvalidExp.test(chkMail) && ValidExp.test(chkMail)) 
		{
			//Valid Email Response
			return true;
		}
		return false;
	}

	function HrefButtonIn(ObjID)
	{
		document.getElementById(ObjID).style.color="DarkOrange"; 
		document.getElementById(ObjID).style.textDecoration="underline";
	}

	function HrefButtonOut(ObjID)
	{
		document.getElementById(ObjID).style.color="#316ac5";
		document.getElementById(ObjID).style.textDecoration="none";
	}

	function FormatPhone(PhoneIN)
	{
		var PhoneOut = PhoneIN.replace(/[^0-9]/ig, "");
		if (PhoneOut.length != 10)
		{
			PhoneOut = "Error";
		}
		else
		{
			PhoneOut = PhoneOut.slice(0, 3) + "-" + PhoneOut.slice(3, 6) + "-" + PhoneOut.slice(6);
		}
		return PhoneOut;
	}

	function FormatFixedNumber(NumIN, NumLen)
	{
		var NumDig = NumLen - 0;
		var NumOut = NumIN.replace(/[^0-9]/ig, "");
		if (NumOut.length != NumDig)
		{
			NumOut = "Error";
		}
		return NumOut;
	}
	
	function validateFixedNumber(NumIn)
	{
		var validExpression = /^(-+)?[0-9]*(\.[0-9]*)?$/;
		return validExpression.test(NumIn);
	}
	
	function validateFixedPosNumber(NumIn)
	{
		var validExpression = /^[0-9]*(\.[0-9]*)?$/;
		return validExpression.test(NumIn);
	}

	function validateInteger(NumIn)
	{
		var validExpression = /^(-+)?[0-9]*/;
		if (NumIn.indexOf(".") > 0)
		{
			return false;
		}
		return validExpression.test(NumIn);
	}

	function validatePosInteger(NumIn)
	{
		var validExpression = /^[0-9]/;
		if (NumIn.indexOf(".") > 0)
		{
			return false;
		}
		return validExpression.test(NumIn);
	}

	function TrimValue(ValueIn)
	{
		return ValueIn.replace(/[\s]/g, "");
	}

	function JDate(DateIn)
	{
		var SplitDate = DateIn.split("/");
		var vYR = SplitDate[2];
		var vMon = SplitDate[0];
		if (vMon.length < 2)
		{
			vMon = "0" + vMon;
		}
		var vDay = SplitDate[1];
		if (vDay.length < 2)
		{
			vDay = "0" + vDay;
		}
		return vYR + vMon + vDay;
	}
	
	function RemWhiteSpace(ValueIn)
	{
		var ValueOut;
		ValueOut = ValueIn.replace(/^\s+/,""); 
		ValueOut = ValueOut.replace(/\s+$/,"");
		return ValueOut;
	}

	function RemoveCarriageReturns(ValueIn)
	{
		return ValueIn.replace(/[\n]/g, " ");
	}

	function IsValidDate(DateIn)
	{
		var ValidDate = /\d{1,2}\/\d{1,2}\/\d{4}/
		if (!ValidDate.test(DateIn))
		{
			return false;
		}
		var SplitDate = DateIn.split("/");
		var YearIn = SplitDate[2]; //DateIn.substr(4,4);
		var DayIn = SplitDate[1]; // DateIn.substr(2,2);
		var MonthIn = SplitDate[0]; // DateIn.substr(0,2);
		var leapYR = 0;
		vYear = (YearIn * 1);
		if (vYear % 4 == 0) 
		{
			leapYR = 1;
		}
		vMon = (MonthIn * 1);
		vDay = (DayIn * 1);
		if (vDay < 1 || vYear < 1)
		{
			return false;
		}
		switch (vMon)
		{
			case 2:
				if (vDay > (28+leapYR))
				{
					return false;
				}
				break;
			case 9:
			case 4:
			case 6:
			case 11:
				if (vDay > 30)
				{
					return false;
				}
				break;
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				if (vDay > 31)
				{
					return false;
				}
				break;
			default:
				return false;
				break;
		}
		return true;
	}
			

