<!--
//***************************************************************************************************************
//Filename		:  fieldvalidations.js
//Author	    :  <your name>
//Date/Time		:  8/13/2002
//Purpose	    :  This page contains functions used for JavaScript form field validation. These generic
//					functions use regular expressions and basic JavaScript syntax to check validity
//
//Parameters	:  
//Revisions		:  <03/26/2003,Kevin Chang ,Modified the function checkInteger and checkZIP.>
//***************************************************************************************************************

function checkMemberNumber(sNumber)
// check Member Number
{
	if(sNumber!='')
	{
		sExp = /\D/gi;
		sNumber = sNumber.replace(sExp, "");
	}
while (sNumber.substring(0,1)==0 && sNumber.length >1 ) {sNumber=sNumber.substring(1,sNumber.length)}
	if(checkInteger(sNumber)==false)
	{
		return false;
	}
	else
	{
		var iTmp = parseInt(sNumber);
		if(iTmp<100000 || (iTmp > 999999 && iTmp < 100000000) || (iTmp > 999999999))
			return false;
		else
			return true;
	}
}

function checkZIP(sZIP)
// check the zipcode 
{
	if(checkInteger(sZIP))
	{
		if(sZIP.length==5 || sZIP.length==9)
				return true;
			else
				return false;
	}
	else
		return false;
}

function checkWord(sWord)
// check the Word
{
	var sRegular = /^([a-zA-Z])+([a-zA-Z0-9])*/;
	if(!sRegular.test(sWord)) 
		return false;
	else
		return true;
}

function checkState(sState)
// check the State
{
	var aState = new Array(56);
	var sRegular = /^([a-zA-Z])+([a-zA-Z0-9])*/;
	var i = 0;

	aState[0] = "AL";
	aState[1] = "AK";
	aState[2] = "AZ";
	aState[3] = "AR";
	aState[4] = "CA";
	aState[5] = "CO";
	aState[6] = "CT";
	aState[7] = "DE";
	aState[8] = "FL";
	aState[9] = "GA";
	aState[10] = "HI";
	aState[11] = "ID";
	aState[12] = "IL";
	aState[13] = "IN";
	aState[14] = "IA";
	aState[15] = "KS";
	aState[16] = "KY";
	aState[17] = "LA";
	aState[18] = "ME";
	aState[19] = "MD";
	aState[20] = "MA";
	aState[21] = "MI";
	aState[22] = "MN";
	aState[23] = "MS";
	aState[24] = "MO";
	aState[25] = "MT";
	aState[26] = "NE";
	aState[27] = "NV";
	aState[28] = "NH";
	aState[29] = "NJ";
	aState[30] = "NM";
	aState[31] = "NY";
	aState[32] = "NC";
	aState[33] = "ND";
	aState[34] = "OH";
	aState[35] = "OK";
	aState[36] = "OR";
	aState[37] = "PA";
	aState[38] = "RI";
	aState[39] = "SC";
	aState[40] = "SD";
	aState[41] = "TN";
	aState[42] = "TX";
	aState[43] = "UT";
	aState[44] = "VT";
	aState[45] = "VA";
	aState[46] = "WA";
	aState[47] = "WV";
	aState[48] = "WI";
	aState[49] = "WY";
	aState[50] = "DC";
	aState[51] = "AA";
	aState[52] = "AE";
	aState[53] = "AP";
	aState[54] = "EU";
	aState[55] = "FP";

	if(sRegular.test(sState)==false)
	{
		return false;
	}	
	else
	{
		for(i = 0;i<aState.length;i++)
		{
			if(aState[i].toLowerCase()==sState.toLowerCase())
				return true;
		}
		return false;
	}
}

function checkCity(sCity)
// check city
{
	var sRegular = /^([a-zA-Z])+([a-z A-Z])+([a-zA-Z0-9])*/;
	
	if(!sRegular.test(sCity)) 
		return false;
	else
		return true;
}


function checkEMail(sEMail)
// check email
{
	var sRegular = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if (sRegular.test(sEMail)) 
		return true;
	else 
		return false;
}


// validate Login name
// rule: 1. a-z, A-Z, 0-9, '_', '-', '.', space
//		 2. no trailing or leading space
//		 3. 4 characters minimum, 65 characters max
function checkLogin(sLogin)
{
	var sRegular = /^([a-zA-Z0-9_\.\-])+[a-zA-Z0-9_\.\- ]+([a-zA-Z0-9_\.\-])$/;
	if(!sRegular.test(sLogin)) 
		return false;
	else if (sLogin.length < 4 || sLogin.length > 65)
		return false
	else
		return true;
}

// validate  password 
// rule: 1. all keyboard input
//		 2. no trailing or leading space
//		 3. 6 characters minimum, 20 characters max
function checkPassword(sPass)
{
	var sRegular = /^[a-zA-Z0-9_\.\-\~\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\|\\\:\;\"\'\<\>\?\,\/\`]+[a-zA-Z0-9_\.\- \~\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\|\\\:\;\"\'\<\>\?\,\/\`]+[a-zA-Z0-9_\.\-\~\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\|\\\:\;\"\'\<\>\?\,\/\`]$/;
	if(!sRegular.test(sPass)) 
		return false;
	else if (sPass.length < 6 || sPass.length > 20)
		return false
	else
		return true;

}

function checkInteger(sNum)
// check integer
{
	return (sNum.search(/^\d+(\d+)?$/)!= -1);
}

function checkDay(sDay)
// check day
{
	if (checkInteger(sDay)==false) {
		return false;
	} else {
		var iTmp = parseInt(sDay);
		if(iTmp>=1 && iTmp <=31)
			return true;
		else {
			return false;
		}
	}	
}

function checkMonth(sMonth)
// check month
{
	if(checkInteger(sMonth)==false) {
		return false;
	} else {
		var iTmp = parseInt(sMonth);
		if(iTmp>=1 && iTmp <=12)
			return true;
		else {
			return false;
		}
	}	
}

function checkYear(sYear)
// check year
{
	if(checkInteger(sYear)==false) {
		return false;
	} else {
		var iTmp = parseInt(sYear);
		if(iTmp>=1900) {
			return true;
		} else {
			return false;
		}
	}	
}

function trim(str)
{
	// remove the space of head and tail
	return( (str.replace(/^\W+/,'')).replace(/\W+$/,'') );
}

//-->
