
/******************************************************************************
Function name:	fnEmailValidation
Description  :  This function will be used for email validation.The valid character
				character set includes : Alphabets, Numbers, _,.,-
				function used : 1) fnTrim(strValue) 
								2) fnMandatory(strString)
								3) fnIsAlphaNumeric(strString,strType)
Input		 :	The form Control Value to be checked
Output       :	Boolean ( true/false)
*******************************************************************************/
function fnEmailValidation(strTxtCtrlValue)
{
	var strAtSym
	var strPeriod
	var strSpace
	var strLength

	if (fnMandatory(strTxtCtrlValue) == false) // This includes Null and Space check
		return false;
	strTxtCtrlValue = fnTrim(strTxtCtrlValue);
	if (strTxtCtrlValue.length == 0 )			 // Spaces Check
		return false;
	var regExpression = /[^0-9a-zA-Z][^0-9a-zA-Z]/;
	if (regExpression.test(strTxtCtrlValue))
		return false;
	if (strTxtCtrlValue.search(/\s+/) != -1 ) // checking space in between email id
		return false;
	var arrSplit = new Array();
	arrSplit = 	strTxtCtrlValue.split("@");
	if ( arrSplit.length != 2) 				 // Only one @ is allowed in an email id
		return false;
	// Call Function for Alphanumeric Check along with special character (. - _) 
	// for the string before @ and pass 0 in maxlength as maxlength check not required
		
	if (fnIsAlphaNumeric(arrSplit[0],"E") == false)
		return false;
		
	//Check whether first charater is in a-z /A-Z
	var strValidchar = arrSplit[0].substring(0,1)
	if (!((strValidchar >= "A") && (strValidchar <= "Z")) &&  !((strValidchar >= "a") && (strValidchar <= "z")))
		return false
	// Call Function for IsAlpha Check along with special character (.) 
	// for the string after @ and pass 0 in maxlength as maxlength check not required
	if (fnIsAlphaNumeric(arrSplit[1],"E")== false)
		return false;
		
	//Check whether first charater is in a-z /A-Z
	strValidchar = arrSplit[1].substring(0,1)
	if (!((strValidchar >= "A") && (strValidchar <= "Z")) &&  !((strValidchar >= "a") && (strValidchar <= "z")))
		return false
	//Check whether last character is in a-z /A-Z
	strValidchar = arrSplit[1].substring(arrSplit[1].length-1,arrSplit[1].length)
		
	if (!((strValidchar >= "A") && (strValidchar <= "Z")) &&  !((strValidchar >= "a") && (strValidchar <= "z")))
		return false
		
	//Every portion of the email address after @ must be of <= 2 characters
	var arrEmails
	arrEmails = arrSplit[1].split("."); 
	for (intm = 0;intm < arrEmails.length;intm++ )
	{
		if (arrEmails[intm].length < 2)
			return false;
	}
	strAtSym=strTxtCtrlValue.indexOf('@')
	strPeriod=strTxtCtrlValue.lastIndexOf('.')
	strSpace=strTxtCtrlValue.indexOf(' ')
	strLength=strTxtCtrlValue.length-1
	if ((strAtSym < 1) ||(strPeriod <= strAtSym+1)|| (strPeriod==strLength) ||(strSpace!=-1))
		return false;
	return true;
}



/******************************************************************************
Function name:	fncheckEmail
Description  :  This function will be used for email validation.The valid character
				character set includes : Alphabets, Numbers, _,.,-
				function used : 
Input		 :	The form Control Value to be checked and Message to 			be checked
Output       :	Boolean ( true/false)
*******************************************************************************/

// Purpose      :   Check for valid Email Id -->
// Parameter    :   r_varCtrl holds the HTML Control   -->
function fncheckEmail(r_varCtrl,r_varmsg)
{
    var tmpString = r_varCtrl.value;

	var pattern = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/;

	if(tmpString != "")
	{
		if(!pattern.test(tmpString))
		{
			alert (r_varmsg);
			r_varCtrl.focus();
			r_varCtrl.select();
			return false;
		}
	    else
	    {
	        return true;
	    }
	}
	else
	{
		return true;
	}		
}
