function checkValidDate(intYear,intMonth,intDay)
	{
		var ndt = new Date(intYear,intMonth-1,intDay);
		var blnDTOk = true;
		
		if(ndt.getMonth()+1 != intMonth)
			blnDTOk = false;
		
		return blnDTOk;		
	}
	
function checkNumber(strVal)
	{
		var str = ""+strVal;
		var blnNum = true;
		var x = 0;
		
		for(x=0;x<=str.length-1;x++)
		{
			if(str.charCodeAt(x) < 48 || str.charCodeAt(x) > 57)
				blnNum = false;
		}
		
		return blnNum;
	}

function checkPhone(strVal) // uses checkNumber()
	{
	blnNum = true;
	var str = ""+strVal;		 	
	var c = /[\(\)\-\s]/g;
	str= str.replace(c, ""); 
	if (str.length > 15 || !checkNumber(str))
    {
		blnNum=false;
	}
		
		return blnNum;
	}
		

	
	
	function checkEmail(strVal)
	{
		var blnErr = false;

		if(strVal.length < 6)
			blnErr = true;
		else if(strVal.lastIndexOf("@") - strVal.indexOf("@") == 1)
			blnErr = true;
		else if(strVal.lastIndexOf(".") - strVal.indexOf(".") == 1)
			blnErr = true;
		else if(strVal.indexOf("@") == 0 || strVal.lastIndexOf("@") == strVal.length-1)
			blnErr = true;
		else if(strVal.indexOf(".") == 0 || strVal.lastIndexOf(".") >= strVal.length-2)
			blnErr = true;
		else if(strVal.lastIndexOf(".") < strVal.lastIndexOf("@"))
			blnErr = true;
		else if(strVal.indexOf("@") < strVal.lastIndexOf("@"))
			blnErr = true;
		else if((strVal.indexOf(".") - strVal.indexOf("@")) == 1)
			blnErr = true;
		else if(strVal.indexOf("@") < strVal.lastIndexOf("@"))
			blnErr = true;
		else if(strVal.indexOf("@") < 0 || strVal.indexOf(".") < 0)
			blnErr = true;
		else if(strVal.indexOf(" ") > 0 || strVal.indexOf(" ") == 0)
			blnErr = true;

		if(!blnErr)
			blnErr = checkEmailChars(strVal);

		return blnErr;
	}

	function checkEmailChars(theText)
	{  
		var compareString1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-_.&";
		var compareString2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890.-";
		var pos = theText.indexOf("@");
		var found = false;
			
		/****Check front portion of email before @ sign*******/
		for(i = 0;i<pos;i++)
		{  
			if(compareString1.indexOf(theText.charAt(i)) < 0)
			{  
				found = true;
				break;
			}
		}
			
		if(!found)
		{			
			/****Check email address after @ sign*******/
			for(j = pos + 1 ;j<theText.length;j++)			
			{				
				if(compareString2.indexOf(theText.charAt(j)) < 0)
				{  
					found = true;
					break;
				}
			}
		}
			
			
		return(found);
	}

	function checkPostalCode(objField)
	{
		var str1 = "";
		var str2 = "";
		var str3 = "";
		var intPos1 = 0;
		var intPos2 = 0;
		var intLen = 0;
		var intOkCounter = 0;

		if(objField.value != "")
		{
			intLen = objField.value.length;
			if(intLen > 7)
				return false;
			else if(intLen == 6)
			{
				intOkCounter = checkPostalCharOrder(objField.value);
				if(intOkCounter == 6)
					return true;
				else
					return false;
			}
			else
			{
				intPos1 = objField.value.indexOf("-");
				if(intPos1 > 0)
				{
					str1 = objField.value.substr(0, intPos1);
					str2 = objField.value.substr(intPos1+1, intLen);
					str3 = str1 + str2;
					intOkCounter = checkPostalCharOrder(str3);
				}
					
				intPos2 = objField.value.indexOf(" ");
				if(intPos2 > 0)
				{
					str1 = objField.value.substr(0, intPos2);
					str2 = objField.value.substr(intPos2+1, intLen);
					str3 = str1 + str2;
					intOkCounter = checkPostalCharOrder(str3);
				}
				if(intOkCounter == 6)
					return true;
				else
					return false;
			}
		}
		else
			return false;
	}

	function checkPostalCharOrder(strChars)
	{
		var intOkCounter = 0;

		if((strChars.charCodeAt(0) >= 65 && strChars.charCodeAt(0) <= 90) ||
		   (strChars.charCodeAt(0) >= 97 && strChars.charCodeAt(0) <= 122))
		{
			intOkCounter++;
		}
		if((strChars.charCodeAt(1) >= 48 && strChars.charCodeAt(1) <= 57))
		{
			intOkCounter++;
		}
		if((strChars.charCodeAt(2) >= 65 && strChars.charCodeAt(2) <= 90) ||
		   (strChars.charCodeAt(2) >= 97 && strChars.charCodeAt(2) <= 122))
		{
			intOkCounter++;
		}
		if((strChars.charCodeAt(3) >= 48 && strChars.charCodeAt(3) <= 57))
		{
			intOkCounter++;
		}
		if((strChars.charCodeAt(4) >= 65 && strChars.charCodeAt(4) <= 90) ||
		   (strChars.charCodeAt(4) >= 97 && strChars.charCodeAt(4) <= 122))
		{
			intOkCounter++;
		}
		if((strChars.charCodeAt(5) >= 48 && strChars.charCodeAt(5) <= 57))
		{
			intOkCounter++;
		}

		return intOkCounter;
	}
	
	function trim(strObj)
	{
		
		strObj.value = ""+strObj.value;
		var x = 0;
		var y = 0;
		var intPos1 = -1;
		var intPos2 = -1;
		var intChar = 0;
		var str = ""
		var newStr = "";
		var intLen = strObj.value.length-1;

		//Take spaces and enter keys from begining of string
		for(x=0;x<=intLen;x++)
		{
			if((strObj.value.charCodeAt(x) == 32 || (strObj.value.charCodeAt(x) == 10 || strObj.value.charCodeAt(x) == 13)) && intChar == 0)
				intPos1 = x;
			else
				intChar++;
		}

		if(intPos1 >= 0)
		{
			str = strObj.value.substr(intPos1+1,intLen);
			strObj.value = str;
		}
		else
			str = strObj.value;

		intLen = str.length-1;
		intChar = 0;

		//Take spaces and enter keys from end of string
		for(y=intLen;y>=0;y--)
		{
			if((str.charCodeAt(y) == 32 || (str.charCodeAt(y) == 10 || str.charCodeAt(y) == 13)) && intChar == 0)
				intPos2 = y;
			else
				intChar++;
		}
		if(intPos2 > 0)
		{
			newStr = str.substr(0,intPos2);
			strObj.value = newStr;
		}
		else
			newStr = strObj.value;
			
		return newStr;
	}
function check7DigitPhone(str)
{

	var phone = str;
	var newPhone = "";
	
	var blnIs7digits = false;
	
	for(i=0; i<phone.length; i++)
	{
		if(phone.charCodeAt(i) >= 48 && phone.charCodeAt(i) <=57)
		{
			newPhone += phone.charAt(i);
		}
	}
	
	if(newPhone.length == 7)
	{
		blnIs7digits = true;
	}
	
	return blnIs7digits;
}

function CheckZipCode(zipcode) 
{ 
    var Zip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
     if (!Zip.test(zipcode)) {
          return false;
 	 }
 
return true;
}

function CheckUSCAPhoneNumber(phonenum) 
{ 
    var phone = new RegExp(/\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/);
     if (!phone.test(phonenum)) {
          return false;
 	 }
 
return true;
}

function checkRadios(elem)
{

      // Radio
        var radiogroup = elem;//[elem[i].name];
        var itemchecked = false;
        for(var j = 0 ; j < radiogroup.length ; ++j)
		{
          if(radiogroup[j].checked)
		  {
            itemchecked = true;
            break;
          }		  
        }
      
        if(!itemchecked) 
		{ 
		return false;
        }else
		{
		return true;
		}
	
}



function isValidEmail(sEmail) {

  var sQtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
  var sDtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
  var sAtom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
  var sQuotedPair = '\\x5c[\\x00-\\x7f]';
  var sDomainLiteral = '\\x5b(' + sDtext + '|' + sQuotedPair + ')*\\x5d';
  var sQuotedString = '\\x22(' + sQtext + '|' + sQuotedPair + ')*\\x22';
  var sDomain_ref = sAtom;
  var sSubDomain = '(' + sDomain_ref + '|' + sDomainLiteral + ')';
  var sWord = '(' + sAtom + '|' + sQuotedString + ')';
  var sDomain = sSubDomain + '(\\x2e' + sSubDomain + ')*';
  var sLocalPart = sWord + '(\\x2e' + sWord + ')*';
  var sAddrSpec = sLocalPart + '\\x40' + sDomain; // complete RFC822 email address spec
  var sValidEmail = '^' + sAddrSpec + '$'; // as whole string
  
  var reValidEmail = new RegExp(sValidEmail);
  
  if (reValidEmail.test(sEmail)) {
    return true;
  }
  
  return false;
}


