function isEmail(sTest) {
	/*
	*	accepts emails like:
	*		foo@bar.com
	*		abc_123.zxy-987.etc@do_re.me-fa.so.la.ti.do
	*
	*	allows alphanumeric, underscore and hyphen
	*	...except must be 2+ alpha only after last dot.
	*	returns boolean
	*/
	var pattern = /^[\w\-]+(\.[\w\-]+)*@[\w\-]+\.([\w\-]+\.)*[a-z]{2,}$/i;
	return pattern.test(sTest);
}

String.prototype.trim = function()
{
	return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");
}

String.prototype.isDate = function()
{
	var re=/^((0?\d)|(1[0-2]))(\\|\/|-)((0?\d)|([1-2]\d)|(3[0-1]))(\\|\/|-)(\d{2}|\d{4})$/;
	return re.test(this);
}

Array.prototype.indexOf = function(val)
{
	for (var i=0; i<this.length; i++)
		if (this[i]==val) return i;
	return -1;
}

function VerifyDate(pYear, pMonth, pDay)
{
	var lDay = eval(pDay);
	var DateFrom = new Date(eval(pYear), eval(pMonth) - 1, lDay);
	if (DateFrom.getDate() != lDay)
		return(false);
	else
		return(true);
}
	
function GetMonthValue(MonthName)
	{
		var MN = new String();		
		MN = MonthName;
	
		var MonthValue;
		switch (MN.toUpperCase())
		{
			case "JAN":
			{
				MonthValue = 1;
				break;
			}
			case "FEB":
			{
				MonthValue = 2;
				break;
			}
			case "MAR":
			{
				MonthValue = 3;
				break;
			}
			case "APR":
			{
				MonthValue = 4;
				break;
			}
			case "MAY":
			{
				MonthValue = 5;
				break;
			}
			case "JUN":
			{
				MonthValue = 6;
				break;
			}
			case "JUL":
			{
				MonthValue = 7;
				break;
			}
			case "AUG":
			{
				MonthValue = 8;
				break;
			}
			case "SEP":
			{
				MonthValue = 9;
				break;
			}
			case "OCT":
			{
				MonthValue = 10;
				break;
			}
			case "NOV":
			{
				MonthValue = 11;
				break;
			}
			case "DEC":
			{
				MonthValue = 12;
				break;
			}
		}
		
		return(MonthValue);
	}


function IsNumeric(sText)
	{
		var ValidChars = "0123456789.,-";
		var IsNumber = true;
		var Char;
		var count = 0;
		
		var s = sText;
		
		if (s.trim() != "" && s.trim() != "-" && s.trim() != ".")
		{
			if (s.lastIndexOf("-") > 0)
				return(false);
		
			for (var i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
				Char = s.charAt(i); 
				if (ValidChars.indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
				else
				{
					if (Char == ".")
						count = count + 1;
				}
			}
		}
		else
		{
			IsNumber = false;
		}
		if (count > 1)
			IsNumber = false;
			
		return IsNumber;
	   
	}
	

